@keep-network/tbtc-v2 1.6.0-dev.20 → 1.6.0-dev.22

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 (135) hide show
  1. package/artifacts/BLS.json +1 -1
  2. package/artifacts/Bank.json +3 -3
  3. package/artifacts/BeaconAuthorization.json +1 -1
  4. package/artifacts/BeaconDkg.json +1 -1
  5. package/artifacts/BeaconDkgValidator.json +1 -1
  6. package/artifacts/BeaconInactivity.json +1 -1
  7. package/artifacts/BeaconSortitionPool.json +3 -3
  8. package/artifacts/Bridge.json +5 -5
  9. package/artifacts/BridgeGovernance.json +2 -2
  10. package/artifacts/BridgeGovernanceParameters.json +2 -2
  11. package/artifacts/Deposit.json +2 -2
  12. package/artifacts/DepositSweep.json +2 -2
  13. package/artifacts/DonationVault.json +3 -3
  14. package/artifacts/EcdsaDkgValidator.json +1 -1
  15. package/artifacts/EcdsaInactivity.json +1 -1
  16. package/artifacts/EcdsaSortitionPool.json +3 -3
  17. package/artifacts/Fraud.json +2 -2
  18. package/artifacts/LightRelay.json +18 -18
  19. package/artifacts/LightRelayMaintainerProxy.json +8 -8
  20. package/artifacts/MaintainerProxy.json +19 -19
  21. package/artifacts/MovingFunds.json +2 -2
  22. package/artifacts/NuCypherToken.json +2 -2
  23. package/artifacts/RandomBeacon.json +2 -2
  24. package/artifacts/RandomBeaconChaosnet.json +2 -2
  25. package/artifacts/RandomBeaconGovernance.json +2 -2
  26. package/artifacts/Redemption.json +2 -2
  27. package/artifacts/ReimbursementPool.json +2 -2
  28. package/artifacts/T.json +2 -2
  29. package/artifacts/TBTC.json +3 -3
  30. package/artifacts/TBTCToken.json +3 -3
  31. package/artifacts/TBTCVault.json +23 -23
  32. package/artifacts/TokenStaking.json +1 -1
  33. package/artifacts/TokenholderGovernor.json +9 -9
  34. package/artifacts/TokenholderTimelock.json +8 -8
  35. package/artifacts/VendingMachine.json +3 -3
  36. package/artifacts/VendingMachineNuCypher.json +1 -1
  37. package/artifacts/VendingMachineV2.json +3 -3
  38. package/artifacts/VendingMachineV3.json +3 -3
  39. package/artifacts/WalletProposalValidator.json +2 -2
  40. package/artifacts/WalletRegistry.json +5 -5
  41. package/artifacts/WalletRegistryGovernance.json +8 -8
  42. package/artifacts/Wallets.json +2 -2
  43. package/artifacts/solcInputs/{3820d7396bf453fe963a951f7b59372d.json → dd1c38c53a7547fe3e334d72c1e4d8e1.json} +3 -3
  44. package/build/contracts/GovernanceUtils.sol/GovernanceUtils.dbg.json +1 -1
  45. package/build/contracts/bank/Bank.sol/Bank.dbg.json +1 -1
  46. package/build/contracts/bank/IReceiveBalanceApproval.sol/IReceiveBalanceApproval.dbg.json +1 -1
  47. package/build/contracts/bridge/BitcoinTx.sol/BitcoinTx.dbg.json +1 -1
  48. package/build/contracts/bridge/Bridge.sol/Bridge.dbg.json +1 -1
  49. package/build/contracts/bridge/BridgeGovernanceParameters.sol/BridgeGovernanceParameters.dbg.json +1 -1
  50. package/build/contracts/bridge/BridgeState.sol/BridgeState.dbg.json +1 -1
  51. package/build/contracts/bridge/Deposit.sol/Deposit.dbg.json +1 -1
  52. package/build/contracts/bridge/DepositSweep.sol/DepositSweep.dbg.json +1 -1
  53. package/build/contracts/bridge/EcdsaLib.sol/EcdsaLib.dbg.json +1 -1
  54. package/build/contracts/bridge/Fraud.sol/Fraud.dbg.json +1 -1
  55. package/build/contracts/bridge/Heartbeat.sol/Heartbeat.dbg.json +1 -1
  56. package/build/contracts/bridge/IRelay.sol/IRelay.dbg.json +1 -1
  57. package/build/contracts/bridge/MovingFunds.sol/MovingFunds.dbg.json +1 -1
  58. package/build/contracts/bridge/Redemption.sol/OutboundTx.dbg.json +1 -1
  59. package/build/contracts/bridge/Redemption.sol/Redemption.dbg.json +1 -1
  60. package/build/contracts/bridge/VendingMachine.sol/VendingMachine.dbg.json +1 -1
  61. package/build/contracts/bridge/VendingMachineV2.sol/VendingMachineV2.dbg.json +1 -1
  62. package/build/contracts/bridge/VendingMachineV3.sol/VendingMachineV3.dbg.json +1 -1
  63. package/build/contracts/bridge/WalletProposalValidator.sol/WalletProposalValidator.dbg.json +1 -1
  64. package/build/contracts/bridge/Wallets.sol/Wallets.dbg.json +1 -1
  65. package/build/contracts/integrator/AbstractTBTCDepositor.sol/AbstractTBTCDepositor.dbg.json +1 -1
  66. package/build/contracts/integrator/AbstractTBTCDepositor.sol/AbstractTBTCDepositor.json +0 -44
  67. package/build/contracts/integrator/IBridge.sol/IBridge.dbg.json +1 -1
  68. package/build/contracts/integrator/IBridge.sol/IBridgeTypes.dbg.json +1 -1
  69. package/build/contracts/integrator/ITBTCVault.sol/ITBTCVault.dbg.json +1 -1
  70. package/build/contracts/l2/L2TBTC.sol/L2TBTC.dbg.json +1 -1
  71. package/build/contracts/l2/L2WormholeGateway.sol/IWormholeTokenBridge.dbg.json +1 -1
  72. package/build/contracts/l2/L2WormholeGateway.sol/L2WormholeGateway.dbg.json +1 -1
  73. package/build/contracts/maintainer/MaintainerProxy.sol/MaintainerProxy.dbg.json +1 -1
  74. package/build/contracts/relay/LightRelay.sol/ILightRelay.dbg.json +1 -1
  75. package/build/contracts/relay/LightRelay.sol/LightRelay.dbg.json +1 -1
  76. package/build/contracts/relay/LightRelay.sol/RelayUtils.dbg.json +1 -1
  77. package/build/contracts/relay/LightRelayMaintainerProxy.sol/LightRelayMaintainerProxy.dbg.json +1 -1
  78. package/build/contracts/test/BankStub.sol/BankStub.dbg.json +1 -1
  79. package/build/contracts/test/BridgeStub.sol/BridgeStub.dbg.json +1 -1
  80. package/build/contracts/test/HeartbeatStub.sol/HeartbeatStub.dbg.json +1 -1
  81. package/build/contracts/test/LightRelayStub.sol/LightRelayStub.dbg.json +1 -1
  82. package/build/contracts/test/ReceiveApprovalStub.sol/ReceiveApprovalStub.dbg.json +1 -1
  83. package/build/contracts/test/SepoliaLightRelay.sol/SepoliaLightRelay.dbg.json +1 -1
  84. package/build/contracts/test/SystemTestRelay.sol/SystemTestRelay.dbg.json +1 -1
  85. package/build/contracts/test/TestBitcoinTx.sol/TestBitcoinTx.dbg.json +1 -1
  86. package/build/contracts/test/TestERC20.sol/TestERC20.dbg.json +1 -1
  87. package/build/contracts/test/TestERC721.sol/TestERC721.dbg.json +1 -1
  88. package/build/contracts/test/TestEcdsaLib.sol/TestEcdsaLib.dbg.json +1 -1
  89. package/build/contracts/test/TestTBTCDepositor.sol/MockBridge.dbg.json +1 -1
  90. package/build/contracts/test/TestTBTCDepositor.sol/MockBridge.json +2 -2
  91. package/build/contracts/test/TestTBTCDepositor.sol/MockTBTCVault.dbg.json +1 -1
  92. package/build/contracts/test/TestTBTCDepositor.sol/MockTBTCVault.json +2 -2
  93. package/build/contracts/test/TestTBTCDepositor.sol/TestTBTCDepositor.dbg.json +1 -1
  94. package/build/contracts/test/TestTBTCDepositor.sol/TestTBTCDepositor.json +2 -46
  95. package/build/contracts/test/WormholeBridgeStub.sol/WormholeBridgeStub.dbg.json +1 -1
  96. package/build/contracts/token/TBTC.sol/TBTC.dbg.json +1 -1
  97. package/build/contracts/vault/DonationVault.sol/DonationVault.dbg.json +1 -1
  98. package/build/contracts/vault/IVault.sol/IVault.dbg.json +1 -1
  99. package/build/contracts/vault/TBTCOptimisticMinting.sol/TBTCOptimisticMinting.dbg.json +1 -1
  100. package/build/contracts/vault/TBTCVault.sol/TBTCVault.dbg.json +1 -1
  101. package/contracts/integrator/AbstractTBTCDepositor.sol +1 -23
  102. package/contracts/test/TestTBTCDepositor.sol +13 -2
  103. package/export/artifacts/@keep-network/ecdsa/contracts/WalletRegistry.sol/WalletRegistry.json +7 -7
  104. package/export/artifacts/contracts/bridge/VendingMachine.sol/VendingMachine.json +6 -6
  105. package/export/artifacts/contracts/bridge/VendingMachineV2.sol/VendingMachineV2.json +6 -6
  106. package/export/artifacts/contracts/bridge/VendingMachineV3.sol/VendingMachineV3.json +6 -6
  107. package/export/artifacts/contracts/l2/L2TBTC.sol/L2TBTC.json +40 -40
  108. package/export/artifacts/contracts/l2/L2WormholeGateway.sol/L2WormholeGateway.json +47 -47
  109. package/export/artifacts/contracts/maintainer/MaintainerProxy.sol/MaintainerProxy.json +88 -88
  110. package/export/artifacts/contracts/relay/LightRelay.sol/LightRelay.json +57 -57
  111. package/export/artifacts/contracts/relay/LightRelayMaintainerProxy.sol/LightRelayMaintainerProxy.json +31 -31
  112. package/export/artifacts/contracts/test/BankStub.sol/BankStub.json +2 -2
  113. package/export/artifacts/contracts/test/BridgeStub.sol/BridgeStub.json +30 -30
  114. package/export/artifacts/contracts/test/HeartbeatStub.sol/HeartbeatStub.json +2 -2
  115. package/export/artifacts/contracts/test/LightRelayStub.sol/LightRelayStub.json +59 -59
  116. package/export/artifacts/contracts/test/ReceiveApprovalStub.sol/ReceiveApprovalStub.json +7 -7
  117. package/export/artifacts/contracts/test/SepoliaLightRelay.sol/SepoliaLightRelay.json +59 -59
  118. package/export/artifacts/contracts/test/SystemTestRelay.sol/SystemTestRelay.json +14 -14
  119. package/export/artifacts/contracts/test/TestBitcoinTx.sol/TestBitcoinTx.json +5 -5
  120. package/export/artifacts/contracts/test/TestERC20.sol/TestERC20.json +6 -6
  121. package/export/artifacts/contracts/test/TestERC721.sol/TestERC721.json +8 -8
  122. package/export/artifacts/contracts/test/TestEcdsaLib.sol/TestEcdsaLib.json +2 -2
  123. package/export/artifacts/contracts/test/TestTBTCDepositor.sol/MockBridge.json +38 -38
  124. package/export/artifacts/contracts/test/TestTBTCDepositor.sol/MockTBTCVault.json +31 -25
  125. package/export/artifacts/contracts/test/TestTBTCDepositor.sol/TestTBTCDepositor.json +936 -1261
  126. package/export/artifacts/contracts/test/WormholeBridgeStub.sol/WormholeBridgeStub.json +37 -37
  127. package/export/artifacts/contracts/token/TBTC.sol/TBTC.json +2 -2
  128. package/export/artifacts/contracts/vault/DonationVault.sol/DonationVault.json +11 -11
  129. package/export/artifacts/contracts/vault/TBTCVault.sol/TBTCVault.json +135 -135
  130. package/export/typechain/factories/AbstractTBTCDepositor__factory.js +0 -44
  131. package/export/typechain/factories/MockBridge__factory.js +1 -1
  132. package/export/typechain/factories/MockTBTCVault__factory.js +1 -1
  133. package/export/typechain/factories/TestTBTCDepositor__factory.js +1 -45
  134. package/export/typechain/factories/WalletRegistry__factory.js +1 -1
  135. package/package.json +2 -2
@@ -6,50 +6,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.AbstractTBTCDepositor__factory = void 0;
7
7
  var ethers_1 = require("ethers");
8
8
  var _abi = [
9
- {
10
- anonymous: false,
11
- inputs: [
12
- {
13
- indexed: true,
14
- internalType: "uint256",
15
- name: "depositKey",
16
- type: "uint256",
17
- },
18
- {
19
- indexed: false,
20
- internalType: "uint256",
21
- name: "tbtcAmount",
22
- type: "uint256",
23
- },
24
- {
25
- indexed: false,
26
- internalType: "uint32",
27
- name: "finalizedAt",
28
- type: "uint32",
29
- },
30
- ],
31
- name: "DepositFinalized",
32
- type: "event",
33
- },
34
- {
35
- anonymous: false,
36
- inputs: [
37
- {
38
- indexed: true,
39
- internalType: "uint256",
40
- name: "depositKey",
41
- type: "uint256",
42
- },
43
- {
44
- indexed: false,
45
- internalType: "uint32",
46
- name: "initializedAt",
47
- type: "uint32",
48
- },
49
- ],
50
- name: "DepositInitialized",
51
- type: "event",
52
- },
53
9
  {
54
10
  inputs: [],
55
11
  name: "SATOSHI_MULTIPLIER",
@@ -260,7 +260,7 @@ var _abi = [
260
260
  type: "function",
261
261
  },
262
262
  ];
263
- var _bytecode = "0x6080604052600180546001600160801b0319166903e8000000000000003217905534801561002c57600080fd5b50610fc38061003c6000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c8063b036c1ee11610050578063b036c1ee14610218578063bc8d07ca1461026d578063c42b64d01461028057600080fd5b80630bce769d1461007757806386f01439146100ab578063b02c43d0146100be575b600080fd5b6100a9610085366004610d39565b6001805467ffffffffffffffff191667ffffffffffffffff92909216919091179055565b005b6100a96100b9366004610d63565b6102c1565b61018f6100cc366004610dcc565b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c08101919091525060009081526020818152604091829020825160e08101845281546001600160a01b03808216835267ffffffffffffffff600160a01b80840482169685019690965263ffffffff600160e01b9384900481169785019790975260018501549182166060850152948104909416608083015290920490921660a082015260029091015460c082015290565b60405161020f9190600060e0820190506001600160a01b03808451168352602084015167ffffffffffffffff80821660208601526040860151915063ffffffff80831660408701528360608801511660608701528160808801511660808701528060a08801511660a08701525050505060c083015160c083015292915050565b60405180910390f35b6100a9610226366004610d39565b6001805467ffffffffffffffff90921668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff909216919091179055565b6100a961027b366004610dcc565b6105ff565b600154604080516000808252602082018190526801000000000000000090930467ffffffffffffffff1691810191909152606081019190915260800161020f565b60006103266102d36020860186610de5565b6102e06020870187610e0f565b6102ed6040890189610e0f565b6102fd60808b0160608c01610de5565b60405160200161031296959493929190610e56565b604051602081830303815290604052610718565b90506000816103386020860186610e98565b60405160200161035f92919091825260e01b6001600160e01b031916602082015260240190565b60408051808303601f190181529181528151602092830120600081815292839052912054909150600160e01b900463ffffffff16156103e55760405162461bcd60e51b815260206004820152601860248201527f4465706f73697420616c72656164792072657665616c6564000000000000000060448201526064015b60405180910390fd5b60006104476103f76020870187610e98565b63ffffffff1661040a6040890189610e0f565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929392505061073f9050565b9050600061045482610923565b6040805160e0810182526000606082018190526080820181905260a080830182905260c08084019290925233835267ffffffffffffffff851660208401524263ffffffff1693830193909352929350916104b391908901908901610ebe565b6001600160a01b0316606082015260015467ffffffffffffffff166104d95760006104f0565b6001546104f09067ffffffffffffffff1683610efd565b67ffffffffffffffff90811660808301908152600060a0840181815260c085018a8152888352602083815260409384902087518154838a0151878b01516001600160a01b039384166001600160e01b031993841617600160a01b928c168302177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff908116600160e01b63ffffffff938416810291909117875560608e01516001880180549d519b51919097169c9095169b909b1798909b1690910296909617909816979094169095029590951790915551600290920191909155518581527f629cb19e19d844f2e8dd8aa5de26f5072bb49e6286c5206ebd7302da1dabc417910160405180910390a15050505050505050565b600081815260208190526040812054600160e01b900463ffffffff1690036106695760405162461bcd60e51b815260206004820152601460248201527f4465706f736974206e6f742072657665616c656400000000000000000000000060448201526064016103dc565b600081815260208190526040902060010154600160e01b900463ffffffff16156106d55760405162461bcd60e51b815260206004820152601560248201527f4465706f73697420616c7265616479207377657074000000000000000000000060448201526064016103dc565b600090815260208190526040902060010180547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160e01b4263ffffffff1602179055565b60006020600083516020850160025afa50602060006020600060025afa5050600051919050565b606060008061074d856109a2565b9092509050600182016107c85760405162461bcd60e51b815260206004820152602260248201527f52656164206f76657272756e20647572696e6720566172496e7420706172736960448201527f6e6700000000000000000000000000000000000000000000000000000000000060648201526084016103dc565b8084106108175760405162461bcd60e51b815260206004820152601160248201527f566f75742072656164206f76657272756e00000000000000000000000000000060448201526064016103dc565b600080610825846001610f32565b905060005b868110156108ad5761083c88836109b9565b9250600019830361088f5760405162461bcd60e51b815260206004820152601a60248201527f42616420566172496e7420696e207363726970745075626b657900000000000060448201526064016103dc565b6108998383610f32565b9150806108a581610f45565b91505061082a565b506108b887826109b9565b9150600019820361090b5760405162461bcd60e51b815260206004820152601a60248201527f42616420566172496e7420696e207363726970745075626b657900000000000060448201526064016103dc565b610916878284610a26565b9450505050505b92915050565b60008061092f83610af4565b60c01c9050600061099a8264ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b67ffffffffffffffff1666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b949350505050565b6000806109b0836000610b00565b91509150915091565b60006109c6826009610f32565b835110156109d7575060001961091d565b6000806109ee856109e9866008610f32565b610b00565b909250905060018201610a07576000199250505061091d565b80610a13836009610f32565b610a1d9190610f32565b95945050505050565b606081600003610a455750604080516020810190915260008152610aed565b6000610a518385610f32565b90508381118015610a63575080855110155b610aaf5760405162461bcd60e51b815260206004820152601360248201527f536c696365206f7574206f6620626f756e64730000000000000000000000000060448201526064016103dc565b604051915082604083010160405282825283850182038460208701018481015b80821015610ae857815183830152602082019150610acf565b505050505b9392505050565b600061091d8282610ca4565b6000806000610b0f8585610cb3565b90508060ff16600003610b44576000858581518110610b3057610b30610f5e565b016020015190935060f81c9150610c9d9050565b83610b50826001610f74565b60ff16610b5d9190610f32565b85511015610b745760001960009250925050610c9d565b60008160ff16600203610bb857610bad610b99610b92876001610f32565b8890610ca4565b62ffff0060e882901c1660f89190911c1790565b61ffff169050610c93565b8160ff16600403610c0757610bfa610bd4610b92876001610f32565b60d881901c63ff00ff001662ff00ff60e89290921c9190911617601081811b91901c1790565b63ffffffff169050610c93565b8160ff16600803610c9357610c86610c23610b92876001610f32565b60c01c64ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b67ffffffffffffffff1666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b67ffffffffffffffff1690505b60ff909116925090505b9250929050565b6000610aed8383016020015190565b6000828281518110610cc757610cc7610f5e565b016020015160f81c60ff03610cde5750600861091d565b828281518110610cf057610cf0610f5e565b016020015160f81c60fe03610d075750600461091d565b828281518110610d1957610d19610f5e565b016020015160f81c60fd03610d305750600261091d565b50600092915050565b600060208284031215610d4b57600080fd5b813567ffffffffffffffff81168114610aed57600080fd5b6000806000838503610100811215610d7a57600080fd5b843567ffffffffffffffff811115610d9157600080fd5b850160808188031215610da357600080fd5b935060c0601f1982011215610db757600080fd5b5060208401915060e084013590509250925092565b600060208284031215610dde57600080fd5b5035919050565b600060208284031215610df757600080fd5b81356001600160e01b031981168114610aed57600080fd5b6000808335601e19843603018112610e2657600080fd5b83018035915067ffffffffffffffff821115610e4157600080fd5b602001915036819003821315610c9d57600080fd5b60006001600160e01b03198089168352868860048501378683016004810160008152868882375093169390920160048101939093525050600801949350505050565b600060208284031215610eaa57600080fd5b813563ffffffff81168114610aed57600080fd5b600060208284031215610ed057600080fd5b81356001600160a01b0381168114610aed57600080fd5b634e487b7160e01b600052601160045260246000fd5b600067ffffffffffffffff80841680610f2657634e487b7160e01b600052601260045260246000fd5b92169190910492915050565b8082018082111561091d5761091d610ee7565b600060018201610f5757610f57610ee7565b5060010190565b634e487b7160e01b600052603260045260246000fd5b60ff818116838216019081111561091d5761091d610ee756fea26469706673582212205c4d3c424032b5ff09671086ebb3e734edf4d91842339f829e65f6f7fa75772764736f6c63430008110033";
263
+ var _bytecode = "0x6080604052600180546001600160801b0319166903e8000000000000003217905534801561002c57600080fd5b50610fc38061003c6000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c8063b036c1ee11610050578063b036c1ee14610218578063bc8d07ca1461026d578063c42b64d01461028057600080fd5b80630bce769d1461007757806386f01439146100ab578063b02c43d0146100be575b600080fd5b6100a9610085366004610d39565b6001805467ffffffffffffffff191667ffffffffffffffff92909216919091179055565b005b6100a96100b9366004610d63565b6102c1565b61018f6100cc366004610dcc565b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c08101919091525060009081526020818152604091829020825160e08101845281546001600160a01b03808216835267ffffffffffffffff600160a01b80840482169685019690965263ffffffff600160e01b9384900481169785019790975260018501549182166060850152948104909416608083015290920490921660a082015260029091015460c082015290565b60405161020f9190600060e0820190506001600160a01b03808451168352602084015167ffffffffffffffff80821660208601526040860151915063ffffffff80831660408701528360608801511660608701528160808801511660808701528060a08801511660a08701525050505060c083015160c083015292915050565b60405180910390f35b6100a9610226366004610d39565b6001805467ffffffffffffffff90921668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff909216919091179055565b6100a961027b366004610dcc565b6105ff565b600154604080516000808252602082018190526801000000000000000090930467ffffffffffffffff1691810191909152606081019190915260800161020f565b60006103266102d36020860186610de5565b6102e06020870187610e0f565b6102ed6040890189610e0f565b6102fd60808b0160608c01610de5565b60405160200161031296959493929190610e56565b604051602081830303815290604052610718565b90506000816103386020860186610e98565b60405160200161035f92919091825260e01b6001600160e01b031916602082015260240190565b60408051808303601f190181529181528151602092830120600081815292839052912054909150600160e01b900463ffffffff16156103e55760405162461bcd60e51b815260206004820152601860248201527f4465706f73697420616c72656164792072657665616c6564000000000000000060448201526064015b60405180910390fd5b60006104476103f76020870187610e98565b63ffffffff1661040a6040890189610e0f565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929392505061073f9050565b9050600061045482610923565b6040805160e0810182526000606082018190526080820181905260a080830182905260c08084019290925233835267ffffffffffffffff851660208401524263ffffffff1693830193909352929350916104b391908901908901610ebe565b6001600160a01b0316606082015260015467ffffffffffffffff166104d95760006104f0565b6001546104f09067ffffffffffffffff1683610efd565b67ffffffffffffffff90811660808301908152600060a0840181815260c085018a8152888352602083815260409384902087518154838a0151878b01516001600160a01b039384166001600160e01b031993841617600160a01b928c168302177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff908116600160e01b63ffffffff938416810291909117875560608e01516001880180549d519b51919097169c9095169b909b1798909b1690910296909617909816979094169095029590951790915551600290920191909155518581527f629cb19e19d844f2e8dd8aa5de26f5072bb49e6286c5206ebd7302da1dabc417910160405180910390a15050505050505050565b600081815260208190526040812054600160e01b900463ffffffff1690036106695760405162461bcd60e51b815260206004820152601460248201527f4465706f736974206e6f742072657665616c656400000000000000000000000060448201526064016103dc565b600081815260208190526040902060010154600160e01b900463ffffffff16156106d55760405162461bcd60e51b815260206004820152601560248201527f4465706f73697420616c7265616479207377657074000000000000000000000060448201526064016103dc565b600090815260208190526040902060010180547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160e01b4263ffffffff1602179055565b60006020600083516020850160025afa50602060006020600060025afa5050600051919050565b606060008061074d856109a2565b9092509050600182016107c85760405162461bcd60e51b815260206004820152602260248201527f52656164206f76657272756e20647572696e6720566172496e7420706172736960448201527f6e6700000000000000000000000000000000000000000000000000000000000060648201526084016103dc565b8084106108175760405162461bcd60e51b815260206004820152601160248201527f566f75742072656164206f76657272756e00000000000000000000000000000060448201526064016103dc565b600080610825846001610f32565b905060005b868110156108ad5761083c88836109b9565b9250600019830361088f5760405162461bcd60e51b815260206004820152601a60248201527f42616420566172496e7420696e207363726970745075626b657900000000000060448201526064016103dc565b6108998383610f32565b9150806108a581610f45565b91505061082a565b506108b887826109b9565b9150600019820361090b5760405162461bcd60e51b815260206004820152601a60248201527f42616420566172496e7420696e207363726970745075626b657900000000000060448201526064016103dc565b610916878284610a26565b9450505050505b92915050565b60008061092f83610af4565b60c01c9050600061099a8264ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b67ffffffffffffffff1666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b949350505050565b6000806109b0836000610b00565b91509150915091565b60006109c6826009610f32565b835110156109d7575060001961091d565b6000806109ee856109e9866008610f32565b610b00565b909250905060018201610a07576000199250505061091d565b80610a13836009610f32565b610a1d9190610f32565b95945050505050565b606081600003610a455750604080516020810190915260008152610aed565b6000610a518385610f32565b90508381118015610a63575080855110155b610aaf5760405162461bcd60e51b815260206004820152601360248201527f536c696365206f7574206f6620626f756e64730000000000000000000000000060448201526064016103dc565b604051915082604083010160405282825283850182038460208701018481015b80821015610ae857815183830152602082019150610acf565b505050505b9392505050565b600061091d8282610ca4565b6000806000610b0f8585610cb3565b90508060ff16600003610b44576000858581518110610b3057610b30610f5e565b016020015190935060f81c9150610c9d9050565b83610b50826001610f74565b60ff16610b5d9190610f32565b85511015610b745760001960009250925050610c9d565b60008160ff16600203610bb857610bad610b99610b92876001610f32565b8890610ca4565b62ffff0060e882901c1660f89190911c1790565b61ffff169050610c93565b8160ff16600403610c0757610bfa610bd4610b92876001610f32565b60d881901c63ff00ff001662ff00ff60e89290921c9190911617601081811b91901c1790565b63ffffffff169050610c93565b8160ff16600803610c9357610c86610c23610b92876001610f32565b60c01c64ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b67ffffffffffffffff1666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b67ffffffffffffffff1690505b60ff909116925090505b9250929050565b6000610aed8383016020015190565b6000828281518110610cc757610cc7610f5e565b016020015160f81c60ff03610cde5750600861091d565b828281518110610cf057610cf0610f5e565b016020015160f81c60fe03610d075750600461091d565b828281518110610d1957610d19610f5e565b016020015160f81c60fd03610d305750600261091d565b50600092915050565b600060208284031215610d4b57600080fd5b813567ffffffffffffffff81168114610aed57600080fd5b6000806000838503610100811215610d7a57600080fd5b843567ffffffffffffffff811115610d9157600080fd5b850160808188031215610da357600080fd5b935060c0601f1982011215610db757600080fd5b5060208401915060e084013590509250925092565b600060208284031215610dde57600080fd5b5035919050565b600060208284031215610df757600080fd5b81356001600160e01b031981168114610aed57600080fd5b6000808335601e19843603018112610e2657600080fd5b83018035915067ffffffffffffffff821115610e4157600080fd5b602001915036819003821315610c9d57600080fd5b60006001600160e01b03198089168352868860048501378683016004810160008152868882375093169390920160048101939093525050600801949350505050565b600060208284031215610eaa57600080fd5b813563ffffffff81168114610aed57600080fd5b600060208284031215610ed057600080fd5b81356001600160a01b0381168114610aed57600080fd5b634e487b7160e01b600052601160045260246000fd5b600067ffffffffffffffff80841680610f2657634e487b7160e01b600052601260045260246000fd5b92169190910492915050565b8082018082111561091d5761091d610ee7565b600060018201610f5757610f57610ee7565b5060010190565b634e487b7160e01b600052603260045260246000fd5b60ff818116838216019081111561091d5761091d610ee756fea264697066735822122018a56609493fc4a7e661e4e08bf172783f61309bb4ead6c7fa5cab0342f7b25664736f6c63430008110033";
264
264
  var isSuperArgs = function (xs) { return xs.length > 1; };
265
265
  var MockBridge__factory = /** @class */ (function (_super) {
266
266
  __extends(MockBridge__factory, _super);
@@ -123,7 +123,7 @@ var _abi = [
123
123
  type: "function",
124
124
  },
125
125
  ];
126
- var _bytecode = "0x60806040526001805463ffffffff1916606417905534801561002057600080fd5b5061038f806100306000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c80636c626aa4116100505780636c626aa4146100ab578063d5b0b0ce1461011a578063db4aa6cb1461014457600080fd5b806309b53f511461006c578063477ffd6514610096575b600080fd5b60015461007c9063ffffffff1681565b60405163ffffffff90911681526020015b60405180910390f35b6100a96100a4366004610313565b610157565b005b6100f96100b9366004610313565b6000908152602081815260409182902082518084019093525467ffffffffffffffff80821680855268010000000000000000909204169290910182905291565b6040805167ffffffffffffffff93841681529290911660208301520161008d565b6100a961012836600461032c565b6001805463ffffffff191663ffffffff92909216919091179055565b6100a9610152366004610313565b6101ed565b60008181526020819052604090205467ffffffffffffffff16156101c25760405162461bcd60e51b815260206004820152601660248201527f5265717565737420616c7265616479206578697374730000000000000000000060448201526064015b60405180910390fd5b6000908152602081905260409020805467ffffffffffffffff19164267ffffffffffffffff16179055565b60008181526020819052604081205467ffffffffffffffff1690036102545760405162461bcd60e51b815260206004820152601660248201527f5265717565737420646f6573206e6f742065786973740000000000000000000060448201526064016101b9565b60008181526020819052604090205468010000000000000000900467ffffffffffffffff16156102c65760405162461bcd60e51b815260206004820152601960248201527f5265717565737420616c72656164792066696e616c697a65640000000000000060448201526064016101b9565b600090815260208190526040902080547fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff16680100000000000000004267ffffffffffffffff1602179055565b60006020828403121561032557600080fd5b5035919050565b60006020828403121561033e57600080fd5b813563ffffffff8116811461035257600080fd5b939250505056fea26469706673582212202e718e026169ec732338c076ef1386b9e95902f8741b434031d64d4df20a8b1564736f6c63430008110033";
126
+ var _bytecode = "0x60806040526001805463ffffffff1916606417905534801561002057600080fd5b5061038f806100306000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c80636c626aa4116100505780636c626aa4146100ab578063d5b0b0ce1461011a578063db4aa6cb1461014457600080fd5b806309b53f511461006c578063477ffd6514610096575b600080fd5b60015461007c9063ffffffff1681565b60405163ffffffff90911681526020015b60405180910390f35b6100a96100a4366004610313565b610157565b005b6100f96100b9366004610313565b6000908152602081815260409182902082518084019093525467ffffffffffffffff80821680855268010000000000000000909204169290910182905291565b6040805167ffffffffffffffff93841681529290911660208301520161008d565b6100a961012836600461032c565b6001805463ffffffff191663ffffffff92909216919091179055565b6100a9610152366004610313565b6101ed565b60008181526020819052604090205467ffffffffffffffff16156101c25760405162461bcd60e51b815260206004820152601660248201527f5265717565737420616c7265616479206578697374730000000000000000000060448201526064015b60405180910390fd5b6000908152602081905260409020805467ffffffffffffffff19164267ffffffffffffffff16179055565b60008181526020819052604081205467ffffffffffffffff1690036102545760405162461bcd60e51b815260206004820152601660248201527f5265717565737420646f6573206e6f742065786973740000000000000000000060448201526064016101b9565b60008181526020819052604090205468010000000000000000900467ffffffffffffffff16156102c65760405162461bcd60e51b815260206004820152601960248201527f5265717565737420616c72656164792066696e616c697a65640000000000000060448201526064016101b9565b600090815260208190526040902080547fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff16680100000000000000004267ffffffffffffffff1602179055565b60006020828403121561032557600080fd5b5035919050565b60006020828403121561033e57600080fd5b813563ffffffff8116811461035257600080fd5b939250505056fea2646970667358221220ada23ba2aeec2357f8967926a2601c02f2edb8990fed209807a1272ff4faaaf664736f6c63430008110033";
127
127
  var isSuperArgs = function (xs) { return xs.length > 1; };
128
128
  var MockTBTCVault__factory = /** @class */ (function (_super) {
129
129
  __extends(MockTBTCVault__factory, _super);
@@ -46,50 +46,6 @@ exports.TestTBTCDepositor__factory = void 0;
46
46
  /* eslint-disable */
47
47
  var ethers_1 = require("ethers");
48
48
  var _abi = [
49
- {
50
- anonymous: false,
51
- inputs: [
52
- {
53
- indexed: true,
54
- internalType: "uint256",
55
- name: "depositKey",
56
- type: "uint256",
57
- },
58
- {
59
- indexed: false,
60
- internalType: "uint256",
61
- name: "tbtcAmount",
62
- type: "uint256",
63
- },
64
- {
65
- indexed: false,
66
- internalType: "uint32",
67
- name: "finalizedAt",
68
- type: "uint32",
69
- },
70
- ],
71
- name: "DepositFinalized",
72
- type: "event",
73
- },
74
- {
75
- anonymous: false,
76
- inputs: [
77
- {
78
- indexed: true,
79
- internalType: "uint256",
80
- name: "depositKey",
81
- type: "uint256",
82
- },
83
- {
84
- indexed: false,
85
- internalType: "uint32",
86
- name: "initializedAt",
87
- type: "uint32",
88
- },
89
- ],
90
- name: "DepositInitialized",
91
- type: "event",
92
- },
93
49
  {
94
50
  anonymous: false,
95
51
  inputs: [
@@ -300,7 +256,7 @@ var _abi = [
300
256
  type: "function",
301
257
  },
302
258
  ];
303
- var _bytecode = "0x608060405234801561001057600080fd5b5061102b806100206000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063485cc9551161005b578063485cc955146100e8578063c7ba0347146100fb578063ca3a7f8c14610107578063e78cea921461011a57600080fd5b80630f36403a1461008257806331e6028c146100b257806332a280b3146100d3575b600080fd5b600154610095906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100c56100c03660046109d0565b61012d565b6040519081526020016100a9565b6100e66100e1366004610a09565b610142565b005b6100e66100f6366004610a47565b6101a0565b6100c56402540be40081565b6100e6610115366004610a75565b6101ae565b600054610095906001600160a01b031681565b600061013983836101ee565b90505b92915050565b600080600061015084610371565b604080518481526020810184905290810182905292955090935091507fcdb95277f6a6807a2018e2dd8d15a4ff1b5619260b5dc535eb77e90945cf6e39906060015b60405180910390a150505050565b6101aa8282610600565b5050565b60006101bb848484610786565b90507f0f3805f24563e903dd7c191088451bda29dc93cb93085e42724fdc27f62fef968160405161019291815260200190565b6000806402540be4006102018486610af4565b67ffffffffffffffff166102159190610b1c565b90506000600160009054906101000a90046001600160a01b03166001600160a01b03166309b53f516040518163ffffffff1660e01b8152600401602060405180830381865afa15801561026c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102909190610b50565b63ffffffff16905060008082116102a85760006102b2565b6102b28284610b74565b905060008060009054906101000a90046001600160a01b03166001600160a01b031663c42b64d06040518163ffffffff1660e01b8152600401608060405180830381865afa158015610308573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061032c9190610ba1565b509250505060006402540be4008267ffffffffffffffff1661034e9190610b1c565b90508061035b8487610c00565b6103659190610c00565b98975050505050505050565b600080546040517fb02c43d0000000000000000000000000000000000000000000000000000000008152600481018490528291829182916001600160a01b03169063b02c43d09060240160e060405180830381865afa1580156103d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103fc9190610c1e565b9050806040015163ffffffff1660000361045d5760405162461bcd60e51b815260206004820152601760248201527f4465706f736974206e6f7420696e697469616c697a656400000000000000000060448201526064015b60405180910390fd5b6001546040517f6c626aa4000000000000000000000000000000000000000000000000000000008152600481018790526000916001600160a01b031690636c626aa49060240160408051808303816000875af11580156104c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e59190610cd8565b9150508160a0015163ffffffff16600014158061050b575067ffffffffffffffff811615155b61057d5760405162461bcd60e51b815260206004820152602360248201527f4465706f736974206e6f742066696e616c697a6564206279207468652062726960448201527f64676500000000000000000000000000000000000000000000000000000000006064820152608401610454565b6402540be400826020015167ffffffffffffffff1661059c9190610b1c565b94506105b0826020015183608001516101ee565b6040805182815263ffffffff4216602082015291955087917f417b6288c9f637614f8b3f7a275fb4e44e517930fde949e463d58dfe0b97f28b910160405180910390a25060c00151929491935050565b6000546001600160a01b031615801561062257506001546001600160a01b0316155b6106945760405162461bcd60e51b815260206004820152602960248201527f4162737472616374544254434465706f7369746f7220616c726561647920696e60448201527f697469616c697a656400000000000000000000000000000000000000000000006064820152608401610454565b6001600160a01b0382166106ea5760405162461bcd60e51b815260206004820152601d60248201527f42726964676520616464726573732063616e6e6f74206265207a65726f0000006044820152606401610454565b6001600160a01b0381166107405760405162461bcd60e51b815260206004820181905260248201527f544254435661756c7420616464726573732063616e6e6f74206265207a65726f6044820152606401610454565b600080546001600160a01b039384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560018054929093169116179055565b6001546000906001600160a01b03166107a560c0850160a08601610d07565b6001600160a01b0316146107fb5760405162461bcd60e51b815260206004820152601660248201527f5661756c742061646472657373206d69736d61746368000000000000000000006044820152606401610454565b600061081b610809866108e1565b6108166020870187610d24565b610946565b60405163ffffffff4216815290915081907fa3ed7aef0745e1a91addae9e5daee7a8ace74852fec840b9d93da747855dd7b99060200160405180910390a26000546040517f86f014390000000000000000000000000000000000000000000000000000000081526001600160a01b03909116906386f01439906108a690889088908890600401610dec565b600060405180830381600087803b1580156108c057600080fd5b505af11580156108d4573d6000803e3d6000fd5b5092979650505050505050565b600061013c6108f36020840184610f51565b6109006020850185610f6c565b61090d6040870187610f6c565b61091d6080890160608a01610f51565b60405160200161093296959493929190610fb3565b604051602081830303815290604052610990565b6000828260405160200161097192919091825260e01b6001600160e01b031916602082015260240190565b60408051601f1981840301815291905280516020909101209392505050565b60006020600083516020850160025afa50602060006020600060025afa5050600051919050565b67ffffffffffffffff811681146109cd57600080fd5b50565b600080604083850312156109e357600080fd5b82356109ee816109b7565b915060208301356109fe816109b7565b809150509250929050565b600060208284031215610a1b57600080fd5b5035919050565b6001600160a01b03811681146109cd57600080fd5b8035610a4281610a22565b919050565b60008060408385031215610a5a57600080fd5b8235610a6581610a22565b915060208301356109fe81610a22565b6000806000838503610100811215610a8c57600080fd5b843567ffffffffffffffff811115610aa357600080fd5b850160808188031215610ab557600080fd5b935060c0601f1982011215610ac957600080fd5b5060208401915060e084013590509250925092565b634e487b7160e01b600052601160045260246000fd5b67ffffffffffffffff828116828216039080821115610b1557610b15610ade565b5092915050565b808202811582820484141761013c5761013c610ade565b63ffffffff811681146109cd57600080fd5b8051610a4281610b33565b600060208284031215610b6257600080fd5b8151610b6d81610b33565b9392505050565b600082610b9157634e487b7160e01b600052601260045260246000fd5b500490565b8051610a42816109b7565b60008060008060808587031215610bb757600080fd5b8451610bc2816109b7565b6020860151909450610bd3816109b7565b6040860151909350610be4816109b7565b6060860151909250610bf581610b33565b939692955090935050565b8181038181111561013c5761013c610ade565b8051610a4281610a22565b600060e08284031215610c3057600080fd5b60405160e0810181811067ffffffffffffffff82111715610c6157634e487b7160e01b600052604160045260246000fd5b604052610c6d83610c13565b8152610c7b60208401610b96565b6020820152610c8c60408401610b45565b6040820152610c9d60608401610c13565b6060820152610cae60808401610b96565b6080820152610cbf60a08401610b45565b60a082015260c083015160c08201528091505092915050565b60008060408385031215610ceb57600080fd5b8251610cf6816109b7565b60208401519092506109fe816109b7565b600060208284031215610d1957600080fd5b8135610b6d81610a22565b600060208284031215610d3657600080fd5b8135610b6d81610b33565b80356001600160e01b031981168114610a4257600080fd5b6000808335601e19843603018112610d7057600080fd5b830160208101925035905067ffffffffffffffff811115610d9057600080fd5b803603821315610d9f57600080fd5b9250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b80356bffffffffffffffffffffffff1981168114610a4257600080fd5b60006101008083526001600160e01b031980610e0788610d41565b1682850152610e196020880188610d59565b92506080610120860152610e3261018086018483610da6565b925050610e426040880188610d59565b85840360ff1901610140870152610e5a848284610da6565b9350505080610e6b60608901610d41565b166101608501525090508335610e8081610b33565b63ffffffff811660208401525060208401357fffffffffffffffff0000000000000000000000000000000000000000000000008116808214610ec157600080fd5b80604085015250506bffffffffffffffffffffffff19610ee360408601610dcf565b166060830152610ef560608501610dcf565b6bffffffffffffffffffffffff198116608084015250610f1760808501610d41565b6001600160e01b0319811660a084015250610f3460a08501610a37565b6001600160a01b031660c083015260e09091019190915292915050565b600060208284031215610f6357600080fd5b61013982610d41565b6000808335601e19843603018112610f8357600080fd5b83018035915067ffffffffffffffff821115610f9e57600080fd5b602001915036819003821315610d9f57600080fd5b60006001600160e01b0319808916835286886004850137868301600481016000815286888237509316939092016004810193909352505060080194935050505056fea2646970667358221220a4fca4775bd418435f33c30c46bd8b2aa6540d6cd14645e20fb616dff01f193364736f6c63430008110033";
259
+ var _bytecode = "0x608060405234801561001057600080fd5b50610fb0806100206000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063485cc9551161005b578063485cc955146100e8578063c7ba0347146100fb578063ca3a7f8c14610107578063e78cea921461011a57600080fd5b80630f36403a1461008257806331e6028c146100b257806332a280b3146100d3575b600080fd5b600154610095906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100c56100c0366004610955565b61012d565b6040519081526020016100a9565b6100e66100e136600461098e565b610142565b005b6100e66100f63660046109cc565b6101a0565b6100c56402540be40081565b6100e66101153660046109fa565b6101ae565b600054610095906001600160a01b031681565b600061013983836101ee565b90505b92915050565b600080600061015084610371565b604080518481526020810184905290810182905292955090935091507fcdb95277f6a6807a2018e2dd8d15a4ff1b5619260b5dc535eb77e90945cf6e39906060015b60405180910390a150505050565b6101aa82826105c2565b5050565b60006101bb848484610748565b90507f0f3805f24563e903dd7c191088451bda29dc93cb93085e42724fdc27f62fef968160405161019291815260200190565b6000806402540be4006102018486610a79565b67ffffffffffffffff166102159190610aa1565b90506000600160009054906101000a90046001600160a01b03166001600160a01b03166309b53f516040518163ffffffff1660e01b8152600401602060405180830381865afa15801561026c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102909190610ad5565b63ffffffff16905060008082116102a85760006102b2565b6102b28284610af9565b905060008060009054906101000a90046001600160a01b03166001600160a01b031663c42b64d06040518163ffffffff1660e01b8152600401608060405180830381865afa158015610308573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061032c9190610b26565b509250505060006402540be4008267ffffffffffffffff1661034e9190610aa1565b90508061035b8487610b85565b6103659190610b85565b98975050505050505050565b600080546040517fb02c43d0000000000000000000000000000000000000000000000000000000008152600481018490528291829182916001600160a01b03169063b02c43d09060240160e060405180830381865afa1580156103d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103fc9190610ba3565b9050806040015163ffffffff1660000361045d5760405162461bcd60e51b815260206004820152601760248201527f4465706f736974206e6f7420696e697469616c697a656400000000000000000060448201526064015b60405180910390fd5b6001546040517f6c626aa4000000000000000000000000000000000000000000000000000000008152600481018790526000916001600160a01b031690636c626aa49060240160408051808303816000875af11580156104c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e59190610c5d565b9150508160a0015163ffffffff16600014158061050b575067ffffffffffffffff811615155b61057d5760405162461bcd60e51b815260206004820152602360248201527f4465706f736974206e6f742066696e616c697a6564206279207468652062726960448201527f64676500000000000000000000000000000000000000000000000000000000006064820152608401610454565b6402540be400826020015167ffffffffffffffff1661059c9190610aa1565b94506105b0826020015183608001516101ee565b93508160c00151925050509193909250565b6000546001600160a01b03161580156105e457506001546001600160a01b0316155b6106565760405162461bcd60e51b815260206004820152602960248201527f4162737472616374544254434465706f7369746f7220616c726561647920696e60448201527f697469616c697a656400000000000000000000000000000000000000000000006064820152608401610454565b6001600160a01b0382166106ac5760405162461bcd60e51b815260206004820152601d60248201527f42726964676520616464726573732063616e6e6f74206265207a65726f0000006044820152606401610454565b6001600160a01b0381166107025760405162461bcd60e51b815260206004820181905260248201527f544254435661756c7420616464726573732063616e6e6f74206265207a65726f6044820152606401610454565b600080546001600160a01b039384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560018054929093169116179055565b6001546000906001600160a01b031661076760c0850160a08601610c8c565b6001600160a01b0316146107bd5760405162461bcd60e51b815260206004820152601660248201527f5661756c742061646472657373206d69736d61746368000000000000000000006044820152606401610454565b60006107dd6107cb86610866565b6107d86020870187610ca9565b6108cb565b6000546040517f86f014390000000000000000000000000000000000000000000000000000000081529192506001600160a01b0316906386f014399061082b90889088908890600401610d71565b600060405180830381600087803b15801561084557600080fd5b505af1158015610859573d6000803e3d6000fd5b5092979650505050505050565b600061013c6108786020840184610ed6565b6108856020850185610ef1565b6108926040870187610ef1565b6108a26080890160608a01610ed6565b6040516020016108b796959493929190610f38565b604051602081830303815290604052610915565b600082826040516020016108f692919091825260e01b6001600160e01b031916602082015260240190565b60408051601f1981840301815291905280516020909101209392505050565b60006020600083516020850160025afa50602060006020600060025afa5050600051919050565b67ffffffffffffffff8116811461095257600080fd5b50565b6000806040838503121561096857600080fd5b82356109738161093c565b915060208301356109838161093c565b809150509250929050565b6000602082840312156109a057600080fd5b5035919050565b6001600160a01b038116811461095257600080fd5b80356109c7816109a7565b919050565b600080604083850312156109df57600080fd5b82356109ea816109a7565b91506020830135610983816109a7565b6000806000838503610100811215610a1157600080fd5b843567ffffffffffffffff811115610a2857600080fd5b850160808188031215610a3a57600080fd5b935060c0601f1982011215610a4e57600080fd5b5060208401915060e084013590509250925092565b634e487b7160e01b600052601160045260246000fd5b67ffffffffffffffff828116828216039080821115610a9a57610a9a610a63565b5092915050565b808202811582820484141761013c5761013c610a63565b63ffffffff8116811461095257600080fd5b80516109c781610ab8565b600060208284031215610ae757600080fd5b8151610af281610ab8565b9392505050565b600082610b1657634e487b7160e01b600052601260045260246000fd5b500490565b80516109c78161093c565b60008060008060808587031215610b3c57600080fd5b8451610b478161093c565b6020860151909450610b588161093c565b6040860151909350610b698161093c565b6060860151909250610b7a81610ab8565b939692955090935050565b8181038181111561013c5761013c610a63565b80516109c7816109a7565b600060e08284031215610bb557600080fd5b60405160e0810181811067ffffffffffffffff82111715610be657634e487b7160e01b600052604160045260246000fd5b604052610bf283610b98565b8152610c0060208401610b1b565b6020820152610c1160408401610aca565b6040820152610c2260608401610b98565b6060820152610c3360808401610b1b565b6080820152610c4460a08401610aca565b60a082015260c083015160c08201528091505092915050565b60008060408385031215610c7057600080fd5b8251610c7b8161093c565b60208401519092506109838161093c565b600060208284031215610c9e57600080fd5b8135610af2816109a7565b600060208284031215610cbb57600080fd5b8135610af281610ab8565b80356001600160e01b0319811681146109c757600080fd5b6000808335601e19843603018112610cf557600080fd5b830160208101925035905067ffffffffffffffff811115610d1557600080fd5b803603821315610d2457600080fd5b9250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b80356bffffffffffffffffffffffff19811681146109c757600080fd5b60006101008083526001600160e01b031980610d8c88610cc6565b1682850152610d9e6020880188610cde565b92506080610120860152610db761018086018483610d2b565b925050610dc76040880188610cde565b85840360ff1901610140870152610ddf848284610d2b565b9350505080610df060608901610cc6565b166101608501525090508335610e0581610ab8565b63ffffffff811660208401525060208401357fffffffffffffffff0000000000000000000000000000000000000000000000008116808214610e4657600080fd5b80604085015250506bffffffffffffffffffffffff19610e6860408601610d54565b166060830152610e7a60608501610d54565b6bffffffffffffffffffffffff198116608084015250610e9c60808501610cc6565b6001600160e01b0319811660a084015250610eb960a085016109bc565b6001600160a01b031660c083015260e09091019190915292915050565b600060208284031215610ee857600080fd5b61013982610cc6565b6000808335601e19843603018112610f0857600080fd5b83018035915067ffffffffffffffff821115610f2357600080fd5b602001915036819003821315610d2457600080fd5b60006001600160e01b0319808916835286886004850137868301600481016000815286888237509316939092016004810193909352505060080194935050505056fea26469706673582212206e8c6ff966573da33706be64f26a6d3a7139783f5bc2c7d33b4d523623878f2164736f6c63430008110033";
304
260
  var isSuperArgs = function (xs) { return xs.length > 1; };
305
261
  var TestTBTCDepositor__factory = /** @class */ (function (_super) {
306
262
  __extends(TestTBTCDepositor__factory, _super);
@@ -1928,7 +1928,7 @@ var _abi = [
1928
1928
  type: "function",
1929
1929
  },
1930
1930
  ];
1931
- var _bytecode = "0x60c06040523480156200001157600080fd5b50604051620060e4380380620060e4833981016040819052620000349162000134565b6001600160a01b03808316608052811660a0526200005162000059565b505062000173565b606454610100900460ff1615620000c65760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60645460ff908116101562000119576064805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6001600160a01b03811681146200013157600080fd5b50565b600080604083850312156200014857600080fd5b825162000155816200011b565b602084015190925062000168816200011b565b809150509250929050565b60805160a051615e876200025d600039600081816104ea01528181610a3a01528181610a8701528181610adb01528181610b2901528181610d4e01528181610f42015281816113ad015281816115e8015281816116ce01528181611f6a0152818161230401526126110152600081816107e601528181610aa801528181610afc01528181610b4a01528181610c6301528181610fde0152818161115201528181611338015281816118b1015281816119c401528181611df7015281816121a5015281816123a0015281816125910152818161263201528181612691015261276a0152615e876000f3fe608060405234801561001057600080fd5b50600436106103995760003560e01c80637e0049fd116101e9578063c9bacaad1161010f578063df07ce59116100ad578063f0820c921161007c578063f0820c921461097e578063f7186ce01461098f578063f854a27f146109a2578063fd2a4788146109b557600080fd5b8063df07ce5914610922578063e03e453514610935578063e686440f1461094a578063e83ab3a51461095d57600080fd5b8063d38bfff4116100e9578063d38bfff4146108c8578063d855c631146108db578063d8dc404d146108e3578063ded56d45146108f657600080fd5b8063c9bacaad1461088d578063cc562388146108a0578063d0bcc0e3146108b557600080fd5b8063a04e298011610187578063c09975cd11610156578063c09975cd14610828578063c0c53b8b1461083b578063c7c49c981461084e578063c88e70f41461087a57600080fd5b8063a04e2980146107c6578063b13b55b2146107d9578063b54a2374146107e1578063b5e9ce8b1461080857600080fd5b806388a59590116101c357806388a595901461073a5780638dcbdf4a146107755780639879d19b146107885780639c9de0281461079b57600080fd5b80637e0049fd146106e55780637e33cba6146106f8578063830f9e021461070b57600080fd5b806352902301116102ce5780636c9ecd641161026c578063770124d31161023b578063770124d3146105f2578063789d392a146105fa5780637b14729e146106755780637b35b4e6146106d257600080fd5b80636c9ecd64146105b15780636febd464146105c457806372cc8c6d146105d757806375e0ae5a146105df57600080fd5b8063663032cd116102a8578063663032cd1461057057806368c34948146105835780636a7f7a901461058b5780636b5f2bff1461059e57600080fd5b8063529023011461052f5780635aa6e6751461054a5780635c5b38701461055d57600080fd5b8063227fd44f1161033b5780633682a450116103155780633682a450146104bf57806342d86693146104d25780634cf088d9146104e55780634d99f4731461050c57600080fd5b8063227fd44f146104865780633137676614610499578063343bb927146104ac57600080fd5b8063167f051711610377578063167f0517146104325780631ae879e81461043a5780631c5b07621461044e5780631d35fa631461046157600080fd5b806308aa090b1461039e57806314a85474146103f1578063153622b314610406575b600080fd5b6103a66109c8565b6040516103e89190600060a082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015292915050565b60405180910390f35b6104046103ff366004614e9c565b610a2f565b005b6101065461041a906001600160a01b031681565b6040516001600160a01b0390911681526020016103e8565b610404610ad4565b6101055461041a906001600160a01b031681565b61040461045c366004614ee7565b610b22565b60fc546001600160601b03165b6040516001600160601b0390911681526020016103e8565b610404610494366004614f04565b610b72565b6104046104a7366004614f21565b610bf1565b6104046104ba366004614f5b565b610e79565b6104046104cd366004614ee7565b610edd565b6104046104e0366004614ee7565b610ee8565b61041a7f000000000000000000000000000000000000000000000000000000000000000081565b61051f61051a366004614f5b565b61109d565b60405190151581526020016103e8565b60fd5460fe54604080519283526020830191909152016103e8565b60005461041a906001600160a01b031681565b61040461056b366004614f21565b6110b8565b61040461057e366004614ee7565b6112ef565b61051f611391565b610404610599366004614e9c565b6113a2565b6104046105ac366004614ee7565b6113f7565b6104046105bf366004614f74565b611470565b6104046105d2366004614f74565b6114e2565b61040461154c565b6104046105ed366004614ee7565b6115e1565b61051f61160d565b610653610608366004614f5b565b60408051606080820183526000808352602080840182905292840181905293845260ca8252928290208251938401835280548452600181015491840191909152600201549082015290565b60408051825181526020808401519082015291810151908201526060016103e8565b6106a36065546001600160601b038116916001600160401b03600160601b8304811692600160a01b90041690565b604080516001600160601b0390941684526001600160401b0392831660208501529116908201526060016103e8565b6104046106e0366004614ee7565b611619565b6104046106f3366004614f21565b6116a1565b61046e610706366004614ee7565b6116c5565b61072c610719366004614f5b565b6101046020526000908152604090205481565b6040519081526020016103e8565b60ff5461010054610101546101025461010354604080519586526020860194909452928401919091526060830152608082015260a0016103e8565b610404610783366004614f96565b6116f3565b610404610796366004615015565b6117ab565b6107ae6107a9366004614ee7565b611b64565b6040516001600160401b0390911681526020016103e8565b6104046107d43660046150a3565b611b71565b610404611c23565b61041a7f000000000000000000000000000000000000000000000000000000000000000081565b61081b610816366004614f5b565b611c8a565b6040516103e89190615138565b60325461041a906001600160a01b031681565b61040461084936600461514b565b611c97565b61041a61085c366004614ee7565b6001600160a01b039081166000908152606660205260409020541690565b610404610888366004614f96565b611ecc565b61040461089b366004614e9c565b611f5f565b6108a8611fb4565b6040516103e891906151a1565b6104046108c3366004614ee7565b611fc0565b6104046108d6366004614ee7565b612039565b6104046120cd565b6104046108f13660046151c9565b61210a565b61041a610904366004614ee7565b6001600160a01b039081166000908152606760205260409020541690565b61051f610930366004615244565b61237c565b61093d61256d565b6040516103e891906152eb565b61051f610958366004614ee7565b612608565b61097061096b366004614f21565b612657565b6040516103e89291906152fe565b6065546001600160601b031661046e565b61051f61099d366004614ee7565b61266f565b61046e6109b0366004614ee7565b6126fe565b61046e6109c3366004614ee7565b6127dc565b6109fa6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b506040805160a0810182526099548152609a546020820152609b5491810191909152609c546060820152609d54608082015290565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610a805760405162461bcd60e51b8152600401610a7790615319565b60405180910390fd5b610acf60657f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000868686612803565b505050565b610b2060657f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061296f565b565b610b6f60657f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084612b49565b50565b6000546001600160a01b03163314610b9c5760405162461bcd60e51b8152600401610a779061535b565b60fc80546001600160601b0319166001600160601b0383169081179091556040519081527fe132b87eb6644ee4d4c3c32744f7e1c3906335a2d4f99330767bf573909c7d84906020015b60405180910390a150565b333214610c2a5760405162461bcd60e51b81526020600482015260076024820152664e6f7420454f4160c81b6044820152606401610a77565b600080610c38609784612d28565b604051638871ca5d60e01b815263ffffffff8216600482015291935091506000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690638871ca5d90602401602060405180830381865afa158015610caa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cce9190615392565b6040805160018082528183019092529192506000919060208083019080368337019050506001600160a01b038084166000908152606760205260409020549192501681600081518110610d2357610d236153c5565b6001600160a01b03928316602091820292909201015260fc5460fd546040516383ddba8f60e01b81527f0000000000000000000000000000000000000000000000000000000000000000909316926383ddba8f92610d93926001600160601b0390911691339087906004016153db565b600060405180830381600087803b158015610dad57600080fd5b505af1925050508015610dbe575060015b610e175760fc54604080516001600160601b0390921682526001600160a01b038416602083015285917f14621289a12ab59e0737decc388bba91d929c723defb4682d5d19b9a12ecfecb910160405180910390a2610e68565b60fc54604080516001600160601b0390921682526001600160a01b038416602083015285917f88f76c659db78142f88e94db3ca791869495394c6c1b3d412ced9022dc97c9e3910160405180910390a25b610e726097613091565b5050505050565b610105546001600160a01b03163314610ea45760405162461bcd60e51b8152600401610a779061544e565b610eaf60ca826130e5565b60405181907fa6ae4af610b8ada39d3675190ead27a5552631a8e33f53e4e37dbb082f11a73e90600090a250565b610b6f606582613132565b6001600160a01b038181166000908152606660205260409020541680610f205760405162461bcd60e51b8152600401610a7790615485565b604051632de9480760e01b81526001600160a01b0383811660048301526000917f000000000000000000000000000000000000000000000000000000000000000090911690632de9480790602401606060405180830381865afa158015610f8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610faf91906154af565b50604051637104c0e560e11b81526001600160a01b0385811660048301528281166024830152919350600092507f00000000000000000000000000000000000000000000000000000000000000009091169063e20981ca906044016020604051808303816000875af1158015611029573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061104d91906154f1565b6040516001600160601b03821681529091506001600160a01b038516907f38532b6dea69d7266fa923c7813d190be37625f2454ddfa3d93c45c79482e3fd9060200160405180910390a250505050565b600081815260ca602052604081206001015415155b92915050565b60005a905060006110ca609784613395565b9050600080806110ef60c08701356110e5602089018961550e565b60ca9291906137bc565b925092509250856040516020016111069190615794565b60405160208183030381529060405280519060200120837fbe8f27cef1f3d94120c9c547c3614f5b992fdb0c0a497cc920fde06546291ab460405160405180910390a38351156111de577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663942f68928560fe544261118e91906157bd565b6040518363ffffffff1660e01b81526004016111ab9291906157d0565b600060405180830381600087803b1580156111c557600080fd5b505af11580156111d9573d6000803e3d6000fd5b505050505b6101055460405163547d07a160e11b81526004810185905260248101849052604481018390526001600160a01b039091169063a8fa0f4290606401600060405180830381600087803b15801561123357600080fd5b505af1158015611247573d6000803e3d6000fd5b505050506112556097613837565b603254610100546001600160a01b0390911690637ad226dc905a61127990896157f2565b60ff5461128691906157bd565b61129091906157bd565b6040516001600160e01b031960e084901b1681526004810191909152336024820152604401600060405180830381600087803b1580156112cf57600080fd5b505af11580156112e3573d6000803e3d6000fd5b50505050505050505050565b6000546001600160a01b031633146113195760405162461bcd60e51b8152600401610a779061535b565b604051632a59250560e21b81526001600160a01b0382811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063a9649414906024015b600060405180830381600087803b15801561137d57600080fd5b505af1158015610e72573d6000803e3d6000fd5b600061139d609761389b565b905090565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146113ea5760405162461bcd60e51b8152600401610a7790615319565b610acf60658484846138ec565b6000546001600160a01b031633146114215760405162461bcd60e51b8152600401610a779061535b565b61010680546001600160a01b0319166001600160a01b0383169081179091556040519081527f2b34e21b6daa8fcf8cba1c3ed709cbed2b0231d5fb60e9ccd8c2e75a5674bcb390602001610be6565b6000546001600160a01b0316331461149a5760405162461bcd60e51b8152600401610a779061535b565b60fd82905560fe81905560408051838152602081018390527ff3a6ee10a78fb7d212e87d9be970fb16bd7324e9dc9c38d21cd7ecde781a1d2a91015b60405180910390a15050565b610106546001600160a01b0316331461153d5760405162461bcd60e51b815260206004820152601f60248201527f43616c6c6572206973206e6f74207468652052616e646f6d20426561636f6e006044820152606401610a77565b611548609783613b27565b5050565b610105546001600160a01b031633146115775760405162461bcd60e51b8152600401610a779061544e565b6115816097613bd4565b610106546040516310da3b0360e21b81523060048201526001600160a01b0390911690634368ec0c90602401600060405180830381600087803b1580156115c757600080fd5b505af11580156115db573d6000803e3d6000fd5b50505050565b610b6f60657f000000000000000000000000000000000000000000000000000000000000000083613c9f565b600061139d6097613ee0565b6000546001600160a01b031633146116435760405162461bcd60e51b8152600401610a779061535b565b6040516001600160a01b03821681527f0e2d2343d31b085b7c4e56d1c8a6ec79f7ab07460386f1c9a1756239fe2533ac9060200160405180910390a1603280546001600160a01b0319166001600160a01b0392909216919091179055565b6116ba6116b1602083018361550e565b60ca9190613f1a565b610b6f609782614073565b60006110b260657f000000000000000000000000000000000000000000000000000000000000000084614383565b6000546001600160a01b0316331461171d5760405162461bcd60e51b8152600401610a779061535b565b6117286097866143be565b61173360978561441f565b61173e609784614480565b6117496097836144c1565b611754609782614522565b604080518681526020810186905290810184905260608101839052608081018290527f59ae8ed7b3a7e5f6dde4cff478f0ac0aa652c5edc4f4757b09a778a430b02c569060a0015b60405180910390a15050505050565b60005a8535600081815261010460205260409020549192509085146118025760405162461bcd60e51b815260206004820152600d60248201526c496e76616c6964206e6f6e636560981b6044820152606401610a77565b60008061181060ca846145dc565b9092509050600061182260ca8561462c565b90508686604051602001611837929190615805565b6040516020818303038152906040528051906020012081146118935760405162461bcd60e51b8152602060048201526015602482015274496e76616c69642067726f7570206d656d6265727360581b6044820152606401610a77565b600073__$c28dd63714b1a086d50ecbb702fff9dbb7$__63f4df04be7f00000000000000000000000000000000000000000000000000000000000000008c87876040516020016118ed929190918252602082015260400190565b6040516020818303038152906040528d8d8d6040518763ffffffff1660e01b815260040161192096959493929190615827565b600060405180830381865af415801561193d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611965919081019061595e565b600086815261010460205260408120805492935090611983836159fc565b9091555050604080518a815233602082015286917f326e1ff7c130ed708307116f79cf7dbca649503e7082e5e35a19ceeee1523b39910160405180910390a27f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663942f68928260fe5442611a0091906157bd565b6040518363ffffffff1660e01b8152600401611a1d9291906157d0565b600060405180830381600087803b158015611a3757600080fd5b505af1158015611a4b573d6000803e3d6000fd5b50611a609250505060608b0160408c01615a15565b15611ad35761010554604051631ee74c0960e11b81526004810187905260248101869052604481018590526001600160a01b0390911690633dce981290606401600060405180830381600087803b158015611aba57600080fd5b505af1158015611ace573d6000803e3d6000fd5b505050505b603254610101546001600160a01b0390911690637ad226dc905a611af7908a6157f2565b611b0191906157bd565b6040516001600160e01b031960e084901b1681526004810191909152336024820152604401600060405180830381600087803b158015611b4057600080fd5b505af1158015611b54573d6000803e3d6000fd5b5050505050505050505050505050565b60006110b260658361466e565b6000546001600160a01b03163314611b9b5760405162461bcd60e51b8152600401610a779061535b565b606580546001600160601b0319166001600160601b038516179055611bc1606583614706565b611bcc60658261472e565b604080516001600160601b03851681526001600160401b03848116602083015283168183015290517f544b726e42801bb47073854eeedae851903f66fe32a5bd24e626e10b90027b519181900360600190a1505050565b60005a9050611c326097614756565b603254610102546001600160a01b0390911690637ad226dc905a611c5690856157f2565b611c6091906157bd565b6040516001600160e01b031960e084901b1681526004810191909152336024820152604401611363565b60606110b260ca836147dd565b606454610100900460ff1615808015611cb75750606454600160ff909116105b80611cd15750303b158015611cd1575060645460ff166001145b611d345760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610a77565b6064805460ff191660011790558015611d57576064805461ff0019166101001790555b61010680546001600160a01b038086166001600160a01b0319928316179092556032805492851692909116919091179055611d9133614818565b606580546001600160601b031916690878678326eac9000000179055611dbb6065623b5380614706565b611dc96065623b538061472e565b60fc80546001600160601b0319166815af1d78b58c400000179055606460fd556212750060fe55611e1c60977f000000000000000000000000000000000000000000000000000000000000000086614872565b611e296097612d006143be565b611e366097612d0061441f565b611e43609761c350614480565b611e506097610a0f6144c1565b611e5c60976014614522565b62046cd060ff55620119406101005562016b4861010155611c52610102556108fc6101035580156115db576064805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150505050565b6000546001600160a01b03163314611ef65760405162461bcd60e51b8152600401610a779061535b565b60ff859055610100849055610101839055610102829055610103819055604080518681526020810186905290810184905260608101839052608081018290527f8a3e64fa6013a36bccca7362e8826b11ba41e57fb60f55309c0ca48904dad0829060a00161179c565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611fa75760405162461bcd60e51b8152600401610a7790615319565b610acf6065848484614967565b600061139d6097614a34565b6000546001600160a01b03163314611fea5760405162461bcd60e51b8152600401610a779061535b565b61010580546001600160a01b0319166001600160a01b0383169081179091556040519081527fa1993af5a189ba5ad4155263c920cfee33ce0593a8eb231a13bb3ce6f39459e390602001610be6565b6000546001600160a01b031633146120635760405162461bcd60e51b8152600401610a779061535b565b6001600160a01b0381166120c45760405162461bcd60e51b815260206004820152602260248201527f4e657720676f7665726e616e636520697320746865207a65726f206164647265604482015261737360f01b6064820152608401610a77565b610b6f81614818565b60005a90506120dc6097614acb565b603254610103546001600160a01b0390911690637ad226dc905a61210090856157f2565b611c6091906157f2565b610105546001600160a01b031633146121355760405162461bcd60e51b8152600401610a779061544e565b600061214260ca8561462c565b90508282604051602001612157929190615805565b60405160208183030381529060405280519060200120811461218b5760405162461bcd60e51b8152600401610a7790615a32565b604051637bfcd47d60e11b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063f7f9a8fa906121dc9087908790600401615805565b600060405180830381865afa1580156121f9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526122219190810190615a74565b90506000836001600160401b0381111561223d5761223d6153af565b604051908082528060200260200182016040528015612266578160200160208202803683370190505b50905060005b82518110156122ec576122b083828151811061228a5761228a6153c5565b60200260200101516001600160a01b039081166000908152606760205260409020541690565b8282815181106122c2576122c26153c5565b6001600160a01b0390921660209283029190910190910152806122e4816159fc565b91505061226c565b506040516383ddba8f60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906383ddba8f9061233f908c908c908c9087906004016153db565b600060405180830381600087803b15801561235957600080fd5b505af115801561236d573d6000803e3d6000fd5b50505050505050505050505050565b604051635a48b46b60e01b81526001600160a01b03838116600483015260009182917f00000000000000000000000000000000000000000000000000000000000000001690635a48b46b90602401602060405180830381865afa1580156123e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061240b9190615b02565b90508063ffffffff166000036124635760405162461bcd60e51b815260206004820152601d60248201527f4e6f74206120736f72746974696f6e20706f6f6c206f70657261746f720000006044820152606401610a77565b600061247060ca8961462c565b90508686604051602001612485929190615805565b6040516020818303038152906040528051906020012081146124b95760405162461bcd60e51b8152600401610a7790615a32565b836001111580156124ca5750858411155b6125225760405162461bcd60e51b815260206004820152602360248201527f57616c6c6574206d656d62657220696e646578206973206f7574206f662072616044820152626e676560e81b6064820152608401610a77565b63ffffffff821687876125366001886157f2565b818110612545576125456153c5565b905060200201602081019061255a9190615b1f565b63ffffffff161498975050505050505050565b60a054604051636c2530b960e01b81526064600482015260248101919091526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636c2530b990604401600060405180830381865afa1580156125e0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261139d919081019061595e565b60006110b260657f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000085614b4a565b60006060612666609784614cbe565b91509150915091565b6040516307b8c36760e51b81526001600160a01b0382811660048301526000917f00000000000000000000000000000000000000000000000000000000000000009091169063f7186ce090602401602060405180830381865afa1580156126da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110b29190615b3c565b600080612723836001600160a01b039081166000908152606660205260409020541690565b90506001600160a01b03811661274b5760405162461bcd60e51b8152600401610a7790615485565b60405163439f18fd60e11b81526001600160a01b0382811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063873e31fa90602401602060405180830381865afa1580156127b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127d591906154f1565b9392505050565b6001600160a01b0381166000908152606860205260408120546001600160601b03166110b2565b6001600160a01b038084166000908152600188016020526040902054168061282b5750612967565b6040516307b8c36760e51b81526001600160a01b03828116600483015286169063f7186ce090602401602060405180830381865afa158015612871573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128959190615b3c565b1561296557846001600160a01b031663a4e2d6346040518163ffffffff1660e01b8152600401602060405180830381865afa1580156128d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128fc9190615b3c565b1561295957604080516001600160601b038086168252841660208201526001600160a01b0380841692908716917f1b09380d63e78fd72c1d79a805a7e2dfadf02b22418e24bebff51376b7df33b0910160405180910390a3612965565b61296587878784612b49565b505b505050505050565b3360008181526002850160205260409020546001600160a01b0316806129a75760405162461bcd60e51b8152600401610a7790615485565b6001600160a01b0381166000908152600386016020526040812080549091906129de908890889086906001600160601b0316614da2565b9050806001600160601b0316600003612a395760405162461bcd60e51b815260206004820152601f60248201527f417574686f72697a6174696f6e2062656c6f7720746865206d696e696d756d006044820152606401610a77565b836001600160a01b0316836001600160a01b03167f5075aaa89894a888eb2cac81a27320c60855febb0cf1706b66bdc754e640d43360405160405180910390a3604051630483483160e31b81526001600160a01b0386169063241a418890612aa79087908590600401615b59565b600060405180830381600087803b158015612ac157600080fd5b505af1158015612ad5573d6000803e3d6000fd5b5050835467fffffffffffffffe19600160601b9091046001600160401b03160191506129659050578654612b1990600160601b90046001600160401b031642615b7b565b82546001600160401b0391909116600160601b0267ffffffffffffffff60601b1990911617825550505050505050565b6001600160a01b0380821660009081526002860160205260409020541680612b835760405162461bcd60e51b8152600401610a7790615485565b6001600160a01b03808216600081815260038801602052604080822090519093861692917f1231fe5ee649a593b524a494cd53146a196380a872115a0d0fe16c0735afdf2691a36040516307b8c36760e51b81526001600160a01b03848116600483015285169063f7186ce090602401602060405180830381865afa158015612c10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c349190615b3c565b15612cbb578054600090612c56908890889086906001600160601b0316614da2565b60405163dc7520c560e01b81529091506001600160a01b0386169063dc7520c590612c879087908590600401615b59565b600060405180830381600087803b158015612ca157600080fd5b505af1158015612cb5573d6000803e3d6000fd5b50505050505b805467fffffffffffffffe19600160601b9091046001600160401b031601612967578554612cf990600160601b90046001600160401b031642615b7b565b81546001600160401b0391909116600160601b0267ffffffffffffffff60601b19909116178155505050505050565b6000806003612d3685614a34565b6003811115612d4757612d4761518b565b14612d945760405162461bcd60e51b815260206004820152601e60248201527f43757272656e74207374617465206973206e6f74204348414c4c454e474500006044820152606401610a77565b6003840154600c850154612da891906157bd565b431115612e035760405162461bcd60e51b815260206004820152602360248201527f4368616c6c656e676520706572696f642068617320616c7265616479207061736044820152621cd95960ea1b6064820152608401610a77565b83600b015483604051602001612e199190615794565b6040516020818303038152906040528051906020012014612ea25760405162461bcd60e51b815260206004820152603a60248201527f526573756c7420756e646572206368616c6c656e67652069732064696666657260448201527f656e74207468616e20746865207375626d6974746564206f6e650000000000006064820152608401610a77565b6001840154600985015460088601546040516373b33d5d60e11b81526001600160a01b039093169263e7667aba92612ede928892600401615ba2565b600060405180830381865afa925050508015612f1c57506040513d6000823e601f3d908101601f19168201604052612f199190810190615bc7565b60015b612f9157336001600160a01b031684600b01547f703feb01415a2995816e8d082fd7aad0eacada1a2f63fdb3226e47f8a0285436604051612f84906020808252601390820152721d985b1a59185d1a5bdb881c995d995c9d1959606a1b604082015260600190565b60405180910390a3613020565b8115612fd75760405162461bcd60e51b8152602060048201526015602482015274756e6a7573746966696564206368616c6c656e676560581b6044820152606401610a77565b336001600160a01b031686600b01547f703feb01415a2995816e8d082fd7aad0eacada1a2f63fdb3226e47f8a0285436836040516130159190615138565b60405180910390a350505b600b840154915061303460a0840184615c70565b613040600186356157f2565b81811061304f5761304f6153c5565b90506020020160208101906130649190615b1f565b905083600801544361307691906157f2565b600a8501556000600b8501819055600c8501555b9250929050565b60048101545a1015610b6f5760405162461bcd60e51b815260206004820152601960248201527f4e6f7420656e6f75676820657874726120676173206c656674000000000000006044820152606401610a77565b6000818152602083905260409020600101546131135760405162461bcd60e51b8152600401610a7790615cb9565b6000908152602091909152604081208181556001810182905560020155565b336001600160a01b0382166131895760405162461bcd60e51b815260206004820181905260248201527f4f70657261746f722063616e206e6f74206265207a65726f20616464726573736044820152606401610a77565b6001600160a01b03818116600090815260018501602052604090205416156132095760405162461bcd60e51b815260206004820152602d60248201527f4f70657261746f7220616c72656164792073657420666f72207468652073746160448201526c35b4b73390383937bb34b232b960991b6064820152608401610a77565b6001600160a01b03828116600090815260028501602052604090205416156132735760405162461bcd60e51b815260206004820152601f60248201527f4f70657261746f72206164647265737320616c726561647920696e20757365006044820152606401610a77565b6001600160a01b038116600090815260038401602052604090208054600160601b90046001600160401b0316156133065760405162461bcd60e51b815260206004820152603160248201527f546865726520697320612070656e64696e6720617574686f72697a6174696f6e60448201527008191958dc99585cd9481c995c5d595cdd607a1b6064820152608401610a77565b826001600160a01b0316826001600160a01b03167fa453db612af59e5521d6ab9284dc3e2d06af286eb1b1b7b771fce4716c19f2c160405160405180910390a3506001600160a01b03908116600081815260018501602090815260408083208054959096166001600160a01b031995861681179096559482526002909501909452919092208054909216179055565b606060036133a284614a34565b60038111156133b3576133b361518b565b146134005760405162461bcd60e51b815260206004820152601e60248201527f43757272656e74207374617465206973206e6f74204348414c4c454e474500006044820152606401610a77565b6003830154600c840154600091613416916157bd565b90508043116134735760405162461bcd60e51b815260206004820152602360248201527f4368616c6c656e676520706572696f6420686173206e6f7420706173736564206044820152621e595d60ea1b6064820152608401610a77565b83600b0154836040516020016134899190615794565b60405160208183030381529060405280519060200120146135125760405162461bcd60e51b815260206004820152603960248201527f526573756c7420756e64657220617070726f76616c206973206469666665726560448201527f6e74207468616e20746865207375626d6974746564206f6e65000000000000006064820152608401610a77565b83546000906001600160a01b0316638871ca5d61353260a0870187615c70565b61353e600189356157f2565b81811061354d5761354d6153c5565b90506020020160208101906135629190615b1f565b6040516001600160e01b031960e084901b16815263ffffffff919091166004820152602401602060405180830381865afa1580156135a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135c89190615392565b9050336001600160a01b03821614806135ee575060068501546135eb90836157bd565b43115b61366c5760405162461bcd60e51b815260206004820152604360248201527f4f6e6c792074686520444b4720726573756c74207375626d697474657220636160448201527f6e20617070726f76652074686520726573756c742061742074686973206d6f6d606482015262195b9d60ea1b608482015260a401610a77565b6136796040850185615c70565b90506001600160401b03811115613692576136926153af565b6040519080825280602002602001820160405280156136bb578160200160208202803683370190505b50925060005b6136ce6040860186615c70565b9050811015613782576136e460a0860186615c70565b60016136f36040890189615c70565b85818110613703576137036153c5565b90506020020160208101906137189190615d09565b6137229190615d24565b60ff16818110613734576137346153c5565b90506020020160208101906137499190615b1f565b84828151811061375b5761375b6153c5565b63ffffffff909216602092830291909101909101528061377a816159fc565b9150506136c1565b50600b8501546040513391907fe6e9d5eba171e82025efb3f3d44fd35905e7283d104284cb9f3bbc5bf1e4276f90600090a3505092915050565b600080600084846040516137d1929190615d3d565b60405190819003902092506137ea602060008688615d4d565b6137f391615d77565b91506138028460208188615d4d565b61380b91615d77565b600084815260209890985260409097209586555060018501819055600290940185905594929392915050565b60006008820181905560098201819055600a8201819055600b8201819055600c820181905581546040805163a69df4b560e01b815290516001600160a01b039092169263a69df4b59260048084019382900301818387803b15801561137d57600080fd5b600060026138a883614a34565b60038111156138b9576138b961518b565b1480156110b257506005820154600a83015460088401546138da91906157bd565b6138e491906157bd565b431192915050565b6001600160601b0381161580613910575083546001600160601b0390811690821610155b61397a5760405162461bcd60e51b815260206004820152603560248201527f417574686f72697a6174696f6e20616d6f756e742073686f756c642062652030604482015274206f722061626f766520746865206d696e696d756d60581b6064820152608401610a77565b6001600160a01b03808416600090815260018601602052604081205490911690816139a65750426139b0565b506001600160401b035b60006139bc8486615d95565b6001600160a01b03871660009081526003890160205260409020805491925090600160601b90046001600160401b03168015801590613a0457506001600160401b0381811614155b15613a97578854613a2590600160a01b90046001600160401b031682615db5565b6001600160401b0316421015613a975760405162461bcd60e51b815260206004820152603160248201527f4e6f7420656e6f7567682074696d65207061737365642073696e636520746865604482015270081bdc9a59da5b985b081c995c5d595cdd607a1b6064820152608401610a77565b81546001600160401b038516600160601b81026001600160a01b03199092166001600160601b0386811691909117929092178455604080518a8416815292891660208401528201526001600160a01b0386811691908a16907f545cbf267cef6fe43f11f6219417ab43a0e8e345adbaae5f626d9bc325e8535a9060600160405180910390a3505050505050505050565b6001613b3283614a34565b6003811115613b4357613b4361518b565b14613b9b5760405162461bcd60e51b815260206004820152602260248201527f43757272656e74207374617465206973206e6f74204157414954494e475f5345604482015261115160f21b6064820152608401610a77565b60405181907fb2ad26c2940889d79df2ee9c758a8aefa00c5ca90eee119af0e5d795df3b98bb90600090a2436008830155600990910155565b6000613bdf82614a34565b6003811115613bf057613bf061518b565b14613c0d5760405162461bcd60e51b8152600401610a7790615dd5565b6040517f5c3ed2397d4d21298b2fb5027ac8e2d42e3c9c72bbb55ddb030e2a36a0cdff6b90600090a1805460408051637c1e845d60e11b815290516001600160a01b039092169163f83d08ba9160048082019260009290919082900301818387803b158015613c7b57600080fd5b505af1158015613c8f573d6000803e3d6000fd5b5050505043816007018190555050565b6001600160a01b038116600090815260038401602052604090208054600160601b90046001600160401b0316613d235760405162461bcd60e51b8152602060048201526024808201527f417574686f72697a6174696f6e206465637265617365206e6f742072657175656044820152631cdd195960e21b6064820152608401610a77565b805467fffffffffffffffe19600160601b9091046001600160401b031601613da25760405162461bcd60e51b815260206004820152602c60248201527f417574686f72697a6174696f6e2064656372656173652072657175657374206e60448201526b1bdd081858dd1a5d985d195960a21b6064820152608401610a77565b8054600160601b90046001600160401b0316421015613e135760405162461bcd60e51b815260206004820152602760248201527f417574686f72697a6174696f6e2064656372656173652064656c6179206e6f74604482015266081c185cdcd95960ca1b6064820152608401610a77565b6040516001600160a01b038316907f50270a522c2fef97b6b7385c2aa4a4518adda681530e0a1fe9f5e840f6f2cd9d90600090a2604051633af0572d60e11b81526001600160a01b0383811660048301528416906375e0ae5a906024016020604051808303816000875af1158015613e8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613eb391906154f1565b50506001600160a01b031660009081526003909201602052506040902080546001600160a01b0319169055565b60006001613eed83614a34565b6003811115613efe57613efe61518b565b1480156110b25750600282015460078301546138e491906157bd565b60408114613f6a5760405162461bcd60e51b815260206004820181905260248201527f496e76616c6964206c656e677468206f6620746865207075626c6963206b65796044820152606401610a77565b60008282604051613f7c929190615d3d565b6040805191829003909120600081815260208790529190912060010154909150156140015760405162461bcd60e51b815260206004820152602f60248201527f57616c6c657420776974682074686520676976656e207075626c6963206b657960448201526e20616c72656164792065786973747360881b6064820152608401610a77565b60006140106020828587615d4d565b61401991615d77565b905080610e725760405162461bcd60e51b815260206004820152602260248201527f57616c6c6574207075626c6963206b6579206d757374206265206e6f6e2d7a65604482015261726f60f01b6064820152608401610a77565b600261407e83614a34565b600381111561408f5761408f61518b565b146140e85760405162461bcd60e51b8152602060048201526024808201527f43757272656e74207374617465206973206e6f74204157414954494e475f524560448201526314d5531560e21b6064820152608401610a77565b6140f18261389b565b1561413e5760405162461bcd60e51b815260206004820152601a60248201527f444b472074696d656f757420616c7265616479207061737365640000000000006044820152606401610a77565b81546040516307b8c36760e51b81523360048201526001600160a01b0390911690819063f7186ce090602401602060405180830381865afa158015614187573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141ab9190615b3c565b6142035760405162461bcd60e51b815260206004820152602360248201527f5375626d6974746572206e6f7420696e2074686520736f72746974696f6e20706044820152621bdbdb60ea1b6064820152608401610a77565b336001600160a01b038216638871ca5d61422060a0860186615c70565b61422c600188356157f2565b81811061423b5761423b6153c5565b90506020020160208101906142509190615b1f565b6040516001600160e01b031960e084901b16815263ffffffff919091166004820152602401602060405180830381865afa158015614292573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906142b69190615392565b6001600160a01b03161461430c5760405162461bcd60e51b815260206004820152601a60248201527f556e6578706563746564207375626d697474657220696e6465780000000000006044820152606401610a77565b8160405160200161431d9190615794565b60408051601f19818403018152908290528051602090910120600b850181905543600c8601556009850154917f8e7fd4293d7db11807147d8890c287fad3396fbb09a4e92273fc7856076c153a90614376908690615794565b60405180910390a3505050565b6001600160a01b03811660009081526003840160205260408120546143b6908590859085906001600160601b0316614da2565b949350505050565b60006143c983614a34565b60038111156143da576143da61518b565b146143f75760405162461bcd60e51b8152600401610a7790615dd5565b600081116144175760405162461bcd60e51b8152600401610a7790615e0c565b600290910155565b600061442a83614a34565b600381111561443b5761443b61518b565b146144585760405162461bcd60e51b8152600401610a7790615dd5565b600081116144785760405162461bcd60e51b8152600401610a7790615e0c565b600390910155565b600061448b83614a34565b600381111561449c5761449c61518b565b146144b95760405162461bcd60e51b8152600401610a7790615dd5565b600490910155565b60006144cc83614a34565b60038111156144dd576144dd61518b565b146144fa5760405162461bcd60e51b8152600401610a7790615dd5565b6000811161451a5760405162461bcd60e51b8152600401610a7790615e0c565b600590910155565b600061452d83614a34565b600381111561453e5761453e61518b565b1461455b5760405162461bcd60e51b8152600401610a7790615dd5565b600582015481106145d45760405162461bcd60e51b815260206004820152603d60248201527f4e65772076616c75652073686f756c64206265206c657373207468616e20726560448201527f73756c74207375626d697373696f6e20706572696f64206c656e6774680000006064820152608401610a77565b600690910155565b600081815260208390526040812060010154819061460c5760405162461bcd60e51b8152600401610a7790615cb9565b505060009081526020919091526040902060018101546002909101549091565b60008181526020839052604081206001015461465a5760405162461bcd60e51b8152600401610a7790615cb9565b506000908152602091909152604090205490565b6001600160a01b03811660009081526003830160205260408120805467fffffffffffffffe19600160601b9091046001600160401b0316016146ba576001600160401b039150506110b2565b805442906001600160401b03600160601b9091048116908216116146fa5781546146f5908290600160601b90046001600160401b0316615db5565b6146fd565b60005b95945050505050565b81546001600160401b03909116600160601b0267ffffffffffffffff60601b19909116179055565b81546001600160401b03909116600160a01b0267ffffffffffffffff60a01b19909116179055565b61475f81613ee0565b6147ab5760405162461bcd60e51b815260206004820152601f60248201527f4177616974696e67207365656420686173206e6f742074696d6564206f7574006044820152606401610a77565b6040517f68c52f05452e81639fa06f379aee3178cddee4725521fff886f244c99e868b5090600090a1610b6f81613837565b60606000806147ec85856145dc565b604080516020810193909352828101919091528051808303820181526060909201905295945050505050565b600080546001600160a01b038381166001600160a01b031983168117909355604080519190921680825260208201939093527f5f56bee8cffbe9a78652a74a60705edede02af10b0bbb888ca44b79a0d42ce8091016114d6565b82546001600160a01b0316156148d55760405162461bcd60e51b815260206004820152602260248201527f536f72746974696f6e20506f6f6c206164647265737320616c72656164792073604482015261195d60f21b6064820152608401610a77565b60018301546001600160a01b03161561493a5760405162461bcd60e51b815260206004820152602160248201527f444b472056616c696461746f72206164647265737320616c72656164792073656044820152601d60fa1b6064820152608401610a77565b82546001600160a01b03199081166001600160a01b03938416178455600190930180549093169116179055565b83546001600160601b0390811690821610156149c55760405162461bcd60e51b815260206004820152601f60248201527f417574686f72697a6174696f6e2062656c6f7720746865206d696e696d756d006044820152606401610a77565b6001600160a01b0383811660008181526001870160209081526040918290205482516001600160601b03888116825287169281019290925282519416938493927f87f9f9f59204f53d57a89a817c6083a17979cd0531791c91e18551a56e3cfdd7928290030190a35050505050565b805460408051632938b58d60e21b815290516000926001600160a01b03169163a4e2d6349160048083019260209291908290030181865afa158015614a7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614aa19190615b3c565b15614ac65750600881015460019015614ac65750600c81015460029015614ac6575060035b919050565b614ad48161389b565b614b185760405162461bcd60e51b81526020600482015260156024820152741112d1c81a185cc81b9bdd081d1a5b5959081bdd5d605a1b6044820152606401610a77565b6040517f2852b3e178dd281713b041c3d90b4815bb55b7ec812931d1e8e8d8bb2ed72d3e90600090a1610b6f81613837565b6001600160a01b03808216600090815260028601602052604081205490911680614b865760405162461bcd60e51b8152600401610a7790615485565b6001600160a01b038116600090815260038701602052604081208054909190614bbd908990899086906001600160601b0316614da2565b6040516307b8c36760e51b81526001600160a01b0387811660048301529192509087169063f7186ce090602401602060405180830381865afa158015614c07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614c2b9190615b3c565b614c43576001600160601b03161592506143b6915050565b6040516304de824f60e41b81526001600160a01b03871690634de824f090614c719088908590600401615b59565b602060405180830381865afa158015614c8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614cb29190615b3c565b98975050505050505050565b600060606000846008015411614d165760405162461bcd60e51b815260206004820152601860248201527f444b4720686173206e6f74206265656e207374617274656400000000000000006044820152606401610a77565b6001840154600985015460088601546040516373b33d5d60e11b81526001600160a01b039093169263e7667aba92614d52928892600401615ba2565b600060405180830381865afa158015614d6f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052614d979190810190615bc7565b915091509250929050565b604051637004922d60e11b81526001600160a01b038381166004830152306024830152600091829186169063e009245a90604401602060405180830381865afa158015614df3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614e1791906154f1565b90506000836001600160601b0316826001600160601b031611614e3b576000614e45565b614e458483615d95565b87549091506001600160601b039081169082161015614e69576000925050506143b6565b91506143b69050565b6001600160a01b0381168114610b6f57600080fd5b6001600160601b0381168114610b6f57600080fd5b600080600060608486031215614eb157600080fd5b8335614ebc81614e72565b92506020840135614ecc81614e87565b91506040840135614edc81614e87565b809150509250925092565b600060208284031215614ef957600080fd5b81356127d581614e72565b600060208284031215614f1657600080fd5b81356127d581614e87565b600060208284031215614f3357600080fd5b81356001600160401b03811115614f4957600080fd5b820160e081850312156127d557600080fd5b600060208284031215614f6d57600080fd5b5035919050565b60008060408385031215614f8757600080fd5b50508035926020909101359150565b600080600080600060a08688031215614fae57600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b60008083601f840112614fe357600080fd5b5081356001600160401b03811115614ffa57600080fd5b6020830191508360208260051b850101111561308a57600080fd5b6000806000806060858703121561502b57600080fd5b84356001600160401b038082111561504257600080fd5b9086019060a0828903121561505657600080fd5b909450602086013593506040860135908082111561507357600080fd5b5061508087828801614fd1565b95989497509550505050565b80356001600160401b0381168114614ac657600080fd5b6000806000606084860312156150b857600080fd5b83356150c381614e87565b92506150d16020850161508c565b91506150df6040850161508c565b90509250925092565b60005b838110156151035781810151838201526020016150eb565b50506000910152565b600081518084526151248160208601602086016150e8565b601f01601f19169290920160200192915050565b6020815260006127d5602083018461510c565b60008060006060848603121561516057600080fd5b833561516b81614e72565b9250602084013561517b81614e72565b91506040840135614edc81614e72565b634e487b7160e01b600052602160045260246000fd5b60208101600483106151c357634e487b7160e01b600052602160045260246000fd5b91905290565b60008060008060008060a087890312156151e257600080fd5b86356151ed81614e87565b955060208701359450604087013561520481614e72565b93506060870135925060808701356001600160401b0381111561522657600080fd5b61523289828a01614fd1565b979a9699509497509295939492505050565b60008060008060006080868803121561525c57600080fd5b8535945060208601356001600160401b0381111561527957600080fd5b61528588828901614fd1565b909550935050604086013561529981614e72565b949793965091946060013592915050565b600081518084526020808501945080840160005b838110156152e057815163ffffffff16875295820195908201906001016152be565b509495945050505050565b6020815260006127d560208301846152aa565b82151581526040602082015260006143b6604083018461510c565b60208082526022908201527f43616c6c6572206973206e6f7420746865207374616b696e6720636f6e74726160408201526118dd60f21b606082015260800190565b6020808252601c908201527f43616c6c6572206973206e6f742074686520676f7665726e616e636500000000604082015260600190565b6000602082840312156153a457600080fd5b81516127d581614e72565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160601b038516815260208082018590526001600160a01b038481166040840152608060608401819052845190840181905260009285810192909160a0860190855b8181101561543e578551841683529484019491840191600101615420565b50909a9950505050505050505050565b6020808252601e908201527f43616c6c6572206973206e6f74207468652057616c6c6574204f776e65720000604082015260600190565b60208082526010908201526f2ab735b737bbb71037b832b930ba37b960811b604082015260600190565b6000806000606084860312156154c457600080fd5b83516154cf81614e72565b60208501519093506154e081614e72565b6040850151909250614edc81614e72565b60006020828403121561550357600080fd5b81516127d581614e87565b6000808335601e1984360301811261552557600080fd5b8301803591506001600160401b0382111561553f57600080fd5b60200191503681900382131561308a57600080fd5b6000808335601e1984360301811261556b57600080fd5b83016020810192503590506001600160401b0381111561558a57600080fd5b80360382131561308a57600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6000808335601e198436030181126155d957600080fd5b83016020810192503590506001600160401b038111156155f857600080fd5b8060051b360382131561308a57600080fd5b803560ff81168114614ac657600080fd5b81835260006001600160fb1b0383111561563457600080fd5b8260051b80836020870137939093016020019392505050565b63ffffffff81168114610b6f57600080fd5b8183526000602080850194508260005b858110156152e05781356156828161564d565b63ffffffff168752958201959082019060010161566f565b80358252600060206156ae81840184615554565b60e0838701526156c260e087018284615599565b9150506156d260408501856155c2565b868303604088015280835290916000919084015b8183101561570e5760ff6156f98561560a565b168152928401926001929092019184016156e6565b61571b6060880188615554565b955093508781036060890152615732818686615599565b94505050505061574560808401846155c2565b858303608087015261575883828461561b565b9250505061576960a08401846155c2565b85830360a087015261577c83828461565f565b9250505060c083013560c08501528091505092915050565b6020815260006127d5602083018461569a565b634e487b7160e01b600052601160045260246000fd5b808201808211156110b2576110b26157a7565b6040815260006157e360408301856152aa565b90508260208301529392505050565b818103818111156110b2576110b26157a7565b6020815260006143b660208301848661565f565b8015158114610b6f57600080fd5b60018060a01b038716815260a06020820152853560a0820152600061584f60208801886155c2565b60a060c08501526158656101408501828461561b565b915050604088013561587681615819565b151560e084015261588a6060890189615554565b609f1980868503016101008701526158a3848385615599565b93506158b260808c018c6155c2565b935091508086850301610120870152506158cd83838361561b565b9250505082810360408401526158e3818861510c565b905085606084015282810360808401526158fe81858761565f565b9998505050505050505050565b604051601f8201601f191681016001600160401b0381118282101715615933576159336153af565b604052919050565b60006001600160401b03821115615954576159546153af565b5060051b60200190565b6000602080838503121561597157600080fd5b82516001600160401b0381111561598757600080fd5b8301601f8101851361599857600080fd5b80516159ab6159a68261593b565b61590b565b81815260059190911b820183019083810190878311156159ca57600080fd5b928401925b828410156159f15783516159e28161564d565b825292840192908401906159cf565b979650505050505050565b600060018201615a0e57615a0e6157a7565b5060010190565b600060208284031215615a2757600080fd5b81356127d581615819565b60208082526022908201527f496e76616c69642077616c6c6574206d656d62657273206964656e7469666965604082015261727360f01b606082015260800190565b60006020808385031215615a8757600080fd5b82516001600160401b03811115615a9d57600080fd5b8301601f81018513615aae57600080fd5b8051615abc6159a68261593b565b81815260059190911b82018301908381019087831115615adb57600080fd5b928401925b828410156159f1578351615af381614e72565b82529284019290840190615ae0565b600060208284031215615b1457600080fd5b81516127d58161564d565b600060208284031215615b3157600080fd5b81356127d58161564d565b600060208284031215615b4e57600080fd5b81516127d581615819565b6001600160a01b039290921682526001600160601b0316602082015260400190565b6001600160401b03818116838216019080821115615b9b57615b9b6157a7565b5092915050565b606081526000615bb5606083018661569a565b60208301949094525060400152919050565b60008060408385031215615bda57600080fd5b8251615be581615819565b60208401519092506001600160401b0380821115615c0257600080fd5b818501915085601f830112615c1657600080fd5b815181811115615c2857615c286153af565b615c3b601f8201601f191660200161590b565b9150808252866020828501011115615c5257600080fd5b615c638160208401602086016150e8565b5080925050509250929050565b6000808335601e19843603018112615c8757600080fd5b8301803591506001600160401b03821115615ca157600080fd5b6020019150600581901b360382131561308a57600080fd5b60208082526030908201527f57616c6c657420776974682074686520676976656e20494420686173206e6f7460408201526f081899595b881c9959da5cdd195c995960821b606082015260800190565b600060208284031215615d1b57600080fd5b6127d58261560a565b60ff82811682821603908111156110b2576110b26157a7565b8183823760009101908152919050565b60008085851115615d5d57600080fd5b83861115615d6a57600080fd5b5050820193919092039150565b803560208310156110b257600019602084900360031b1b1692915050565b6001600160601b03828116828216039080821115615b9b57615b9b6157a7565b6001600160401b03828116828216039080821115615b9b57615b9b6157a7565b60208082526019908201527f43757272656e74207374617465206973206e6f742049444c4500000000000000604082015260600190565b60208082526025908201527f4e65772076616c75652073686f756c642062652067726561746572207468616e604082015264207a65726f60d81b60608201526080019056fea26469706673582212206ecea0068e54294f1e3ec4488ca9b34a6f29837149cb06a9dc7e5389152e247c64736f6c63430008110033";
1931
+ var _bytecode = "0x60c06040523480156200001157600080fd5b50604051620060e4380380620060e4833981016040819052620000349162000134565b6001600160a01b03808316608052811660a0526200005162000059565b505062000173565b606454610100900460ff1615620000c65760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60645460ff908116101562000119576064805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6001600160a01b03811681146200013157600080fd5b50565b600080604083850312156200014857600080fd5b825162000155816200011b565b602084015190925062000168816200011b565b809150509250929050565b60805160a051615e876200025d600039600081816104ea01528181610a3a01528181610a8701528181610adb01528181610b2901528181610d4e01528181610f42015281816113ad015281816115e8015281816116ce01528181611f6a0152818161230401526126110152600081816107e601528181610aa801528181610afc01528181610b4a01528181610c6301528181610fde0152818161115201528181611338015281816118b1015281816119c401528181611df7015281816121a5015281816123a0015281816125910152818161263201528181612691015261276a0152615e876000f3fe608060405234801561001057600080fd5b50600436106103995760003560e01c80637e0049fd116101e9578063c9bacaad1161010f578063df07ce59116100ad578063f0820c921161007c578063f0820c921461097e578063f7186ce01461098f578063f854a27f146109a2578063fd2a4788146109b557600080fd5b8063df07ce5914610922578063e03e453514610935578063e686440f1461094a578063e83ab3a51461095d57600080fd5b8063d38bfff4116100e9578063d38bfff4146108c8578063d855c631146108db578063d8dc404d146108e3578063ded56d45146108f657600080fd5b8063c9bacaad1461088d578063cc562388146108a0578063d0bcc0e3146108b557600080fd5b8063a04e298011610187578063c09975cd11610156578063c09975cd14610828578063c0c53b8b1461083b578063c7c49c981461084e578063c88e70f41461087a57600080fd5b8063a04e2980146107c6578063b13b55b2146107d9578063b54a2374146107e1578063b5e9ce8b1461080857600080fd5b806388a59590116101c357806388a595901461073a5780638dcbdf4a146107755780639879d19b146107885780639c9de0281461079b57600080fd5b80637e0049fd146106e55780637e33cba6146106f8578063830f9e021461070b57600080fd5b806352902301116102ce5780636c9ecd641161026c578063770124d31161023b578063770124d3146105f2578063789d392a146105fa5780637b14729e146106755780637b35b4e6146106d257600080fd5b80636c9ecd64146105b15780636febd464146105c457806372cc8c6d146105d757806375e0ae5a146105df57600080fd5b8063663032cd116102a8578063663032cd1461057057806368c34948146105835780636a7f7a901461058b5780636b5f2bff1461059e57600080fd5b8063529023011461052f5780635aa6e6751461054a5780635c5b38701461055d57600080fd5b8063227fd44f1161033b5780633682a450116103155780633682a450146104bf57806342d86693146104d25780634cf088d9146104e55780634d99f4731461050c57600080fd5b8063227fd44f146104865780633137676614610499578063343bb927146104ac57600080fd5b8063167f051711610377578063167f0517146104325780631ae879e81461043a5780631c5b07621461044e5780631d35fa631461046157600080fd5b806308aa090b1461039e57806314a85474146103f1578063153622b314610406575b600080fd5b6103a66109c8565b6040516103e89190600060a082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015292915050565b60405180910390f35b6104046103ff366004614e9c565b610a2f565b005b6101065461041a906001600160a01b031681565b6040516001600160a01b0390911681526020016103e8565b610404610ad4565b6101055461041a906001600160a01b031681565b61040461045c366004614ee7565b610b22565b60fc546001600160601b03165b6040516001600160601b0390911681526020016103e8565b610404610494366004614f04565b610b72565b6104046104a7366004614f21565b610bf1565b6104046104ba366004614f5b565b610e79565b6104046104cd366004614ee7565b610edd565b6104046104e0366004614ee7565b610ee8565b61041a7f000000000000000000000000000000000000000000000000000000000000000081565b61051f61051a366004614f5b565b61109d565b60405190151581526020016103e8565b60fd5460fe54604080519283526020830191909152016103e8565b60005461041a906001600160a01b031681565b61040461056b366004614f21565b6110b8565b61040461057e366004614ee7565b6112ef565b61051f611391565b610404610599366004614e9c565b6113a2565b6104046105ac366004614ee7565b6113f7565b6104046105bf366004614f74565b611470565b6104046105d2366004614f74565b6114e2565b61040461154c565b6104046105ed366004614ee7565b6115e1565b61051f61160d565b610653610608366004614f5b565b60408051606080820183526000808352602080840182905292840181905293845260ca8252928290208251938401835280548452600181015491840191909152600201549082015290565b60408051825181526020808401519082015291810151908201526060016103e8565b6106a36065546001600160601b038116916001600160401b03600160601b8304811692600160a01b90041690565b604080516001600160601b0390941684526001600160401b0392831660208501529116908201526060016103e8565b6104046106e0366004614ee7565b611619565b6104046106f3366004614f21565b6116a1565b61046e610706366004614ee7565b6116c5565b61072c610719366004614f5b565b6101046020526000908152604090205481565b6040519081526020016103e8565b60ff5461010054610101546101025461010354604080519586526020860194909452928401919091526060830152608082015260a0016103e8565b610404610783366004614f96565b6116f3565b610404610796366004615015565b6117ab565b6107ae6107a9366004614ee7565b611b64565b6040516001600160401b0390911681526020016103e8565b6104046107d43660046150a3565b611b71565b610404611c23565b61041a7f000000000000000000000000000000000000000000000000000000000000000081565b61081b610816366004614f5b565b611c8a565b6040516103e89190615138565b60325461041a906001600160a01b031681565b61040461084936600461514b565b611c97565b61041a61085c366004614ee7565b6001600160a01b039081166000908152606660205260409020541690565b610404610888366004614f96565b611ecc565b61040461089b366004614e9c565b611f5f565b6108a8611fb4565b6040516103e891906151a1565b6104046108c3366004614ee7565b611fc0565b6104046108d6366004614ee7565b612039565b6104046120cd565b6104046108f13660046151c9565b61210a565b61041a610904366004614ee7565b6001600160a01b039081166000908152606760205260409020541690565b61051f610930366004615244565b61237c565b61093d61256d565b6040516103e891906152eb565b61051f610958366004614ee7565b612608565b61097061096b366004614f21565b612657565b6040516103e89291906152fe565b6065546001600160601b031661046e565b61051f61099d366004614ee7565b61266f565b61046e6109b0366004614ee7565b6126fe565b61046e6109c3366004614ee7565b6127dc565b6109fa6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b506040805160a0810182526099548152609a546020820152609b5491810191909152609c546060820152609d54608082015290565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610a805760405162461bcd60e51b8152600401610a7790615319565b60405180910390fd5b610acf60657f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000868686612803565b505050565b610b2060657f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061296f565b565b610b6f60657f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084612b49565b50565b6000546001600160a01b03163314610b9c5760405162461bcd60e51b8152600401610a779061535b565b60fc80546001600160601b0319166001600160601b0383169081179091556040519081527fe132b87eb6644ee4d4c3c32744f7e1c3906335a2d4f99330767bf573909c7d84906020015b60405180910390a150565b333214610c2a5760405162461bcd60e51b81526020600482015260076024820152664e6f7420454f4160c81b6044820152606401610a77565b600080610c38609784612d28565b604051638871ca5d60e01b815263ffffffff8216600482015291935091506000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690638871ca5d90602401602060405180830381865afa158015610caa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cce9190615392565b6040805160018082528183019092529192506000919060208083019080368337019050506001600160a01b038084166000908152606760205260409020549192501681600081518110610d2357610d236153c5565b6001600160a01b03928316602091820292909201015260fc5460fd546040516383ddba8f60e01b81527f0000000000000000000000000000000000000000000000000000000000000000909316926383ddba8f92610d93926001600160601b0390911691339087906004016153db565b600060405180830381600087803b158015610dad57600080fd5b505af1925050508015610dbe575060015b610e175760fc54604080516001600160601b0390921682526001600160a01b038416602083015285917f14621289a12ab59e0737decc388bba91d929c723defb4682d5d19b9a12ecfecb910160405180910390a2610e68565b60fc54604080516001600160601b0390921682526001600160a01b038416602083015285917f88f76c659db78142f88e94db3ca791869495394c6c1b3d412ced9022dc97c9e3910160405180910390a25b610e726097613091565b5050505050565b610105546001600160a01b03163314610ea45760405162461bcd60e51b8152600401610a779061544e565b610eaf60ca826130e5565b60405181907fa6ae4af610b8ada39d3675190ead27a5552631a8e33f53e4e37dbb082f11a73e90600090a250565b610b6f606582613132565b6001600160a01b038181166000908152606660205260409020541680610f205760405162461bcd60e51b8152600401610a7790615485565b604051632de9480760e01b81526001600160a01b0383811660048301526000917f000000000000000000000000000000000000000000000000000000000000000090911690632de9480790602401606060405180830381865afa158015610f8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610faf91906154af565b50604051637104c0e560e11b81526001600160a01b0385811660048301528281166024830152919350600092507f00000000000000000000000000000000000000000000000000000000000000009091169063e20981ca906044016020604051808303816000875af1158015611029573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061104d91906154f1565b6040516001600160601b03821681529091506001600160a01b038516907f38532b6dea69d7266fa923c7813d190be37625f2454ddfa3d93c45c79482e3fd9060200160405180910390a250505050565b600081815260ca602052604081206001015415155b92915050565b60005a905060006110ca609784613395565b9050600080806110ef60c08701356110e5602089018961550e565b60ca9291906137bc565b925092509250856040516020016111069190615794565b60405160208183030381529060405280519060200120837fbe8f27cef1f3d94120c9c547c3614f5b992fdb0c0a497cc920fde06546291ab460405160405180910390a38351156111de577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663942f68928560fe544261118e91906157bd565b6040518363ffffffff1660e01b81526004016111ab9291906157d0565b600060405180830381600087803b1580156111c557600080fd5b505af11580156111d9573d6000803e3d6000fd5b505050505b6101055460405163547d07a160e11b81526004810185905260248101849052604481018390526001600160a01b039091169063a8fa0f4290606401600060405180830381600087803b15801561123357600080fd5b505af1158015611247573d6000803e3d6000fd5b505050506112556097613837565b603254610100546001600160a01b0390911690637ad226dc905a61127990896157f2565b60ff5461128691906157bd565b61129091906157bd565b6040516001600160e01b031960e084901b1681526004810191909152336024820152604401600060405180830381600087803b1580156112cf57600080fd5b505af11580156112e3573d6000803e3d6000fd5b50505050505050505050565b6000546001600160a01b031633146113195760405162461bcd60e51b8152600401610a779061535b565b604051632a59250560e21b81526001600160a01b0382811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063a9649414906024015b600060405180830381600087803b15801561137d57600080fd5b505af1158015610e72573d6000803e3d6000fd5b600061139d609761389b565b905090565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146113ea5760405162461bcd60e51b8152600401610a7790615319565b610acf60658484846138ec565b6000546001600160a01b031633146114215760405162461bcd60e51b8152600401610a779061535b565b61010680546001600160a01b0319166001600160a01b0383169081179091556040519081527f2b34e21b6daa8fcf8cba1c3ed709cbed2b0231d5fb60e9ccd8c2e75a5674bcb390602001610be6565b6000546001600160a01b0316331461149a5760405162461bcd60e51b8152600401610a779061535b565b60fd82905560fe81905560408051838152602081018390527ff3a6ee10a78fb7d212e87d9be970fb16bd7324e9dc9c38d21cd7ecde781a1d2a91015b60405180910390a15050565b610106546001600160a01b0316331461153d5760405162461bcd60e51b815260206004820152601f60248201527f43616c6c6572206973206e6f74207468652052616e646f6d20426561636f6e006044820152606401610a77565b611548609783613b27565b5050565b610105546001600160a01b031633146115775760405162461bcd60e51b8152600401610a779061544e565b6115816097613bd4565b610106546040516310da3b0360e21b81523060048201526001600160a01b0390911690634368ec0c90602401600060405180830381600087803b1580156115c757600080fd5b505af11580156115db573d6000803e3d6000fd5b50505050565b610b6f60657f000000000000000000000000000000000000000000000000000000000000000083613c9f565b600061139d6097613ee0565b6000546001600160a01b031633146116435760405162461bcd60e51b8152600401610a779061535b565b6040516001600160a01b03821681527f0e2d2343d31b085b7c4e56d1c8a6ec79f7ab07460386f1c9a1756239fe2533ac9060200160405180910390a1603280546001600160a01b0319166001600160a01b0392909216919091179055565b6116ba6116b1602083018361550e565b60ca9190613f1a565b610b6f609782614073565b60006110b260657f000000000000000000000000000000000000000000000000000000000000000084614383565b6000546001600160a01b0316331461171d5760405162461bcd60e51b8152600401610a779061535b565b6117286097866143be565b61173360978561441f565b61173e609784614480565b6117496097836144c1565b611754609782614522565b604080518681526020810186905290810184905260608101839052608081018290527f59ae8ed7b3a7e5f6dde4cff478f0ac0aa652c5edc4f4757b09a778a430b02c569060a0015b60405180910390a15050505050565b60005a8535600081815261010460205260409020549192509085146118025760405162461bcd60e51b815260206004820152600d60248201526c496e76616c6964206e6f6e636560981b6044820152606401610a77565b60008061181060ca846145dc565b9092509050600061182260ca8561462c565b90508686604051602001611837929190615805565b6040516020818303038152906040528051906020012081146118935760405162461bcd60e51b8152602060048201526015602482015274496e76616c69642067726f7570206d656d6265727360581b6044820152606401610a77565b600073__$c28dd63714b1a086d50ecbb702fff9dbb7$__63f4df04be7f00000000000000000000000000000000000000000000000000000000000000008c87876040516020016118ed929190918252602082015260400190565b6040516020818303038152906040528d8d8d6040518763ffffffff1660e01b815260040161192096959493929190615827565b600060405180830381865af415801561193d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611965919081019061595e565b600086815261010460205260408120805492935090611983836159fc565b9091555050604080518a815233602082015286917f326e1ff7c130ed708307116f79cf7dbca649503e7082e5e35a19ceeee1523b39910160405180910390a27f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663942f68928260fe5442611a0091906157bd565b6040518363ffffffff1660e01b8152600401611a1d9291906157d0565b600060405180830381600087803b158015611a3757600080fd5b505af1158015611a4b573d6000803e3d6000fd5b50611a609250505060608b0160408c01615a15565b15611ad35761010554604051631ee74c0960e11b81526004810187905260248101869052604481018590526001600160a01b0390911690633dce981290606401600060405180830381600087803b158015611aba57600080fd5b505af1158015611ace573d6000803e3d6000fd5b505050505b603254610101546001600160a01b0390911690637ad226dc905a611af7908a6157f2565b611b0191906157bd565b6040516001600160e01b031960e084901b1681526004810191909152336024820152604401600060405180830381600087803b158015611b4057600080fd5b505af1158015611b54573d6000803e3d6000fd5b5050505050505050505050505050565b60006110b260658361466e565b6000546001600160a01b03163314611b9b5760405162461bcd60e51b8152600401610a779061535b565b606580546001600160601b0319166001600160601b038516179055611bc1606583614706565b611bcc60658261472e565b604080516001600160601b03851681526001600160401b03848116602083015283168183015290517f544b726e42801bb47073854eeedae851903f66fe32a5bd24e626e10b90027b519181900360600190a1505050565b60005a9050611c326097614756565b603254610102546001600160a01b0390911690637ad226dc905a611c5690856157f2565b611c6091906157bd565b6040516001600160e01b031960e084901b1681526004810191909152336024820152604401611363565b60606110b260ca836147dd565b606454610100900460ff1615808015611cb75750606454600160ff909116105b80611cd15750303b158015611cd1575060645460ff166001145b611d345760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610a77565b6064805460ff191660011790558015611d57576064805461ff0019166101001790555b61010680546001600160a01b038086166001600160a01b0319928316179092556032805492851692909116919091179055611d9133614818565b606580546001600160601b031916690878678326eac9000000179055611dbb6065623b5380614706565b611dc96065623b538061472e565b60fc80546001600160601b0319166815af1d78b58c400000179055606460fd556212750060fe55611e1c60977f000000000000000000000000000000000000000000000000000000000000000086614872565b611e296097612d006143be565b611e366097612d0061441f565b611e43609761c350614480565b611e5060976102186144c1565b611e5c60976014614522565b62046cd060ff55620119406101005562016b4861010155611c52610102556108fc6101035580156115db576064805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150505050565b6000546001600160a01b03163314611ef65760405162461bcd60e51b8152600401610a779061535b565b60ff859055610100849055610101839055610102829055610103819055604080518681526020810186905290810184905260608101839052608081018290527f8a3e64fa6013a36bccca7362e8826b11ba41e57fb60f55309c0ca48904dad0829060a00161179c565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611fa75760405162461bcd60e51b8152600401610a7790615319565b610acf6065848484614967565b600061139d6097614a34565b6000546001600160a01b03163314611fea5760405162461bcd60e51b8152600401610a779061535b565b61010580546001600160a01b0319166001600160a01b0383169081179091556040519081527fa1993af5a189ba5ad4155263c920cfee33ce0593a8eb231a13bb3ce6f39459e390602001610be6565b6000546001600160a01b031633146120635760405162461bcd60e51b8152600401610a779061535b565b6001600160a01b0381166120c45760405162461bcd60e51b815260206004820152602260248201527f4e657720676f7665726e616e636520697320746865207a65726f206164647265604482015261737360f01b6064820152608401610a77565b610b6f81614818565b60005a90506120dc6097614acb565b603254610103546001600160a01b0390911690637ad226dc905a61210090856157f2565b611c6091906157f2565b610105546001600160a01b031633146121355760405162461bcd60e51b8152600401610a779061544e565b600061214260ca8561462c565b90508282604051602001612157929190615805565b60405160208183030381529060405280519060200120811461218b5760405162461bcd60e51b8152600401610a7790615a32565b604051637bfcd47d60e11b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063f7f9a8fa906121dc9087908790600401615805565b600060405180830381865afa1580156121f9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526122219190810190615a74565b90506000836001600160401b0381111561223d5761223d6153af565b604051908082528060200260200182016040528015612266578160200160208202803683370190505b50905060005b82518110156122ec576122b083828151811061228a5761228a6153c5565b60200260200101516001600160a01b039081166000908152606760205260409020541690565b8282815181106122c2576122c26153c5565b6001600160a01b0390921660209283029190910190910152806122e4816159fc565b91505061226c565b506040516383ddba8f60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906383ddba8f9061233f908c908c908c9087906004016153db565b600060405180830381600087803b15801561235957600080fd5b505af115801561236d573d6000803e3d6000fd5b50505050505050505050505050565b604051635a48b46b60e01b81526001600160a01b03838116600483015260009182917f00000000000000000000000000000000000000000000000000000000000000001690635a48b46b90602401602060405180830381865afa1580156123e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061240b9190615b02565b90508063ffffffff166000036124635760405162461bcd60e51b815260206004820152601d60248201527f4e6f74206120736f72746974696f6e20706f6f6c206f70657261746f720000006044820152606401610a77565b600061247060ca8961462c565b90508686604051602001612485929190615805565b6040516020818303038152906040528051906020012081146124b95760405162461bcd60e51b8152600401610a7790615a32565b836001111580156124ca5750858411155b6125225760405162461bcd60e51b815260206004820152602360248201527f57616c6c6574206d656d62657220696e646578206973206f7574206f662072616044820152626e676560e81b6064820152608401610a77565b63ffffffff821687876125366001886157f2565b818110612545576125456153c5565b905060200201602081019061255a9190615b1f565b63ffffffff161498975050505050505050565b60a054604051636c2530b960e01b81526064600482015260248101919091526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636c2530b990604401600060405180830381865afa1580156125e0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261139d919081019061595e565b60006110b260657f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000085614b4a565b60006060612666609784614cbe565b91509150915091565b6040516307b8c36760e51b81526001600160a01b0382811660048301526000917f00000000000000000000000000000000000000000000000000000000000000009091169063f7186ce090602401602060405180830381865afa1580156126da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110b29190615b3c565b600080612723836001600160a01b039081166000908152606660205260409020541690565b90506001600160a01b03811661274b5760405162461bcd60e51b8152600401610a7790615485565b60405163439f18fd60e11b81526001600160a01b0382811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063873e31fa90602401602060405180830381865afa1580156127b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127d591906154f1565b9392505050565b6001600160a01b0381166000908152606860205260408120546001600160601b03166110b2565b6001600160a01b038084166000908152600188016020526040902054168061282b5750612967565b6040516307b8c36760e51b81526001600160a01b03828116600483015286169063f7186ce090602401602060405180830381865afa158015612871573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128959190615b3c565b1561296557846001600160a01b031663a4e2d6346040518163ffffffff1660e01b8152600401602060405180830381865afa1580156128d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128fc9190615b3c565b1561295957604080516001600160601b038086168252841660208201526001600160a01b0380841692908716917f1b09380d63e78fd72c1d79a805a7e2dfadf02b22418e24bebff51376b7df33b0910160405180910390a3612965565b61296587878784612b49565b505b505050505050565b3360008181526002850160205260409020546001600160a01b0316806129a75760405162461bcd60e51b8152600401610a7790615485565b6001600160a01b0381166000908152600386016020526040812080549091906129de908890889086906001600160601b0316614da2565b9050806001600160601b0316600003612a395760405162461bcd60e51b815260206004820152601f60248201527f417574686f72697a6174696f6e2062656c6f7720746865206d696e696d756d006044820152606401610a77565b836001600160a01b0316836001600160a01b03167f5075aaa89894a888eb2cac81a27320c60855febb0cf1706b66bdc754e640d43360405160405180910390a3604051630483483160e31b81526001600160a01b0386169063241a418890612aa79087908590600401615b59565b600060405180830381600087803b158015612ac157600080fd5b505af1158015612ad5573d6000803e3d6000fd5b5050835467fffffffffffffffe19600160601b9091046001600160401b03160191506129659050578654612b1990600160601b90046001600160401b031642615b7b565b82546001600160401b0391909116600160601b0267ffffffffffffffff60601b1990911617825550505050505050565b6001600160a01b0380821660009081526002860160205260409020541680612b835760405162461bcd60e51b8152600401610a7790615485565b6001600160a01b03808216600081815260038801602052604080822090519093861692917f1231fe5ee649a593b524a494cd53146a196380a872115a0d0fe16c0735afdf2691a36040516307b8c36760e51b81526001600160a01b03848116600483015285169063f7186ce090602401602060405180830381865afa158015612c10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c349190615b3c565b15612cbb578054600090612c56908890889086906001600160601b0316614da2565b60405163dc7520c560e01b81529091506001600160a01b0386169063dc7520c590612c879087908590600401615b59565b600060405180830381600087803b158015612ca157600080fd5b505af1158015612cb5573d6000803e3d6000fd5b50505050505b805467fffffffffffffffe19600160601b9091046001600160401b031601612967578554612cf990600160601b90046001600160401b031642615b7b565b81546001600160401b0391909116600160601b0267ffffffffffffffff60601b19909116178155505050505050565b6000806003612d3685614a34565b6003811115612d4757612d4761518b565b14612d945760405162461bcd60e51b815260206004820152601e60248201527f43757272656e74207374617465206973206e6f74204348414c4c454e474500006044820152606401610a77565b6003840154600c850154612da891906157bd565b431115612e035760405162461bcd60e51b815260206004820152602360248201527f4368616c6c656e676520706572696f642068617320616c7265616479207061736044820152621cd95960ea1b6064820152608401610a77565b83600b015483604051602001612e199190615794565b6040516020818303038152906040528051906020012014612ea25760405162461bcd60e51b815260206004820152603a60248201527f526573756c7420756e646572206368616c6c656e67652069732064696666657260448201527f656e74207468616e20746865207375626d6974746564206f6e650000000000006064820152608401610a77565b6001840154600985015460088601546040516373b33d5d60e11b81526001600160a01b039093169263e7667aba92612ede928892600401615ba2565b600060405180830381865afa925050508015612f1c57506040513d6000823e601f3d908101601f19168201604052612f199190810190615bc7565b60015b612f9157336001600160a01b031684600b01547f703feb01415a2995816e8d082fd7aad0eacada1a2f63fdb3226e47f8a0285436604051612f84906020808252601390820152721d985b1a59185d1a5bdb881c995d995c9d1959606a1b604082015260600190565b60405180910390a3613020565b8115612fd75760405162461bcd60e51b8152602060048201526015602482015274756e6a7573746966696564206368616c6c656e676560581b6044820152606401610a77565b336001600160a01b031686600b01547f703feb01415a2995816e8d082fd7aad0eacada1a2f63fdb3226e47f8a0285436836040516130159190615138565b60405180910390a350505b600b840154915061303460a0840184615c70565b613040600186356157f2565b81811061304f5761304f6153c5565b90506020020160208101906130649190615b1f565b905083600801544361307691906157f2565b600a8501556000600b8501819055600c8501555b9250929050565b60048101545a1015610b6f5760405162461bcd60e51b815260206004820152601960248201527f4e6f7420656e6f75676820657874726120676173206c656674000000000000006044820152606401610a77565b6000818152602083905260409020600101546131135760405162461bcd60e51b8152600401610a7790615cb9565b6000908152602091909152604081208181556001810182905560020155565b336001600160a01b0382166131895760405162461bcd60e51b815260206004820181905260248201527f4f70657261746f722063616e206e6f74206265207a65726f20616464726573736044820152606401610a77565b6001600160a01b03818116600090815260018501602052604090205416156132095760405162461bcd60e51b815260206004820152602d60248201527f4f70657261746f7220616c72656164792073657420666f72207468652073746160448201526c35b4b73390383937bb34b232b960991b6064820152608401610a77565b6001600160a01b03828116600090815260028501602052604090205416156132735760405162461bcd60e51b815260206004820152601f60248201527f4f70657261746f72206164647265737320616c726561647920696e20757365006044820152606401610a77565b6001600160a01b038116600090815260038401602052604090208054600160601b90046001600160401b0316156133065760405162461bcd60e51b815260206004820152603160248201527f546865726520697320612070656e64696e6720617574686f72697a6174696f6e60448201527008191958dc99585cd9481c995c5d595cdd607a1b6064820152608401610a77565b826001600160a01b0316826001600160a01b03167fa453db612af59e5521d6ab9284dc3e2d06af286eb1b1b7b771fce4716c19f2c160405160405180910390a3506001600160a01b03908116600081815260018501602090815260408083208054959096166001600160a01b031995861681179096559482526002909501909452919092208054909216179055565b606060036133a284614a34565b60038111156133b3576133b361518b565b146134005760405162461bcd60e51b815260206004820152601e60248201527f43757272656e74207374617465206973206e6f74204348414c4c454e474500006044820152606401610a77565b6003830154600c840154600091613416916157bd565b90508043116134735760405162461bcd60e51b815260206004820152602360248201527f4368616c6c656e676520706572696f6420686173206e6f7420706173736564206044820152621e595d60ea1b6064820152608401610a77565b83600b0154836040516020016134899190615794565b60405160208183030381529060405280519060200120146135125760405162461bcd60e51b815260206004820152603960248201527f526573756c7420756e64657220617070726f76616c206973206469666665726560448201527f6e74207468616e20746865207375626d6974746564206f6e65000000000000006064820152608401610a77565b83546000906001600160a01b0316638871ca5d61353260a0870187615c70565b61353e600189356157f2565b81811061354d5761354d6153c5565b90506020020160208101906135629190615b1f565b6040516001600160e01b031960e084901b16815263ffffffff919091166004820152602401602060405180830381865afa1580156135a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135c89190615392565b9050336001600160a01b03821614806135ee575060068501546135eb90836157bd565b43115b61366c5760405162461bcd60e51b815260206004820152604360248201527f4f6e6c792074686520444b4720726573756c74207375626d697474657220636160448201527f6e20617070726f76652074686520726573756c742061742074686973206d6f6d606482015262195b9d60ea1b608482015260a401610a77565b6136796040850185615c70565b90506001600160401b03811115613692576136926153af565b6040519080825280602002602001820160405280156136bb578160200160208202803683370190505b50925060005b6136ce6040860186615c70565b9050811015613782576136e460a0860186615c70565b60016136f36040890189615c70565b85818110613703576137036153c5565b90506020020160208101906137189190615d09565b6137229190615d24565b60ff16818110613734576137346153c5565b90506020020160208101906137499190615b1f565b84828151811061375b5761375b6153c5565b63ffffffff909216602092830291909101909101528061377a816159fc565b9150506136c1565b50600b8501546040513391907fe6e9d5eba171e82025efb3f3d44fd35905e7283d104284cb9f3bbc5bf1e4276f90600090a3505092915050565b600080600084846040516137d1929190615d3d565b60405190819003902092506137ea602060008688615d4d565b6137f391615d77565b91506138028460208188615d4d565b61380b91615d77565b600084815260209890985260409097209586555060018501819055600290940185905594929392915050565b60006008820181905560098201819055600a8201819055600b8201819055600c820181905581546040805163a69df4b560e01b815290516001600160a01b039092169263a69df4b59260048084019382900301818387803b15801561137d57600080fd5b600060026138a883614a34565b60038111156138b9576138b961518b565b1480156110b257506005820154600a83015460088401546138da91906157bd565b6138e491906157bd565b431192915050565b6001600160601b0381161580613910575083546001600160601b0390811690821610155b61397a5760405162461bcd60e51b815260206004820152603560248201527f417574686f72697a6174696f6e20616d6f756e742073686f756c642062652030604482015274206f722061626f766520746865206d696e696d756d60581b6064820152608401610a77565b6001600160a01b03808416600090815260018601602052604081205490911690816139a65750426139b0565b506001600160401b035b60006139bc8486615d95565b6001600160a01b03871660009081526003890160205260409020805491925090600160601b90046001600160401b03168015801590613a0457506001600160401b0381811614155b15613a97578854613a2590600160a01b90046001600160401b031682615db5565b6001600160401b0316421015613a975760405162461bcd60e51b815260206004820152603160248201527f4e6f7420656e6f7567682074696d65207061737365642073696e636520746865604482015270081bdc9a59da5b985b081c995c5d595cdd607a1b6064820152608401610a77565b81546001600160401b038516600160601b81026001600160a01b03199092166001600160601b0386811691909117929092178455604080518a8416815292891660208401528201526001600160a01b0386811691908a16907f545cbf267cef6fe43f11f6219417ab43a0e8e345adbaae5f626d9bc325e8535a9060600160405180910390a3505050505050505050565b6001613b3283614a34565b6003811115613b4357613b4361518b565b14613b9b5760405162461bcd60e51b815260206004820152602260248201527f43757272656e74207374617465206973206e6f74204157414954494e475f5345604482015261115160f21b6064820152608401610a77565b60405181907fb2ad26c2940889d79df2ee9c758a8aefa00c5ca90eee119af0e5d795df3b98bb90600090a2436008830155600990910155565b6000613bdf82614a34565b6003811115613bf057613bf061518b565b14613c0d5760405162461bcd60e51b8152600401610a7790615dd5565b6040517f5c3ed2397d4d21298b2fb5027ac8e2d42e3c9c72bbb55ddb030e2a36a0cdff6b90600090a1805460408051637c1e845d60e11b815290516001600160a01b039092169163f83d08ba9160048082019260009290919082900301818387803b158015613c7b57600080fd5b505af1158015613c8f573d6000803e3d6000fd5b5050505043816007018190555050565b6001600160a01b038116600090815260038401602052604090208054600160601b90046001600160401b0316613d235760405162461bcd60e51b8152602060048201526024808201527f417574686f72697a6174696f6e206465637265617365206e6f742072657175656044820152631cdd195960e21b6064820152608401610a77565b805467fffffffffffffffe19600160601b9091046001600160401b031601613da25760405162461bcd60e51b815260206004820152602c60248201527f417574686f72697a6174696f6e2064656372656173652072657175657374206e60448201526b1bdd081858dd1a5d985d195960a21b6064820152608401610a77565b8054600160601b90046001600160401b0316421015613e135760405162461bcd60e51b815260206004820152602760248201527f417574686f72697a6174696f6e2064656372656173652064656c6179206e6f74604482015266081c185cdcd95960ca1b6064820152608401610a77565b6040516001600160a01b038316907f50270a522c2fef97b6b7385c2aa4a4518adda681530e0a1fe9f5e840f6f2cd9d90600090a2604051633af0572d60e11b81526001600160a01b0383811660048301528416906375e0ae5a906024016020604051808303816000875af1158015613e8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613eb391906154f1565b50506001600160a01b031660009081526003909201602052506040902080546001600160a01b0319169055565b60006001613eed83614a34565b6003811115613efe57613efe61518b565b1480156110b25750600282015460078301546138e491906157bd565b60408114613f6a5760405162461bcd60e51b815260206004820181905260248201527f496e76616c6964206c656e677468206f6620746865207075626c6963206b65796044820152606401610a77565b60008282604051613f7c929190615d3d565b6040805191829003909120600081815260208790529190912060010154909150156140015760405162461bcd60e51b815260206004820152602f60248201527f57616c6c657420776974682074686520676976656e207075626c6963206b657960448201526e20616c72656164792065786973747360881b6064820152608401610a77565b60006140106020828587615d4d565b61401991615d77565b905080610e725760405162461bcd60e51b815260206004820152602260248201527f57616c6c6574207075626c6963206b6579206d757374206265206e6f6e2d7a65604482015261726f60f01b6064820152608401610a77565b600261407e83614a34565b600381111561408f5761408f61518b565b146140e85760405162461bcd60e51b8152602060048201526024808201527f43757272656e74207374617465206973206e6f74204157414954494e475f524560448201526314d5531560e21b6064820152608401610a77565b6140f18261389b565b1561413e5760405162461bcd60e51b815260206004820152601a60248201527f444b472074696d656f757420616c7265616479207061737365640000000000006044820152606401610a77565b81546040516307b8c36760e51b81523360048201526001600160a01b0390911690819063f7186ce090602401602060405180830381865afa158015614187573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141ab9190615b3c565b6142035760405162461bcd60e51b815260206004820152602360248201527f5375626d6974746572206e6f7420696e2074686520736f72746974696f6e20706044820152621bdbdb60ea1b6064820152608401610a77565b336001600160a01b038216638871ca5d61422060a0860186615c70565b61422c600188356157f2565b81811061423b5761423b6153c5565b90506020020160208101906142509190615b1f565b6040516001600160e01b031960e084901b16815263ffffffff919091166004820152602401602060405180830381865afa158015614292573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906142b69190615392565b6001600160a01b03161461430c5760405162461bcd60e51b815260206004820152601a60248201527f556e6578706563746564207375626d697474657220696e6465780000000000006044820152606401610a77565b8160405160200161431d9190615794565b60408051601f19818403018152908290528051602090910120600b850181905543600c8601556009850154917f8e7fd4293d7db11807147d8890c287fad3396fbb09a4e92273fc7856076c153a90614376908690615794565b60405180910390a3505050565b6001600160a01b03811660009081526003840160205260408120546143b6908590859085906001600160601b0316614da2565b949350505050565b60006143c983614a34565b60038111156143da576143da61518b565b146143f75760405162461bcd60e51b8152600401610a7790615dd5565b600081116144175760405162461bcd60e51b8152600401610a7790615e0c565b600290910155565b600061442a83614a34565b600381111561443b5761443b61518b565b146144585760405162461bcd60e51b8152600401610a7790615dd5565b600081116144785760405162461bcd60e51b8152600401610a7790615e0c565b600390910155565b600061448b83614a34565b600381111561449c5761449c61518b565b146144b95760405162461bcd60e51b8152600401610a7790615dd5565b600490910155565b60006144cc83614a34565b60038111156144dd576144dd61518b565b146144fa5760405162461bcd60e51b8152600401610a7790615dd5565b6000811161451a5760405162461bcd60e51b8152600401610a7790615e0c565b600590910155565b600061452d83614a34565b600381111561453e5761453e61518b565b1461455b5760405162461bcd60e51b8152600401610a7790615dd5565b600582015481106145d45760405162461bcd60e51b815260206004820152603d60248201527f4e65772076616c75652073686f756c64206265206c657373207468616e20726560448201527f73756c74207375626d697373696f6e20706572696f64206c656e6774680000006064820152608401610a77565b600690910155565b600081815260208390526040812060010154819061460c5760405162461bcd60e51b8152600401610a7790615cb9565b505060009081526020919091526040902060018101546002909101549091565b60008181526020839052604081206001015461465a5760405162461bcd60e51b8152600401610a7790615cb9565b506000908152602091909152604090205490565b6001600160a01b03811660009081526003830160205260408120805467fffffffffffffffe19600160601b9091046001600160401b0316016146ba576001600160401b039150506110b2565b805442906001600160401b03600160601b9091048116908216116146fa5781546146f5908290600160601b90046001600160401b0316615db5565b6146fd565b60005b95945050505050565b81546001600160401b03909116600160601b0267ffffffffffffffff60601b19909116179055565b81546001600160401b03909116600160a01b0267ffffffffffffffff60a01b19909116179055565b61475f81613ee0565b6147ab5760405162461bcd60e51b815260206004820152601f60248201527f4177616974696e67207365656420686173206e6f742074696d6564206f7574006044820152606401610a77565b6040517f68c52f05452e81639fa06f379aee3178cddee4725521fff886f244c99e868b5090600090a1610b6f81613837565b60606000806147ec85856145dc565b604080516020810193909352828101919091528051808303820181526060909201905295945050505050565b600080546001600160a01b038381166001600160a01b031983168117909355604080519190921680825260208201939093527f5f56bee8cffbe9a78652a74a60705edede02af10b0bbb888ca44b79a0d42ce8091016114d6565b82546001600160a01b0316156148d55760405162461bcd60e51b815260206004820152602260248201527f536f72746974696f6e20506f6f6c206164647265737320616c72656164792073604482015261195d60f21b6064820152608401610a77565b60018301546001600160a01b03161561493a5760405162461bcd60e51b815260206004820152602160248201527f444b472056616c696461746f72206164647265737320616c72656164792073656044820152601d60fa1b6064820152608401610a77565b82546001600160a01b03199081166001600160a01b03938416178455600190930180549093169116179055565b83546001600160601b0390811690821610156149c55760405162461bcd60e51b815260206004820152601f60248201527f417574686f72697a6174696f6e2062656c6f7720746865206d696e696d756d006044820152606401610a77565b6001600160a01b0383811660008181526001870160209081526040918290205482516001600160601b03888116825287169281019290925282519416938493927f87f9f9f59204f53d57a89a817c6083a17979cd0531791c91e18551a56e3cfdd7928290030190a35050505050565b805460408051632938b58d60e21b815290516000926001600160a01b03169163a4e2d6349160048083019260209291908290030181865afa158015614a7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614aa19190615b3c565b15614ac65750600881015460019015614ac65750600c81015460029015614ac6575060035b919050565b614ad48161389b565b614b185760405162461bcd60e51b81526020600482015260156024820152741112d1c81a185cc81b9bdd081d1a5b5959081bdd5d605a1b6044820152606401610a77565b6040517f2852b3e178dd281713b041c3d90b4815bb55b7ec812931d1e8e8d8bb2ed72d3e90600090a1610b6f81613837565b6001600160a01b03808216600090815260028601602052604081205490911680614b865760405162461bcd60e51b8152600401610a7790615485565b6001600160a01b038116600090815260038701602052604081208054909190614bbd908990899086906001600160601b0316614da2565b6040516307b8c36760e51b81526001600160a01b0387811660048301529192509087169063f7186ce090602401602060405180830381865afa158015614c07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614c2b9190615b3c565b614c43576001600160601b03161592506143b6915050565b6040516304de824f60e41b81526001600160a01b03871690634de824f090614c719088908590600401615b59565b602060405180830381865afa158015614c8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614cb29190615b3c565b98975050505050505050565b600060606000846008015411614d165760405162461bcd60e51b815260206004820152601860248201527f444b4720686173206e6f74206265656e207374617274656400000000000000006044820152606401610a77565b6001840154600985015460088601546040516373b33d5d60e11b81526001600160a01b039093169263e7667aba92614d52928892600401615ba2565b600060405180830381865afa158015614d6f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052614d979190810190615bc7565b915091509250929050565b604051637004922d60e11b81526001600160a01b038381166004830152306024830152600091829186169063e009245a90604401602060405180830381865afa158015614df3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614e1791906154f1565b90506000836001600160601b0316826001600160601b031611614e3b576000614e45565b614e458483615d95565b87549091506001600160601b039081169082161015614e69576000925050506143b6565b91506143b69050565b6001600160a01b0381168114610b6f57600080fd5b6001600160601b0381168114610b6f57600080fd5b600080600060608486031215614eb157600080fd5b8335614ebc81614e72565b92506020840135614ecc81614e87565b91506040840135614edc81614e87565b809150509250925092565b600060208284031215614ef957600080fd5b81356127d581614e72565b600060208284031215614f1657600080fd5b81356127d581614e87565b600060208284031215614f3357600080fd5b81356001600160401b03811115614f4957600080fd5b820160e081850312156127d557600080fd5b600060208284031215614f6d57600080fd5b5035919050565b60008060408385031215614f8757600080fd5b50508035926020909101359150565b600080600080600060a08688031215614fae57600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b60008083601f840112614fe357600080fd5b5081356001600160401b03811115614ffa57600080fd5b6020830191508360208260051b850101111561308a57600080fd5b6000806000806060858703121561502b57600080fd5b84356001600160401b038082111561504257600080fd5b9086019060a0828903121561505657600080fd5b909450602086013593506040860135908082111561507357600080fd5b5061508087828801614fd1565b95989497509550505050565b80356001600160401b0381168114614ac657600080fd5b6000806000606084860312156150b857600080fd5b83356150c381614e87565b92506150d16020850161508c565b91506150df6040850161508c565b90509250925092565b60005b838110156151035781810151838201526020016150eb565b50506000910152565b600081518084526151248160208601602086016150e8565b601f01601f19169290920160200192915050565b6020815260006127d5602083018461510c565b60008060006060848603121561516057600080fd5b833561516b81614e72565b9250602084013561517b81614e72565b91506040840135614edc81614e72565b634e487b7160e01b600052602160045260246000fd5b60208101600483106151c357634e487b7160e01b600052602160045260246000fd5b91905290565b60008060008060008060a087890312156151e257600080fd5b86356151ed81614e87565b955060208701359450604087013561520481614e72565b93506060870135925060808701356001600160401b0381111561522657600080fd5b61523289828a01614fd1565b979a9699509497509295939492505050565b60008060008060006080868803121561525c57600080fd5b8535945060208601356001600160401b0381111561527957600080fd5b61528588828901614fd1565b909550935050604086013561529981614e72565b949793965091946060013592915050565b600081518084526020808501945080840160005b838110156152e057815163ffffffff16875295820195908201906001016152be565b509495945050505050565b6020815260006127d560208301846152aa565b82151581526040602082015260006143b6604083018461510c565b60208082526022908201527f43616c6c6572206973206e6f7420746865207374616b696e6720636f6e74726160408201526118dd60f21b606082015260800190565b6020808252601c908201527f43616c6c6572206973206e6f742074686520676f7665726e616e636500000000604082015260600190565b6000602082840312156153a457600080fd5b81516127d581614e72565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160601b038516815260208082018590526001600160a01b038481166040840152608060608401819052845190840181905260009285810192909160a0860190855b8181101561543e578551841683529484019491840191600101615420565b50909a9950505050505050505050565b6020808252601e908201527f43616c6c6572206973206e6f74207468652057616c6c6574204f776e65720000604082015260600190565b60208082526010908201526f2ab735b737bbb71037b832b930ba37b960811b604082015260600190565b6000806000606084860312156154c457600080fd5b83516154cf81614e72565b60208501519093506154e081614e72565b6040850151909250614edc81614e72565b60006020828403121561550357600080fd5b81516127d581614e87565b6000808335601e1984360301811261552557600080fd5b8301803591506001600160401b0382111561553f57600080fd5b60200191503681900382131561308a57600080fd5b6000808335601e1984360301811261556b57600080fd5b83016020810192503590506001600160401b0381111561558a57600080fd5b80360382131561308a57600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6000808335601e198436030181126155d957600080fd5b83016020810192503590506001600160401b038111156155f857600080fd5b8060051b360382131561308a57600080fd5b803560ff81168114614ac657600080fd5b81835260006001600160fb1b0383111561563457600080fd5b8260051b80836020870137939093016020019392505050565b63ffffffff81168114610b6f57600080fd5b8183526000602080850194508260005b858110156152e05781356156828161564d565b63ffffffff168752958201959082019060010161566f565b80358252600060206156ae81840184615554565b60e0838701526156c260e087018284615599565b9150506156d260408501856155c2565b868303604088015280835290916000919084015b8183101561570e5760ff6156f98561560a565b168152928401926001929092019184016156e6565b61571b6060880188615554565b955093508781036060890152615732818686615599565b94505050505061574560808401846155c2565b858303608087015261575883828461561b565b9250505061576960a08401846155c2565b85830360a087015261577c83828461565f565b9250505060c083013560c08501528091505092915050565b6020815260006127d5602083018461569a565b634e487b7160e01b600052601160045260246000fd5b808201808211156110b2576110b26157a7565b6040815260006157e360408301856152aa565b90508260208301529392505050565b818103818111156110b2576110b26157a7565b6020815260006143b660208301848661565f565b8015158114610b6f57600080fd5b60018060a01b038716815260a06020820152853560a0820152600061584f60208801886155c2565b60a060c08501526158656101408501828461561b565b915050604088013561587681615819565b151560e084015261588a6060890189615554565b609f1980868503016101008701526158a3848385615599565b93506158b260808c018c6155c2565b935091508086850301610120870152506158cd83838361561b565b9250505082810360408401526158e3818861510c565b905085606084015282810360808401526158fe81858761565f565b9998505050505050505050565b604051601f8201601f191681016001600160401b0381118282101715615933576159336153af565b604052919050565b60006001600160401b03821115615954576159546153af565b5060051b60200190565b6000602080838503121561597157600080fd5b82516001600160401b0381111561598757600080fd5b8301601f8101851361599857600080fd5b80516159ab6159a68261593b565b61590b565b81815260059190911b820183019083810190878311156159ca57600080fd5b928401925b828410156159f15783516159e28161564d565b825292840192908401906159cf565b979650505050505050565b600060018201615a0e57615a0e6157a7565b5060010190565b600060208284031215615a2757600080fd5b81356127d581615819565b60208082526022908201527f496e76616c69642077616c6c6574206d656d62657273206964656e7469666965604082015261727360f01b606082015260800190565b60006020808385031215615a8757600080fd5b82516001600160401b03811115615a9d57600080fd5b8301601f81018513615aae57600080fd5b8051615abc6159a68261593b565b81815260059190911b82018301908381019087831115615adb57600080fd5b928401925b828410156159f1578351615af381614e72565b82529284019290840190615ae0565b600060208284031215615b1457600080fd5b81516127d58161564d565b600060208284031215615b3157600080fd5b81356127d58161564d565b600060208284031215615b4e57600080fd5b81516127d581615819565b6001600160a01b039290921682526001600160601b0316602082015260400190565b6001600160401b03818116838216019080821115615b9b57615b9b6157a7565b5092915050565b606081526000615bb5606083018661569a565b60208301949094525060400152919050565b60008060408385031215615bda57600080fd5b8251615be581615819565b60208401519092506001600160401b0380821115615c0257600080fd5b818501915085601f830112615c1657600080fd5b815181811115615c2857615c286153af565b615c3b601f8201601f191660200161590b565b9150808252866020828501011115615c5257600080fd5b615c638160208401602086016150e8565b5080925050509250929050565b6000808335601e19843603018112615c8757600080fd5b8301803591506001600160401b03821115615ca157600080fd5b6020019150600581901b360382131561308a57600080fd5b60208082526030908201527f57616c6c657420776974682074686520676976656e20494420686173206e6f7460408201526f081899595b881c9959da5cdd195c995960821b606082015260800190565b600060208284031215615d1b57600080fd5b6127d58261560a565b60ff82811682821603908111156110b2576110b26157a7565b8183823760009101908152919050565b60008085851115615d5d57600080fd5b83861115615d6a57600080fd5b5050820193919092039150565b803560208310156110b257600019602084900360031b1b1692915050565b6001600160601b03828116828216039080821115615b9b57615b9b6157a7565b6001600160401b03828116828216039080821115615b9b57615b9b6157a7565b60208082526019908201527f43757272656e74207374617465206973206e6f742049444c4500000000000000604082015260600190565b60208082526025908201527f4e65772076616c75652073686f756c642062652067726561746572207468616e604082015264207a65726f60d81b60608201526080019056fea26469706673582212200acc8d3a35eb7f0c278ea02b100d1e16170230c6f24d81b24748e6e288278b6b64736f6c63430008110033";
1932
1932
  var isSuperArgs = function (xs) {
1933
1933
  return (typeof xs[0] === "string" ||
1934
1934
  Array.isArray(xs[0]) ||
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@keep-network/tbtc-v2",
3
- "version": "1.6.0-dev.20+main.d26bbdd5ca05ab6c651a4c7dce0db7e93320ae9f",
3
+ "version": "1.6.0-dev.22+main.e3c317eac68fb33d812b2fb98af99276f9fd3fce",
4
4
  "license": "GPL-3.0-only",
5
5
  "files": [
6
6
  "artifacts/",
@@ -31,7 +31,7 @@
31
31
  },
32
32
  "dependencies": {
33
33
  "@keep-network/bitcoin-spv-sol": "3.4.0-solc-0.8",
34
- "@keep-network/ecdsa": "2.1.0-dev.18",
34
+ "@keep-network/ecdsa": "2.1.0-dev.19",
35
35
  "@keep-network/random-beacon": "2.1.0-dev.18",
36
36
  "@keep-network/tbtc": "1.1.2-dev.1",
37
37
  "@openzeppelin/contracts": "^4.8.1",