From f7bab2a549c18ed99f39e4ef0aab91a9fcf77e08 Mon Sep 17 00:00:00 2001 From: Ihor Farion Date: Wed, 10 Dec 2025 11:03:41 -0800 Subject: [PATCH 1/5] init commit Signed-off-by: Ihor Farion --- .../interfaces/ICoreDepositWallet.sol | 8 ++ contracts/libraries/HyperCoreLib.sol | 86 ++++++++++++++++--- .../mintburn/HyperCoreFlowExecutor.sol | 23 ++--- 3 files changed, 87 insertions(+), 30 deletions(-) diff --git a/contracts/external/interfaces/ICoreDepositWallet.sol b/contracts/external/interfaces/ICoreDepositWallet.sol index b92a4c9e4..5cf1a5ec6 100644 --- a/contracts/external/interfaces/ICoreDepositWallet.sol +++ b/contracts/external/interfaces/ICoreDepositWallet.sol @@ -29,4 +29,12 @@ interface ICoreDepositWallet { * @param destinationDex The destination dex on HyperCore. */ function deposit(uint256 amount, uint32 destinationDex) external; + + /** + * @notice Deposits tokens to credit a specific recipient on Hypercore. + * @param recipient The address receiving the tokens on HyperCore. + * @param amount The amount of tokens being deposited. + * @param destinationDex The destination dex on HyperCore. + */ + function depositFor(address recipient, uint256 amount, uint32 destinationDex) external; } diff --git a/contracts/libraries/HyperCoreLib.sol b/contracts/libraries/HyperCoreLib.sol index 0c5828041..09e399cc1 100644 --- a/contracts/libraries/HyperCoreLib.sol +++ b/contracts/libraries/HyperCoreLib.sol @@ -95,14 +95,69 @@ library HyperCoreLib { (uint256 _amountEVMToSend, uint64 _amountCoreToReceive) = maximumEVMSendAmountToAmounts(amountEVM, decimalDiff); if (_amountEVMToSend != 0) { - transferToCore(erc20EVMAddress, erc20CoreIndex, _amountEVMToSend); - // Transfer the tokens from this contract on HyperCore to the `to` address on HyperCore - transferERC20CoreToCore(erc20CoreIndex, to, _amountCoreToReceive); + if (erc20CoreIndex == USDC_CORE_INDEX) { + IERC20(erc20EVMAddress).forceApprove(USDC_CORE_DEPOSIT_WALLET_ADDRESS, _amountEVMToSend); + ICoreDepositWallet(USDC_CORE_DEPOSIT_WALLET_ADDRESS).depositFor(to, _amountEVMToSend, CORE_SPOT_DEX_ID); + } else { + _transferToCoreViaSystemContract(erc20EVMAddress, erc20CoreIndex, _amountEVMToSend); + // Transfer the tokens from this contract on HyperCore to the `to` address on HyperCore + transferERC20CoreToCore(erc20CoreIndex, to, _amountCoreToReceive); + } } return (_amountEVMToSend, _amountCoreToReceive); } + /** + * @notice Computes the EVM amount required to activate a user account on HyperCore. + * @dev Encapsulates USDC vs non-USDC activation semantics. The returned `coreAmountToBridge` + * should be used for safety checks via `isCoreAmountSafeToBridge`. + * @param accountActivationFeeCore The account activation fee in core token units. + * @param coreIndex The core index of the token. + * @param decimalDiff The decimal difference of evmDecimals - coreDecimals. + * @return evmAmountToSend The amount of EVM tokens to send from HyperEVM. + * @return coreAmountToBridge The corresponding amount on HyperCore that bridging should result in. + */ + function getRequiredEVMSendAmountForActivation( + uint64 accountActivationFeeCore, + uint64 coreIndex, + int8 decimalDiff + ) internal pure returns (uint256 evmAmountToSend, uint64 coreAmountToBridge) { + // - For USDC, we pay the fee by doing a depositFor on Cirlce's CoreDepositWallet + // - For other tokens, we require fee + 1 wei, because we send 1 wei to user's account to activate it + uint64 totalBalanceRequiredToActivate = coreIndex == USDC_CORE_INDEX + ? accountActivationFeeCore + : accountActivationFeeCore + 1; + + (evmAmountToSend, coreAmountToBridge) = minimumCoreReceiveAmountToAmounts( + totalBalanceRequiredToActivate, + decimalDiff + ); + } + + /** + * @notice Activate a user account on HyperCore from HyperEVM. + * @param erc20EVMAddress The address of the ERC20 token on HyperEVM. + * @param erc20CoreIndex The HyperCore index id of the token to transfer. + * @param user The address to activate on HyperCore. + * @param amountEVM The amount to transfer on HyperEVM. + */ + function activateCoreAccountFromEVM( + address erc20EVMAddress, + uint64 erc20CoreIndex, + address user, + uint256 amountEVM + ) internal { + if (erc20CoreIndex == USDC_CORE_INDEX) { + IERC20(erc20EVMAddress).forceApprove(USDC_CORE_DEPOSIT_WALLET_ADDRESS, amountEVM); + ICoreDepositWallet(USDC_CORE_DEPOSIT_WALLET_ADDRESS).depositFor(user, amountEVM, CORE_SPOT_DEX_ID); + } else { + _transferToCoreViaSystemContract(erc20EVMAddress, erc20CoreIndex, amountEVM); + // Transfer 1 wei to user on HyperCore to activate account + transferERC20CoreToCore(erc20CoreIndex, user, 1); + } + } + /** * @notice Bridges `amountEVM` of `erc20` from this address on HyperEVM to this address on HyperCore. * @dev Returns the amount credited on Core in Core units (post conversion). @@ -123,7 +178,12 @@ library HyperCoreLib { (uint256 _amountEVMToSend, uint64 _amountCoreToReceive) = maximumEVMSendAmountToAmounts(amountEVM, decimalDiff); if (_amountEVMToSend != 0) { - transferToCore(erc20EVMAddress, erc20CoreIndex, _amountEVMToSend); + if (erc20CoreIndex == USDC_CORE_INDEX) { + IERC20(erc20EVMAddress).forceApprove(USDC_CORE_DEPOSIT_WALLET_ADDRESS, _amountEVMToSend); + ICoreDepositWallet(USDC_CORE_DEPOSIT_WALLET_ADDRESS).deposit(_amountEVMToSend, CORE_SPOT_DEX_ID); + } else { + _transferToCoreViaSystemContract(erc20EVMAddress, erc20CoreIndex, _amountEVMToSend); + } } return (_amountEVMToSend, _amountCoreToReceive); @@ -143,20 +203,18 @@ library HyperCoreLib { } /** - * @notice Transfers tokens from this contract on HyperEVM to this contract's address on HyperCore + * @notice Transfers tokens from this contract on HyperEVM to this contract's address on HyperCore via the system contract. + * @dev This should only be used for non-USDC tokens. USDC transfers should go through the CoreDepositWallet. * @param erc20EVMAddress The address of the ERC20 token on HyperEVM * @param erc20CoreIndex The HyperCore index id of the token to transfer * @param amountEVMToSend The amount to transfer on HyperEVM */ - function transferToCore(address erc20EVMAddress, uint64 erc20CoreIndex, uint256 amountEVMToSend) internal { - // USDC requires a special transfer to core - if (erc20CoreIndex == USDC_CORE_INDEX) { - IERC20(erc20EVMAddress).forceApprove(USDC_CORE_DEPOSIT_WALLET_ADDRESS, amountEVMToSend); - ICoreDepositWallet(USDC_CORE_DEPOSIT_WALLET_ADDRESS).deposit(amountEVMToSend, CORE_SPOT_DEX_ID); - } else { - // For all other tokens, transfer to the asset bridge address on HyperCore - IERC20(erc20EVMAddress).safeTransfer(toAssetBridgeAddress(erc20CoreIndex), amountEVMToSend); - } + function _transferToCoreViaSystemContract( + address erc20EVMAddress, + uint64 erc20CoreIndex, + uint256 amountEVMToSend + ) internal { + IERC20(erc20EVMAddress).safeTransfer(toAssetBridgeAddress(erc20CoreIndex), amountEVMToSend); } /** diff --git a/contracts/periphery/mintburn/HyperCoreFlowExecutor.sol b/contracts/periphery/mintburn/HyperCoreFlowExecutor.sol index 1b6457836..7de8953f5 100644 --- a/contracts/periphery/mintburn/HyperCoreFlowExecutor.sol +++ b/contracts/periphery/mintburn/HyperCoreFlowExecutor.sol @@ -883,16 +883,16 @@ contract HyperCoreFlowExecutor is AccessControlUpgradeable, AuthorizedFundedFlow require(!coreUserExists, "Can't fund account activation for existing user"); require(coreTokenInfo.canBeUsedForAccountActivation, "Token can't be used for this"); - // +1 wei for a spot send - uint64 totalBalanceRequiredToActivate = coreTokenInfo.accountActivationFeeCore + 1; - (uint256 evmAmountToSend, ) = HyperCoreLib.minimumCoreReceiveAmountToAmounts( - totalBalanceRequiredToActivate, + // Compute the required EVM amount to cover the activation fee and minimal spot send on Core. + (uint256 evmAmountToSend, uint64 coreAmountToBridge) = HyperCoreLib.getRequiredEVMSendAmountForActivation( + coreTokenInfo.accountActivationFeeCore, + coreTokenInfo.coreIndex, coreTokenInfo.tokenInfo.evmExtraWeiDecimals ); bool safeToBridge = HyperCoreLib.isCoreAmountSafeToBridge( coreTokenInfo.coreIndex, - totalBalanceRequiredToActivate, + coreAmountToBridge, coreTokenInfo.bridgeSafetyBufferCore ); require(safeToBridge, "Not safe to bridge"); @@ -900,17 +900,8 @@ contract HyperCoreFlowExecutor is AccessControlUpgradeable, AuthorizedFundedFlow // donationBox @ evm -> Handler @ evm donationBox.withdraw(IERC20(fundingToken), evmAmountToSend); - // Handler @ evm -> Handler @ core - HyperCoreLib.transferERC20EVMToSelfOnCore( - fundingToken, - coreTokenInfo.coreIndex, - evmAmountToSend, - coreTokenInfo.tokenInfo.evmExtraWeiDecimals - ); - // The total balance withdrawn from Handler @ Core for this operation is activationFee + amountSent, so we set - // amountSent to 1 wei to only activate the account - // Handler @ core -> finalRecipient @ core - HyperCoreLib.transferERC20CoreToCore(coreTokenInfo.coreIndex, finalRecipient, 1); + + HyperCoreLib.activateCoreAccountFromEVM(fundingToken, coreTokenInfo.coreIndex, finalRecipient, evmAmountToSend); emit SponsoredAccountActivation(quoteNonce, finalRecipient, fundingToken, evmAmountToSend); } From 7c409dfe8d71a8b126f385d35110c7b0164e2fe3 Mon Sep 17 00:00:00 2001 From: Ihor Farion Date: Wed, 10 Dec 2025 11:34:59 -0800 Subject: [PATCH 2/5] test deployments Signed-off-by: Ihor Farion --- .../999/run-latest.json | 334 ++++++++---------- .../42161/run-latest.json | 50 +-- broadcast/deployed-addresses.json | 24 +- broadcast/deployed-addresses.md | 8 +- script/mintburn/oft/usdt0-preprod.toml | 47 +++ script/mintburn/oft/usdt0.toml | 36 +- 6 files changed, 233 insertions(+), 266 deletions(-) create mode 100644 script/mintburn/oft/usdt0-preprod.toml diff --git a/broadcast/DeployDstHandler.s.sol/999/run-latest.json b/broadcast/DeployDstHandler.s.sol/999/run-latest.json index 3266da869..2e9a5be10 100644 --- a/broadcast/DeployDstHandler.s.sol/999/run-latest.json +++ b/broadcast/DeployDstHandler.s.sol/999/run-latest.json @@ -1,10 +1,10 @@ { "transactions": [ { - "hash": "0xe617eb954e31dc4305f9ddcd9badd2e0e707e4b9c266e16fddaf8e7c23180fde", + "hash": "0x4666b500b70a02f2f8656ad8d74a35fca668cd56e3444371e114999d93c9e68b", "transactionType": "CREATE", "contractName": "DonationBox", - "contractAddress": "0x3d589d40312bf2d20f13cd0af26a11144a9ca844", + "contractAddress": "0x1d7c1398df7c823068e6a120d3921847929d428e", "function": null, "arguments": null, "transaction": { @@ -12,17 +12,17 @@ "gas": "0x4fb31", "value": "0x0", "input": "0x608080604052346059575f8054336001600160a01b0319821681178355916001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a3610320908161005e8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c908163715018a6146102265781638da5cb5b1461020457508063f2fde38b146101845763f3fef3a314610048575f80fd5b3461013c57604036600319011261013c576004356001600160a01b03811680910361013c5761007561028a565b6040515f806020830163a9059cbb60e01b81523360248501526024356044850152604484526100a560648561029d565b604051936100b460408661029d565b602085527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65646020860152519082865af13d15610177573d9067ffffffffffffffff821161016357604051610126949092610118601f8201601f19166020018561029d565b83523d5f602085013e6102bf565b8051908115918215610140575b50501561013c57005b5f80fd5b819250906020918101031261013c5760200151801515810361013c575f80610133565b634e487b7160e01b5f52604160045260245ffd5b91610126926060916102bf565b3461013c57602036600319011261013c576004356001600160a01b03811680910361013c576101b161028a565b801561013c576001600160a01b035f548273ffffffffffffffffffffffffffffffffffffffff198216175f55167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3005b3461013c575f36600319011261013c576020906001600160a01b035f54168152f35b3461013c575f36600319011261013c5761023e61028a565b5f6001600160a01b03815473ffffffffffffffffffffffffffffffffffffffff1981168355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b6001600160a01b035f5416330361013c57565b90601f8019910116810190811067ffffffffffffffff82111761016357604052565b919250156102db578151156102d2575090565b3b1561013c5790565b50805190811561013c57602001fdfea26469706673582212201599abe8d67ef129ea7b740727c3050bd5ff3fc0efd05707667feeec0709c1f864736f6c634300081e0033", - "nonce": "0x2b4", + "nonce": "0x3cd", "chainId": "0x3e7" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0xc0b5e25643a971a281b9a142a4b146f7833b336a36c68f446bb4e63495e3eeb7", + "hash": "0xa6be6f9659a1d4d03fb280a87a7fa9e556b8d98c04d224e5c97bd5f3877c0cd1", "transactionType": "CREATE", "contractName": "PermissionedMulticallHandler", - "contractAddress": "0xfd0876712dd9003d014cdcd8e5140b4efac9bfcc", + "contractAddress": "0x2b20df3471e2751840a9c921696d62ea8bc4a391", "function": null, "arguments": ["0x9A8f92a830A5cB89a3816e3D267CB7791c16b04D"], "transaction": { @@ -30,117 +30,98 @@ "gas": "0x14f621", "value": "0x0", "input": "0x6080346100d957601f61124c38819003918201601f19168301916001600160401b038311848410176100dd578084926020946040528339810103126100d957516001600160a01b038116908190036100d95760015f9081558181525f51602061122c5f395f51905f52602052604090205460ff1615610088575b60405161113a90816100f28239f35b5f8181525f51602061122c5f395f51905f5260205260408120805460ff191660011790553391907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a45f610079565b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe608080604052600436101561001c575b50361561001a575f80fd5b005b5f3560e01c90816301ffc9a7146107f357508063248a9ca3146107c05780632f2ff15d1461070457806336568abe146106cf5780633a5be8cb146105815780635f6ee30c1461054757806391d14854146104fd578063a217fddf146104e3578063a58d50d314610319578063c41e829514610130578063d547741f146100ed5763ef8738d3146100ac575f61000f565b346100e95760403660031901126100e9576100c561085c565b6024356001600160a01b03811681036100e95761001a916100e4610dda565b610df2565b5f80fd5b346100e95760403660031901126100e95761001a60043561010c610846565b9061012b610126825f526001602052600160405f20015490565b610a63565b610aab565b346100e95760803660031901126100e95761014961085c565b60243567ffffffffffffffff81116100e9576101699036906004016108f6565b906064359067ffffffffffffffff82116100e957366023830112156100e957816004013567ffffffffffffffff81116100e9576024830192602436918360061b0101116100e9576101b8610dda565b604435925f5b82811061020d57855f80878784519160208601915af16101dc610a10565b50156101e457005b60405163b3beda7360e01b815260206004820152908190610209906024830190610954565b0390fd5b6001600160a01b03610228610223838686610a3f565b610a4f565b161561031057602460206001600160a01b03610248610223858888610a3f565b16604051928380926370a0823160e01b82523060048301525afa908115610305575f916102d4575b505b602061027f838686610a3f565b0135602081018082116102c05788518082116102ab5750508701602001805190911790526001016101be565b634d3ae48d60e01b5f5260045260245260445ffd5b634e487b7160e01b5f52601160045260245ffd5b90506020813d82116102fd575b816102ee602093836108b8565b810103126100e9575187610270565b3d91506102e1565b6040513d5f823e3d90fd5b47945084610272565b346100e95760203660031901126100e95760043567ffffffffffffffff81116100e957366023820112156100e95780600401356103558161093c565b9161036360405193846108b8565b8183526024602084019260051b820101903682116100e95760248101925b82841061045c5784610391610dda565b80515f5b81811061039e57005b82518110156104485760208160051b840101516020810190815151151580610435575b610419575f918160406001600160a01b0385945116910151915191602083519301915af16103ed610a10565b50156103fb57600101610395565b6040516303918b1160e61b81529283925061020991600484016109f6565b60405163388ddcc360e21b8152806102098786600484016109f6565b506001600160a01b038151163b156103c1565b634e487b7160e01b5f52603260045260245ffd5b833567ffffffffffffffff81116100e9578201606060231982360301126100e9576040519161048a83610888565b60248201356001600160a01b03811681036100e957835260448201359267ffffffffffffffff84116100e9576064602094936104cd8695602436918401016108f6565b8584015201356040820152815201930192610381565b346100e9575f3660031901126100e95760206040515f8152f35b346100e95760403660031901126100e957610516610846565b6004355f5260016020526001600160a01b0360405f2091165f52602052602060ff60405f2054166040519015158152f35b346100e9575f3660031901126100e95760206040517f69048ea73402a715065a3029b4059a4e97d1461c95fa4fabca1084b5f34f4abe8152f35b346100e95760803660031901126100e95761059a61085c565b6105a2610872565b5060643567ffffffffffffffff81116100e9576105c39036906004016108f6565b335f9081527ff9f8a8d829de1c11fdd691724f182d954bcae2d8f44e7aab584f413f377402bd602052604090205460ff16156106155760025f54146100e95761060f9160025f55610b43565b60015f55005b6100e96020601161062533610f95565b6037836106517f69048ea73402a715065a3029b4059a4e97d1461c95fa4fabca1084b5f34f4abe611037565b6040519586947f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000828701528051918291018587015e8401907f206973206d697373696e6720726f6c652000000000000000000000000000000084830152805192839101604883015e01015f83820152030190601f19820181526108b8565b346100e95760403660031901126100e9576106e8610846565b336001600160a01b038216036100e95761001a90600435610aab565b346100e95760403660031901126100e957600435610720610846565b9061073a610126825f526001602052600160405f20015490565b805f52600160205260405f206001600160a01b0383165f5260205260ff60405f2054161561076457005b805f52600160205260405f206001600160a01b0383165f5260205260405f20600160ff198254161790556001600160a01b03339216907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4005b346100e95760203660031901126100e95760206107eb6004355f526001602052600160405f20015490565b604051908152f35b346100e95760203660031901126100e9576004359063ffffffff60e01b82168092036100e957602091637965db0b60e01b8114908115610835575b5015158152f35b6301ffc9a760e01b1490508361082e565b602435906001600160a01b03821682036100e957565b600435906001600160a01b03821682036100e957565b604435906001600160a01b03821682036100e957565b6060810190811067ffffffffffffffff8211176108a457604052565b634e487b7160e01b5f52604160045260245ffd5b90601f8019910116810190811067ffffffffffffffff8211176108a457604052565b67ffffffffffffffff81116108a457601f01601f191660200190565b81601f820112156100e95780359061090d826108da565b9261091b60405194856108b8565b828452602083830101116100e957815f926020809301838601378301015290565b67ffffffffffffffff81116108a45760051b60200190565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b9080602083519182815201916020808360051b8301019401925f915b8383106109a357505050505090565b9091929394602080600192601f198582030186528851906001600160a01b0382511681526040806109e1858501516060878601526060850190610954565b93015191015297019301930191939290610994565b604090610a0d939281528160208201520190610978565b90565b3d15610a3a573d90610a21826108da565b91610a2f60405193846108b8565b82523d5f602084013e565b606090565b91908110156104485760061b0190565b356001600160a01b03811681036100e95790565b805f52600160205260405f206001600160a01b0333165f5260205260ff60405f20541615610a8e5750565b602060116100e992603783610651610aa533610f95565b93611037565b805f52600160205260405f206001600160a01b0383165f5260205260ff60405f205416610ad6575050565b805f52600160205260405f206001600160a01b0383165f5260205260405f2060ff1981541690556001600160a01b03339216907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4565b51906001600160a01b03821682036100e957565b815182019160208301905f906020818603126100e95760208101519067ffffffffffffffff82116100e957016040818603126100e957604051926040840184811067ffffffffffffffff8211176108a457604052602082015167ffffffffffffffff81116100e95760209083010181601f820112156100e957805196610bc88861093c565b97610bd6604051998a6108b8565b8089526020808a019160051b840101928484116100e95760208101915b848310610d27575050505050506040610c0f9186855201610b2f565b936001600160a01b0360208401958087521615610cd75750928184610c8e956001600160a01b039451604051610c7081610c62602082019463a58d50d360e01b8652602060248401526044830190610978565b03601f1981018352826108b8565b519082305af1610c7e610a10565b5015610c90575b50511690610df2565b565b517f5296f22c5d0413b66d0bf45c479c4e2ca5b278634bdbd028b48e49502105f966610cce8484511692604051918291602083526020830190610978565b0390a25f610c85565b9350505050303b156100e9575f610d0a916040518093819263a58d50d360e01b8352602060048401526024830190610978565b038183305af1801561030557610d1d5750565b5f610c8e916108b8565b825167ffffffffffffffff81116100e9578201906060828603126100e95760405190610d5282610888565b610d5e60208401610b2f565b8252604083015167ffffffffffffffff81116100e9576020908401019188601f840112156100e957825192610d92846108da565b94610da060405196876108b8565b8486528a602086840101116100e9576020955f8787819882606097018386015e830101528584015201516040820152815201920191610bf3565b303303610de357565b6314e1dbf760e11b5f5260045ffd5b6001600160a01b03168015610f50576040516370a0823160e01b815230600482015291602083602481855afa928315610305575f93610f1c575b5082610e3757505050565b6001600160a01b0316610ebf6040515f806020830163a9059cbb60e01b815285602485015287604485015260448452610e716064856108b8565b60405193610e806040866108b8565b602085527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65646020860152519082885af1610eb8610a10565b90856110d9565b8051908115918215610ef9575b5050156100e9577f74d3741ef03417659087d2ec6af11dade8713f9b7f592569d60cf1ea0c9a44555f80a4565b81925090602091810103126100e9576020015180151581036100e9575f80610ecc565b9092506020813d602011610f48575b81610f38602093836108b8565b810103126100e95751915f610e2c565b3d9150610f2b565b50479081610f5c575050565b8147106100e9575f8080936001600160a01b038294165af1610f7c610a10565b50156100e957565b908151811015610448570160200190565b610f9f602a6108da565b90610fad60405192836108b8565b602a8252610fbb602a6108da565b6020830190601f19013682378251156104485760309053815160011015610448576078602183015360295b60018111610ff657506100e95790565b90600f81166010811015610448576f181899199a1a9b1b9c1cb0b131b232b360811b901a6110248385610f84565b5360041c9080156102c0575f1901610fe6565b61104160426108da565b9061104f60405192836108b8565b6042825261105d60426108da565b6020830190601f19013682378251156104485760309053815160011015610448576078602183015360415b6001811161109857506100e95790565b90600f81166010811015610448576f181899199a1a9b1b9c1cb0b131b232b360811b901a6110c68385610f84565b5360041c9080156102c0575f1901611088565b919250156110f5578151156110ec575090565b3b156100e95790565b5080519081156100e957602001fdfea26469706673582212208aff35c747ff7e5f0938409a2e1c217c6c19f84345daaafb3ceae43d8a26a8f964736f6c634300081e0033a6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb490000000000000000000000009a8f92a830a5cb89a3816e3d267cb7791c16b04d", - "nonce": "0x2b5", + "nonce": "0x3ce", "chainId": "0x3e7" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x7ce545552d4a517bc380951ec35bd5eb86f84e0364a7ac9417aba605b8bf6309", + "hash": "0x0a784217cbe3ea1f5a707cd0c97ba1468341d523c9f500899313754f91d5e1e9", "transactionType": "CREATE", "contractName": "DstOFTHandler", - "contractAddress": "0xc8786d517b4e224bb43985a38dbef8588d7354cd", + "contractAddress": "0xdfa6ec7a77f90d9762459069edd1ea78b853c67c", "function": null, "arguments": [ "0x3A73033C0b1407574C76BdBAc67f126f6b4a9AA9", "0x904861a24F30EC96ea7CFC3bE9EA4B476d237e98", - "0x3D589D40312Bf2d20f13cD0AF26A11144a9cA844", + "0x1d7c1398dF7C823068E6a120d3921847929d428e", "0xB8CE59FC3717ada4C02eaDF9682A9e934F625ebb", - "0xfD0876712DD9003D014CDCd8e5140B4EFAC9BFCC" + "0x2b20df3471E2751840a9C921696d62eA8Bc4a391" ], "transaction": { "from": "0x9a8f92a830a5cb89a3816e3d267cb7791c16b04d", - "gas": "0x85a480", + "gas": "0x869d2d", "value": "0x0", - "input": "0x61012080604052346102e05760a081617c1f80380380916100208285610354565b8339810103126102e05761003381610377565b61003f60208301610377565b9161004c60408201610377565b90610065608061005e60608401610377565b9201610377565b60015f55604051615ba080820194906001600160401b038611838710176103405761201f83396001600160a01b03908116855283166020850181905293819003604001905ff080156102ec576001600160a01b03166080527f5300fde95a5e446527bf6aa7c91bd6661bef5398afc77061d9bc87efb80b7ef65f8181525f516020617bff5f395f51905f526020527fcf7720576cdb70176b3017d893bcb89ba0f36ed0261d4350fd0180e938b3bace80549082905590915f516020617bbf5f395f51905f528380a47f880a9ba888678c7fe4e8c4f028c224f26ce12a3bed6e96025c61ef8a5db6312f5f8181525f516020617bff5f395f51905f526020527f176c3a4e1b4d1d61213187c0dde7f83e2e2c933a339cb5403b4090bc2f0aa49b80549082905590915f516020617bbf5f395f51905f528380a460a05261010052604051637e062a3560e11b81526001600160a01b0384169190602081600481865afa9081156102ec575f91610306575b506001600160a01b0316036102f75760049260209260c05260e05260405192838092635e280f1160e01b82525afa9081156102ec575f916102a6575b5060c0516001600160a01b039081169116036102975761022f3361038b565b50604051611c0a9081610415823960805181818161022c0152611049015260a051818181610581015281816111bf01526119f4015260c05181818161026f0152610d6d015260e0518181816101e90152610d3c01526101005181818161063d01526108a10152f35b6312354ac760e21b5f5260045ffd5b90506020813d6020116102e4575b816102c160209383610354565b810103126102e057516001600160a01b03811681036102e0575f610210565b5f80fd5b3d91506102b4565b6040513d5f823e3d90fd5b633722464560e11b5f5260045ffd5b90506020813d602011610338575b8161032160209383610354565b810103126102e05761033290610377565b5f6101d4565b3d9150610314565b634e487b7160e01b5f52604160045260245ffd5b601f909101601f19168101906001600160401b0382119082101761034057604052565b51906001600160a01b03821682036102e057565b6001600160a01b0381165f9081525f516020617bdf5f395f51905f52602052604090205460ff1661040f576001600160a01b03165f8181525f516020617bdf5f395f51905f5260205260408120805460ff191660011790553391907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b505f9056fe60806040526004361015610030575b361561002e573461002a5761002236610afb565b602081519101f35b5f80fd5b005b5f3560e01c806301ffc9a71461016a57806305b513bf1461016557806309cfd675146101605780630b2969841461015b57806318f794991461015657806321081d3c14610151578063248a9ca31461014c5780632f2ff15d1461014757806336568abe14610142578063490e662f1461013d5780634b3b029b1461013857806352e12a1414610133578063657cad8a1461012e5780638e35e4451461012457806391d1485414610129578063a217fddf14610124578063c55dae631461011f578063d0a102601461011a578063d547741f146101155763feb617240361000e576109bb565b61096e565b61068f565b61061e565b6105a5565b6105bf565b610562565b610486565b61044c565b610412565b6103ca565b610378565b610328565b6102ee565b610293565b610250565b61020d565b6101ca565b3461002a57602036600319011261002a5760043563ffffffff60e01b811680910361002a57602090637965db0b60e01b81149081156101af575b506040519015158152f35b6301ffc9a760e01b1490505f6101a4565b5f91031261002a57565b3461002a575f36600319011261002a5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461002a575f36600319011261002a5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461002a575f36600319011261002a5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461002a57602036600319011261002a5760043567ffffffffffffffff811680910361002a575f527fe61a4c968926ec08fb0c5bf5be95077bf8b3ddd75ead66c94187ce8d5509de00602052602060405f2054604051908152f35b3461002a575f36600319011261002a5760206040517f880a9ba888678c7fe4e8c4f028c224f26ce12a3bed6e96025c61ef8a5db6312f8152f35b3461002a57602036600319011261002a57602061035f6004355f525f516020611bb55f395f51905f52602052600160405f20015490565b604051908152f35b6001600160a01b0381160361002a57565b3461002a57604036600319011261002a5761002e60243560043561039b82610367565b6103c56103c0825f525f516020611bb55f395f51905f52602052600160405f20015490565b610b6b565b610bbf565b3461002a57604036600319011261002a576004356024356103ea81610367565b336001600160a01b038216036104035761002e91610c71565b63334bd91960e11b5f5260045ffd5b3461002a575f36600319011261002a5760206040517fc56a3250645180a53cd9e196b2ee0a634a4f54e2edf59ea457f2083917e4d1008152f35b3461002a575f36600319011261002a5760206040517f5300fde95a5e446527bf6aa7c91bd6661bef5398afc77061d9bc87efb80b7ef68152f35b3461002a57604036600319011261002a5760043563ffffffff811680910361002a576024356104b3610d22565b335f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d602052604090205460ff161561054b57816040917ff3adc8db618887d7b76838e244efb05fc99475bb5a904a914d939fbdc41b7e8d935f527fe61a4c968926ec08fb0c5bf5be95077bf8b3ddd75ead66c94187ce8d5509de0060205280835f205582519182526020820152a160015f55005b63e2517d3f60e01b5f52336004525f60245260445ffd5b3461002a575f36600319011261002a5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461002a575f36600319011261002a5760206040515f8152f35b3461002a57604036600319011261002a57602060ff6106126024356004356105e682610367565b5f525f516020611bb55f395f51905f52845260405f20906001600160a01b03165f5260205260405f2090565b54166040519015158152f35b3461002a575f36600319011261002a5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b9181601f8401121561002a5782359167ffffffffffffffff831161002a576020838186019501011161002a57565b60a036600319011261002a576004356106a781610367565b60443567ffffffffffffffff811161002a576106c7903690600401610661565b916106d3606435610367565b6084359067ffffffffffffffff821161002a578284916106fa61072d943690600401610661565b5050610704610d22565b60017fc56a3250645180a53cd9e196b2ee0a634a4f54e2edf59ea457f2083917e4d10055610d31565b6107378282610ebc565b9061074d610749836101209051101590565b1590565b6109605761075a82611535565b9261079661078f855f527fe61a4c968926ec08fb0c5bf5be95077bf8b3ddd75ead66c94187ce8d5509de0160205260405f2090565b5460ff1690565b610952576107e4916107df6107d2865f527fe61a4c968926ec08fb0c5bf5be95077bf8b3ddd75ead66c94187ce8d5509de0160205260405f2090565b805460ff19166001179055565b610ef7565b9160ff6107f083611554565b926107fa81611564565b9361086261080f61080a84611574565b610f0d565b61085261081e61080a86611584565b9161083161082b87610fd3565b96610ff1565b9761083a610a60565b9a8b5260208b01526001600160a01b031660408a0152565b6001600160a01b03166060880152565b60808601525f60a086015216916001831480938115610947575b501561090557506108d992916108d491610894610a71565b9384526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166020850152604084015215156060830152565b6110d8565b5f7fc56a3250645180a53cd9e196b2ee0a634a4f54e2edf59ea457f2083917e4d1005561002e60015f55565b91505061093c6109419261092e60405193849263073ffe1360e31b602085015260248401610a9e565b03601f198101835282610a3e565b61103e565b506108d9565b60029150145f61087c565b623f613760e71b5f5260045ffd5b62dae46b60e61b5f5260045ffd5b3461002a57604036600319011261002a5761002e60243560043561099182610367565b6109b66103c0825f525f516020611bb55f395f51905f52602052600160405f20015490565b610c71565b3461002a57602036600319011261002a576004355f527fe61a4c968926ec08fb0c5bf5be95077bf8b3ddd75ead66c94187ce8d5509de01602052602060ff60405f2054166040519015158152f35b634e487b7160e01b5f52604160045260245ffd5b6040810190811067ffffffffffffffff821117610a3957604052565b610a09565b90601f8019910116810190811067ffffffffffffffff821117610a3957604052565b60405190610a6f60c083610a3e565b565b60405190610a6f608083610a3e565b60405190610a6f606083610a3e565b60405190610a6f604083610a3e565b60c09093929193610af78160e081019660a0809180518452602081015160208501526001600160a01b0360408201511660408501526001600160a01b036060820151166060850152608081015160808501520151910152565b0152565b61093c610b1291610b0a610d22565b36905f610b35565b9060015f55565b67ffffffffffffffff8111610a3957601f01601f191660200190565b929192610b4182610b19565b91610b4f6040519384610a3e565b82948184528183011161002a578281602093845f960137010152565b805f525f516020611bb55f395f51905f5260205260ff610b9f3360405f20906001600160a01b03165f5260205260405f2090565b541615610ba95750565b63e2517d3f60e01b5f523360045260245260445ffd5b805f525f516020611bb55f395f51905f5260205260ff610bf38360405f20906001600160a01b03165f5260205260405f2090565b5416610c6b57805f525f516020611bb55f395f51905f52602052610c2b8260405f20906001600160a01b03165f5260205260405f2090565b805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b50505f90565b805f525f516020611bb55f395f51905f5260205260ff610ca58360405f20906001600160a01b03165f5260205260405f2090565b541615610c6b57805f525f516020611bb55f395f51905f52602052610cde8260405f20906001600160a01b03165f5260205260405f2090565b805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b1561002a57565b60025f541461002a5760025f55565b6001600160a01b03807f000000000000000000000000000000000000000000000000000000000000000016911603610e9c576001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163303610e8d57610d9d8282610eab565b7fffffffff0000000000000000000000000000000000000000000000000000000091359182169160048210610e55575b505060e01c91610e0a8363ffffffff165f527fe61a4c968926ec08fb0c5bf5be95077bf8b3ddd75ead66c94187ce8d5509de0060205260405f2090565b54918215610e3c5790610e1c91611758565b03610e245750565b635f45fa3b60e11b5f5263ffffffff1660045260245ffd5b634f1c97f160e11b5f5263ffffffff841660045260245ffd5b7fffffffff0000000000000000000000000000000000000000000000000000000060049290920360031b82901b161690505f80610dcd565b63088b800b60e41b5f5260045ffd5b630919067560e41b5f5260045ffd5b90600c1161002a5760080190600490565b9080604c1161002a57610ed8913691604b190190604c01610b35565b90565b359060208110610ee9575090565b5f199060200360031b1b1690565b90602c1161002a576020600c610ed89201610edb565b8060a01c610f21576001600160a01b031690565b6379ec0ed760e11b5f5260045ffd5b81601f8201121561002a57805190610f4782610b19565b92610f556040519485610a3e565b8284526020838301011161002a57815f9260208093018386015e8301015290565b9190916101008184031261002a5780519260208201519260408301519260608101519260808201519260a08301519260c081015160ff8116810361002a579260e082015167ffffffffffffffff811161002a57610ed89201610f30565b610fe69060208082518301019101610f76565b509550505050505090565b6110049060208082518301019101610f76565b965050505050505090565b3d15611039573d9061102082610b19565b9161102e6040519384610a3e565b82523d5f602084013e565b606090565b5f80916020815191017f00000000000000000000000000000000000000000000000000000000000000005af461107261100f565b901561107b5790565b602081519101fd5b610a6f9092919260c081019360a0809180518452602081015160208501526001600160a01b0360408201511660408501526001600160a01b036060820151166060850152608081015160808501520151910152565b6110e0611594565b506110f86040820151602080825183010191016115ed565b906020810161112061111461111483516001600160a01b031690565b6001600160a01b031690565b6040516370a0823160e01b815230600482015290602090829060249082905afa908115611481575f916114e2575b5061116a6111146111146060865101516001600160a01b031690565b6040516370a0823160e01b81523060048201529490602090869060249082905afa948515611481575f956114c1575b506001600160a01b036112016111b961111486516001600160a01b031690565b926111e97f000000000000000000000000000000000000000000000000000000000000000094858951519161176e565b8651606001513091906001600160a01b031690611978565b911661121484516001600160a01b031690565b9185515191803b1561002a57611246935f809460405196879586948593633a5be8cb60e01b855230916004860161170f565b03925af18015611481576114a7575b5061126d61111461111484516001600160a01b031690565b6040516370a0823160e01b81523060048201529190602090839060249082905afa918215611481575f92611486575b50036113e1576113a092506112ce6112bb82516001600160a01b031690565b6060845101906001600160a01b03169052565b815151905b6112e682845160a0815191015190611aea565b60a084510152818351528251907fb88fc27be67e678ffb77faf8f8bb00d39b66b4845e4f7ec1e623b0f15abd52136001600160a01b03611332602085015193516001600160a01b031690565b9461136b61134c606087519701516001600160a01b031690565b9183604051948594169816968360209093929193604081019481520152565b0390a480516060820151156113a3575051604051632132ff4360e11b60208201529061093c90829061092e9060248301611083565b50565b6040517fff3eae00000000000000000000000000000000000000000000000000000000006020820152915061093c90829061092e9060248301611083565b6113fd61111461111460608551016001600160a01b0390511690565b6040516370a0823160e01b81523060048201529390602090859060249082905afa908115611481576113a0945f92611450575b50808210611447576114419161174b565b906112d3565b50505f906112d3565b61147391925060203d60201161147a575b61146b8183610a3e565b8101906116d1565b905f611430565b503d611461565b6116e0565b6114a091925060203d60201161147a5761146b8183610a3e565b905f61129c565b806114b55f6114bb93610a3e565b806101c0565b5f611255565b6114db91955060203d60201161147a5761146b8183610a3e565b935f611199565b6114fb915060203d60201161147a5761146b8183610a3e565b5f61114e565b634e487b7160e01b5f52601160045260245ffd5b906001820180921161152357565b611501565b9190820180921161152357565b6020815110611545576020015190565b632d0483c560e21b5f5260045ffd5b6060815110611545576060015190565b6080815110611545576080015190565b60a08151106115455760a0015190565b60c08151106115455760c0015190565b6040519060c0820182811067ffffffffffffffff821117610a39576040525f60a0838281528260208201528260408201528260608201528260808201520152565b67ffffffffffffffff8111610a395760051b60200190565b60208183031261002a5780519067ffffffffffffffff821161002a57019080601f8301121561002a57815191611622836115d5565b926116306040519485610a3e565b80845260208085019160051b8301019183831161002a5760208101915b83831061165c57505050505090565b825167ffffffffffffffff811161002a578201906040828703601f19011261002a576040519061168b82610a1d565b602083015161169981610367565b825260408301519167ffffffffffffffff831161002a576116c288602080969581960101610f30565b8382015281520192019161164d565b9081602091031261002a575190565b6040513d5f823e3d90fd5b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b90610ed894936080936001600160a01b038093168452602084015216604082015281606082015201906116eb565b5f1981019190821161152357565b9190820391821161152357565b90604c1161002a576020602c610ed89201610edb565b905f806001600160a01b036117fb95946040519582602088019663a9059cbb60e01b88521660248801526044870152604486526117ac606487610a3e565b1692604051946117bd604087610a3e565b602086527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65646020870152519082855af16117f561100f565b91611b89565b80518015908115611812575b50610a6f9150610d1b565b6020915082908101031261002a5760200151801515810361002a57610a6f905f611807565b90611841826115d5565b61184e6040519182610a3e565b828152809261185f601f19916115d5565b015f5b81811061186e57505050565b60405190606082019180831067ffffffffffffffff841117610a39576020926040525f81526060838201525f604082015282828601015201611862565b80518210156118bf5760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b6020815260608101918051926040602084015283518091526080830190602060808260051b8601019501915f905b82821061192757505050509060406020610ed89301519101906001600160a01b03169052565b90919295602080600192607f198982030185528951906001600160a01b0382511681526040806119648585015160608786015260608501906116eb565b930151910152980192019201909291611901565b9291835161198d61198882611515565b611837565b925f5b828110611a5e575060405163ef8738d360e01b60208201526001600160a01b039182166024820152908316604482015293945061092e93610ed89392611a4f929091611a3391906119e281606481018a565b6119ea610a80565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001681529060208201525f6040820152611a2c82876118ab565b52846118ab565b50611a3c610a8f565b9283526001600160a01b03166020830152565b604051928391602083016118d3565b80611a7c611a6e6001938a6118ab565b51516001600160a01b031690565b6020611a88838b6118ab565b510151611aa5611a96610a80565b6001600160a01b039093168352565b60208201525f6040820152611aba82886118ab565b52611ac581876118ab565b5001611990565b8115611ad6570490565b634e487b7160e01b5f52601260045260245ffd5b81810180911161152357670de0b6b3a7640000820291808304670de0b6b3a7640000149015171561152357808201809211611523575f19820191821161152357611b3391611acc565b670de0b6b3a76400000390670de0b6b3a7640000821161152357670de0b6b3a76400008082029082820414821517156115235782611b7f611b7a610ed895611b8494611528565b61173d565b611acc565b61174b565b91925015611ba557815115611b9c575090565b3b1561002a5790565b50805190811561002a57602001fdfe02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800a2646970667358221220fc717580989a7a9409945a4398cb88480e3e730d4c77f266d8826f68f99ef89964736f6c634300081e003360c0346100d157601f615ba038819003918201601f19168301916001600160401b038311848410176100d55780849260409485528339810103126100d157610052602061004b836100e9565b92016100e9565b6001600160a01b0390911660805260a052604051615aa290816100fe8239608051818181610842015281816109820152818161143a015281816116c7015281816127bb015281816145ca015281816146ec01528181614a5c0152614c00015260a051818181610610015281816107740152818161191101526136c80152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036100d15756fe60806040526004361015610011575f80fd5b5f5f3560e01c806246912e146123be57806301ffc9a714612368578063037a06a41461211c57806304c73f60146120fe578063057f0370146120445780631f74a0b514611fd257806321081d3c14611f97578063248a9ca314611f575780632e748b2114611dfb5780632f2ff15d14611db0578063319adf9f146119e857806336568abe146119a357806337710e201461194e57806339fff098146118b75780633b1c6a01146115bc5780633cf3a025146115875780634265fe861461153c578063490e662f146115015780634b3b029b146114c6578063502a82e214611409578063521c98ba14610cd857806369b97ac714610cba57806379c7b60b14610c6557806379c7f28914610b6657806390a0827b14610b2d57806391d1485414610ad657806396cc2cfb14610882578063a217fddf14610866578063a4b672b614610822578063af5de6f914610798578063c55dae6314610754578063ccbedaec146104e9578063d06e28ed146103fc578063d547741f146103a8578063e38b73a91461038c578063ea0aaf241461032e578063eb84e7f21461021a5763ff3eae00146101bb575f80fd5b346102175760c0366003190112610217576101d536612562565b7fc56a3250645180a53cd9e196b2ee0a634a4f54e2edf59ea457f2083917e4d1005415610208576102059061492d565b80f35b63cd6d8f7d60e01b8252600482fd5b80fd5b50346102175760203660031901126102175760408160c09260a0835161023f8161250a565b8281528260208201528285820152826060820152826080820152015260043581527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0360205220604051906102928261250a565b6001600160a01b03815416918281526001600160401b0360018301549281600260208501926001600160a01b038716845282604087019760a01c1687520154946001600160a01b036060860193838816855260ff60a06080890198828b60401c1615158a52019860481c1615158852604051988952511660208801525116604086015251166060840152511515608083015251151560a0820152f35b503461021757602036600319011261021757602061038361034d612421565b6001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0560205260405f2090565b54604051908152f35b5034610217578060031936011261021757602060405160068152f35b5034610217576040366003190112610217576103f86004356103c8612437565b906103f36103ee825f525f516020615a4d5f395f51905f52602052600160405f20015490565b612be7565b613628565b5080f35b503461021757604036600319011261021757610416612421565b602435906fffffffffffffffffffffffffffffffff82168092036104da5761043c612b78565b8261044682613027565b63ffffffff6001600160a01b03608083015116915116813b156104da57829160448392604051948593849263435354d360e01b845260048401528960248401525af180156104de576104c5575b50506001600160a01b03167f02366c0d102495be1ee805b749be7baebab4fc0710c6d3f38751f1a22bd711648380a380f35b816104cf91612541565b6104da57825f610493565b8280fd5b6040513d84823e3d90fd5b50346102175760603660031901126102175780610504612421565b61050c61244d565b610514612463565b9061051d612aba565b610557836001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0260205260405f2090565b544311156106b2574361059a846001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0260205260405f2090565b556001600160a01b0360016105df856001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0160205260405f2090565b015416926001600160401b0382166106b7575b50506001600160401b038116610606575050f35b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001683525f516020615a2d5f395f51905f526020526001600160401b0360046040852001541690823b156106b25760405163a703334f60e01b81526001600160401b039283166004820152336024820152911660448201529082908290606490829084905af180156104de576106a15750f35b816106ab91612541565b6102175780f35b505050fd5b6001600160a01b031684525f516020615a2d5f395f51905f526020526001600160401b03600460408620015416833b156107505760405163a703334f60e01b81526001600160401b03918216600482015233602482015291166044820152838160648183875af1908115610745578491156105f2578161073691612541565b61074157825f6105f2565b5050fd5b6040513d86823e3d90fd5b8480fd5b503461021757806003193601126102175760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b50346102175760203660031901126102175760206001600160a01b036107c46107bf612421565b612f58565b610b046040516107d685830182612541565b81815284810191614f298339519020604051908482019260ff60f81b84523060601b60218401526035830152605582015260558152610816607582612541565b51902016604051908152f35b503461021757806003193601126102175760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b5034610217578060031936011261021757602090604051908152f35b50346102175760403660031901126102175761089c612421565b906108a5612b78565b6108ae82612d18565b6108b783613027565b926108cb60e083510151840b6024356148ac565b9460208401906108f46001600160401b03835116886001600160401b0360a08901511691613553565b15610aad57859650610936846001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0460205260405f2090565b610941848254612623565b90556001600160a01b038416807f410b9a8c926b6c439cdceb39c0bb8f829838a25bc5a26af9d4c263d1313cc46b6020604051878152a26001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016803b15610aa95760405163f3fef3a360e01b81526001600160a01b0383166004820152602481018690529088908290604490829084905af18015610a9e5785918991610a81575b50506001600160401b0391610a116001600160a01b0392608060e0960192848451169061308b565b511692511694510151850b93813b15610a7d57604051639c45c34b60e01b81526001600160a01b039490941660048501526001600160401b0316602484015260448301919091525f9290920b60648201529082908290608490829084905af180156104de576106a15750f35b8580fd5b81925090610a8e91612541565b610a9a5783875f6109e9565b8680fd5b6040513d8a823e3d90fd5b8780fd5b6377e88bc960e11b86526001600160a01b0384166004526001600160401b038716602452604486fd5b5034610217576040366003190112610217576001600160a01b036040610afa612437565b9260043581525f516020615a4d5f395f51905f526020522091165f52602052602060ff60405f2054166040519015158152f35b503461021757604036600319011261021757610205610b4a612421565b610b52612aba565b602435906001600160a01b0333911661308b565b50346102175760203660031901126102175760a0610bc4610b85612421565b610b8d612a90565b506001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0160205260405f2090565b6001600160a01b03600160405192610bdb846124ef565b63ffffffff8154818116865260ff8160201c1615156020870152818160281c16604087015260481c1660608501520154166080820152610c6360405180926001600160a01b036080809263ffffffff815116855260208101511515602086015263ffffffff604082015116604086015263ffffffff6060820151166060860152015116910152565bf35b5034610217576020366003190112610217576020610383610c84612421565b6001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0460205260405f2090565b50346102175780600319360112610217576020604051620f42408152f35b50346102175760a036600319011261021757610cf2612421565b610cfa612479565b90610d0361248c565b6064356001600160401b038116810361075057608435916001600160401b0383168303610a7d57610d32612b29565b610d3a612999565b508580604051602081019063ffffffff8916825260208152610d5d604082612541565b519061080c5afa610d6c612a61565b90156113fa578051810160208101916020818303126113d6576020810151906001600160401b0382116113f65701906101009082900312610aa95760405191610db483612525565b60208201516001600160401b0381116113f65760209083010181601f820112156113f65789815191610de583612a46565b92610df36040519485612541565b80845284602082840101116104da578060208093018386015e83010152835260408201516001600160401b0381116113f6576020908301019080601f830112156113f6578151916001600160401b0383116113c2578260051b9060405193610e5e6020840186612541565b84526020808501928201019283116113f257602001905b8282106113da57505050602083015261010090610e94606082016130cc565b6040840152610ea560808201614e68565b6060840152610eb660a08201614e68565b6080840152610ec760c08201614e7c565b60a0840152610ed860e08201614e7c565b60c0840152015180880b8082036113d657610ef89160e0840152846134b2565b5060405191610f068361250a565b825263ffffffff87166020830152821515604083015260608201526001600160401b03831660808201526001600160401b03841660a08201526001600160a01b03851687525f516020615a2d5f395f51905f5260205260408720815180518051906001600160401b0382116113c25781908b610f828654612a0e565b601f8111611387575b5050602090601f8311600114611325578c9261131a575b50508160011b915f199060031b1c19161782555b6001820160208201518051906001600160401b03821161130657680100000000000000008211611306576020908c84548486558085106112ba575b505001918b5260208b20908b5b8160021c811061127557506003198116810380611219575b505050506001600160a01b03947f12cf3d04179e82c834f3ee7169a5df80651aa65530127f9ddb04c8cd8224435397946001600160401b039460a06006868896600260809d9901888060408401511616891982541617815560608201517fffffffff0000000000000000000000000000000000000000ffffffffffffffff7bffffffffffffffffffffffffffffffffffffffff000000000000000083549260401b16911617905560038201908c808f83015116166001600160a01b0319835416178255848101519082547fffffffffffffffffff000000ffffffffffffffffffffffffffffffffffffffff74ff000000000000000000000000000000000000000060e075ff00000000000000000000000000000000000000000060c086015160a81b1694015160b01b76ff000000000000000000000000000000000000000000001694891b16911617171790556111a76004820188806020880151161689198254161781556040860151151568ff0000000000000000825491151560401b169068ff00000000000000001916179055565b60608401516005820155019185808c8301511616861984541617835501516fffffffffffffffff000000000000000082549160401b16906fffffffffffffffff0000000000000000191617905563ffffffff6040519a168a52151560208a01521660408801521660608601521692a280f35b928c938d5b8181106112375750505060021c015584848460a0611016565b909194602061126b6001926001600160401b03895116908560031b6001600160401b03809160031b9316831b921b19161790565b960192910161121e565b8c8d5b6004811061128d575083820155600101610ffe565b85519095916001916020916001600160401b0360068a901b81811b199092169216901b1792019501611278565b8382876112e6945220600380870160021c820192601888831b16806112ed575b500160021c0190614896565b8c5f610ff1565b5f198501908154905f19908a03851b1c1690555f6112da565b634e487b7160e01b8c52604160045260248cfd5b015190505f80610fa2565b858d52818d209250601f1984168d5b81811061136f5750908460019594939210611357575b505050811b018255610fb6565b01515f1960f88460031b161c191690555f808061134a565b92936020600181928786015181550195019301611334565b602082886113b1945220601f850160051c810191602086106113b8575b601f0160051c0190614896565b8b5f610f8b565b90915081906113a4565b634e487b7160e01b8b52604160045260248bfd5b8880fd5b602080916113e7846130cc565b815201910190610e75565b8b80fd5b8980fd5b639b0c335d60e01b8752600487fd5b503461021757604036600319011261021757611423612421565b60243561142e612aba565b826001600160a01b03807f000000000000000000000000000000000000000000000000000000000000000016931692803b156114c25760405163f3fef3a360e01b81526001600160a01b0385166004820152602481018490529082908290604490829084905af180156104de576114ad575b505061020591339061308b565b816114b791612541565b6104da57825f6114a0565b5080fd5b503461021757806003193601126102175760206040517f5300fde95a5e446527bf6aa7c91bd6661bef5398afc77061d9bc87efb80b7ef68152f35b503461021757806003193601126102175760206040517fc56a3250645180a53cd9e196b2ee0a634a4f54e2edf59ea457f2083917e4d1008152f35b50346102175760c03660031901126102175761155736612562565b7fc56a3250645180a53cd9e196b2ee0a634a4f54e2edf59ea457f2083917e4d100541561020857610205906142b4565b5034610217576020366003190112610217576115a1612aba565b80808080600435335af16115b3612a61565b50156102175780f35b5034610217576060366003190112610217576115d6612437565b604435906001600160a01b0382169182810361186e576115f4612b78565b6115fd81612d18565b61160683612fa0565b610750576040810151156107505760016001600160401b03608083015116016001600160401b0381116118a35790859161164760e083510151840b826134b2565b509361167160208401926001600160401b03845116906001600160401b0360a08701511691613553565b1561186e576116b0816001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0560205260405f2090565b6116bb868254612623565b90556001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016803b156107505760405163f3fef3a360e01b81526001600160a01b0389166004820152602481018790529085908290604490829084905af1908115611898578591611883575b50506001600160401b039261174d60e08585511692510151860b876148ac565b509081611872575b5050505116926117bf60246040516001600160a01b036020820194169687855260408201526001606082015260608152611790608082612541565b6040519384916280000360e11b60208401525180918484015e810185838201520301601f198101835282612541565b7333333333333333333333333333333333333333333b156114c2578161180191604051809381926317938e1360e01b83526020600484015260248301906124cb565b0381837333333333333333333333333333333333333333335af180156104de57611859575b50506040519081527f2b348084e891b20d449a69f90114c5ab7bf7c84d64c25445c8ab440d469a6b4d602060043592a480f35b8161186391612541565b61186e57835f611826565b8380fd5b61187b92614cd4565b5f8080611755565b8161188d91612541565b61186e57835f61172d565b6040513d87823e3d90fd5b634e487b7160e01b86526011600452602486fd5b50346102175760e0366003190112610217576118d236612562565b7fc56a3250645180a53cd9e196b2ee0a634a4f54e2edf59ea457f2083917e4d1005415610208576001600160a01b036060820151166001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145f1461194157610205906142b4565b6102059060c435906136c5565b503461021757602036600319011261021757602061038361196d612421565b6001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0260205260405f2090565b5034610217576040366003190112610217576119bd612437565b336001600160a01b038216036119d9576103f890600435613628565b63334bd91960e11b8252600482fd5b5034610217576020366003190112610217576001600160a01b03611a0a612421565b611a126129d7565b501681525f516020615a2d5f395f51905f52602052604081209060405190611a398261250a565b604051611a4581612525565b60405184548184611a5583612a0e565b8083529260018116908115611d915750600114611d50575b611a7992500382612541565b815260018401604051808260208294549384815201908652602086209286905b806003830110611cfe57611acf945491818110611ce4575b818110611cc7575b818110611caa575b10611c9c575b500382612541565b60208201526001600160a01b0360028501546001600160401b038116604084015260401c16606082015260038401546001600160a01b038116608083015260ff8160a01c1660a083015260ff8160a81c1660c083015260b01c820b60e0820152825260048301549260208301906001600160401b038516825260ff604085019560401c161515855260066005820154916060860192835201549460808501926001600160401b03871684526001600160401b0360a087019760401c1687526040519560208752519460c06020880152611bb6865161010060e08a01526101e08901906124cb565b60208088015189830360df19016101008b015280518084529282019892910190835b818110611c7d57505050926001600160401b03809693899a969360e0878c610120866040819c0151169101528c6101406001600160a01b036060840151169101528c6101606001600160a01b036080840151169101528c61018060ff60a0840151169101528c6101a060ff60c0840151169101520151900b6101c08b0152511660408901525115156060880152516080870152511660a0850152511660c08301520390f35b82516001600160401b03168a526020998a019990920191600101611bd8565b60c01c81526020015f611ac7565b9260206001916001600160401b038560801c168152019301611ac1565b9260206001916001600160401b038560401c168152019301611ab9565b9260206001916001600160401b0385168152019301611ab1565b916004919350608060019186546001600160401b03811682526001600160401b038160401c1660208301526001600160401b0381841c16604083015260c01c6060820152019401920184929391611a99565b5090868552602085209085915b818310611d75575050906020611a7992820101611a6d565b6020919350806001915483858801015201910190918392611d5d565b60209250611a7994915060ff191682840152151560051b820101611a6d565b5034610217576040366003190112610217576103f8600435611dd0612437565b90611df66103ee825f525f516020615a4d5f395f51905f52602052600160405f20015490565b613581565b503461021757608036600319011261021757611e15612421565b611e1d61244d565b611e25612463565b90606435926fffffffffffffffffffffffffffffffff841680940361075057611e4c612b78565b84611e5682613027565b926001600160a01b0360808501511693843b156104da57611ee06101048492836001600160401b03806040519788968795636f0d192560e11b875260048701906001600160a01b036080809263ffffffff815116855260208101511515602086015263ffffffff604082015116604086015263ffffffff6060820151166060860152015116910152565b169a8b60a485015216988960c48401528b60e48401525af180156104de57611f42575b50506001600160a01b036040917f500d805a349357fe5d4759fe052d79bd744b82c8452837f52a7456ec7d3d751c93835195865260208601521692a380f35b81611f4c91612541565b61075057845f611f03565b5034610217576020366003190112610217576020611f8f6004355f525f516020615a4d5f395f51905f52602052600160405f20015490565b604051908152f35b503461021757806003193601126102175760206040517f880a9ba888678c7fe4e8c4f028c224f26ce12a3bed6e96025c61ef8a5db6312f8152f35b503461021757606036600319011261021757611fec612421565b6024356001600160401b0381116104da5761200b90369060040161249b565b9092604435906001600160401b038211610217576020611f8f868686612034366004890161249b565b93909261203f612b78565b612630565b50346120fa5760403660031901126120fa5761205e612421565b9060243561206a612aba565b6001600160a01b03608061207d85613027565b015116803b156120fa576040516390a0827b60e01b81526001600160a01b038516600482015260248101839052905f908290604490829084905af180156120ef576120d9575b5061020591926001600160a01b0333911661308b565b61020592505f6120e891612541565b5f916120c3565b6040513d5f823e3d90fd5b5f80fd5b346120fa575f3660031901126120fa5760206040516305f5e1008152f35b346120fa5760a03660031901126120fa57612135612421565b61213d612479565b61214561248c565b9160643563ffffffff81168091036120fa576084359163ffffffff83168093036120fa5761217281612d18565b5061217b612b29565b6001600160a01b0360016121bf836001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0160205260405f2090565b015416908115612317575b63ffffffff604051956121dc876124ef565b16948581526001600160a01b036001816020840199151595868b52604085019a888c52606086018a8152836080880193169c8d845263ffffffff6122508a6001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0160205260405f2090565b985116926cffffffff00000000000000000068ffffffff000000000064ff000000008b549351151560201b16935160281b16935160481b16936cffffffff000000000000000000199168ffffffffffffffffff1916171617171785555116920191166001600160a01b03198254161790556122ca86612fa0565b156120fa577ff0dcc8957a27613dd82c92382ad37254b9744169d0caa5f3873cfec7ba794eb9936080936001600160a01b03936040519788526020880152604087015260608601521692a3005b905061232281612f58565b604051610b048082018281106001600160401b03821117612354578291614f29833903905ff580156120ef57906121ca565b634e487b7160e01b5f52604160045260245ffd5b346120fa5760203660031901126120fa5760043563ffffffff60e01b81168091036120fa57602090637965db0b60e01b81149081156123ad575b506040519015158152f35b6301ffc9a760e01b149050826123a2565b346120fa5760403660031901126120fa5761241f6123da612421565b6001600160a01b036123ea61244d565b916123f3612aba565b165f525f516020615a2d5f395f51905f526020526001600160401b03600460405f200154163390612c34565b005b600435906001600160a01b03821682036120fa57565b602435906001600160a01b03821682036120fa57565b602435906001600160401b03821682036120fa57565b604435906001600160401b03821682036120fa57565b6024359063ffffffff821682036120fa57565b6044359081151582036120fa57565b9181601f840112156120fa578235916001600160401b0383116120fa576020808501948460051b0101116120fa57565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b60a081019081106001600160401b0382111761235457604052565b60c081019081106001600160401b0382111761235457604052565b61010081019081106001600160401b0382111761235457604052565b90601f801991011681019081106001600160401b0382111761235457604052565b60c09060031901126120fa576040519061257b8261250a565b81600435815260243560208201526044356001600160a01b03811681036120fa5760408201526064356001600160a01b03811681036120fa576060820152608435608082015260a060a435910152565b91908110156125db5760051b0190565b634e487b7160e01b5f52603260045260245ffd5b906001600160401b03809116911601906001600160401b03821161260f57565b634e487b7160e01b5f52601160045260245ffd5b9190820180921161260f57565b9194935f935f968281036120fa57612678856001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0260205260405f2090565b544311156120fa57929061268b85612d18565b91608061269787613027565b01916001600160a01b03835116946126be60208601966001600160401b03885116906130e0565b965f975b818d1061292e575b50508a1592506129239150505743612712866001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0260205260405f2090565b556001600160401b0384168061272c575b50505050505050565b6127416127649560e0855101515f0b906134b2565b6001600160401b03869792975116906001600160401b0360a08701511691613553565b1561290457506127a4856001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0460205260405f2090565b6127af858254612623565b90556001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166001600160a01b03861690803b156120fa5760405163f3fef3a360e01b81526001600160a01b038316600482015260248101879052905f908290604490829084905af180156120ef576128d8575b506001600160a01b038261284c876001600160401b03948460e09751169061308b565b511693511691510151850b93823b15610a7d57604051639c45c34b60e01b81526001600160a01b0390911660048201526001600160401b03909116602482015260448101929092525f9290920b606482015290829082908183816084810103925af180156104de576128c3575b8080808080612723565b6128ce828092612541565b61021757806128b9565b6001600160401b0391975060e0926128f85f6001600160a01b0393612541565b5f989093509150612829565b6001600160a01b03866377e88bc960e11b5f521660045260245260445ffd5b505f96505050505050565b61293d8d83879f9b96976125cb565b359061294a8a85886125cb565b356001600160401b03811681036120fa5761297392898d926001600160a01b038b5116926131c2565b9490911561299157600191612987916125ef565b98019b93926126c2565b989c506126ca565b604051906129a682612525565b5f60e08360608152606060208201528260408201528260608201528260808201528260a08201528260c08201520152565b604051906129e48261250a565b5f60a0836129f0612999565b81528260208201528260408201528260608201528260808201520152565b90600182811c92168015612a3c575b6020831014612a2857565b634e487b7160e01b5f52602260045260245ffd5b91607f1691612a1d565b6001600160401b03811161235457601f01601f191660200190565b3d15612a8b573d90612a7282612a46565b91612a806040519384612541565b82523d5f602084013e565b606090565b60405190612a9d826124ef565b5f6080838281528260208201528260408201528260608201520152565b335f9081527f176c3a4e1b4d1d61213187c0dde7f83e2e2c933a339cb5403b4090bc2f0aa49a602052604090205460ff1615612af257565b63e2517d3f60e01b5f52336004527f880a9ba888678c7fe4e8c4f028c224f26ce12a3bed6e96025c61ef8a5db6312f60245260445ffd5b335f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d602052604090205460ff1615612b6157565b63e2517d3f60e01b5f52336004525f60245260445ffd5b335f9081527fcf7720576cdb70176b3017d893bcb89ba0f36ed0261d4350fd0180e938b3bacd602052604090205460ff1615612bb057565b63e2517d3f60e01b5f52336004527f5300fde95a5e446527bf6aa7c91bd6661bef5398afc77061d9bc87efb80b7ef660245260445ffd5b805f525f516020615a4d5f395f51905f5260205260405f206001600160a01b0333165f5260205260ff60405f20541615612c1e5750565b63e2517d3f60e01b5f523360045260245260445ffd5b6024906001600160401b03612ca3939481604051936001600160a01b03602086019816885216604084015216606082015260608152612c74608082612541565b6040519384916280000360e11b60208401525180918484015e81015f838201520301601f198101835282612541565b7333333333333333333333333333333333333333333b156120fa575f612ce591604051809381926317938e1360e01b83526020600484015260248301906124cb565b0381837333333333333333333333333333333333333333335af180156120ef57612d0c5750565b5f612d1691612541565b565b6001600160a01b0390612d296129d7565b50165f525f516020615a2d5f395f51905f5260205260405f2060405191612d4f8361250a565b60405191612d5c83612525565b6040518154815f612d6c83612a0e565b8083529260018116908115612f395750600114612ef8575b612d9092500382612541565b8352600181019360405180602087549182815201965f5260205f20905f915b816003840110612eac5797612df09284926001600160a01b039798999a5491818110611ce457818110611cc757818110611caa5710611c9c57500382612541565b60208601528160028401546001600160401b038116604088015260401c1660608601526001600160401b0360066003850154946080880197858716895260ff8760a01c1660a082015260c081019660ff8160a81c16885260b01c5f0b60e0820152845260ff6004820154848116602087015260401c1615156040850152600581015460608501520154818116608084015260401c1660a082015293511615159081612e9e575b50156120fa57565b60ff9150511615155f612e96565b97600160806004928b546001600160401b03811682526001600160401b038160401c1660208301526001600160401b0381841c16604083015260c01c6060820152019901920191612daf565b5090835f5260205f20905f915b818310612f1d575050906020612d9092820101612d84565b6020919350806001915483858801015201910190918392612f05565b60209250612d9094915060ff191682840152151560051b820101612d84565b60405160208101913060601b83526bffffffffffffffffffffffff199060601b16603482015260288152612f8d604882612541565b51902090565b519081151582036120fa57565b5f80916040516001600160a01b03602082019216825260208152612fc5604082612541565b51906108105afa612fd4612a61565b9015613018576020818051810103126120fa5760405190602082018281106001600160401b038211176123545760405261301090602001612f93565b809152151590565b6313dd7ccd60e31b5f5260045ffd5b61303390610b8d612a90565b906001600160a01b0360016040519361304b856124ef565b63ffffffff8154818116875260ff8160201c1615156020880152818160281c16604088015260481c1660608601520154169182608082015291156120fa57565b60405163a9059cbb60e01b60208201526001600160a01b03929092166024830152604480830193909352918152612d16916130c7606483612541565b614b17565b51906001600160401b03821682036120fa57565b5f919082916001600160401b03604051916001600160a01b03602084019416845216604082015260408152613116606082612541565b51906108015afa613125612a61565b9015613193576060818051810103126120fa576040519060608201918083106001600160401b03841117612354576001600160401b0392604052604061318c6060613172602086016130cc565b948585526131818482016130cc565b6020860152016130cc565b9101521690565b639d2c8fcb60e01b5f5260045ffd5b906001600160401b03809116911603906001600160401b03821161260f57565b95929190939495805f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0360205260405f20916001600160a01b0383541695861561343a576002840180549860ff8a60481c1661342b576001600160a01b03600187015491166001600160a01b03821603613418576001600160401b039060a01c166001600160401b038a1660ff8b60401c165f146133c1575080926001600160401b03811682115f146133b957613279916131a2565b985b6132858a8c6125ef565b9a6001600160401b038c166001600160401b038516116133a8575069010000000000000000009069ff00000000000000000019161790556132c88160019a6131a2565b966001600160401b0360206001600160a01b036132ec60e0875101515f0b8d6134b2565b50981694015116833b156120fa5760405163a703334f60e01b81526001600160401b0391821660048201526001600160a01b0392909216602483015282166044820152915f908390606490829084905af19081156120ef577f53b9d5645f8b7ccd861ebd6036860fd21716451d1f238cb3720f12f3c49b0c4392604092613398575b506001600160a01b0360018187541696015416956001600160401b038351921682526020820152a4565b5f6133a291612541565b5f61336e565b5f9b508b9a50985050505050505050565b50505f613279565b9092809a93806001600160401b038316105f1461340d576133ec916133e5916131a2565b809b6125ef565b816001600160401b038216115f1461340657505b9161327b565b9050613400565b50506133ec5f6133e5565b8463358d72d160e01b5f5260045260245ffd5b63f7348a7960e01b5f5260045ffd5b631a40316d60e01b5f5260045ffd5b60ff16604d811161260f57600a0a90565b9190820391821161260f57565b8115613471570490565b634e487b7160e01b5f52601260045260245ffd5b90620f4240820291808304620f4240149015171561260f57565b8181029291811591840414171561260f57565b9190805f0b80155f146134cf5750506001600160401b0382169190565b5f8113156134fa57506134e76134f69160ff16613449565b6001600160401b03841661349f565b9190565b9050607f19811461260f576001600160401b039261351f613528925f0360ff16613449565b93849116612623565b5f19810190811161260f5761354f613548846001600160401b0393613467565b938461349f565b1690565b6135796001600160401b039293613573849361356e81614bb0565b6130e0565b946125ef565b169116101590565b805f525f516020615a4d5f395f51905f5260205260405f206001600160a01b0383165f5260205260ff60405f205416155f1461362257805f525f516020615a4d5f395f51905f5260205260405f206001600160a01b0383165f5260205260405f20600160ff198254161790556001600160a01b03339216907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b50505f90565b805f525f516020615a4d5f395f51905f5260205260405f206001600160a01b0383165f5260205260ff60405f2054165f1461362257805f525f516020615a4d5f395f51905f5260205260405f206001600160a01b0383165f5260205260405f2060ff1981541690556001600160a01b03339216907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b907f0000000000000000000000000000000000000000000000000000000000000000604083016136fe6001600160a01b03825116612fa0565b1561423f576001600160a01b038216805f525f516020615a2d5f395f51905f5260205260405f2090604051946137338661250a565b60405161373f81612525565b6040518454815f61374f83612a0e565b808352926001811690811561422057506001146141df575b61377392500382612541565b815260018401604051808260208294549384815201905f5260205f20925f905b80600383011061418d576137c5945491818110611ce457818110611cc757818110611caa5710611c9c57500382612541565b60208201526001600160a01b0360028501546001600160401b038116604084015260401c16606082015260038401546001600160a01b038116608083015260ff8160a01c1660a083015260ff8160a81c1660c083015260b01c5f0b60e08201528652600660048401549360ff60208901956001600160401b038116875260401c1615156040890152600581015460608901520154966001600160401b03881660808801526001600160401b0360a088019860401c168852606081016001600160a01b038151165f525f516020615a2d5f395f51905f5260205260405f2095604051966138b08861250a565b6040516138bc81612525565b6040518254815f6138cc83612a0e565b808352926001811690811561416e575060011461412d575b6138f092500382612541565b81526040516001830180548083525f9182526020808320849391840192905b8160038401106140db5754918181106140c1575b8181106140a4575b818110614087575b10614079575b50036139459082612541565b602082015260028201546001600160401b038116604083015260401c6001600160a01b0316606082015260038201546001600160a01b03811660808301528060a01c60ff1660a08301528060a81c60ff1660c083015260b01c5f0b60e0820152885260048101546001600160401b03811660208a015260401c60ff161515604089015260058101546060890152600601546001600160401b038116608089015260401c6001600160401b031660a088015281516001600160a01b0316613a0a90613027565b9383519060a08501918251996080870191825115159b613a2991612623565b8d5160e001515f0b613a3a916148ac565b90508d5160c0015160ff16825160c0015160ff1690613a5892614e9e565b9a1561404b578a925b5f8063ffffffff8b51166040516020810191825260208152613a84604082612541565b51906108085afa613a93612a61565b901561403c576020818051810103126120fa57898f9360ff60a0613ae19260206001600160401b03613ac982613ae799016130cc565b16950197885115155f14614031575051015116613449565b9061349f565b825115613fe75763ffffffff613b028160608d015116614bd6565b16620f4240019081620f42401161260f57613b38620f424091613ae16001600160401b039463ffffffff8f604001511690612623565b0416908351908115155f14613fdf5750915b5115613f9e576305f5e100811015613f5e57505f5b613b7f613b6c8651613485565b613b798a51885190612623565b90612623565b5f1981019190821161260f57613b79613ba592613b9f8b51895190612623565b90613467565b606480830283810482148415171561260f578211613ee45750505085518c5160e001515f0b613bd3916148ac565b9d8e8b9c929c516001600160401b031691516001600160401b031690613bf892613553565b15613e94579c8a9b9c9d85516001600160a01b03169387516001600160a01b0316935115159360405195613c2b8761250a565b86526020860190815260408601926001600160401b03169485845260608701926001600160401b0316968784526080810191825260a08101925f845260208d019586515f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0360205260405f2092516001600160a01b03166001600160a01b031683546001600160a01b0319161783556001830191516001600160a01b03166001600160a01b031682546001600160a01b0319161782555181549060a01b7bffffffffffffffff000000000000000000000000000000000000000016907fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff1617905560020192516001600160401b03166001600160401b03166001600160401b0319845416178355511515613d8190839068ff0000000000000000825491151560401b169068ff00000000000000001916179055565b51151581549060481b69ff000000000000000000169069ff00000000000000000019161790555194516001600160a01b031695516001600160a01b03169651935160405194855260208501526001600160401b031660408401526060830152608082015260a07f550576b2f9e0ac12dfd5dd2d5743b5b7f11f34302b5f6bec6ad60db81bd6a91891a4608001516001600160a01b03169283613e229261308b565b516001600160401b0316935160e001515f0b93813b156120fa57604051639c45c34b60e01b81526001600160a01b039490941660048501526001600160401b0316602484015260448301919091525f92830b60648301529091908290608490829084905af180156120ef57612d0c5750565b5050505050945095505092505081612d16947f8d61555dcf69ba745e97fdea78e2652d9cdd464ca521faad482fe796f6d5841c602080870151926001600160401b0360405191168152a35261492d565b999c5099509c50505050509450809650602091500151906001600160a01b038451169281810180911161260f575f19810190811161260f57811561347157612d16977fc8f90125c6a36c77a571201afc10310420481ab4895fadabb596d0ba71c22e3e92604092049082519182526020820152a3526142b4565b6305f5e0ff19016001600160401b03811161260f57613f98613f8d6001600160401b036305f5e1009316613485565b6305f5e0ff90612623565b04613b5f565b6305f5e100811115613fb157505f613b5f565b6305f5e100036001600160401b03811161260f57613f98613f8d6001600160401b036305f5e1009316613485565b905091613b4a565b63ffffffff613ffb8160608d015116614bd6565b16620f42400390620f4240821161260f57613b38620f424091613ae16001600160401b039463ffffffff8f60400151169061345a565b905051015116613449565b635cffc5fb60e11b5f5260045ffd5b8261271003612710811161260f576127106140706001600160401b0392838f1661349f565b04169a92613a61565b60c01c81526020015f613939565b9260206001916001600160401b038560801c168152019301613933565b9260206001916001600160401b038560401c16815201930161392b565b9260206001916001600160401b0385168152019301613923565b935090916001608060049286546001600160401b03811682526001600160401b038160401c1660208301526001600160401b0381841c16604083015260c01c606082015201940192019084939261390f565b5090845f5260205f20905f915b8183106141525750509060206138f0928201016138e4565b602091935080600191548385880101520191019091839261413a565b602092506138f094915060ff191682840152151560051b8201016138e4565b916004919350608060019186546001600160401b03811682526001600160401b038160401c1660208301526001600160401b0381841c16604083015260c01c6060820152019401920184929391613793565b5090865f5260205f20905f915b81831061420457505090602061377392820101613767565b60209193508060019154838588010152019101909183926141ec565b6020925061377394915060ff191682840152151560051b820101613767565b6080840151909392501561426a576001600160a01b038351166320a2097d60e11b5f5260045260245ffd5b6001600160a01b0390612d16937f31604f5790fbed7a37471cea010a8f08483441a6e1235ac48bb59337439a630d60208481870151935116604051908152a216606082015261492d565b6060810151906001600160a01b035f921691825f525f516020615a2d5f395f51905f5260205260405f206040516142ea8161250a565b6040516142f681612525565b6040518354815f61430683612a0e565b80835292600181169081156148775750600114614836575b61432a92500382612541565b815260018301604051808260208294549384815201905f5260205f20925f905b8060038301106147e45761437c945491818110611ce457818110611cc757818110611caa5710611c9c57500382612541565b60208201526001600160a01b0360028401546001600160401b038116604084015260401c16606082015260038301546001600160a01b038116608083015260ff8160a01c1660a083015260ff8160a81c1660c083015260b01c5f0b60e08201528152600660048301549260ff60208401946001600160401b038116865260401c1615156040840152600581015460608401520154906001600160401b03821660808201526001600160401b0360a082019260401c168252604085019361444b6001600160a01b03865116612fa0565b156147745785519161271061447461446960a08a0195865190612623565b60808a01519061349f565b049383519480861161476c575b50846146ca575b6144c06144a7614499878b51612623565b60e0855101515f0b906148ac565b919092826001600160401b03808b511692511691613553565b1561467c5750846145c0575b61455d906001600160401b037fb021c853215aadb12b6fa8afa7b3158201517d9abf7f756cdbb67bd66abc5a1c976145348c6001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0460205260405f2090565b61453f898254612623565b905551169360e06001600160a01b038a511694510151900b906148ac565b919092836145a4575b5050505061459f6001600160a01b0360208701519551169551915192604051938493846040919493926060820195825260208201520152565b0390a4565b6145b26145b794828c614cd4565b612c34565b5f808080614566565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001695863b156120fa5760405163f3fef3a360e01b81526001600160a01b038b16600482015260248101879052965f908890604490829084905af19687156120ef577fb021c853215aadb12b6fa8afa7b3158201517d9abf7f756cdbb67bd66abc5a1c97614659575b5095506144cc565b61455d929194505f61466a91612541565b6001600160401b035f94919250614651565b9793505050507f8d61555dcf69ba745e97fdea78e2652d9cdd464ca521faad482fe796f6d5841c9350602092508291506146b58161492d565b0151926001600160401b0360405191168152a3565b6146d9858a60208b0151614bf1565b614488576040516370a0823160e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031660048201529094506020816024818c5afa9081156120ef575f9161473a575b5093614488565b90506020813d602011614764575b8161475560209383612541565b810103126120fa57515f614733565b3d9150614748565b94505f614481565b505050506080820151909250156147a2576001600160a01b038251166320a2097d60e11b5f5260045260245ffd5b612d16917f31604f5790fbed7a37471cea010a8f08483441a6e1235ac48bb59337439a630d60206001600160a01b0381850151935116604051908152a261492d565b916004919350608060019186546001600160401b03811682526001600160401b038160401c1660208301526001600160401b0381841c16604083015260c01c606082015201940192018492939161434a565b5090855f5260205f20905f915b81831061485b57505090602061432a9282010161431e565b6020919350806001915483858801015201910190918392614843565b6020925061432a94915060ff191682840152151560051b82010161431e565b8181106148a1575050565b5f8155600101614896565b9190805f0b9081155f146148c95750506001600160401b03821690565b5f821315614904576148de915060ff16613449565b9182156134715761354f6148fd82856001600160401b0394069061345a565b9384613467565b505f0380805f0b0361260f5761354f6149276001600160401b039260ff16613449565b8461349f565b805161271061495061494560a0850193845190612623565b60808501519061349f565b0481518181115f14614b0f5750905b8190602084019161498283519460608701956001600160a01b0387511690614bf1565b15614b08575b80614a52575b7f4755f239bb1b047245415cb917deced72a3ca8baebcef109c396ff332ea6f50f9161459f6001600160a01b03806149c7858a51612623565b966149df828a51169860408c0199848b51169061308b565b614a1c828a51166001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0460205260405f2090565b614a27878254612623565b9055519651169651169651915192604051938493846040919493926060820195825260208201520152565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916001600160a01b0385511692803b156120fa5760405163f3fef3a360e01b81526001600160a01b03949094166004850152602484018390525f908490604490829084905af19283156120ef577f4755f239bb1b047245415cb917deced72a3ca8baebcef109c396ff332ea6f50f93614af8575b50915061498e565b5f614b0291612541565b5f614af0565b505f614988565b90509061495f565b906001600160a01b03614b7892165f8060405193614b36604086612541565b602085527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564602086015260208151910182855af1614b72612a61565b91614efd565b8051908115918215614b8e575b5050156120fa57565b81925090602091810103126120fa576020614ba99101612f93565b5f80614b85565b6001600160401b03166001609d1b01806001609d1b1161260f576001600160a01b031690565b63ffffffff60649116029063ffffffff821691820361260f57565b6040516370a0823160e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811660048301529092169392909190602082602481885afa9182156120ef575f92614ca0575b5080821094851595614c61575b50505050565b7f5180f0ad9e9bd2296de2ee38c85d11c56613fa73f8ee66792f26ac318f1274749260609260405192835260208301526040820152a25f808080614c5b565b9091506020813d602011614ccc575b81614cbc60209383612541565b810103126120fa5751905f614c4e565b3d9150614caf565b9091906001600160401b038316614e4d576001600160a01b03919250166040515f806020830163095ea7b360e01b8152736b9e773128f453f5c2c60935ee2de2cbc5390a24602485015285604485015260448452614d33606485612541565b83519082865af1614d42612a61565b81614e16575b5080614e0c575b15614db9575b5050736b9e773128f453f5c2c60935ee2de2cbc5390a243b156120fa5760405190630acb7f4b60e21b8252600482015263ffffffff60248201525f8160448183736b9e773128f453f5c2c60935ee2de2cbc5390a245af180156120ef57612d0c5750565b614e05916130c760405163095ea7b360e01b6020820152736b9e773128f453f5c2c60935ee2de2cbc5390a2460248201525f604482015260448152614dff606482612541565b82614b17565b5f80614d55565b50813b1515614d4f565b8051801592508215614e2b575b50505f614d48565b81925090602091810103126120fa576020614e469101612f93565b5f80614e23565b6001600160a01b03614e61612d1694614bb0565b911661308b565b51906001600160a01b03821682036120fa57565b519060ff821682036120fa57565b9060ff8091169116039060ff821161260f57565b9160ff811660ff83168181145f14614eb7575050505090565b6001600160401b039492911115614ee557614ede614ed961354f948693614e8a565b613449565b911661349f565b614ef6614ed9859261354f95614e8a565b9116613467565b91925015614f1957815115614f10575090565b3b156120fa5790565b5080519081156120fa57602001fdfe60a080604052346100455733608052610aba908161004a82396080518181816086015281816101b80152818161039a015281816104d50152818161054c01526106a40152f35b5f80fdfe60806040526004361015610011575f80fd5b5f5f3560e01c8063435354d31461050a57806390a0827b146104a55780639c45c34b146100ad578063a703334f1461033e578063de1a324a146100cb578063e94b77c1146100ad5763eba61c0e14610067575f80fd5b346100aa57806003193601126100aa5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b80fd5b50346100aa576100c86100bf366105ee565b92919091610699565b80f35b50346100aa57366003190161010081126103265760a0136100aa5760405160a0810181811067ffffffffffffffff82111761032a5760405261010b6105db565b91828252602435918215158303610326576020810192835260443563ffffffff8116810361032257604082015260643563ffffffff81168103610322576060820152608435906001600160a01b0382168203610322576080015260a43567ffffffffffffffff81168091036103265760c4359067ffffffffffffffff82168092036103225760e435946fffffffffffffffffffffffffffffffff861680960361031e576001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016330361031e5763ffffffff6101ed911661066c565b9351151592811561030f57821561030057916102819391600493506040519263ffffffff60208501971687526040840152606083015260808201525f945f60a0830152600260c083015260e082015260e0815261024c61010082610636565b6020604051948592630100000160e01b83850152518091602485015e8201018281015f8152500301601f198101835282610636565b7333333333333333333333333333333333333333333b156102fc575f6102bb91604051809381926317938e1360e01b8352600483016108ff565b0381837333333333333333333333333333333333333333335af180156102f1576102e3575080f35b6102ef91505f90610636565b005b6040513d5f823e3d90fd5b5f80fd5b6313c0a8df60e01b8152600490fd5b63017461b760e71b8152600490fd5b8380fd5b8280fd5b5080fd5b634e487b7160e01b83526041600452602483fd5b50346100aa5760603660031901126100aa578060043567ffffffffffffffff811680910361049c57602435906001600160a01b0382168092036104a15760443567ffffffffffffffff811680910361049f576001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016330361049f5761041f91600491604051916020830195865260408301526060820152606081526103eb608082610636565b60206040519485926280000360e11b83850152518091602485015e820101828101868152500301601f198101835282610636565b7333333333333333333333333333333333333333333b1561049c578161045991604051809381926317938e1360e01b8352600483016108ff565b0381837333333333333333333333333333333333333333335af18015610491576104805750f35b8161048a91610636565b6100aa5780f35b6040513d84823e3d90fd5b50fd5b505b5050fd5b50346100aa5760403660031901126100aa576004356001600160a01b038116809103610326576001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163303610326576100c890602435903390610929565b50346102fc5760403660031901126102fc576105246105db565b602435906fffffffffffffffffffffffffffffffff82168092036102fc576001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633036102fc5760046105806102819261066c565b926040519063ffffffff60208301951685526040820152604081526105a6606082610636565b6020604051948592630100000b60e01b83850152518091602485015e8201018281015f8152500301601f198101835282610636565b6004359063ffffffff821682036102fc57565b60809060031901126102fc576004356001600160a01b03811681036102fc579060243567ffffffffffffffff811681036102fc579060443590606435805f0b81036102fc5790565b90601f8019910116810190811067ffffffffffffffff82111761065857604052565b634e487b7160e01b5f52604160045260245ffd5b63ffffffff6127109116019063ffffffff821161068557565b634e487b7160e01b5f52601160045260245ffd5b926001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633036102fc57805f0b9081155f1461088f5750505b816106e357505050565b67ffffffffffffffff16806108685750906001600160a01b03166040515f806020830163095ea7b360e01b8152736b9e773128f453f5c2c60935ee2de2cbc5390a2460248501528560448501526044845261073f606485610636565b83519082865af161074e610a1a565b81610839575b508061082f575b156107d7575b5050736b9e773128f453f5c2c60935ee2de2cbc5390a243b156102fc5760405190630acb7f4b60e21b8252600482015263ffffffff60248201525f8160448183736b9e773128f453f5c2c60935ee2de2cbc5390a245af180156102f1576107c7575b505b565b5f6107d191610636565b5f6107c3565b6108289161082360405163095ea7b360e01b6020820152736b9e773128f453f5c2c60935ee2de2cbc5390a2460248201525f60448201526044815261081d606482610636565b82610978565b610978565b5f80610761565b50813b151561075b565b805180159250821561084e575b50505f610754565b6108619250602080918301019101610960565b5f80610846565b6001609d1b0191826001609d1b11610685576001600160a01b03806107c594169116610929565b5f8213156108d0576108a4915060ff16610a09565b80156108bc57808306830392831161068557506106d9565b634e487b7160e01b5f52601260045260245ffd5b505f0380805f0b03610685576108e89060ff16610a09565b8281810291818304149015171561068557506106d9565b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b6107c5926001600160a01b036040519363a9059cbb60e01b6020860152166024840152604483015260448252610823606483610636565b908160209103126102fc575180151581036102fc5790565b906001600160a01b036109d992165f8060405193610997604086610636565b602085527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564602086015260208151910182855af16109d3610a1a565b91610a59565b80519081159182156109ef575b5050156102fc57565b610a029250602080918301019101610960565b5f806109e6565b60ff16604d811161068557600a0a90565b3d15610a54573d9067ffffffffffffffff82116106585760405191610a49601f8201601f191660200184610636565b82523d5f602084013e565b606090565b91925015610a7557815115610a6c575090565b3b156102fc5790565b5080519081156102fc57602001fdfea26469706673582212203fd47e556330422f822e06ffcc9361b37df27b2096abc2caa10bb784869550ee64736f6c634300081e00336c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800a26469706673582212207c7e21cd0f7e3312130737e1bddb054dacb09c3bdadfe6365f7d8551011448c264736f6c634300081e0033bd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ffb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268000000000000000000000000003a73033c0b1407574c76bdbac67f126f6b4a9aa9000000000000000000000000904861a24f30ec96ea7cfc3be9ea4b476d237e980000000000000000000000003d589d40312bf2d20f13cd0af26a11144a9ca844000000000000000000000000b8ce59fc3717ada4c02eadf9682a9e934f625ebb000000000000000000000000fd0876712dd9003d014cdcd8e5140b4efac9bfcc", - "nonce": "0x2b6", + "input": "0x61012080604052346102e05760a081617d0180380380916100208285610354565b8339810103126102e05761003381610377565b61003f60208301610377565b9161004c60408201610377565b90610065608061005e60608401610377565b9201610377565b60015f55604051615c8280820194906001600160401b038611838710176103405761201f83396001600160a01b03908116855283166020850181905293819003604001905ff080156102ec576001600160a01b03166080527f5300fde95a5e446527bf6aa7c91bd6661bef5398afc77061d9bc87efb80b7ef65f8181525f516020617ce15f395f51905f526020527fcf7720576cdb70176b3017d893bcb89ba0f36ed0261d4350fd0180e938b3bace80549082905590915f516020617ca15f395f51905f528380a47f880a9ba888678c7fe4e8c4f028c224f26ce12a3bed6e96025c61ef8a5db6312f5f8181525f516020617ce15f395f51905f526020527f176c3a4e1b4d1d61213187c0dde7f83e2e2c933a339cb5403b4090bc2f0aa49b80549082905590915f516020617ca15f395f51905f528380a460a05261010052604051637e062a3560e11b81526001600160a01b0384169190602081600481865afa9081156102ec575f91610306575b506001600160a01b0316036102f75760049260209260c05260e05260405192838092635e280f1160e01b82525afa9081156102ec575f916102a6575b5060c0516001600160a01b039081169116036102975761022f3361038b565b50604051611c0a9081610415823960805181818161022c0152611049015260a051818181610581015281816111bf01526119f4015260c05181818161026f0152610d6d015260e0518181816101e90152610d3c01526101005181818161063d01526108a10152f35b6312354ac760e21b5f5260045ffd5b90506020813d6020116102e4575b816102c160209383610354565b810103126102e057516001600160a01b03811681036102e0575f610210565b5f80fd5b3d91506102b4565b6040513d5f823e3d90fd5b633722464560e11b5f5260045ffd5b90506020813d602011610338575b8161032160209383610354565b810103126102e05761033290610377565b5f6101d4565b3d9150610314565b634e487b7160e01b5f52604160045260245ffd5b601f909101601f19168101906001600160401b0382119082101761034057604052565b51906001600160a01b03821682036102e057565b6001600160a01b0381165f9081525f516020617cc15f395f51905f52602052604090205460ff1661040f576001600160a01b03165f8181525f516020617cc15f395f51905f5260205260408120805460ff191660011790553391907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b505f9056fe60806040526004361015610030575b361561002e573461002a5761002236610afb565b602081519101f35b5f80fd5b005b5f3560e01c806301ffc9a71461016a57806305b513bf1461016557806309cfd675146101605780630b2969841461015b57806318f794991461015657806321081d3c14610151578063248a9ca31461014c5780632f2ff15d1461014757806336568abe14610142578063490e662f1461013d5780634b3b029b1461013857806352e12a1414610133578063657cad8a1461012e5780638e35e4451461012457806391d1485414610129578063a217fddf14610124578063c55dae631461011f578063d0a102601461011a578063d547741f146101155763feb617240361000e576109bb565b61096e565b61068f565b61061e565b6105a5565b6105bf565b610562565b610486565b61044c565b610412565b6103ca565b610378565b610328565b6102ee565b610293565b610250565b61020d565b6101ca565b3461002a57602036600319011261002a5760043563ffffffff60e01b811680910361002a57602090637965db0b60e01b81149081156101af575b506040519015158152f35b6301ffc9a760e01b1490505f6101a4565b5f91031261002a57565b3461002a575f36600319011261002a5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461002a575f36600319011261002a5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461002a575f36600319011261002a5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461002a57602036600319011261002a5760043567ffffffffffffffff811680910361002a575f527fe61a4c968926ec08fb0c5bf5be95077bf8b3ddd75ead66c94187ce8d5509de00602052602060405f2054604051908152f35b3461002a575f36600319011261002a5760206040517f880a9ba888678c7fe4e8c4f028c224f26ce12a3bed6e96025c61ef8a5db6312f8152f35b3461002a57602036600319011261002a57602061035f6004355f525f516020611bb55f395f51905f52602052600160405f20015490565b604051908152f35b6001600160a01b0381160361002a57565b3461002a57604036600319011261002a5761002e60243560043561039b82610367565b6103c56103c0825f525f516020611bb55f395f51905f52602052600160405f20015490565b610b6b565b610bbf565b3461002a57604036600319011261002a576004356024356103ea81610367565b336001600160a01b038216036104035761002e91610c71565b63334bd91960e11b5f5260045ffd5b3461002a575f36600319011261002a5760206040517fc56a3250645180a53cd9e196b2ee0a634a4f54e2edf59ea457f2083917e4d1008152f35b3461002a575f36600319011261002a5760206040517f5300fde95a5e446527bf6aa7c91bd6661bef5398afc77061d9bc87efb80b7ef68152f35b3461002a57604036600319011261002a5760043563ffffffff811680910361002a576024356104b3610d22565b335f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d602052604090205460ff161561054b57816040917ff3adc8db618887d7b76838e244efb05fc99475bb5a904a914d939fbdc41b7e8d935f527fe61a4c968926ec08fb0c5bf5be95077bf8b3ddd75ead66c94187ce8d5509de0060205280835f205582519182526020820152a160015f55005b63e2517d3f60e01b5f52336004525f60245260445ffd5b3461002a575f36600319011261002a5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461002a575f36600319011261002a5760206040515f8152f35b3461002a57604036600319011261002a57602060ff6106126024356004356105e682610367565b5f525f516020611bb55f395f51905f52845260405f20906001600160a01b03165f5260205260405f2090565b54166040519015158152f35b3461002a575f36600319011261002a5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b9181601f8401121561002a5782359167ffffffffffffffff831161002a576020838186019501011161002a57565b60a036600319011261002a576004356106a781610367565b60443567ffffffffffffffff811161002a576106c7903690600401610661565b916106d3606435610367565b6084359067ffffffffffffffff821161002a578284916106fa61072d943690600401610661565b5050610704610d22565b60017fc56a3250645180a53cd9e196b2ee0a634a4f54e2edf59ea457f2083917e4d10055610d31565b6107378282610ebc565b9061074d610749836101209051101590565b1590565b6109605761075a82611535565b9261079661078f855f527fe61a4c968926ec08fb0c5bf5be95077bf8b3ddd75ead66c94187ce8d5509de0160205260405f2090565b5460ff1690565b610952576107e4916107df6107d2865f527fe61a4c968926ec08fb0c5bf5be95077bf8b3ddd75ead66c94187ce8d5509de0160205260405f2090565b805460ff19166001179055565b610ef7565b9160ff6107f083611554565b926107fa81611564565b9361086261080f61080a84611574565b610f0d565b61085261081e61080a86611584565b9161083161082b87610fd3565b96610ff1565b9761083a610a60565b9a8b5260208b01526001600160a01b031660408a0152565b6001600160a01b03166060880152565b60808601525f60a086015216916001831480938115610947575b501561090557506108d992916108d491610894610a71565b9384526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166020850152604084015215156060830152565b6110d8565b5f7fc56a3250645180a53cd9e196b2ee0a634a4f54e2edf59ea457f2083917e4d1005561002e60015f55565b91505061093c6109419261092e60405193849263073ffe1360e31b602085015260248401610a9e565b03601f198101835282610a3e565b61103e565b506108d9565b60029150145f61087c565b623f613760e71b5f5260045ffd5b62dae46b60e61b5f5260045ffd5b3461002a57604036600319011261002a5761002e60243560043561099182610367565b6109b66103c0825f525f516020611bb55f395f51905f52602052600160405f20015490565b610c71565b3461002a57602036600319011261002a576004355f527fe61a4c968926ec08fb0c5bf5be95077bf8b3ddd75ead66c94187ce8d5509de01602052602060ff60405f2054166040519015158152f35b634e487b7160e01b5f52604160045260245ffd5b6040810190811067ffffffffffffffff821117610a3957604052565b610a09565b90601f8019910116810190811067ffffffffffffffff821117610a3957604052565b60405190610a6f60c083610a3e565b565b60405190610a6f608083610a3e565b60405190610a6f606083610a3e565b60405190610a6f604083610a3e565b60c09093929193610af78160e081019660a0809180518452602081015160208501526001600160a01b0360408201511660408501526001600160a01b036060820151166060850152608081015160808501520151910152565b0152565b61093c610b1291610b0a610d22565b36905f610b35565b9060015f55565b67ffffffffffffffff8111610a3957601f01601f191660200190565b929192610b4182610b19565b91610b4f6040519384610a3e565b82948184528183011161002a578281602093845f960137010152565b805f525f516020611bb55f395f51905f5260205260ff610b9f3360405f20906001600160a01b03165f5260205260405f2090565b541615610ba95750565b63e2517d3f60e01b5f523360045260245260445ffd5b805f525f516020611bb55f395f51905f5260205260ff610bf38360405f20906001600160a01b03165f5260205260405f2090565b5416610c6b57805f525f516020611bb55f395f51905f52602052610c2b8260405f20906001600160a01b03165f5260205260405f2090565b805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b50505f90565b805f525f516020611bb55f395f51905f5260205260ff610ca58360405f20906001600160a01b03165f5260205260405f2090565b541615610c6b57805f525f516020611bb55f395f51905f52602052610cde8260405f20906001600160a01b03165f5260205260405f2090565b805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b1561002a57565b60025f541461002a5760025f55565b6001600160a01b03807f000000000000000000000000000000000000000000000000000000000000000016911603610e9c576001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163303610e8d57610d9d8282610eab565b7fffffffff0000000000000000000000000000000000000000000000000000000091359182169160048210610e55575b505060e01c91610e0a8363ffffffff165f527fe61a4c968926ec08fb0c5bf5be95077bf8b3ddd75ead66c94187ce8d5509de0060205260405f2090565b54918215610e3c5790610e1c91611758565b03610e245750565b635f45fa3b60e11b5f5263ffffffff1660045260245ffd5b634f1c97f160e11b5f5263ffffffff841660045260245ffd5b7fffffffff0000000000000000000000000000000000000000000000000000000060049290920360031b82901b161690505f80610dcd565b63088b800b60e41b5f5260045ffd5b630919067560e41b5f5260045ffd5b90600c1161002a5760080190600490565b9080604c1161002a57610ed8913691604b190190604c01610b35565b90565b359060208110610ee9575090565b5f199060200360031b1b1690565b90602c1161002a576020600c610ed89201610edb565b8060a01c610f21576001600160a01b031690565b6379ec0ed760e11b5f5260045ffd5b81601f8201121561002a57805190610f4782610b19565b92610f556040519485610a3e565b8284526020838301011161002a57815f9260208093018386015e8301015290565b9190916101008184031261002a5780519260208201519260408301519260608101519260808201519260a08301519260c081015160ff8116810361002a579260e082015167ffffffffffffffff811161002a57610ed89201610f30565b610fe69060208082518301019101610f76565b509550505050505090565b6110049060208082518301019101610f76565b965050505050505090565b3d15611039573d9061102082610b19565b9161102e6040519384610a3e565b82523d5f602084013e565b606090565b5f80916020815191017f00000000000000000000000000000000000000000000000000000000000000005af461107261100f565b901561107b5790565b602081519101fd5b610a6f9092919260c081019360a0809180518452602081015160208501526001600160a01b0360408201511660408501526001600160a01b036060820151166060850152608081015160808501520151910152565b6110e0611594565b506110f86040820151602080825183010191016115ed565b906020810161112061111461111483516001600160a01b031690565b6001600160a01b031690565b6040516370a0823160e01b815230600482015290602090829060249082905afa908115611481575f916114e2575b5061116a6111146111146060865101516001600160a01b031690565b6040516370a0823160e01b81523060048201529490602090869060249082905afa948515611481575f956114c1575b506001600160a01b036112016111b961111486516001600160a01b031690565b926111e97f000000000000000000000000000000000000000000000000000000000000000094858951519161176e565b8651606001513091906001600160a01b031690611978565b911661121484516001600160a01b031690565b9185515191803b1561002a57611246935f809460405196879586948593633a5be8cb60e01b855230916004860161170f565b03925af18015611481576114a7575b5061126d61111461111484516001600160a01b031690565b6040516370a0823160e01b81523060048201529190602090839060249082905afa918215611481575f92611486575b50036113e1576113a092506112ce6112bb82516001600160a01b031690565b6060845101906001600160a01b03169052565b815151905b6112e682845160a0815191015190611aea565b60a084510152818351528251907fb88fc27be67e678ffb77faf8f8bb00d39b66b4845e4f7ec1e623b0f15abd52136001600160a01b03611332602085015193516001600160a01b031690565b9461136b61134c606087519701516001600160a01b031690565b9183604051948594169816968360209093929193604081019481520152565b0390a480516060820151156113a3575051604051632132ff4360e11b60208201529061093c90829061092e9060248301611083565b50565b6040517fff3eae00000000000000000000000000000000000000000000000000000000006020820152915061093c90829061092e9060248301611083565b6113fd61111461111460608551016001600160a01b0390511690565b6040516370a0823160e01b81523060048201529390602090859060249082905afa908115611481576113a0945f92611450575b50808210611447576114419161174b565b906112d3565b50505f906112d3565b61147391925060203d60201161147a575b61146b8183610a3e565b8101906116d1565b905f611430565b503d611461565b6116e0565b6114a091925060203d60201161147a5761146b8183610a3e565b905f61129c565b806114b55f6114bb93610a3e565b806101c0565b5f611255565b6114db91955060203d60201161147a5761146b8183610a3e565b935f611199565b6114fb915060203d60201161147a5761146b8183610a3e565b5f61114e565b634e487b7160e01b5f52601160045260245ffd5b906001820180921161152357565b611501565b9190820180921161152357565b6020815110611545576020015190565b632d0483c560e21b5f5260045ffd5b6060815110611545576060015190565b6080815110611545576080015190565b60a08151106115455760a0015190565b60c08151106115455760c0015190565b6040519060c0820182811067ffffffffffffffff821117610a39576040525f60a0838281528260208201528260408201528260608201528260808201520152565b67ffffffffffffffff8111610a395760051b60200190565b60208183031261002a5780519067ffffffffffffffff821161002a57019080601f8301121561002a57815191611622836115d5565b926116306040519485610a3e565b80845260208085019160051b8301019183831161002a5760208101915b83831061165c57505050505090565b825167ffffffffffffffff811161002a578201906040828703601f19011261002a576040519061168b82610a1d565b602083015161169981610367565b825260408301519167ffffffffffffffff831161002a576116c288602080969581960101610f30565b8382015281520192019161164d565b9081602091031261002a575190565b6040513d5f823e3d90fd5b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b90610ed894936080936001600160a01b038093168452602084015216604082015281606082015201906116eb565b5f1981019190821161152357565b9190820391821161152357565b90604c1161002a576020602c610ed89201610edb565b905f806001600160a01b036117fb95946040519582602088019663a9059cbb60e01b88521660248801526044870152604486526117ac606487610a3e565b1692604051946117bd604087610a3e565b602086527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65646020870152519082855af16117f561100f565b91611b89565b80518015908115611812575b50610a6f9150610d1b565b6020915082908101031261002a5760200151801515810361002a57610a6f905f611807565b90611841826115d5565b61184e6040519182610a3e565b828152809261185f601f19916115d5565b015f5b81811061186e57505050565b60405190606082019180831067ffffffffffffffff841117610a39576020926040525f81526060838201525f604082015282828601015201611862565b80518210156118bf5760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b6020815260608101918051926040602084015283518091526080830190602060808260051b8601019501915f905b82821061192757505050509060406020610ed89301519101906001600160a01b03169052565b90919295602080600192607f198982030185528951906001600160a01b0382511681526040806119648585015160608786015260608501906116eb565b930151910152980192019201909291611901565b9291835161198d61198882611515565b611837565b925f5b828110611a5e575060405163ef8738d360e01b60208201526001600160a01b039182166024820152908316604482015293945061092e93610ed89392611a4f929091611a3391906119e281606481018a565b6119ea610a80565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001681529060208201525f6040820152611a2c82876118ab565b52846118ab565b50611a3c610a8f565b9283526001600160a01b03166020830152565b604051928391602083016118d3565b80611a7c611a6e6001938a6118ab565b51516001600160a01b031690565b6020611a88838b6118ab565b510151611aa5611a96610a80565b6001600160a01b039093168352565b60208201525f6040820152611aba82886118ab565b52611ac581876118ab565b5001611990565b8115611ad6570490565b634e487b7160e01b5f52601260045260245ffd5b81810180911161152357670de0b6b3a7640000820291808304670de0b6b3a7640000149015171561152357808201809211611523575f19820191821161152357611b3391611acc565b670de0b6b3a76400000390670de0b6b3a7640000821161152357670de0b6b3a76400008082029082820414821517156115235782611b7f611b7a610ed895611b8494611528565b61173d565b611acc565b61174b565b91925015611ba557815115611b9c575090565b3b1561002a5790565b50805190811561002a57602001fdfe02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800a2646970667358221220b1766981d97f8f64fa69492ce2fc3a712fe534529986be9bc89ad7dd432a109164736f6c634300081e003360c0346100d157601f615c8238819003918201601f19168301916001600160401b038311848410176100d55780849260409485528339810103126100d157610052602061004b836100e9565b92016100e9565b6001600160a01b0390911660805260a052604051615b8490816100fe8239608051818181610842015281816109820152818161143a015281816116c30152818161286e015281816147660152818161485b01528181614bcb0152614d6f015260a05181818161061001528181610774015281816119c4015261377b0152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036100d15756fe60806040526004361015610011575f80fd5b5f5f3560e01c806246912e1461247157806301ffc9a71461241b578063037a06a4146121cf57806304c73f60146121b1578063057f0370146120f75780631f74a0b51461208557806321081d3c1461204a578063248a9ca31461200a5780632e748b2114611eae5780632f2ff15d14611e63578063319adf9f14611a9b57806336568abe14611a5657806337710e2014611a0157806339fff0981461196a5780633b1c6a01146115bc5780633cf3a025146115875780634265fe861461153c578063490e662f146115015780634b3b029b146114c6578063502a82e214611409578063521c98ba14610cd857806369b97ac714610cba57806379c7b60b14610c6557806379c7f28914610b6657806390a0827b14610b2d57806391d1485414610ad657806396cc2cfb14610882578063a217fddf14610866578063a4b672b614610822578063af5de6f914610798578063c55dae6314610754578063ccbedaec146104e9578063d06e28ed146103fc578063d547741f146103a8578063e38b73a91461038c578063ea0aaf241461032e578063eb84e7f21461021a5763ff3eae00146101bb575f80fd5b346102175760c0366003190112610217576101d536612615565b7fc56a3250645180a53cd9e196b2ee0a634a4f54e2edf59ea457f2083917e4d10054156102085761020590614a9c565b80f35b63cd6d8f7d60e01b8252600482fd5b80fd5b50346102175760203660031901126102175760408160c09260a0835161023f816125bd565b8281528260208201528285820152826060820152826080820152015260043581527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b036020522060405190610292826125bd565b6001600160a01b03815416918281526001600160401b0360018301549281600260208501926001600160a01b038716845282604087019760a01c1687520154946001600160a01b036060860193838816855260ff60a06080890198828b60401c1615158a52019860481c1615158852604051988952511660208801525116604086015251166060840152511515608083015251151560a0820152f35b503461021757602036600319011261021757602061038361034d6124d4565b6001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0560205260405f2090565b54604051908152f35b5034610217578060031936011261021757602060405160068152f35b5034610217576040366003190112610217576103f86004356103c86124ea565b906103f36103ee825f525f516020615b2f5f395f51905f52602052600160405f20015490565b612c9a565b6136db565b5080f35b5034610217576040366003190112610217576104166124d4565b602435906fffffffffffffffffffffffffffffffff82168092036104da5761043c612c2b565b82610446826130da565b63ffffffff6001600160a01b03608083015116915116813b156104da57829160448392604051948593849263435354d360e01b845260048401528960248401525af180156104de576104c5575b50506001600160a01b03167f02366c0d102495be1ee805b749be7baebab4fc0710c6d3f38751f1a22bd711648380a380f35b816104cf916125f4565b6104da57825f610493565b8280fd5b6040513d84823e3d90fd5b503461021757606036600319011261021757806105046124d4565b61050c612500565b610514612516565b9061051d612b6d565b610557836001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0260205260405f2090565b544311156106b2574361059a846001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0260205260405f2090565b556001600160a01b0360016105df856001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0160205260405f2090565b015416926001600160401b0382166106b7575b50506001600160401b038116610606575050f35b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001683525f516020615b0f5f395f51905f526020526001600160401b0360046040852001541690823b156106b25760405163a703334f60e01b81526001600160401b039283166004820152336024820152911660448201529082908290606490829084905af180156104de576106a15750f35b816106ab916125f4565b6102175780f35b505050fd5b6001600160a01b031684525f516020615b0f5f395f51905f526020526001600160401b03600460408620015416833b156107505760405163a703334f60e01b81526001600160401b03918216600482015233602482015291166044820152838160648183875af1908115610745578491156105f25781610736916125f4565b61074157825f6105f2565b5050fd5b6040513d86823e3d90fd5b8480fd5b503461021757806003193601126102175760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b50346102175760203660031901126102175760206001600160a01b036107c46107bf6124d4565b61300b565b610b046040516107d6858301826125f4565b8181528481019161500b8339519020604051908482019260ff60f81b84523060601b602184015260358301526055820152605581526108166075826125f4565b51902016604051908152f35b503461021757806003193601126102175760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b5034610217578060031936011261021757602090604051908152f35b50346102175760403660031901126102175761089c6124d4565b906108a5612c2b565b6108ae82612dcb565b6108b7836130da565b926108cb60e083510151840b602435614a1b565b9460208401906108f46001600160401b03835116886001600160401b0360a08901511691613606565b15610aad57859650610936846001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0460205260405f2090565b6109418482546126d6565b90556001600160a01b038416807f410b9a8c926b6c439cdceb39c0bb8f829838a25bc5a26af9d4c263d1313cc46b6020604051878152a26001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016803b15610aa95760405163f3fef3a360e01b81526001600160a01b0383166004820152602481018690529088908290604490829084905af18015610a9e5785918991610a81575b50506001600160401b0391610a116001600160a01b0392608060e0960192848451169061313e565b511692511694510151850b93813b15610a7d57604051639c45c34b60e01b81526001600160a01b039490941660048501526001600160401b0316602484015260448301919091525f9290920b60648201529082908290608490829084905af180156104de576106a15750f35b8580fd5b81925090610a8e916125f4565b610a9a5783875f6109e9565b8680fd5b6040513d8a823e3d90fd5b8780fd5b6377e88bc960e11b86526001600160a01b0384166004526001600160401b038716602452604486fd5b5034610217576040366003190112610217576001600160a01b036040610afa6124ea565b9260043581525f516020615b2f5f395f51905f526020522091165f52602052602060ff60405f2054166040519015158152f35b503461021757604036600319011261021757610205610b4a6124d4565b610b52612b6d565b602435906001600160a01b0333911661313e565b50346102175760203660031901126102175760a0610bc4610b856124d4565b610b8d612b43565b506001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0160205260405f2090565b6001600160a01b03600160405192610bdb846125a2565b63ffffffff8154818116865260ff8160201c1615156020870152818160281c16604087015260481c1660608501520154166080820152610c6360405180926001600160a01b036080809263ffffffff815116855260208101511515602086015263ffffffff604082015116604086015263ffffffff6060820151166060860152015116910152565bf35b5034610217576020366003190112610217576020610383610c846124d4565b6001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0460205260405f2090565b50346102175780600319360112610217576020604051620f42408152f35b50346102175760a036600319011261021757610cf26124d4565b610cfa61252c565b90610d0361253f565b6064356001600160401b038116810361075057608435916001600160401b0383168303610a7d57610d32612bdc565b610d3a612a4c565b508580604051602081019063ffffffff8916825260208152610d5d6040826125f4565b519061080c5afa610d6c612b14565b90156113fa578051810160208101916020818303126113d6576020810151906001600160401b0382116113f65701906101009082900312610aa95760405191610db4836125d8565b60208201516001600160401b0381116113f65760209083010181601f820112156113f65789815191610de583612af9565b92610df360405194856125f4565b80845284602082840101116104da578060208093018386015e83010152835260408201516001600160401b0381116113f6576020908301019080601f830112156113f6578151916001600160401b0383116113c2578260051b9060405193610e5e60208401866125f4565b84526020808501928201019283116113f257602001905b8282106113da57505050602083015261010090610e946060820161317f565b6040840152610ea560808201614f4a565b6060840152610eb660a08201614f4a565b6080840152610ec760c08201614f5e565b60a0840152610ed860e08201614f5e565b60c0840152015180880b8082036113d657610ef89160e084015284613565565b5060405191610f06836125bd565b825263ffffffff87166020830152821515604083015260608201526001600160401b03831660808201526001600160401b03841660a08201526001600160a01b03851687525f516020615b0f5f395f51905f5260205260408720815180518051906001600160401b0382116113c25781908b610f828654612ac1565b601f8111611387575b5050602090601f8311600114611325578c9261131a575b50508160011b915f199060031b1c19161782555b6001820160208201518051906001600160401b03821161130657680100000000000000008211611306576020908c84548486558085106112ba575b505001918b5260208b20908b5b8160021c811061127557506003198116810380611219575b505050506001600160a01b03947f12cf3d04179e82c834f3ee7169a5df80651aa65530127f9ddb04c8cd8224435397946001600160401b039460a06006868896600260809d9901888060408401511616891982541617815560608201517fffffffff0000000000000000000000000000000000000000ffffffffffffffff7bffffffffffffffffffffffffffffffffffffffff000000000000000083549260401b16911617905560038201908c808f83015116166001600160a01b0319835416178255848101519082547fffffffffffffffffff000000ffffffffffffffffffffffffffffffffffffffff74ff000000000000000000000000000000000000000060e075ff00000000000000000000000000000000000000000060c086015160a81b1694015160b01b76ff000000000000000000000000000000000000000000001694891b16911617171790556111a76004820188806020880151161689198254161781556040860151151568ff0000000000000000825491151560401b169068ff00000000000000001916179055565b60608401516005820155019185808c8301511616861984541617835501516fffffffffffffffff000000000000000082549160401b16906fffffffffffffffff0000000000000000191617905563ffffffff6040519a168a52151560208a01521660408801521660608601521692a280f35b928c938d5b8181106112375750505060021c015584848460a0611016565b909194602061126b6001926001600160401b03895116908560031b6001600160401b03809160031b9316831b921b19161790565b960192910161121e565b8c8d5b6004811061128d575083820155600101610ffe565b85519095916001916020916001600160401b0360068a901b81811b199092169216901b1792019501611278565b8382876112e6945220600380870160021c820192601888831b16806112ed575b500160021c0190614a05565b8c5f610ff1565b5f198501908154905f19908a03851b1c1690555f6112da565b634e487b7160e01b8c52604160045260248cfd5b015190505f80610fa2565b858d52818d209250601f1984168d5b81811061136f5750908460019594939210611357575b505050811b018255610fb6565b01515f1960f88460031b161c191690555f808061134a565b92936020600181928786015181550195019301611334565b602082886113b1945220601f850160051c810191602086106113b8575b601f0160051c0190614a05565b8b5f610f8b565b90915081906113a4565b634e487b7160e01b8b52604160045260248bfd5b8880fd5b602080916113e78461317f565b815201910190610e75565b8b80fd5b8980fd5b639b0c335d60e01b8752600487fd5b5034610217576040366003190112610217576114236124d4565b60243561142e612b6d565b826001600160a01b03807f000000000000000000000000000000000000000000000000000000000000000016931692803b156114c25760405163f3fef3a360e01b81526001600160a01b0385166004820152602481018490529082908290604490829084905af180156104de576114ad575b505061020591339061313e565b816114b7916125f4565b6104da57825f6114a0565b5080fd5b503461021757806003193601126102175760206040517f5300fde95a5e446527bf6aa7c91bd6661bef5398afc77061d9bc87efb80b7ef68152f35b503461021757806003193601126102175760206040517fc56a3250645180a53cd9e196b2ee0a634a4f54e2edf59ea457f2083917e4d1008152f35b50346102175760c03660031901126102175761155736612615565b7fc56a3250645180a53cd9e196b2ee0a634a4f54e2edf59ea457f2083917e4d10054156102085761020590614367565b5034610217576020366003190112610217576115a1612b6d565b80808080600435335af16115b3612b14565b50156102175780f35b5034610217576060366003190112610217576115d66124ea565b6044356001600160a01b0381169182820361180a576115f3612c2b565b836115fd83612dcb565b9261160783613053565b6114c2576040840151156114c2576001600160401b036080850151169060208501916001600160401b038351169060e087510151850b91155f146119305761166d9161165291613565565b6001600160401b0360a081879a949a51169301511691613606565b156104da576116ac906001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0560205260405f2090565b6116b78582546126d6565b90556001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016803b156104da5760405163f3fef3a360e01b81526001600160a01b0387166004820152602481018690529083908290604490829084905af1908115611925578391611910575b5050516001600160401b03168061180e5750506117468284614e43565b736b9e773128f453f5c2c60935ee2de2cbc5390a243b1561180a578360405163611e2a2d60e11b81526001600160a01b038316600482015283602482015263ffffffff6044820152818160648183736b9e773128f453f5c2c60935ee2de2cbc5390a245af180156104de576117f5575b50506001600160a01b03905b60405192835216907f2b348084e891b20d449a69f90114c5ab7bf7c84d64c25445c8ab440d469a6b4d602060043592a480f35b816117ff916125f4565b61180a57835f6117b6565b8380fd5b6118218461181b83614d1f565b8761313e565b611884602460405160208101936001600160a01b0387168552604082015260016060820152606081526118556080826125f4565b6040519384916280000360e11b60208401525180918484015e810185838201520301601f1981018352826125f4565b7333333333333333333333333333333333333333333b156114c257816118c691604051809381926317938e1360e01b835260206004840152602483019061257e565b0381837333333333333333333333333333333333333333335af180156104de576118fb575b50506001600160a01b03906117c2565b81611905916125f4565b61180a57835f6118eb565b8161191a916125f4565b6114c257815f611729565b6040513d85823e3d90fd5b60019192939450016001600160401b038111611956576116528894939261166d92613565565b634e487b7160e01b88526011600452602488fd5b50346102175760e03660031901126102175761198536612615565b7fc56a3250645180a53cd9e196b2ee0a634a4f54e2edf59ea457f2083917e4d1005415610208576001600160a01b036060820151166001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145f146119f45761020590614367565b6102059060c43590613778565b5034610217576020366003190112610217576020610383611a206124d4565b6001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0260205260405f2090565b503461021757604036600319011261021757611a706124ea565b336001600160a01b03821603611a8c576103f8906004356136db565b63334bd91960e11b8252600482fd5b5034610217576020366003190112610217576001600160a01b03611abd6124d4565b611ac5612a8a565b501681525f516020615b0f5f395f51905f52602052604081209060405190611aec826125bd565b604051611af8816125d8565b60405184548184611b0883612ac1565b8083529260018116908115611e445750600114611e03575b611b2c925003826125f4565b815260018401604051808260208294549384815201908652602086209286905b806003830110611db157611b82945491818110611d97575b818110611d7a575b818110611d5d575b10611d4f575b5003826125f4565b60208201526001600160a01b0360028501546001600160401b038116604084015260401c16606082015260038401546001600160a01b038116608083015260ff8160a01c1660a083015260ff8160a81c1660c083015260b01c820b60e0820152825260048301549260208301906001600160401b038516825260ff604085019560401c161515855260066005820154916060860192835201549460808501926001600160401b03871684526001600160401b0360a087019760401c1687526040519560208752519460c06020880152611c69865161010060e08a01526101e089019061257e565b60208088015189830360df19016101008b015280518084529282019892910190835b818110611d3057505050926001600160401b03809693899a969360e0878c610120866040819c0151169101528c6101406001600160a01b036060840151169101528c6101606001600160a01b036080840151169101528c61018060ff60a0840151169101528c6101a060ff60c0840151169101520151900b6101c08b0152511660408901525115156060880152516080870152511660a0850152511660c08301520390f35b82516001600160401b03168a526020998a019990920191600101611c8b565b60c01c81526020015f611b7a565b9260206001916001600160401b038560801c168152019301611b74565b9260206001916001600160401b038560401c168152019301611b6c565b9260206001916001600160401b0385168152019301611b64565b916004919350608060019186546001600160401b03811682526001600160401b038160401c1660208301526001600160401b0381841c16604083015260c01c6060820152019401920184929391611b4c565b5090868552602085209085915b818310611e28575050906020611b2c92820101611b20565b6020919350806001915483858801015201910190918392611e10565b60209250611b2c94915060ff191682840152151560051b820101611b20565b5034610217576040366003190112610217576103f8600435611e836124ea565b90611ea96103ee825f525f516020615b2f5f395f51905f52602052600160405f20015490565b613634565b503461021757608036600319011261021757611ec86124d4565b611ed0612500565b611ed8612516565b90606435926fffffffffffffffffffffffffffffffff841680940361075057611eff612c2b565b84611f09826130da565b926001600160a01b0360808501511693843b156104da57611f936101048492836001600160401b03806040519788968795636f0d192560e11b875260048701906001600160a01b036080809263ffffffff815116855260208101511515602086015263ffffffff604082015116604086015263ffffffff6060820151166060860152015116910152565b169a8b60a485015216988960c48401528b60e48401525af180156104de57611ff5575b50506001600160a01b036040917f500d805a349357fe5d4759fe052d79bd744b82c8452837f52a7456ec7d3d751c93835195865260208601521692a380f35b81611fff916125f4565b61075057845f611fb6565b50346102175760203660031901126102175760206120426004355f525f516020615b2f5f395f51905f52602052600160405f20015490565b604051908152f35b503461021757806003193601126102175760206040517f880a9ba888678c7fe4e8c4f028c224f26ce12a3bed6e96025c61ef8a5db6312f8152f35b50346102175760603660031901126102175761209f6124d4565b6024356001600160401b0381116104da576120be90369060040161254e565b9092604435906001600160401b0382116102175760206120428686866120e7366004890161254e565b9390926120f2612c2b565b6126e3565b50346121ad5760403660031901126121ad576121116124d4565b9060243561211d612b6d565b6001600160a01b036080612130856130da565b015116803b156121ad576040516390a0827b60e01b81526001600160a01b038516600482015260248101839052905f908290604490829084905af180156121a25761218c575b5061020591926001600160a01b0333911661313e565b61020592505f61219b916125f4565b5f91612176565b6040513d5f823e3d90fd5b5f80fd5b346121ad575f3660031901126121ad5760206040516305f5e1008152f35b346121ad5760a03660031901126121ad576121e86124d4565b6121f061252c565b6121f861253f565b9160643563ffffffff81168091036121ad576084359163ffffffff83168093036121ad5761222581612dcb565b5061222e612bdc565b6001600160a01b036001612272836001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0160205260405f2090565b0154169081156123ca575b63ffffffff6040519561228f876125a2565b16948581526001600160a01b036001816020840199151595868b52604085019a888c52606086018a8152836080880193169c8d845263ffffffff6123038a6001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0160205260405f2090565b985116926cffffffff00000000000000000068ffffffff000000000064ff000000008b549351151560201b16935160281b16935160481b16936cffffffff000000000000000000199168ffffffffffffffffff1916171617171785555116920191166001600160a01b031982541617905561237d86613053565b156121ad577ff0dcc8957a27613dd82c92382ad37254b9744169d0caa5f3873cfec7ba794eb9936080936001600160a01b03936040519788526020880152604087015260608601521692a3005b90506123d58161300b565b604051610b048082018281106001600160401b0382111761240757829161500b833903905ff580156121a2579061227d565b634e487b7160e01b5f52604160045260245ffd5b346121ad5760203660031901126121ad5760043563ffffffff60e01b81168091036121ad57602090637965db0b60e01b8114908115612460575b506040519015158152f35b6301ffc9a760e01b14905082612455565b346121ad5760403660031901126121ad576124d261248d6124d4565b6001600160a01b0361249d612500565b916124a6612b6d565b165f525f516020615b0f5f395f51905f526020526001600160401b03600460405f200154163390612ce7565b005b600435906001600160a01b03821682036121ad57565b602435906001600160a01b03821682036121ad57565b602435906001600160401b03821682036121ad57565b604435906001600160401b03821682036121ad57565b6024359063ffffffff821682036121ad57565b6044359081151582036121ad57565b9181601f840112156121ad578235916001600160401b0383116121ad576020808501948460051b0101116121ad57565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b60a081019081106001600160401b0382111761240757604052565b60c081019081106001600160401b0382111761240757604052565b61010081019081106001600160401b0382111761240757604052565b90601f801991011681019081106001600160401b0382111761240757604052565b60c09060031901126121ad576040519061262e826125bd565b81600435815260243560208201526044356001600160a01b03811681036121ad5760408201526064356001600160a01b03811681036121ad576060820152608435608082015260a060a435910152565b919081101561268e5760051b0190565b634e487b7160e01b5f52603260045260245ffd5b906001600160401b03809116911601906001600160401b0382116126c257565b634e487b7160e01b5f52601160045260245ffd5b919082018092116126c257565b9194935f935f968281036121ad5761272b856001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0260205260405f2090565b544311156121ad57929061273e85612dcb565b91608061274a876130da565b01916001600160a01b038351169461277160208601966001600160401b0388511690613193565b965f975b818d106129e1575b50508a1592506129d691505057436127c5866001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0260205260405f2090565b556001600160401b038416806127df575b50505050505050565b6127f46128179560e0855101515f0b90613565565b6001600160401b03869792975116906001600160401b0360a08701511691613606565b156129b75750612857856001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0460205260405f2090565b6128628582546126d6565b90556001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166001600160a01b03861690803b156121ad5760405163f3fef3a360e01b81526001600160a01b038316600482015260248101879052905f908290604490829084905af180156121a25761298b575b506001600160a01b03826128ff876001600160401b03948460e09751169061313e565b511693511691510151850b93823b15610a7d57604051639c45c34b60e01b81526001600160a01b0390911660048201526001600160401b03909116602482015260448101929092525f9290920b606482015290829082908183816084810103925af180156104de57612976575b80808080806127d6565b6129818280926125f4565b610217578061296c565b6001600160401b0391975060e0926129ab5f6001600160a01b03936125f4565b5f9890935091506128dc565b6001600160a01b03866377e88bc960e11b5f521660045260245260445ffd5b505f96505050505050565b6129f08d83879f9b969761267e565b35906129fd8a858861267e565b356001600160401b03811681036121ad57612a2692898d926001600160a01b038b511692613275565b94909115612a4457600191612a3a916126a2565b98019b9392612775565b989c5061277d565b60405190612a59826125d8565b5f60e08360608152606060208201528260408201528260608201528260808201528260a08201528260c08201520152565b60405190612a97826125bd565b5f60a083612aa3612a4c565b81528260208201528260408201528260608201528260808201520152565b90600182811c92168015612aef575b6020831014612adb57565b634e487b7160e01b5f52602260045260245ffd5b91607f1691612ad0565b6001600160401b03811161240757601f01601f191660200190565b3d15612b3e573d90612b2582612af9565b91612b3360405193846125f4565b82523d5f602084013e565b606090565b60405190612b50826125a2565b5f6080838281528260208201528260408201528260608201520152565b335f9081527f176c3a4e1b4d1d61213187c0dde7f83e2e2c933a339cb5403b4090bc2f0aa49a602052604090205460ff1615612ba557565b63e2517d3f60e01b5f52336004527f880a9ba888678c7fe4e8c4f028c224f26ce12a3bed6e96025c61ef8a5db6312f60245260445ffd5b335f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d602052604090205460ff1615612c1457565b63e2517d3f60e01b5f52336004525f60245260445ffd5b335f9081527fcf7720576cdb70176b3017d893bcb89ba0f36ed0261d4350fd0180e938b3bacd602052604090205460ff1615612c6357565b63e2517d3f60e01b5f52336004527f5300fde95a5e446527bf6aa7c91bd6661bef5398afc77061d9bc87efb80b7ef660245260445ffd5b805f525f516020615b2f5f395f51905f5260205260405f206001600160a01b0333165f5260205260ff60405f20541615612cd15750565b63e2517d3f60e01b5f523360045260245260445ffd5b6024906001600160401b03612d56939481604051936001600160a01b03602086019816885216604084015216606082015260608152612d276080826125f4565b6040519384916280000360e11b60208401525180918484015e81015f838201520301601f1981018352826125f4565b7333333333333333333333333333333333333333333b156121ad575f612d9891604051809381926317938e1360e01b835260206004840152602483019061257e565b0381837333333333333333333333333333333333333333335af180156121a257612dbf5750565b5f612dc9916125f4565b565b6001600160a01b0390612ddc612a8a565b50165f525f516020615b0f5f395f51905f5260205260405f2060405191612e02836125bd565b60405191612e0f836125d8565b6040518154815f612e1f83612ac1565b8083529260018116908115612fec5750600114612fab575b612e43925003826125f4565b8352600181019360405180602087549182815201965f5260205f20905f915b816003840110612f5f5797612ea39284926001600160a01b039798999a5491818110611d9757818110611d7a57818110611d5d5710611d4f575003826125f4565b60208601528160028401546001600160401b038116604088015260401c1660608601526001600160401b0360066003850154946080880197858716895260ff8760a01c1660a082015260c081019660ff8160a81c16885260b01c5f0b60e0820152845260ff6004820154848116602087015260401c1615156040850152600581015460608501520154818116608084015260401c1660a082015293511615159081612f51575b50156121ad57565b60ff9150511615155f612f49565b97600160806004928b546001600160401b03811682526001600160401b038160401c1660208301526001600160401b0381841c16604083015260c01c6060820152019901920191612e62565b5090835f5260205f20905f915b818310612fd0575050906020612e4392820101612e37565b6020919350806001915483858801015201910190918392612fb8565b60209250612e4394915060ff191682840152151560051b820101612e37565b60405160208101913060601b83526bffffffffffffffffffffffff199060601b166034820152602881526130406048826125f4565b51902090565b519081151582036121ad57565b5f80916040516001600160a01b036020820192168252602081526130786040826125f4565b51906108105afa613087612b14565b90156130cb576020818051810103126121ad5760405190602082018281106001600160401b03821117612407576040526130c390602001613046565b809152151590565b6313dd7ccd60e31b5f5260045ffd5b6130e690610b8d612b43565b906001600160a01b036001604051936130fe856125a2565b63ffffffff8154818116875260ff8160201c1615156020880152818160281c16604088015260481c1660608601520154169182608082015291156121ad57565b60405163a9059cbb60e01b60208201526001600160a01b03929092166024830152604480830193909352918152612dc99161317a6064836125f4565b614c86565b51906001600160401b03821682036121ad57565b5f919082916001600160401b03604051916001600160a01b036020840194168452166040820152604081526131c96060826125f4565b51906108015afa6131d8612b14565b9015613246576060818051810103126121ad576040519060608201918083106001600160401b03841117612407576001600160401b0392604052604061323f60606132256020860161317f565b9485855261323484820161317f565b60208601520161317f565b9101521690565b639d2c8fcb60e01b5f5260045ffd5b906001600160401b03809116911603906001600160401b0382116126c257565b95929190939495805f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0360205260405f20916001600160a01b038354169586156134ed576002840180549860ff8a60481c166134de576001600160a01b03600187015491166001600160a01b038216036134cb576001600160401b039060a01c166001600160401b038a1660ff8b60401c165f14613474575080926001600160401b03811682115f1461346c5761332c91613255565b985b6133388a8c6126a2565b9a6001600160401b038c166001600160401b0385161161345b575069010000000000000000009069ff000000000000000000191617905561337b8160019a613255565b966001600160401b0360206001600160a01b0361339f60e0875101515f0b8d613565565b50981694015116833b156121ad5760405163a703334f60e01b81526001600160401b0391821660048201526001600160a01b0392909216602483015282166044820152915f908390606490829084905af19081156121a2577f53b9d5645f8b7ccd861ebd6036860fd21716451d1f238cb3720f12f3c49b0c439260409261344b575b506001600160a01b0360018187541696015416956001600160401b038351921682526020820152a4565b5f613455916125f4565b5f613421565b5f9b508b9a50985050505050505050565b50505f61332c565b9092809a93806001600160401b038316105f146134c05761349f9161349891613255565b809b6126a2565b816001600160401b038216115f146134b957505b9161332e565b90506134b3565b505061349f5f613498565b8463358d72d160e01b5f5260045260245ffd5b63f7348a7960e01b5f5260045ffd5b631a40316d60e01b5f5260045ffd5b60ff16604d81116126c257600a0a90565b919082039182116126c257565b8115613524570490565b634e487b7160e01b5f52601260045260245ffd5b90620f4240820291808304620f424014901517156126c257565b818102929181159184041417156126c257565b9190805f0b80155f146135825750506001600160401b0382169190565b5f8113156135ad575061359a6135a99160ff166134fc565b6001600160401b038416613552565b9190565b9050607f1981146126c2576001600160401b03926135d26135db925f0360ff166134fc565b938491166126d6565b5f1981019081116126c2576136026135fb846001600160401b039361351a565b9384613552565b1690565b61362c6001600160401b039293613626849361362181614d1f565b613193565b946126a2565b169116101590565b805f525f516020615b2f5f395f51905f5260205260405f206001600160a01b0383165f5260205260ff60405f205416155f146136d557805f525f516020615b2f5f395f51905f5260205260405f206001600160a01b0383165f5260205260405f20600160ff198254161790556001600160a01b03339216907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b50505f90565b805f525f516020615b2f5f395f51905f5260205260405f206001600160a01b0383165f5260205260ff60405f2054165f146136d557805f525f516020615b2f5f395f51905f5260205260405f206001600160a01b0383165f5260205260405f2060ff1981541690556001600160a01b03339216907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b907f0000000000000000000000000000000000000000000000000000000000000000604083016137b16001600160a01b03825116613053565b156142f2576001600160a01b038216805f525f516020615b0f5f395f51905f5260205260405f2090604051946137e6866125bd565b6040516137f2816125d8565b6040518454815f61380283612ac1565b80835292600181169081156142d35750600114614292575b613826925003826125f4565b815260018401604051808260208294549384815201905f5260205f20925f905b80600383011061424057613878945491818110611d9757818110611d7a57818110611d5d5710611d4f575003826125f4565b60208201526001600160a01b0360028501546001600160401b038116604084015260401c16606082015260038401546001600160a01b038116608083015260ff8160a01c1660a083015260ff8160a81c1660c083015260b01c5f0b60e08201528652600660048401549360ff60208901956001600160401b038116875260401c1615156040890152600581015460608901520154966001600160401b03881660808801526001600160401b0360a088019860401c168852606081016001600160a01b038151165f525f516020615b0f5f395f51905f5260205260405f209560405196613963886125bd565b60405161396f816125d8565b6040518254815f61397f83612ac1565b808352926001811690811561422157506001146141e0575b6139a3925003826125f4565b81526040516001830180548083525f9182526020808320849391840192905b81600384011061418e575491818110614174575b818110614157575b81811061413a575b1061412c575b50036139f890826125f4565b602082015260028201546001600160401b038116604083015260401c6001600160a01b0316606082015260038201546001600160a01b03811660808301528060a01c60ff1660a08301528060a81c60ff1660c083015260b01c5f0b60e0820152885260048101546001600160401b03811660208a015260401c60ff161515604089015260058101546060890152600601546001600160401b038116608089015260401c6001600160401b031660a088015281516001600160a01b0316613abd906130da565b9383519060a08501918251996080870191825115159b613adc916126d6565b8d5160e001515f0b613aed91614a1b565b90508d5160c0015160ff16825160c0015160ff1690613b0b92614f80565b9a156140fe578a925b5f8063ffffffff8b51166040516020810191825260208152613b376040826125f4565b51906108085afa613b46612b14565b90156140ef576020818051810103126121ad57898f9360ff60a0613b949260206001600160401b03613b7c82613b9a990161317f565b16950197885115155f146140e45750510151166134fc565b90613552565b82511561409a5763ffffffff613bb58160608d015116614d45565b16620f4240019081620f4240116126c257613beb620f424091613b946001600160401b039463ffffffff8f6040015116906126d6565b0416908351908115155f146140925750915b5115614051576305f5e10081101561401157505f5b613c32613c1f8651613538565b613c2c8a518851906126d6565b906126d6565b5f198101919082116126c257613c2c613c5892613c528b518951906126d6565b9061351a565b60648083028381048214841517156126c2578211613f975750505085518c5160e001515f0b613c8691614a1b565b9d8e8b9c929c516001600160401b031691516001600160401b031690613cab92613606565b15613f47579c8a9b9c9d85516001600160a01b03169387516001600160a01b0316935115159360405195613cde876125bd565b86526020860190815260408601926001600160401b03169485845260608701926001600160401b0316968784526080810191825260a08101925f845260208d019586515f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0360205260405f2092516001600160a01b03166001600160a01b031683546001600160a01b0319161783556001830191516001600160a01b03166001600160a01b031682546001600160a01b0319161782555181549060a01b7bffffffffffffffff000000000000000000000000000000000000000016907fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff1617905560020192516001600160401b03166001600160401b03166001600160401b0319845416178355511515613e3490839068ff0000000000000000825491151560401b169068ff00000000000000001916179055565b51151581549060481b69ff000000000000000000169069ff00000000000000000019161790555194516001600160a01b031695516001600160a01b03169651935160405194855260208501526001600160401b031660408401526060830152608082015260a07f550576b2f9e0ac12dfd5dd2d5743b5b7f11f34302b5f6bec6ad60db81bd6a91891a4608001516001600160a01b03169283613ed59261313e565b516001600160401b0316935160e001515f0b93813b156121ad57604051639c45c34b60e01b81526001600160a01b039490941660048501526001600160401b0316602484015260448301919091525f92830b60648301529091908290608490829084905af180156121a257612dbf5750565b5050505050945095505092505081612dc9947f8d61555dcf69ba745e97fdea78e2652d9cdd464ca521faad482fe796f6d5841c602080870151926001600160401b0360405191168152a352614a9c565b999c5099509c50505050509450809650602091500151906001600160a01b03845116928181018091116126c2575f1981019081116126c257811561352457612dc9977fc8f90125c6a36c77a571201afc10310420481ab4895fadabb596d0ba71c22e3e92604092049082519182526020820152a352614367565b6305f5e0ff19016001600160401b0381116126c25761404b6140406001600160401b036305f5e1009316613538565b6305f5e0ff906126d6565b04613c12565b6305f5e10081111561406457505f613c12565b6305f5e100036001600160401b0381116126c25761404b6140406001600160401b036305f5e1009316613538565b905091613bfd565b63ffffffff6140ae8160608d015116614d45565b16620f42400390620f424082116126c257613beb620f424091613b946001600160401b039463ffffffff8f60400151169061350d565b9050510151166134fc565b635cffc5fb60e11b5f5260045ffd5b826127100361271081116126c2576127106141236001600160401b0392838f16613552565b04169a92613b14565b60c01c81526020015f6139ec565b9260206001916001600160401b038560801c1681520193016139e6565b9260206001916001600160401b038560401c1681520193016139de565b9260206001916001600160401b03851681520193016139d6565b935090916001608060049286546001600160401b03811682526001600160401b038160401c1660208301526001600160401b0381841c16604083015260c01c60608201520194019201908493926139c2565b5090845f5260205f20905f915b8183106142055750509060206139a392820101613997565b60209193508060019154838588010152019101909183926141ed565b602092506139a394915060ff191682840152151560051b820101613997565b916004919350608060019186546001600160401b03811682526001600160401b038160401c1660208301526001600160401b0381841c16604083015260c01c6060820152019401920184929391613846565b5090865f5260205f20905f915b8183106142b75750509060206138269282010161381a565b602091935080600191548385880101520191019091839261429f565b6020925061382694915060ff191682840152151560051b82010161381a565b6080840151909392501561431d576001600160a01b038351166320a2097d60e11b5f5260045260245ffd5b6001600160a01b0390612dc9937f31604f5790fbed7a37471cea010a8f08483441a6e1235ac48bb59337439a630d60208481870151935116604051908152a2166060820152614a9c565b6060810151906001600160a01b035f921691825f525f516020615b0f5f395f51905f5260205260405f206040519161439e836125bd565b6040516143aa816125d8565b6040518354815f6143ba83612ac1565b80835292600181169081156149e657506001146149a5575b6143de925003826125f4565b815260018301604051808260208294549384815201905f5260205f20925f905b80600383011061495357614430945491818110611d9757818110611d7a57818110611d5d5710611d4f575003826125f4565b60208201526001600160a01b0360028401546001600160401b038116604084015260401c16606082015260038301546001600160a01b038116608083015260ff8160a01c1660a083015260ff8160a81c1660c083015260b01c5f0b60e08201528352600660048301549260ff60208601946001600160401b038116865260401c1615156040860152600581015460608601520154906001600160401b03821660808501526001600160401b0360a085019260401c16825260408501936144ff6001600160a01b03865116613053565b156148e35785519261271061452861451d60a08a01968751906126d6565b60808a015190613552565b04948451958087116148db575b5085614839575b61457461455b61454d888b516126d6565b60e0865101515f0b90614a1b565b919093826001600160401b038086511692511691613606565b156147eb57508561475c575b6001600160401b036145ef916145c68b6001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0460205260405f2090565b6145d18982546126d6565b905551169160e06001600160a01b0389511694510151850b90614a1b565b909182614659575b5050505050907fb021c853215aadb12b6fa8afa7b3158201517d9abf7f756cdbb67bd66abc5a1c916146546001600160a01b0360208701519551169551915192604051938493846040919493926060820195825260208201520152565b0390a4565b8061471557505061466a8189614e43565b736b9e773128f453f5c2c60935ee2de2cbc5390a243b156104da576040519163611e2a2d60e11b83526004830152602482015263ffffffff6044820152818160648183736b9e773128f453f5c2c60935ee2de2cbc5390a245af180156104de57614700575b5050907fb021c853215aadb12b6fa8afa7b3158201517d9abf7f756cdbb67bd66abc5a1c915b90915f8080806145f7565b61470b8280926125f4565b61021757806146cf565b7fb021c853215aadb12b6fa8afa7b3158201517d9abf7f756cdbb67bd66abc5a1c9695945061475261475794929361474c83614d1f565b8c61313e565b612ce7565b6146f5565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016803b156121ad5760405163f3fef3a360e01b81526001600160a01b038b16600482015260248101889052905f908290604490829084905af180156121a2576147cf575b50614580565b6147dc9194505f906125f4565b5f926001600160401b036147c9565b9793505050507f8d61555dcf69ba745e97fdea78e2652d9cdd464ca521faad482fe796f6d5841c93506020925082915061482481614a9c565b0151926001600160401b0360405191168152a3565b614848868a60208b0151614d60565b61453c576040516370a0823160e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031660048201529095506020816024818c5afa9081156121a2575f916148a9575b509461453c565b90506020813d6020116148d3575b816148c4602093836125f4565b810103126121ad57515f6148a2565b3d91506148b7565b95505f614535565b50505050608082015190925015614911576001600160a01b038251166320a2097d60e11b5f5260045260245ffd5b612dc9917f31604f5790fbed7a37471cea010a8f08483441a6e1235ac48bb59337439a630d60206001600160a01b0381850151935116604051908152a2614a9c565b916004919350608060019186546001600160401b03811682526001600160401b038160401c1660208301526001600160401b0381841c16604083015260c01c60608201520194019201849293916143fe565b5090855f5260205f20905f915b8183106149ca5750509060206143de928201016143d2565b60209193508060019154838588010152019101909183926149b2565b602092506143de94915060ff191682840152151560051b8201016143d2565b818110614a10575050565b5f8155600101614a05565b9190805f0b9081155f14614a385750506001600160401b03821690565b5f821315614a7357614a4d915060ff166134fc565b91821561352457613602614a6c82856001600160401b0394069061350d565b938461351a565b505f0380805f0b036126c257613602614a966001600160401b039260ff166134fc565b84613552565b8051612710614abf614ab460a08501938451906126d6565b608085015190613552565b0481518181115f14614c7e5750905b81906020840191614af183519460608701956001600160a01b0387511690614d60565b15614c77575b80614bc1575b7f4755f239bb1b047245415cb917deced72a3ca8baebcef109c396ff332ea6f50f916146546001600160a01b0380614b36858a516126d6565b96614b4e828a51169860408c0199848b51169061313e565b614b8b828a51166001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0460205260405f2090565b614b968782546126d6565b9055519651169651169651915192604051938493846040919493926060820195825260208201520152565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916001600160a01b0385511692803b156121ad5760405163f3fef3a360e01b81526001600160a01b03949094166004850152602484018390525f908490604490829084905af19283156121a2577f4755f239bb1b047245415cb917deced72a3ca8baebcef109c396ff332ea6f50f93614c67575b509150614afd565b5f614c71916125f4565b5f614c5f565b505f614af7565b905090614ace565b906001600160a01b03614ce792165f8060405193614ca56040866125f4565b602085527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564602086015260208151910182855af1614ce1612b14565b91614fdf565b8051908115918215614cfd575b5050156121ad57565b81925090602091810103126121ad576020614d189101613046565b5f80614cf4565b6001600160401b03166001609d1b01806001609d1b116126c2576001600160a01b031690565b63ffffffff60649116029063ffffffff82169182036126c257565b6040516370a0823160e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811660048301529092169392909190602082602481885afa9182156121a2575f92614e0f575b5080821094851595614dd0575b50505050565b7f5180f0ad9e9bd2296de2ee38c85d11c56613fa73f8ee66792f26ac318f1274749260609260405192835260208301526040820152a25f808080614dca565b9091506020813d602011614e3b575b81614e2b602093836125f4565b810103126121ad5751905f614dbd565b3d9150614e1e565b9060405190602082019063095ea7b360e01b8252736b9e773128f453f5c2c60935ee2de2cbc5390a246024840152604483015260448252614e856064836125f4565b5f806001600160a01b0385169284519082855af190614ea2612b14565b82614f10575b5081614f05575b5015614eb9575050565b612dc99161317a60405163095ea7b360e01b6020820152736b9e773128f453f5c2c60935ee2de2cbc5390a2460248201525f604482015260448152614eff6064826125f4565b82614c86565b90503b15155f614eaf565b80519192508115918215614f28575b5050905f614ea8565b81925090602091810103126121ad576020614f439101613046565b5f80614f1f565b51906001600160a01b03821682036121ad57565b519060ff821682036121ad57565b9060ff8091169116039060ff82116126c257565b9160ff811660ff83168181145f14614f99575050505090565b6001600160401b039492911115614fc757614fc0614fbb613602948693614f6c565b6134fc565b9116613552565b614fd8614fbb859261360295614f6c565b911661351a565b91925015614ffb57815115614ff2575090565b3b156121ad5790565b5080519081156121ad57602001fdfe60a080604052346100455733608052610aba908161004a82396080518181816086015281816101b80152818161039a015281816104d50152818161054c01526106a40152f35b5f80fdfe60806040526004361015610011575f80fd5b5f5f3560e01c8063435354d31461050a57806390a0827b146104a55780639c45c34b146100ad578063a703334f1461033e578063de1a324a146100cb578063e94b77c1146100ad5763eba61c0e14610067575f80fd5b346100aa57806003193601126100aa5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b80fd5b50346100aa576100c86100bf366105ee565b92919091610699565b80f35b50346100aa57366003190161010081126103265760a0136100aa5760405160a0810181811067ffffffffffffffff82111761032a5760405261010b6105db565b91828252602435918215158303610326576020810192835260443563ffffffff8116810361032257604082015260643563ffffffff81168103610322576060820152608435906001600160a01b0382168203610322576080015260a43567ffffffffffffffff81168091036103265760c4359067ffffffffffffffff82168092036103225760e435946fffffffffffffffffffffffffffffffff861680960361031e576001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016330361031e5763ffffffff6101ed911661066c565b9351151592811561030f57821561030057916102819391600493506040519263ffffffff60208501971687526040840152606083015260808201525f945f60a0830152600260c083015260e082015260e0815261024c61010082610636565b6020604051948592630100000160e01b83850152518091602485015e8201018281015f8152500301601f198101835282610636565b7333333333333333333333333333333333333333333b156102fc575f6102bb91604051809381926317938e1360e01b8352600483016108ff565b0381837333333333333333333333333333333333333333335af180156102f1576102e3575080f35b6102ef91505f90610636565b005b6040513d5f823e3d90fd5b5f80fd5b6313c0a8df60e01b8152600490fd5b63017461b760e71b8152600490fd5b8380fd5b8280fd5b5080fd5b634e487b7160e01b83526041600452602483fd5b50346100aa5760603660031901126100aa578060043567ffffffffffffffff811680910361049c57602435906001600160a01b0382168092036104a15760443567ffffffffffffffff811680910361049f576001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016330361049f5761041f91600491604051916020830195865260408301526060820152606081526103eb608082610636565b60206040519485926280000360e11b83850152518091602485015e820101828101868152500301601f198101835282610636565b7333333333333333333333333333333333333333333b1561049c578161045991604051809381926317938e1360e01b8352600483016108ff565b0381837333333333333333333333333333333333333333335af18015610491576104805750f35b8161048a91610636565b6100aa5780f35b6040513d84823e3d90fd5b50fd5b505b5050fd5b50346100aa5760403660031901126100aa576004356001600160a01b038116809103610326576001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163303610326576100c890602435903390610929565b50346102fc5760403660031901126102fc576105246105db565b602435906fffffffffffffffffffffffffffffffff82168092036102fc576001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633036102fc5760046105806102819261066c565b926040519063ffffffff60208301951685526040820152604081526105a6606082610636565b6020604051948592630100000b60e01b83850152518091602485015e8201018281015f8152500301601f198101835282610636565b6004359063ffffffff821682036102fc57565b60809060031901126102fc576004356001600160a01b03811681036102fc579060243567ffffffffffffffff811681036102fc579060443590606435805f0b81036102fc5790565b90601f8019910116810190811067ffffffffffffffff82111761065857604052565b634e487b7160e01b5f52604160045260245ffd5b63ffffffff6127109116019063ffffffff821161068557565b634e487b7160e01b5f52601160045260245ffd5b926001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633036102fc57805f0b9081155f1461088f5750505b816106e357505050565b67ffffffffffffffff16806108685750906001600160a01b03166040515f806020830163095ea7b360e01b8152736b9e773128f453f5c2c60935ee2de2cbc5390a2460248501528560448501526044845261073f606485610636565b83519082865af161074e610a1a565b81610839575b508061082f575b156107d7575b5050736b9e773128f453f5c2c60935ee2de2cbc5390a243b156102fc5760405190630acb7f4b60e21b8252600482015263ffffffff60248201525f8160448183736b9e773128f453f5c2c60935ee2de2cbc5390a245af180156102f1576107c7575b505b565b5f6107d191610636565b5f6107c3565b6108289161082360405163095ea7b360e01b6020820152736b9e773128f453f5c2c60935ee2de2cbc5390a2460248201525f60448201526044815261081d606482610636565b82610978565b610978565b5f80610761565b50813b151561075b565b805180159250821561084e575b50505f610754565b6108619250602080918301019101610960565b5f80610846565b6001609d1b0191826001609d1b11610685576001600160a01b03806107c594169116610929565b5f8213156108d0576108a4915060ff16610a09565b80156108bc57808306830392831161068557506106d9565b634e487b7160e01b5f52601260045260245ffd5b505f0380805f0b03610685576108e89060ff16610a09565b8281810291818304149015171561068557506106d9565b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b6107c5926001600160a01b036040519363a9059cbb60e01b6020860152166024840152604483015260448252610823606483610636565b908160209103126102fc575180151581036102fc5790565b906001600160a01b036109d992165f8060405193610997604086610636565b602085527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564602086015260208151910182855af16109d3610a1a565b91610a59565b80519081159182156109ef575b5050156102fc57565b610a029250602080918301019101610960565b5f806109e6565b60ff16604d811161068557600a0a90565b3d15610a54573d9067ffffffffffffffff82116106585760405191610a49601f8201601f191660200184610636565b82523d5f602084013e565b606090565b91925015610a7557815115610a6c575090565b3b156102fc5790565b5080519081156102fc57602001fdfea26469706673582212203879dec62ee6969ddc1e719a778a3189d3e8f96806386657ebe93811d6723d1b64736f6c634300081e00336c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800a26469706673582212208e9caca3f731db1f887e8a59abe9f082d26d5774b810cdaa162e708e16ec228764736f6c634300081e0033bd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ffb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268000000000000000000000000003a73033c0b1407574c76bdbac67f126f6b4a9aa9000000000000000000000000904861a24f30ec96ea7cfc3be9ea4b476d237e980000000000000000000000001d7c1398df7c823068e6a120d3921847929d428e000000000000000000000000b8ce59fc3717ada4c02eadf9682a9e934f625ebb0000000000000000000000002b20df3471e2751840a9c921696d62ea8bc4a391", + "nonce": "0x3cf", "chainId": "0x3e7" }, "additionalContracts": [ { "transactionType": "CREATE", "contractName": "HyperCoreFlowExecutor", - "address": "0x325f00c155ae001f1713d48d4b04c87d5a6492b3", - "initCode": "0x60c0346100d157601f615ba038819003918201601f19168301916001600160401b038311848410176100d55780849260409485528339810103126100d157610052602061004b836100e9565b92016100e9565b6001600160a01b0390911660805260a052604051615aa290816100fe8239608051818181610842015281816109820152818161143a015281816116c7015281816127bb015281816145ca015281816146ec01528181614a5c0152614c00015260a051818181610610015281816107740152818161191101526136c80152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036100d15756fe60806040526004361015610011575f80fd5b5f5f3560e01c806246912e146123be57806301ffc9a714612368578063037a06a41461211c57806304c73f60146120fe578063057f0370146120445780631f74a0b514611fd257806321081d3c14611f97578063248a9ca314611f575780632e748b2114611dfb5780632f2ff15d14611db0578063319adf9f146119e857806336568abe146119a357806337710e201461194e57806339fff098146118b75780633b1c6a01146115bc5780633cf3a025146115875780634265fe861461153c578063490e662f146115015780634b3b029b146114c6578063502a82e214611409578063521c98ba14610cd857806369b97ac714610cba57806379c7b60b14610c6557806379c7f28914610b6657806390a0827b14610b2d57806391d1485414610ad657806396cc2cfb14610882578063a217fddf14610866578063a4b672b614610822578063af5de6f914610798578063c55dae6314610754578063ccbedaec146104e9578063d06e28ed146103fc578063d547741f146103a8578063e38b73a91461038c578063ea0aaf241461032e578063eb84e7f21461021a5763ff3eae00146101bb575f80fd5b346102175760c0366003190112610217576101d536612562565b7fc56a3250645180a53cd9e196b2ee0a634a4f54e2edf59ea457f2083917e4d1005415610208576102059061492d565b80f35b63cd6d8f7d60e01b8252600482fd5b80fd5b50346102175760203660031901126102175760408160c09260a0835161023f8161250a565b8281528260208201528285820152826060820152826080820152015260043581527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0360205220604051906102928261250a565b6001600160a01b03815416918281526001600160401b0360018301549281600260208501926001600160a01b038716845282604087019760a01c1687520154946001600160a01b036060860193838816855260ff60a06080890198828b60401c1615158a52019860481c1615158852604051988952511660208801525116604086015251166060840152511515608083015251151560a0820152f35b503461021757602036600319011261021757602061038361034d612421565b6001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0560205260405f2090565b54604051908152f35b5034610217578060031936011261021757602060405160068152f35b5034610217576040366003190112610217576103f86004356103c8612437565b906103f36103ee825f525f516020615a4d5f395f51905f52602052600160405f20015490565b612be7565b613628565b5080f35b503461021757604036600319011261021757610416612421565b602435906fffffffffffffffffffffffffffffffff82168092036104da5761043c612b78565b8261044682613027565b63ffffffff6001600160a01b03608083015116915116813b156104da57829160448392604051948593849263435354d360e01b845260048401528960248401525af180156104de576104c5575b50506001600160a01b03167f02366c0d102495be1ee805b749be7baebab4fc0710c6d3f38751f1a22bd711648380a380f35b816104cf91612541565b6104da57825f610493565b8280fd5b6040513d84823e3d90fd5b50346102175760603660031901126102175780610504612421565b61050c61244d565b610514612463565b9061051d612aba565b610557836001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0260205260405f2090565b544311156106b2574361059a846001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0260205260405f2090565b556001600160a01b0360016105df856001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0160205260405f2090565b015416926001600160401b0382166106b7575b50506001600160401b038116610606575050f35b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001683525f516020615a2d5f395f51905f526020526001600160401b0360046040852001541690823b156106b25760405163a703334f60e01b81526001600160401b039283166004820152336024820152911660448201529082908290606490829084905af180156104de576106a15750f35b816106ab91612541565b6102175780f35b505050fd5b6001600160a01b031684525f516020615a2d5f395f51905f526020526001600160401b03600460408620015416833b156107505760405163a703334f60e01b81526001600160401b03918216600482015233602482015291166044820152838160648183875af1908115610745578491156105f2578161073691612541565b61074157825f6105f2565b5050fd5b6040513d86823e3d90fd5b8480fd5b503461021757806003193601126102175760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b50346102175760203660031901126102175760206001600160a01b036107c46107bf612421565b612f58565b610b046040516107d685830182612541565b81815284810191614f298339519020604051908482019260ff60f81b84523060601b60218401526035830152605582015260558152610816607582612541565b51902016604051908152f35b503461021757806003193601126102175760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b5034610217578060031936011261021757602090604051908152f35b50346102175760403660031901126102175761089c612421565b906108a5612b78565b6108ae82612d18565b6108b783613027565b926108cb60e083510151840b6024356148ac565b9460208401906108f46001600160401b03835116886001600160401b0360a08901511691613553565b15610aad57859650610936846001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0460205260405f2090565b610941848254612623565b90556001600160a01b038416807f410b9a8c926b6c439cdceb39c0bb8f829838a25bc5a26af9d4c263d1313cc46b6020604051878152a26001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016803b15610aa95760405163f3fef3a360e01b81526001600160a01b0383166004820152602481018690529088908290604490829084905af18015610a9e5785918991610a81575b50506001600160401b0391610a116001600160a01b0392608060e0960192848451169061308b565b511692511694510151850b93813b15610a7d57604051639c45c34b60e01b81526001600160a01b039490941660048501526001600160401b0316602484015260448301919091525f9290920b60648201529082908290608490829084905af180156104de576106a15750f35b8580fd5b81925090610a8e91612541565b610a9a5783875f6109e9565b8680fd5b6040513d8a823e3d90fd5b8780fd5b6377e88bc960e11b86526001600160a01b0384166004526001600160401b038716602452604486fd5b5034610217576040366003190112610217576001600160a01b036040610afa612437565b9260043581525f516020615a4d5f395f51905f526020522091165f52602052602060ff60405f2054166040519015158152f35b503461021757604036600319011261021757610205610b4a612421565b610b52612aba565b602435906001600160a01b0333911661308b565b50346102175760203660031901126102175760a0610bc4610b85612421565b610b8d612a90565b506001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0160205260405f2090565b6001600160a01b03600160405192610bdb846124ef565b63ffffffff8154818116865260ff8160201c1615156020870152818160281c16604087015260481c1660608501520154166080820152610c6360405180926001600160a01b036080809263ffffffff815116855260208101511515602086015263ffffffff604082015116604086015263ffffffff6060820151166060860152015116910152565bf35b5034610217576020366003190112610217576020610383610c84612421565b6001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0460205260405f2090565b50346102175780600319360112610217576020604051620f42408152f35b50346102175760a036600319011261021757610cf2612421565b610cfa612479565b90610d0361248c565b6064356001600160401b038116810361075057608435916001600160401b0383168303610a7d57610d32612b29565b610d3a612999565b508580604051602081019063ffffffff8916825260208152610d5d604082612541565b519061080c5afa610d6c612a61565b90156113fa578051810160208101916020818303126113d6576020810151906001600160401b0382116113f65701906101009082900312610aa95760405191610db483612525565b60208201516001600160401b0381116113f65760209083010181601f820112156113f65789815191610de583612a46565b92610df36040519485612541565b80845284602082840101116104da578060208093018386015e83010152835260408201516001600160401b0381116113f6576020908301019080601f830112156113f6578151916001600160401b0383116113c2578260051b9060405193610e5e6020840186612541565b84526020808501928201019283116113f257602001905b8282106113da57505050602083015261010090610e94606082016130cc565b6040840152610ea560808201614e68565b6060840152610eb660a08201614e68565b6080840152610ec760c08201614e7c565b60a0840152610ed860e08201614e7c565b60c0840152015180880b8082036113d657610ef89160e0840152846134b2565b5060405191610f068361250a565b825263ffffffff87166020830152821515604083015260608201526001600160401b03831660808201526001600160401b03841660a08201526001600160a01b03851687525f516020615a2d5f395f51905f5260205260408720815180518051906001600160401b0382116113c25781908b610f828654612a0e565b601f8111611387575b5050602090601f8311600114611325578c9261131a575b50508160011b915f199060031b1c19161782555b6001820160208201518051906001600160401b03821161130657680100000000000000008211611306576020908c84548486558085106112ba575b505001918b5260208b20908b5b8160021c811061127557506003198116810380611219575b505050506001600160a01b03947f12cf3d04179e82c834f3ee7169a5df80651aa65530127f9ddb04c8cd8224435397946001600160401b039460a06006868896600260809d9901888060408401511616891982541617815560608201517fffffffff0000000000000000000000000000000000000000ffffffffffffffff7bffffffffffffffffffffffffffffffffffffffff000000000000000083549260401b16911617905560038201908c808f83015116166001600160a01b0319835416178255848101519082547fffffffffffffffffff000000ffffffffffffffffffffffffffffffffffffffff74ff000000000000000000000000000000000000000060e075ff00000000000000000000000000000000000000000060c086015160a81b1694015160b01b76ff000000000000000000000000000000000000000000001694891b16911617171790556111a76004820188806020880151161689198254161781556040860151151568ff0000000000000000825491151560401b169068ff00000000000000001916179055565b60608401516005820155019185808c8301511616861984541617835501516fffffffffffffffff000000000000000082549160401b16906fffffffffffffffff0000000000000000191617905563ffffffff6040519a168a52151560208a01521660408801521660608601521692a280f35b928c938d5b8181106112375750505060021c015584848460a0611016565b909194602061126b6001926001600160401b03895116908560031b6001600160401b03809160031b9316831b921b19161790565b960192910161121e565b8c8d5b6004811061128d575083820155600101610ffe565b85519095916001916020916001600160401b0360068a901b81811b199092169216901b1792019501611278565b8382876112e6945220600380870160021c820192601888831b16806112ed575b500160021c0190614896565b8c5f610ff1565b5f198501908154905f19908a03851b1c1690555f6112da565b634e487b7160e01b8c52604160045260248cfd5b015190505f80610fa2565b858d52818d209250601f1984168d5b81811061136f5750908460019594939210611357575b505050811b018255610fb6565b01515f1960f88460031b161c191690555f808061134a565b92936020600181928786015181550195019301611334565b602082886113b1945220601f850160051c810191602086106113b8575b601f0160051c0190614896565b8b5f610f8b565b90915081906113a4565b634e487b7160e01b8b52604160045260248bfd5b8880fd5b602080916113e7846130cc565b815201910190610e75565b8b80fd5b8980fd5b639b0c335d60e01b8752600487fd5b503461021757604036600319011261021757611423612421565b60243561142e612aba565b826001600160a01b03807f000000000000000000000000000000000000000000000000000000000000000016931692803b156114c25760405163f3fef3a360e01b81526001600160a01b0385166004820152602481018490529082908290604490829084905af180156104de576114ad575b505061020591339061308b565b816114b791612541565b6104da57825f6114a0565b5080fd5b503461021757806003193601126102175760206040517f5300fde95a5e446527bf6aa7c91bd6661bef5398afc77061d9bc87efb80b7ef68152f35b503461021757806003193601126102175760206040517fc56a3250645180a53cd9e196b2ee0a634a4f54e2edf59ea457f2083917e4d1008152f35b50346102175760c03660031901126102175761155736612562565b7fc56a3250645180a53cd9e196b2ee0a634a4f54e2edf59ea457f2083917e4d100541561020857610205906142b4565b5034610217576020366003190112610217576115a1612aba565b80808080600435335af16115b3612a61565b50156102175780f35b5034610217576060366003190112610217576115d6612437565b604435906001600160a01b0382169182810361186e576115f4612b78565b6115fd81612d18565b61160683612fa0565b610750576040810151156107505760016001600160401b03608083015116016001600160401b0381116118a35790859161164760e083510151840b826134b2565b509361167160208401926001600160401b03845116906001600160401b0360a08701511691613553565b1561186e576116b0816001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0560205260405f2090565b6116bb868254612623565b90556001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016803b156107505760405163f3fef3a360e01b81526001600160a01b0389166004820152602481018790529085908290604490829084905af1908115611898578591611883575b50506001600160401b039261174d60e08585511692510151860b876148ac565b509081611872575b5050505116926117bf60246040516001600160a01b036020820194169687855260408201526001606082015260608152611790608082612541565b6040519384916280000360e11b60208401525180918484015e810185838201520301601f198101835282612541565b7333333333333333333333333333333333333333333b156114c2578161180191604051809381926317938e1360e01b83526020600484015260248301906124cb565b0381837333333333333333333333333333333333333333335af180156104de57611859575b50506040519081527f2b348084e891b20d449a69f90114c5ab7bf7c84d64c25445c8ab440d469a6b4d602060043592a480f35b8161186391612541565b61186e57835f611826565b8380fd5b61187b92614cd4565b5f8080611755565b8161188d91612541565b61186e57835f61172d565b6040513d87823e3d90fd5b634e487b7160e01b86526011600452602486fd5b50346102175760e0366003190112610217576118d236612562565b7fc56a3250645180a53cd9e196b2ee0a634a4f54e2edf59ea457f2083917e4d1005415610208576001600160a01b036060820151166001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145f1461194157610205906142b4565b6102059060c435906136c5565b503461021757602036600319011261021757602061038361196d612421565b6001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0260205260405f2090565b5034610217576040366003190112610217576119bd612437565b336001600160a01b038216036119d9576103f890600435613628565b63334bd91960e11b8252600482fd5b5034610217576020366003190112610217576001600160a01b03611a0a612421565b611a126129d7565b501681525f516020615a2d5f395f51905f52602052604081209060405190611a398261250a565b604051611a4581612525565b60405184548184611a5583612a0e565b8083529260018116908115611d915750600114611d50575b611a7992500382612541565b815260018401604051808260208294549384815201908652602086209286905b806003830110611cfe57611acf945491818110611ce4575b818110611cc7575b818110611caa575b10611c9c575b500382612541565b60208201526001600160a01b0360028501546001600160401b038116604084015260401c16606082015260038401546001600160a01b038116608083015260ff8160a01c1660a083015260ff8160a81c1660c083015260b01c820b60e0820152825260048301549260208301906001600160401b038516825260ff604085019560401c161515855260066005820154916060860192835201549460808501926001600160401b03871684526001600160401b0360a087019760401c1687526040519560208752519460c06020880152611bb6865161010060e08a01526101e08901906124cb565b60208088015189830360df19016101008b015280518084529282019892910190835b818110611c7d57505050926001600160401b03809693899a969360e0878c610120866040819c0151169101528c6101406001600160a01b036060840151169101528c6101606001600160a01b036080840151169101528c61018060ff60a0840151169101528c6101a060ff60c0840151169101520151900b6101c08b0152511660408901525115156060880152516080870152511660a0850152511660c08301520390f35b82516001600160401b03168a526020998a019990920191600101611bd8565b60c01c81526020015f611ac7565b9260206001916001600160401b038560801c168152019301611ac1565b9260206001916001600160401b038560401c168152019301611ab9565b9260206001916001600160401b0385168152019301611ab1565b916004919350608060019186546001600160401b03811682526001600160401b038160401c1660208301526001600160401b0381841c16604083015260c01c6060820152019401920184929391611a99565b5090868552602085209085915b818310611d75575050906020611a7992820101611a6d565b6020919350806001915483858801015201910190918392611d5d565b60209250611a7994915060ff191682840152151560051b820101611a6d565b5034610217576040366003190112610217576103f8600435611dd0612437565b90611df66103ee825f525f516020615a4d5f395f51905f52602052600160405f20015490565b613581565b503461021757608036600319011261021757611e15612421565b611e1d61244d565b611e25612463565b90606435926fffffffffffffffffffffffffffffffff841680940361075057611e4c612b78565b84611e5682613027565b926001600160a01b0360808501511693843b156104da57611ee06101048492836001600160401b03806040519788968795636f0d192560e11b875260048701906001600160a01b036080809263ffffffff815116855260208101511515602086015263ffffffff604082015116604086015263ffffffff6060820151166060860152015116910152565b169a8b60a485015216988960c48401528b60e48401525af180156104de57611f42575b50506001600160a01b036040917f500d805a349357fe5d4759fe052d79bd744b82c8452837f52a7456ec7d3d751c93835195865260208601521692a380f35b81611f4c91612541565b61075057845f611f03565b5034610217576020366003190112610217576020611f8f6004355f525f516020615a4d5f395f51905f52602052600160405f20015490565b604051908152f35b503461021757806003193601126102175760206040517f880a9ba888678c7fe4e8c4f028c224f26ce12a3bed6e96025c61ef8a5db6312f8152f35b503461021757606036600319011261021757611fec612421565b6024356001600160401b0381116104da5761200b90369060040161249b565b9092604435906001600160401b038211610217576020611f8f868686612034366004890161249b565b93909261203f612b78565b612630565b50346120fa5760403660031901126120fa5761205e612421565b9060243561206a612aba565b6001600160a01b03608061207d85613027565b015116803b156120fa576040516390a0827b60e01b81526001600160a01b038516600482015260248101839052905f908290604490829084905af180156120ef576120d9575b5061020591926001600160a01b0333911661308b565b61020592505f6120e891612541565b5f916120c3565b6040513d5f823e3d90fd5b5f80fd5b346120fa575f3660031901126120fa5760206040516305f5e1008152f35b346120fa5760a03660031901126120fa57612135612421565b61213d612479565b61214561248c565b9160643563ffffffff81168091036120fa576084359163ffffffff83168093036120fa5761217281612d18565b5061217b612b29565b6001600160a01b0360016121bf836001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0160205260405f2090565b015416908115612317575b63ffffffff604051956121dc876124ef565b16948581526001600160a01b036001816020840199151595868b52604085019a888c52606086018a8152836080880193169c8d845263ffffffff6122508a6001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0160205260405f2090565b985116926cffffffff00000000000000000068ffffffff000000000064ff000000008b549351151560201b16935160281b16935160481b16936cffffffff000000000000000000199168ffffffffffffffffff1916171617171785555116920191166001600160a01b03198254161790556122ca86612fa0565b156120fa577ff0dcc8957a27613dd82c92382ad37254b9744169d0caa5f3873cfec7ba794eb9936080936001600160a01b03936040519788526020880152604087015260608601521692a3005b905061232281612f58565b604051610b048082018281106001600160401b03821117612354578291614f29833903905ff580156120ef57906121ca565b634e487b7160e01b5f52604160045260245ffd5b346120fa5760203660031901126120fa5760043563ffffffff60e01b81168091036120fa57602090637965db0b60e01b81149081156123ad575b506040519015158152f35b6301ffc9a760e01b149050826123a2565b346120fa5760403660031901126120fa5761241f6123da612421565b6001600160a01b036123ea61244d565b916123f3612aba565b165f525f516020615a2d5f395f51905f526020526001600160401b03600460405f200154163390612c34565b005b600435906001600160a01b03821682036120fa57565b602435906001600160a01b03821682036120fa57565b602435906001600160401b03821682036120fa57565b604435906001600160401b03821682036120fa57565b6024359063ffffffff821682036120fa57565b6044359081151582036120fa57565b9181601f840112156120fa578235916001600160401b0383116120fa576020808501948460051b0101116120fa57565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b60a081019081106001600160401b0382111761235457604052565b60c081019081106001600160401b0382111761235457604052565b61010081019081106001600160401b0382111761235457604052565b90601f801991011681019081106001600160401b0382111761235457604052565b60c09060031901126120fa576040519061257b8261250a565b81600435815260243560208201526044356001600160a01b03811681036120fa5760408201526064356001600160a01b03811681036120fa576060820152608435608082015260a060a435910152565b91908110156125db5760051b0190565b634e487b7160e01b5f52603260045260245ffd5b906001600160401b03809116911601906001600160401b03821161260f57565b634e487b7160e01b5f52601160045260245ffd5b9190820180921161260f57565b9194935f935f968281036120fa57612678856001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0260205260405f2090565b544311156120fa57929061268b85612d18565b91608061269787613027565b01916001600160a01b03835116946126be60208601966001600160401b03885116906130e0565b965f975b818d1061292e575b50508a1592506129239150505743612712866001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0260205260405f2090565b556001600160401b0384168061272c575b50505050505050565b6127416127649560e0855101515f0b906134b2565b6001600160401b03869792975116906001600160401b0360a08701511691613553565b1561290457506127a4856001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0460205260405f2090565b6127af858254612623565b90556001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166001600160a01b03861690803b156120fa5760405163f3fef3a360e01b81526001600160a01b038316600482015260248101879052905f908290604490829084905af180156120ef576128d8575b506001600160a01b038261284c876001600160401b03948460e09751169061308b565b511693511691510151850b93823b15610a7d57604051639c45c34b60e01b81526001600160a01b0390911660048201526001600160401b03909116602482015260448101929092525f9290920b606482015290829082908183816084810103925af180156104de576128c3575b8080808080612723565b6128ce828092612541565b61021757806128b9565b6001600160401b0391975060e0926128f85f6001600160a01b0393612541565b5f989093509150612829565b6001600160a01b03866377e88bc960e11b5f521660045260245260445ffd5b505f96505050505050565b61293d8d83879f9b96976125cb565b359061294a8a85886125cb565b356001600160401b03811681036120fa5761297392898d926001600160a01b038b5116926131c2565b9490911561299157600191612987916125ef565b98019b93926126c2565b989c506126ca565b604051906129a682612525565b5f60e08360608152606060208201528260408201528260608201528260808201528260a08201528260c08201520152565b604051906129e48261250a565b5f60a0836129f0612999565b81528260208201528260408201528260608201528260808201520152565b90600182811c92168015612a3c575b6020831014612a2857565b634e487b7160e01b5f52602260045260245ffd5b91607f1691612a1d565b6001600160401b03811161235457601f01601f191660200190565b3d15612a8b573d90612a7282612a46565b91612a806040519384612541565b82523d5f602084013e565b606090565b60405190612a9d826124ef565b5f6080838281528260208201528260408201528260608201520152565b335f9081527f176c3a4e1b4d1d61213187c0dde7f83e2e2c933a339cb5403b4090bc2f0aa49a602052604090205460ff1615612af257565b63e2517d3f60e01b5f52336004527f880a9ba888678c7fe4e8c4f028c224f26ce12a3bed6e96025c61ef8a5db6312f60245260445ffd5b335f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d602052604090205460ff1615612b6157565b63e2517d3f60e01b5f52336004525f60245260445ffd5b335f9081527fcf7720576cdb70176b3017d893bcb89ba0f36ed0261d4350fd0180e938b3bacd602052604090205460ff1615612bb057565b63e2517d3f60e01b5f52336004527f5300fde95a5e446527bf6aa7c91bd6661bef5398afc77061d9bc87efb80b7ef660245260445ffd5b805f525f516020615a4d5f395f51905f5260205260405f206001600160a01b0333165f5260205260ff60405f20541615612c1e5750565b63e2517d3f60e01b5f523360045260245260445ffd5b6024906001600160401b03612ca3939481604051936001600160a01b03602086019816885216604084015216606082015260608152612c74608082612541565b6040519384916280000360e11b60208401525180918484015e81015f838201520301601f198101835282612541565b7333333333333333333333333333333333333333333b156120fa575f612ce591604051809381926317938e1360e01b83526020600484015260248301906124cb565b0381837333333333333333333333333333333333333333335af180156120ef57612d0c5750565b5f612d1691612541565b565b6001600160a01b0390612d296129d7565b50165f525f516020615a2d5f395f51905f5260205260405f2060405191612d4f8361250a565b60405191612d5c83612525565b6040518154815f612d6c83612a0e565b8083529260018116908115612f395750600114612ef8575b612d9092500382612541565b8352600181019360405180602087549182815201965f5260205f20905f915b816003840110612eac5797612df09284926001600160a01b039798999a5491818110611ce457818110611cc757818110611caa5710611c9c57500382612541565b60208601528160028401546001600160401b038116604088015260401c1660608601526001600160401b0360066003850154946080880197858716895260ff8760a01c1660a082015260c081019660ff8160a81c16885260b01c5f0b60e0820152845260ff6004820154848116602087015260401c1615156040850152600581015460608501520154818116608084015260401c1660a082015293511615159081612e9e575b50156120fa57565b60ff9150511615155f612e96565b97600160806004928b546001600160401b03811682526001600160401b038160401c1660208301526001600160401b0381841c16604083015260c01c6060820152019901920191612daf565b5090835f5260205f20905f915b818310612f1d575050906020612d9092820101612d84565b6020919350806001915483858801015201910190918392612f05565b60209250612d9094915060ff191682840152151560051b820101612d84565b60405160208101913060601b83526bffffffffffffffffffffffff199060601b16603482015260288152612f8d604882612541565b51902090565b519081151582036120fa57565b5f80916040516001600160a01b03602082019216825260208152612fc5604082612541565b51906108105afa612fd4612a61565b9015613018576020818051810103126120fa5760405190602082018281106001600160401b038211176123545760405261301090602001612f93565b809152151590565b6313dd7ccd60e31b5f5260045ffd5b61303390610b8d612a90565b906001600160a01b0360016040519361304b856124ef565b63ffffffff8154818116875260ff8160201c1615156020880152818160281c16604088015260481c1660608601520154169182608082015291156120fa57565b60405163a9059cbb60e01b60208201526001600160a01b03929092166024830152604480830193909352918152612d16916130c7606483612541565b614b17565b51906001600160401b03821682036120fa57565b5f919082916001600160401b03604051916001600160a01b03602084019416845216604082015260408152613116606082612541565b51906108015afa613125612a61565b9015613193576060818051810103126120fa576040519060608201918083106001600160401b03841117612354576001600160401b0392604052604061318c6060613172602086016130cc565b948585526131818482016130cc565b6020860152016130cc565b9101521690565b639d2c8fcb60e01b5f5260045ffd5b906001600160401b03809116911603906001600160401b03821161260f57565b95929190939495805f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0360205260405f20916001600160a01b0383541695861561343a576002840180549860ff8a60481c1661342b576001600160a01b03600187015491166001600160a01b03821603613418576001600160401b039060a01c166001600160401b038a1660ff8b60401c165f146133c1575080926001600160401b03811682115f146133b957613279916131a2565b985b6132858a8c6125ef565b9a6001600160401b038c166001600160401b038516116133a8575069010000000000000000009069ff00000000000000000019161790556132c88160019a6131a2565b966001600160401b0360206001600160a01b036132ec60e0875101515f0b8d6134b2565b50981694015116833b156120fa5760405163a703334f60e01b81526001600160401b0391821660048201526001600160a01b0392909216602483015282166044820152915f908390606490829084905af19081156120ef577f53b9d5645f8b7ccd861ebd6036860fd21716451d1f238cb3720f12f3c49b0c4392604092613398575b506001600160a01b0360018187541696015416956001600160401b038351921682526020820152a4565b5f6133a291612541565b5f61336e565b5f9b508b9a50985050505050505050565b50505f613279565b9092809a93806001600160401b038316105f1461340d576133ec916133e5916131a2565b809b6125ef565b816001600160401b038216115f1461340657505b9161327b565b9050613400565b50506133ec5f6133e5565b8463358d72d160e01b5f5260045260245ffd5b63f7348a7960e01b5f5260045ffd5b631a40316d60e01b5f5260045ffd5b60ff16604d811161260f57600a0a90565b9190820391821161260f57565b8115613471570490565b634e487b7160e01b5f52601260045260245ffd5b90620f4240820291808304620f4240149015171561260f57565b8181029291811591840414171561260f57565b9190805f0b80155f146134cf5750506001600160401b0382169190565b5f8113156134fa57506134e76134f69160ff16613449565b6001600160401b03841661349f565b9190565b9050607f19811461260f576001600160401b039261351f613528925f0360ff16613449565b93849116612623565b5f19810190811161260f5761354f613548846001600160401b0393613467565b938461349f565b1690565b6135796001600160401b039293613573849361356e81614bb0565b6130e0565b946125ef565b169116101590565b805f525f516020615a4d5f395f51905f5260205260405f206001600160a01b0383165f5260205260ff60405f205416155f1461362257805f525f516020615a4d5f395f51905f5260205260405f206001600160a01b0383165f5260205260405f20600160ff198254161790556001600160a01b03339216907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b50505f90565b805f525f516020615a4d5f395f51905f5260205260405f206001600160a01b0383165f5260205260ff60405f2054165f1461362257805f525f516020615a4d5f395f51905f5260205260405f206001600160a01b0383165f5260205260405f2060ff1981541690556001600160a01b03339216907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b907f0000000000000000000000000000000000000000000000000000000000000000604083016136fe6001600160a01b03825116612fa0565b1561423f576001600160a01b038216805f525f516020615a2d5f395f51905f5260205260405f2090604051946137338661250a565b60405161373f81612525565b6040518454815f61374f83612a0e565b808352926001811690811561422057506001146141df575b61377392500382612541565b815260018401604051808260208294549384815201905f5260205f20925f905b80600383011061418d576137c5945491818110611ce457818110611cc757818110611caa5710611c9c57500382612541565b60208201526001600160a01b0360028501546001600160401b038116604084015260401c16606082015260038401546001600160a01b038116608083015260ff8160a01c1660a083015260ff8160a81c1660c083015260b01c5f0b60e08201528652600660048401549360ff60208901956001600160401b038116875260401c1615156040890152600581015460608901520154966001600160401b03881660808801526001600160401b0360a088019860401c168852606081016001600160a01b038151165f525f516020615a2d5f395f51905f5260205260405f2095604051966138b08861250a565b6040516138bc81612525565b6040518254815f6138cc83612a0e565b808352926001811690811561416e575060011461412d575b6138f092500382612541565b81526040516001830180548083525f9182526020808320849391840192905b8160038401106140db5754918181106140c1575b8181106140a4575b818110614087575b10614079575b50036139459082612541565b602082015260028201546001600160401b038116604083015260401c6001600160a01b0316606082015260038201546001600160a01b03811660808301528060a01c60ff1660a08301528060a81c60ff1660c083015260b01c5f0b60e0820152885260048101546001600160401b03811660208a015260401c60ff161515604089015260058101546060890152600601546001600160401b038116608089015260401c6001600160401b031660a088015281516001600160a01b0316613a0a90613027565b9383519060a08501918251996080870191825115159b613a2991612623565b8d5160e001515f0b613a3a916148ac565b90508d5160c0015160ff16825160c0015160ff1690613a5892614e9e565b9a1561404b578a925b5f8063ffffffff8b51166040516020810191825260208152613a84604082612541565b51906108085afa613a93612a61565b901561403c576020818051810103126120fa57898f9360ff60a0613ae19260206001600160401b03613ac982613ae799016130cc565b16950197885115155f14614031575051015116613449565b9061349f565b825115613fe75763ffffffff613b028160608d015116614bd6565b16620f4240019081620f42401161260f57613b38620f424091613ae16001600160401b039463ffffffff8f604001511690612623565b0416908351908115155f14613fdf5750915b5115613f9e576305f5e100811015613f5e57505f5b613b7f613b6c8651613485565b613b798a51885190612623565b90612623565b5f1981019190821161260f57613b79613ba592613b9f8b51895190612623565b90613467565b606480830283810482148415171561260f578211613ee45750505085518c5160e001515f0b613bd3916148ac565b9d8e8b9c929c516001600160401b031691516001600160401b031690613bf892613553565b15613e94579c8a9b9c9d85516001600160a01b03169387516001600160a01b0316935115159360405195613c2b8761250a565b86526020860190815260408601926001600160401b03169485845260608701926001600160401b0316968784526080810191825260a08101925f845260208d019586515f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0360205260405f2092516001600160a01b03166001600160a01b031683546001600160a01b0319161783556001830191516001600160a01b03166001600160a01b031682546001600160a01b0319161782555181549060a01b7bffffffffffffffff000000000000000000000000000000000000000016907fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff1617905560020192516001600160401b03166001600160401b03166001600160401b0319845416178355511515613d8190839068ff0000000000000000825491151560401b169068ff00000000000000001916179055565b51151581549060481b69ff000000000000000000169069ff00000000000000000019161790555194516001600160a01b031695516001600160a01b03169651935160405194855260208501526001600160401b031660408401526060830152608082015260a07f550576b2f9e0ac12dfd5dd2d5743b5b7f11f34302b5f6bec6ad60db81bd6a91891a4608001516001600160a01b03169283613e229261308b565b516001600160401b0316935160e001515f0b93813b156120fa57604051639c45c34b60e01b81526001600160a01b039490941660048501526001600160401b0316602484015260448301919091525f92830b60648301529091908290608490829084905af180156120ef57612d0c5750565b5050505050945095505092505081612d16947f8d61555dcf69ba745e97fdea78e2652d9cdd464ca521faad482fe796f6d5841c602080870151926001600160401b0360405191168152a35261492d565b999c5099509c50505050509450809650602091500151906001600160a01b038451169281810180911161260f575f19810190811161260f57811561347157612d16977fc8f90125c6a36c77a571201afc10310420481ab4895fadabb596d0ba71c22e3e92604092049082519182526020820152a3526142b4565b6305f5e0ff19016001600160401b03811161260f57613f98613f8d6001600160401b036305f5e1009316613485565b6305f5e0ff90612623565b04613b5f565b6305f5e100811115613fb157505f613b5f565b6305f5e100036001600160401b03811161260f57613f98613f8d6001600160401b036305f5e1009316613485565b905091613b4a565b63ffffffff613ffb8160608d015116614bd6565b16620f42400390620f4240821161260f57613b38620f424091613ae16001600160401b039463ffffffff8f60400151169061345a565b905051015116613449565b635cffc5fb60e11b5f5260045ffd5b8261271003612710811161260f576127106140706001600160401b0392838f1661349f565b04169a92613a61565b60c01c81526020015f613939565b9260206001916001600160401b038560801c168152019301613933565b9260206001916001600160401b038560401c16815201930161392b565b9260206001916001600160401b0385168152019301613923565b935090916001608060049286546001600160401b03811682526001600160401b038160401c1660208301526001600160401b0381841c16604083015260c01c606082015201940192019084939261390f565b5090845f5260205f20905f915b8183106141525750509060206138f0928201016138e4565b602091935080600191548385880101520191019091839261413a565b602092506138f094915060ff191682840152151560051b8201016138e4565b916004919350608060019186546001600160401b03811682526001600160401b038160401c1660208301526001600160401b0381841c16604083015260c01c6060820152019401920184929391613793565b5090865f5260205f20905f915b81831061420457505090602061377392820101613767565b60209193508060019154838588010152019101909183926141ec565b6020925061377394915060ff191682840152151560051b820101613767565b6080840151909392501561426a576001600160a01b038351166320a2097d60e11b5f5260045260245ffd5b6001600160a01b0390612d16937f31604f5790fbed7a37471cea010a8f08483441a6e1235ac48bb59337439a630d60208481870151935116604051908152a216606082015261492d565b6060810151906001600160a01b035f921691825f525f516020615a2d5f395f51905f5260205260405f206040516142ea8161250a565b6040516142f681612525565b6040518354815f61430683612a0e565b80835292600181169081156148775750600114614836575b61432a92500382612541565b815260018301604051808260208294549384815201905f5260205f20925f905b8060038301106147e45761437c945491818110611ce457818110611cc757818110611caa5710611c9c57500382612541565b60208201526001600160a01b0360028401546001600160401b038116604084015260401c16606082015260038301546001600160a01b038116608083015260ff8160a01c1660a083015260ff8160a81c1660c083015260b01c5f0b60e08201528152600660048301549260ff60208401946001600160401b038116865260401c1615156040840152600581015460608401520154906001600160401b03821660808201526001600160401b0360a082019260401c168252604085019361444b6001600160a01b03865116612fa0565b156147745785519161271061447461446960a08a0195865190612623565b60808a01519061349f565b049383519480861161476c575b50846146ca575b6144c06144a7614499878b51612623565b60e0855101515f0b906148ac565b919092826001600160401b03808b511692511691613553565b1561467c5750846145c0575b61455d906001600160401b037fb021c853215aadb12b6fa8afa7b3158201517d9abf7f756cdbb67bd66abc5a1c976145348c6001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0460205260405f2090565b61453f898254612623565b905551169360e06001600160a01b038a511694510151900b906148ac565b919092836145a4575b5050505061459f6001600160a01b0360208701519551169551915192604051938493846040919493926060820195825260208201520152565b0390a4565b6145b26145b794828c614cd4565b612c34565b5f808080614566565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001695863b156120fa5760405163f3fef3a360e01b81526001600160a01b038b16600482015260248101879052965f908890604490829084905af19687156120ef577fb021c853215aadb12b6fa8afa7b3158201517d9abf7f756cdbb67bd66abc5a1c97614659575b5095506144cc565b61455d929194505f61466a91612541565b6001600160401b035f94919250614651565b9793505050507f8d61555dcf69ba745e97fdea78e2652d9cdd464ca521faad482fe796f6d5841c9350602092508291506146b58161492d565b0151926001600160401b0360405191168152a3565b6146d9858a60208b0151614bf1565b614488576040516370a0823160e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031660048201529094506020816024818c5afa9081156120ef575f9161473a575b5093614488565b90506020813d602011614764575b8161475560209383612541565b810103126120fa57515f614733565b3d9150614748565b94505f614481565b505050506080820151909250156147a2576001600160a01b038251166320a2097d60e11b5f5260045260245ffd5b612d16917f31604f5790fbed7a37471cea010a8f08483441a6e1235ac48bb59337439a630d60206001600160a01b0381850151935116604051908152a261492d565b916004919350608060019186546001600160401b03811682526001600160401b038160401c1660208301526001600160401b0381841c16604083015260c01c606082015201940192018492939161434a565b5090855f5260205f20905f915b81831061485b57505090602061432a9282010161431e565b6020919350806001915483858801015201910190918392614843565b6020925061432a94915060ff191682840152151560051b82010161431e565b8181106148a1575050565b5f8155600101614896565b9190805f0b9081155f146148c95750506001600160401b03821690565b5f821315614904576148de915060ff16613449565b9182156134715761354f6148fd82856001600160401b0394069061345a565b9384613467565b505f0380805f0b0361260f5761354f6149276001600160401b039260ff16613449565b8461349f565b805161271061495061494560a0850193845190612623565b60808501519061349f565b0481518181115f14614b0f5750905b8190602084019161498283519460608701956001600160a01b0387511690614bf1565b15614b08575b80614a52575b7f4755f239bb1b047245415cb917deced72a3ca8baebcef109c396ff332ea6f50f9161459f6001600160a01b03806149c7858a51612623565b966149df828a51169860408c0199848b51169061308b565b614a1c828a51166001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0460205260405f2090565b614a27878254612623565b9055519651169651169651915192604051938493846040919493926060820195825260208201520152565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916001600160a01b0385511692803b156120fa5760405163f3fef3a360e01b81526001600160a01b03949094166004850152602484018390525f908490604490829084905af19283156120ef577f4755f239bb1b047245415cb917deced72a3ca8baebcef109c396ff332ea6f50f93614af8575b50915061498e565b5f614b0291612541565b5f614af0565b505f614988565b90509061495f565b906001600160a01b03614b7892165f8060405193614b36604086612541565b602085527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564602086015260208151910182855af1614b72612a61565b91614efd565b8051908115918215614b8e575b5050156120fa57565b81925090602091810103126120fa576020614ba99101612f93565b5f80614b85565b6001600160401b03166001609d1b01806001609d1b1161260f576001600160a01b031690565b63ffffffff60649116029063ffffffff821691820361260f57565b6040516370a0823160e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811660048301529092169392909190602082602481885afa9182156120ef575f92614ca0575b5080821094851595614c61575b50505050565b7f5180f0ad9e9bd2296de2ee38c85d11c56613fa73f8ee66792f26ac318f1274749260609260405192835260208301526040820152a25f808080614c5b565b9091506020813d602011614ccc575b81614cbc60209383612541565b810103126120fa5751905f614c4e565b3d9150614caf565b9091906001600160401b038316614e4d576001600160a01b03919250166040515f806020830163095ea7b360e01b8152736b9e773128f453f5c2c60935ee2de2cbc5390a24602485015285604485015260448452614d33606485612541565b83519082865af1614d42612a61565b81614e16575b5080614e0c575b15614db9575b5050736b9e773128f453f5c2c60935ee2de2cbc5390a243b156120fa5760405190630acb7f4b60e21b8252600482015263ffffffff60248201525f8160448183736b9e773128f453f5c2c60935ee2de2cbc5390a245af180156120ef57612d0c5750565b614e05916130c760405163095ea7b360e01b6020820152736b9e773128f453f5c2c60935ee2de2cbc5390a2460248201525f604482015260448152614dff606482612541565b82614b17565b5f80614d55565b50813b1515614d4f565b8051801592508215614e2b575b50505f614d48565b81925090602091810103126120fa576020614e469101612f93565b5f80614e23565b6001600160a01b03614e61612d1694614bb0565b911661308b565b51906001600160a01b03821682036120fa57565b519060ff821682036120fa57565b9060ff8091169116039060ff821161260f57565b9160ff811660ff83168181145f14614eb7575050505090565b6001600160401b039492911115614ee557614ede614ed961354f948693614e8a565b613449565b911661349f565b614ef6614ed9859261354f95614e8a565b9116613467565b91925015614f1957815115614f10575090565b3b156120fa5790565b5080519081156120fa57602001fdfe60a080604052346100455733608052610aba908161004a82396080518181816086015281816101b80152818161039a015281816104d50152818161054c01526106a40152f35b5f80fdfe60806040526004361015610011575f80fd5b5f5f3560e01c8063435354d31461050a57806390a0827b146104a55780639c45c34b146100ad578063a703334f1461033e578063de1a324a146100cb578063e94b77c1146100ad5763eba61c0e14610067575f80fd5b346100aa57806003193601126100aa5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b80fd5b50346100aa576100c86100bf366105ee565b92919091610699565b80f35b50346100aa57366003190161010081126103265760a0136100aa5760405160a0810181811067ffffffffffffffff82111761032a5760405261010b6105db565b91828252602435918215158303610326576020810192835260443563ffffffff8116810361032257604082015260643563ffffffff81168103610322576060820152608435906001600160a01b0382168203610322576080015260a43567ffffffffffffffff81168091036103265760c4359067ffffffffffffffff82168092036103225760e435946fffffffffffffffffffffffffffffffff861680960361031e576001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016330361031e5763ffffffff6101ed911661066c565b9351151592811561030f57821561030057916102819391600493506040519263ffffffff60208501971687526040840152606083015260808201525f945f60a0830152600260c083015260e082015260e0815261024c61010082610636565b6020604051948592630100000160e01b83850152518091602485015e8201018281015f8152500301601f198101835282610636565b7333333333333333333333333333333333333333333b156102fc575f6102bb91604051809381926317938e1360e01b8352600483016108ff565b0381837333333333333333333333333333333333333333335af180156102f1576102e3575080f35b6102ef91505f90610636565b005b6040513d5f823e3d90fd5b5f80fd5b6313c0a8df60e01b8152600490fd5b63017461b760e71b8152600490fd5b8380fd5b8280fd5b5080fd5b634e487b7160e01b83526041600452602483fd5b50346100aa5760603660031901126100aa578060043567ffffffffffffffff811680910361049c57602435906001600160a01b0382168092036104a15760443567ffffffffffffffff811680910361049f576001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016330361049f5761041f91600491604051916020830195865260408301526060820152606081526103eb608082610636565b60206040519485926280000360e11b83850152518091602485015e820101828101868152500301601f198101835282610636565b7333333333333333333333333333333333333333333b1561049c578161045991604051809381926317938e1360e01b8352600483016108ff565b0381837333333333333333333333333333333333333333335af18015610491576104805750f35b8161048a91610636565b6100aa5780f35b6040513d84823e3d90fd5b50fd5b505b5050fd5b50346100aa5760403660031901126100aa576004356001600160a01b038116809103610326576001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163303610326576100c890602435903390610929565b50346102fc5760403660031901126102fc576105246105db565b602435906fffffffffffffffffffffffffffffffff82168092036102fc576001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633036102fc5760046105806102819261066c565b926040519063ffffffff60208301951685526040820152604081526105a6606082610636565b6020604051948592630100000b60e01b83850152518091602485015e8201018281015f8152500301601f198101835282610636565b6004359063ffffffff821682036102fc57565b60809060031901126102fc576004356001600160a01b03811681036102fc579060243567ffffffffffffffff811681036102fc579060443590606435805f0b81036102fc5790565b90601f8019910116810190811067ffffffffffffffff82111761065857604052565b634e487b7160e01b5f52604160045260245ffd5b63ffffffff6127109116019063ffffffff821161068557565b634e487b7160e01b5f52601160045260245ffd5b926001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633036102fc57805f0b9081155f1461088f5750505b816106e357505050565b67ffffffffffffffff16806108685750906001600160a01b03166040515f806020830163095ea7b360e01b8152736b9e773128f453f5c2c60935ee2de2cbc5390a2460248501528560448501526044845261073f606485610636565b83519082865af161074e610a1a565b81610839575b508061082f575b156107d7575b5050736b9e773128f453f5c2c60935ee2de2cbc5390a243b156102fc5760405190630acb7f4b60e21b8252600482015263ffffffff60248201525f8160448183736b9e773128f453f5c2c60935ee2de2cbc5390a245af180156102f1576107c7575b505b565b5f6107d191610636565b5f6107c3565b6108289161082360405163095ea7b360e01b6020820152736b9e773128f453f5c2c60935ee2de2cbc5390a2460248201525f60448201526044815261081d606482610636565b82610978565b610978565b5f80610761565b50813b151561075b565b805180159250821561084e575b50505f610754565b6108619250602080918301019101610960565b5f80610846565b6001609d1b0191826001609d1b11610685576001600160a01b03806107c594169116610929565b5f8213156108d0576108a4915060ff16610a09565b80156108bc57808306830392831161068557506106d9565b634e487b7160e01b5f52601260045260245ffd5b505f0380805f0b03610685576108e89060ff16610a09565b8281810291818304149015171561068557506106d9565b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b6107c5926001600160a01b036040519363a9059cbb60e01b6020860152166024840152604483015260448252610823606483610636565b908160209103126102fc575180151581036102fc5790565b906001600160a01b036109d992165f8060405193610997604086610636565b602085527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564602086015260208151910182855af16109d3610a1a565b91610a59565b80519081159182156109ef575b5050156102fc57565b610a029250602080918301019101610960565b5f806109e6565b60ff16604d811161068557600a0a90565b3d15610a54573d9067ffffffffffffffff82116106585760405191610a49601f8201601f191660200184610636565b82523d5f602084013e565b606090565b91925015610a7557815115610a6c575090565b3b156102fc5790565b5080519081156102fc57602001fdfea26469706673582212203fd47e556330422f822e06ffcc9361b37df27b2096abc2caa10bb784869550ee64736f6c634300081e00336c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800a26469706673582212207c7e21cd0f7e3312130737e1bddb054dacb09c3bdadfe6365f7d8551011448c264736f6c634300081e00330000000000000000000000003d589d40312bf2d20f13cd0af26a11144a9ca844000000000000000000000000b8ce59fc3717ada4c02eadf9682a9e934f625ebb" + "address": "0x194f997df84667ab443539b6960ac639d75eb64d", + "initCode": "0x60c0346100d157601f615c8238819003918201601f19168301916001600160401b038311848410176100d55780849260409485528339810103126100d157610052602061004b836100e9565b92016100e9565b6001600160a01b0390911660805260a052604051615b8490816100fe8239608051818181610842015281816109820152818161143a015281816116c30152818161286e015281816147660152818161485b01528181614bcb0152614d6f015260a05181818161061001528181610774015281816119c4015261377b0152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036100d15756fe60806040526004361015610011575f80fd5b5f5f3560e01c806246912e1461247157806301ffc9a71461241b578063037a06a4146121cf57806304c73f60146121b1578063057f0370146120f75780631f74a0b51461208557806321081d3c1461204a578063248a9ca31461200a5780632e748b2114611eae5780632f2ff15d14611e63578063319adf9f14611a9b57806336568abe14611a5657806337710e2014611a0157806339fff0981461196a5780633b1c6a01146115bc5780633cf3a025146115875780634265fe861461153c578063490e662f146115015780634b3b029b146114c6578063502a82e214611409578063521c98ba14610cd857806369b97ac714610cba57806379c7b60b14610c6557806379c7f28914610b6657806390a0827b14610b2d57806391d1485414610ad657806396cc2cfb14610882578063a217fddf14610866578063a4b672b614610822578063af5de6f914610798578063c55dae6314610754578063ccbedaec146104e9578063d06e28ed146103fc578063d547741f146103a8578063e38b73a91461038c578063ea0aaf241461032e578063eb84e7f21461021a5763ff3eae00146101bb575f80fd5b346102175760c0366003190112610217576101d536612615565b7fc56a3250645180a53cd9e196b2ee0a634a4f54e2edf59ea457f2083917e4d10054156102085761020590614a9c565b80f35b63cd6d8f7d60e01b8252600482fd5b80fd5b50346102175760203660031901126102175760408160c09260a0835161023f816125bd565b8281528260208201528285820152826060820152826080820152015260043581527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b036020522060405190610292826125bd565b6001600160a01b03815416918281526001600160401b0360018301549281600260208501926001600160a01b038716845282604087019760a01c1687520154946001600160a01b036060860193838816855260ff60a06080890198828b60401c1615158a52019860481c1615158852604051988952511660208801525116604086015251166060840152511515608083015251151560a0820152f35b503461021757602036600319011261021757602061038361034d6124d4565b6001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0560205260405f2090565b54604051908152f35b5034610217578060031936011261021757602060405160068152f35b5034610217576040366003190112610217576103f86004356103c86124ea565b906103f36103ee825f525f516020615b2f5f395f51905f52602052600160405f20015490565b612c9a565b6136db565b5080f35b5034610217576040366003190112610217576104166124d4565b602435906fffffffffffffffffffffffffffffffff82168092036104da5761043c612c2b565b82610446826130da565b63ffffffff6001600160a01b03608083015116915116813b156104da57829160448392604051948593849263435354d360e01b845260048401528960248401525af180156104de576104c5575b50506001600160a01b03167f02366c0d102495be1ee805b749be7baebab4fc0710c6d3f38751f1a22bd711648380a380f35b816104cf916125f4565b6104da57825f610493565b8280fd5b6040513d84823e3d90fd5b503461021757606036600319011261021757806105046124d4565b61050c612500565b610514612516565b9061051d612b6d565b610557836001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0260205260405f2090565b544311156106b2574361059a846001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0260205260405f2090565b556001600160a01b0360016105df856001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0160205260405f2090565b015416926001600160401b0382166106b7575b50506001600160401b038116610606575050f35b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001683525f516020615b0f5f395f51905f526020526001600160401b0360046040852001541690823b156106b25760405163a703334f60e01b81526001600160401b039283166004820152336024820152911660448201529082908290606490829084905af180156104de576106a15750f35b816106ab916125f4565b6102175780f35b505050fd5b6001600160a01b031684525f516020615b0f5f395f51905f526020526001600160401b03600460408620015416833b156107505760405163a703334f60e01b81526001600160401b03918216600482015233602482015291166044820152838160648183875af1908115610745578491156105f25781610736916125f4565b61074157825f6105f2565b5050fd5b6040513d86823e3d90fd5b8480fd5b503461021757806003193601126102175760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b50346102175760203660031901126102175760206001600160a01b036107c46107bf6124d4565b61300b565b610b046040516107d6858301826125f4565b8181528481019161500b8339519020604051908482019260ff60f81b84523060601b602184015260358301526055820152605581526108166075826125f4565b51902016604051908152f35b503461021757806003193601126102175760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b5034610217578060031936011261021757602090604051908152f35b50346102175760403660031901126102175761089c6124d4565b906108a5612c2b565b6108ae82612dcb565b6108b7836130da565b926108cb60e083510151840b602435614a1b565b9460208401906108f46001600160401b03835116886001600160401b0360a08901511691613606565b15610aad57859650610936846001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0460205260405f2090565b6109418482546126d6565b90556001600160a01b038416807f410b9a8c926b6c439cdceb39c0bb8f829838a25bc5a26af9d4c263d1313cc46b6020604051878152a26001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016803b15610aa95760405163f3fef3a360e01b81526001600160a01b0383166004820152602481018690529088908290604490829084905af18015610a9e5785918991610a81575b50506001600160401b0391610a116001600160a01b0392608060e0960192848451169061313e565b511692511694510151850b93813b15610a7d57604051639c45c34b60e01b81526001600160a01b039490941660048501526001600160401b0316602484015260448301919091525f9290920b60648201529082908290608490829084905af180156104de576106a15750f35b8580fd5b81925090610a8e916125f4565b610a9a5783875f6109e9565b8680fd5b6040513d8a823e3d90fd5b8780fd5b6377e88bc960e11b86526001600160a01b0384166004526001600160401b038716602452604486fd5b5034610217576040366003190112610217576001600160a01b036040610afa6124ea565b9260043581525f516020615b2f5f395f51905f526020522091165f52602052602060ff60405f2054166040519015158152f35b503461021757604036600319011261021757610205610b4a6124d4565b610b52612b6d565b602435906001600160a01b0333911661313e565b50346102175760203660031901126102175760a0610bc4610b856124d4565b610b8d612b43565b506001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0160205260405f2090565b6001600160a01b03600160405192610bdb846125a2565b63ffffffff8154818116865260ff8160201c1615156020870152818160281c16604087015260481c1660608501520154166080820152610c6360405180926001600160a01b036080809263ffffffff815116855260208101511515602086015263ffffffff604082015116604086015263ffffffff6060820151166060860152015116910152565bf35b5034610217576020366003190112610217576020610383610c846124d4565b6001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0460205260405f2090565b50346102175780600319360112610217576020604051620f42408152f35b50346102175760a036600319011261021757610cf26124d4565b610cfa61252c565b90610d0361253f565b6064356001600160401b038116810361075057608435916001600160401b0383168303610a7d57610d32612bdc565b610d3a612a4c565b508580604051602081019063ffffffff8916825260208152610d5d6040826125f4565b519061080c5afa610d6c612b14565b90156113fa578051810160208101916020818303126113d6576020810151906001600160401b0382116113f65701906101009082900312610aa95760405191610db4836125d8565b60208201516001600160401b0381116113f65760209083010181601f820112156113f65789815191610de583612af9565b92610df360405194856125f4565b80845284602082840101116104da578060208093018386015e83010152835260408201516001600160401b0381116113f6576020908301019080601f830112156113f6578151916001600160401b0383116113c2578260051b9060405193610e5e60208401866125f4565b84526020808501928201019283116113f257602001905b8282106113da57505050602083015261010090610e946060820161317f565b6040840152610ea560808201614f4a565b6060840152610eb660a08201614f4a565b6080840152610ec760c08201614f5e565b60a0840152610ed860e08201614f5e565b60c0840152015180880b8082036113d657610ef89160e084015284613565565b5060405191610f06836125bd565b825263ffffffff87166020830152821515604083015260608201526001600160401b03831660808201526001600160401b03841660a08201526001600160a01b03851687525f516020615b0f5f395f51905f5260205260408720815180518051906001600160401b0382116113c25781908b610f828654612ac1565b601f8111611387575b5050602090601f8311600114611325578c9261131a575b50508160011b915f199060031b1c19161782555b6001820160208201518051906001600160401b03821161130657680100000000000000008211611306576020908c84548486558085106112ba575b505001918b5260208b20908b5b8160021c811061127557506003198116810380611219575b505050506001600160a01b03947f12cf3d04179e82c834f3ee7169a5df80651aa65530127f9ddb04c8cd8224435397946001600160401b039460a06006868896600260809d9901888060408401511616891982541617815560608201517fffffffff0000000000000000000000000000000000000000ffffffffffffffff7bffffffffffffffffffffffffffffffffffffffff000000000000000083549260401b16911617905560038201908c808f83015116166001600160a01b0319835416178255848101519082547fffffffffffffffffff000000ffffffffffffffffffffffffffffffffffffffff74ff000000000000000000000000000000000000000060e075ff00000000000000000000000000000000000000000060c086015160a81b1694015160b01b76ff000000000000000000000000000000000000000000001694891b16911617171790556111a76004820188806020880151161689198254161781556040860151151568ff0000000000000000825491151560401b169068ff00000000000000001916179055565b60608401516005820155019185808c8301511616861984541617835501516fffffffffffffffff000000000000000082549160401b16906fffffffffffffffff0000000000000000191617905563ffffffff6040519a168a52151560208a01521660408801521660608601521692a280f35b928c938d5b8181106112375750505060021c015584848460a0611016565b909194602061126b6001926001600160401b03895116908560031b6001600160401b03809160031b9316831b921b19161790565b960192910161121e565b8c8d5b6004811061128d575083820155600101610ffe565b85519095916001916020916001600160401b0360068a901b81811b199092169216901b1792019501611278565b8382876112e6945220600380870160021c820192601888831b16806112ed575b500160021c0190614a05565b8c5f610ff1565b5f198501908154905f19908a03851b1c1690555f6112da565b634e487b7160e01b8c52604160045260248cfd5b015190505f80610fa2565b858d52818d209250601f1984168d5b81811061136f5750908460019594939210611357575b505050811b018255610fb6565b01515f1960f88460031b161c191690555f808061134a565b92936020600181928786015181550195019301611334565b602082886113b1945220601f850160051c810191602086106113b8575b601f0160051c0190614a05565b8b5f610f8b565b90915081906113a4565b634e487b7160e01b8b52604160045260248bfd5b8880fd5b602080916113e78461317f565b815201910190610e75565b8b80fd5b8980fd5b639b0c335d60e01b8752600487fd5b5034610217576040366003190112610217576114236124d4565b60243561142e612b6d565b826001600160a01b03807f000000000000000000000000000000000000000000000000000000000000000016931692803b156114c25760405163f3fef3a360e01b81526001600160a01b0385166004820152602481018490529082908290604490829084905af180156104de576114ad575b505061020591339061313e565b816114b7916125f4565b6104da57825f6114a0565b5080fd5b503461021757806003193601126102175760206040517f5300fde95a5e446527bf6aa7c91bd6661bef5398afc77061d9bc87efb80b7ef68152f35b503461021757806003193601126102175760206040517fc56a3250645180a53cd9e196b2ee0a634a4f54e2edf59ea457f2083917e4d1008152f35b50346102175760c03660031901126102175761155736612615565b7fc56a3250645180a53cd9e196b2ee0a634a4f54e2edf59ea457f2083917e4d10054156102085761020590614367565b5034610217576020366003190112610217576115a1612b6d565b80808080600435335af16115b3612b14565b50156102175780f35b5034610217576060366003190112610217576115d66124ea565b6044356001600160a01b0381169182820361180a576115f3612c2b565b836115fd83612dcb565b9261160783613053565b6114c2576040840151156114c2576001600160401b036080850151169060208501916001600160401b038351169060e087510151850b91155f146119305761166d9161165291613565565b6001600160401b0360a081879a949a51169301511691613606565b156104da576116ac906001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0560205260405f2090565b6116b78582546126d6565b90556001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016803b156104da5760405163f3fef3a360e01b81526001600160a01b0387166004820152602481018690529083908290604490829084905af1908115611925578391611910575b5050516001600160401b03168061180e5750506117468284614e43565b736b9e773128f453f5c2c60935ee2de2cbc5390a243b1561180a578360405163611e2a2d60e11b81526001600160a01b038316600482015283602482015263ffffffff6044820152818160648183736b9e773128f453f5c2c60935ee2de2cbc5390a245af180156104de576117f5575b50506001600160a01b03905b60405192835216907f2b348084e891b20d449a69f90114c5ab7bf7c84d64c25445c8ab440d469a6b4d602060043592a480f35b816117ff916125f4565b61180a57835f6117b6565b8380fd5b6118218461181b83614d1f565b8761313e565b611884602460405160208101936001600160a01b0387168552604082015260016060820152606081526118556080826125f4565b6040519384916280000360e11b60208401525180918484015e810185838201520301601f1981018352826125f4565b7333333333333333333333333333333333333333333b156114c257816118c691604051809381926317938e1360e01b835260206004840152602483019061257e565b0381837333333333333333333333333333333333333333335af180156104de576118fb575b50506001600160a01b03906117c2565b81611905916125f4565b61180a57835f6118eb565b8161191a916125f4565b6114c257815f611729565b6040513d85823e3d90fd5b60019192939450016001600160401b038111611956576116528894939261166d92613565565b634e487b7160e01b88526011600452602488fd5b50346102175760e03660031901126102175761198536612615565b7fc56a3250645180a53cd9e196b2ee0a634a4f54e2edf59ea457f2083917e4d1005415610208576001600160a01b036060820151166001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145f146119f45761020590614367565b6102059060c43590613778565b5034610217576020366003190112610217576020610383611a206124d4565b6001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0260205260405f2090565b503461021757604036600319011261021757611a706124ea565b336001600160a01b03821603611a8c576103f8906004356136db565b63334bd91960e11b8252600482fd5b5034610217576020366003190112610217576001600160a01b03611abd6124d4565b611ac5612a8a565b501681525f516020615b0f5f395f51905f52602052604081209060405190611aec826125bd565b604051611af8816125d8565b60405184548184611b0883612ac1565b8083529260018116908115611e445750600114611e03575b611b2c925003826125f4565b815260018401604051808260208294549384815201908652602086209286905b806003830110611db157611b82945491818110611d97575b818110611d7a575b818110611d5d575b10611d4f575b5003826125f4565b60208201526001600160a01b0360028501546001600160401b038116604084015260401c16606082015260038401546001600160a01b038116608083015260ff8160a01c1660a083015260ff8160a81c1660c083015260b01c820b60e0820152825260048301549260208301906001600160401b038516825260ff604085019560401c161515855260066005820154916060860192835201549460808501926001600160401b03871684526001600160401b0360a087019760401c1687526040519560208752519460c06020880152611c69865161010060e08a01526101e089019061257e565b60208088015189830360df19016101008b015280518084529282019892910190835b818110611d3057505050926001600160401b03809693899a969360e0878c610120866040819c0151169101528c6101406001600160a01b036060840151169101528c6101606001600160a01b036080840151169101528c61018060ff60a0840151169101528c6101a060ff60c0840151169101520151900b6101c08b0152511660408901525115156060880152516080870152511660a0850152511660c08301520390f35b82516001600160401b03168a526020998a019990920191600101611c8b565b60c01c81526020015f611b7a565b9260206001916001600160401b038560801c168152019301611b74565b9260206001916001600160401b038560401c168152019301611b6c565b9260206001916001600160401b0385168152019301611b64565b916004919350608060019186546001600160401b03811682526001600160401b038160401c1660208301526001600160401b0381841c16604083015260c01c6060820152019401920184929391611b4c565b5090868552602085209085915b818310611e28575050906020611b2c92820101611b20565b6020919350806001915483858801015201910190918392611e10565b60209250611b2c94915060ff191682840152151560051b820101611b20565b5034610217576040366003190112610217576103f8600435611e836124ea565b90611ea96103ee825f525f516020615b2f5f395f51905f52602052600160405f20015490565b613634565b503461021757608036600319011261021757611ec86124d4565b611ed0612500565b611ed8612516565b90606435926fffffffffffffffffffffffffffffffff841680940361075057611eff612c2b565b84611f09826130da565b926001600160a01b0360808501511693843b156104da57611f936101048492836001600160401b03806040519788968795636f0d192560e11b875260048701906001600160a01b036080809263ffffffff815116855260208101511515602086015263ffffffff604082015116604086015263ffffffff6060820151166060860152015116910152565b169a8b60a485015216988960c48401528b60e48401525af180156104de57611ff5575b50506001600160a01b036040917f500d805a349357fe5d4759fe052d79bd744b82c8452837f52a7456ec7d3d751c93835195865260208601521692a380f35b81611fff916125f4565b61075057845f611fb6565b50346102175760203660031901126102175760206120426004355f525f516020615b2f5f395f51905f52602052600160405f20015490565b604051908152f35b503461021757806003193601126102175760206040517f880a9ba888678c7fe4e8c4f028c224f26ce12a3bed6e96025c61ef8a5db6312f8152f35b50346102175760603660031901126102175761209f6124d4565b6024356001600160401b0381116104da576120be90369060040161254e565b9092604435906001600160401b0382116102175760206120428686866120e7366004890161254e565b9390926120f2612c2b565b6126e3565b50346121ad5760403660031901126121ad576121116124d4565b9060243561211d612b6d565b6001600160a01b036080612130856130da565b015116803b156121ad576040516390a0827b60e01b81526001600160a01b038516600482015260248101839052905f908290604490829084905af180156121a25761218c575b5061020591926001600160a01b0333911661313e565b61020592505f61219b916125f4565b5f91612176565b6040513d5f823e3d90fd5b5f80fd5b346121ad575f3660031901126121ad5760206040516305f5e1008152f35b346121ad5760a03660031901126121ad576121e86124d4565b6121f061252c565b6121f861253f565b9160643563ffffffff81168091036121ad576084359163ffffffff83168093036121ad5761222581612dcb565b5061222e612bdc565b6001600160a01b036001612272836001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0160205260405f2090565b0154169081156123ca575b63ffffffff6040519561228f876125a2565b16948581526001600160a01b036001816020840199151595868b52604085019a888c52606086018a8152836080880193169c8d845263ffffffff6123038a6001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0160205260405f2090565b985116926cffffffff00000000000000000068ffffffff000000000064ff000000008b549351151560201b16935160281b16935160481b16936cffffffff000000000000000000199168ffffffffffffffffff1916171617171785555116920191166001600160a01b031982541617905561237d86613053565b156121ad577ff0dcc8957a27613dd82c92382ad37254b9744169d0caa5f3873cfec7ba794eb9936080936001600160a01b03936040519788526020880152604087015260608601521692a3005b90506123d58161300b565b604051610b048082018281106001600160401b0382111761240757829161500b833903905ff580156121a2579061227d565b634e487b7160e01b5f52604160045260245ffd5b346121ad5760203660031901126121ad5760043563ffffffff60e01b81168091036121ad57602090637965db0b60e01b8114908115612460575b506040519015158152f35b6301ffc9a760e01b14905082612455565b346121ad5760403660031901126121ad576124d261248d6124d4565b6001600160a01b0361249d612500565b916124a6612b6d565b165f525f516020615b0f5f395f51905f526020526001600160401b03600460405f200154163390612ce7565b005b600435906001600160a01b03821682036121ad57565b602435906001600160a01b03821682036121ad57565b602435906001600160401b03821682036121ad57565b604435906001600160401b03821682036121ad57565b6024359063ffffffff821682036121ad57565b6044359081151582036121ad57565b9181601f840112156121ad578235916001600160401b0383116121ad576020808501948460051b0101116121ad57565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b60a081019081106001600160401b0382111761240757604052565b60c081019081106001600160401b0382111761240757604052565b61010081019081106001600160401b0382111761240757604052565b90601f801991011681019081106001600160401b0382111761240757604052565b60c09060031901126121ad576040519061262e826125bd565b81600435815260243560208201526044356001600160a01b03811681036121ad5760408201526064356001600160a01b03811681036121ad576060820152608435608082015260a060a435910152565b919081101561268e5760051b0190565b634e487b7160e01b5f52603260045260245ffd5b906001600160401b03809116911601906001600160401b0382116126c257565b634e487b7160e01b5f52601160045260245ffd5b919082018092116126c257565b9194935f935f968281036121ad5761272b856001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0260205260405f2090565b544311156121ad57929061273e85612dcb565b91608061274a876130da565b01916001600160a01b038351169461277160208601966001600160401b0388511690613193565b965f975b818d106129e1575b50508a1592506129d691505057436127c5866001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0260205260405f2090565b556001600160401b038416806127df575b50505050505050565b6127f46128179560e0855101515f0b90613565565b6001600160401b03869792975116906001600160401b0360a08701511691613606565b156129b75750612857856001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0460205260405f2090565b6128628582546126d6565b90556001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166001600160a01b03861690803b156121ad5760405163f3fef3a360e01b81526001600160a01b038316600482015260248101879052905f908290604490829084905af180156121a25761298b575b506001600160a01b03826128ff876001600160401b03948460e09751169061313e565b511693511691510151850b93823b15610a7d57604051639c45c34b60e01b81526001600160a01b0390911660048201526001600160401b03909116602482015260448101929092525f9290920b606482015290829082908183816084810103925af180156104de57612976575b80808080806127d6565b6129818280926125f4565b610217578061296c565b6001600160401b0391975060e0926129ab5f6001600160a01b03936125f4565b5f9890935091506128dc565b6001600160a01b03866377e88bc960e11b5f521660045260245260445ffd5b505f96505050505050565b6129f08d83879f9b969761267e565b35906129fd8a858861267e565b356001600160401b03811681036121ad57612a2692898d926001600160a01b038b511692613275565b94909115612a4457600191612a3a916126a2565b98019b9392612775565b989c5061277d565b60405190612a59826125d8565b5f60e08360608152606060208201528260408201528260608201528260808201528260a08201528260c08201520152565b60405190612a97826125bd565b5f60a083612aa3612a4c565b81528260208201528260408201528260608201528260808201520152565b90600182811c92168015612aef575b6020831014612adb57565b634e487b7160e01b5f52602260045260245ffd5b91607f1691612ad0565b6001600160401b03811161240757601f01601f191660200190565b3d15612b3e573d90612b2582612af9565b91612b3360405193846125f4565b82523d5f602084013e565b606090565b60405190612b50826125a2565b5f6080838281528260208201528260408201528260608201520152565b335f9081527f176c3a4e1b4d1d61213187c0dde7f83e2e2c933a339cb5403b4090bc2f0aa49a602052604090205460ff1615612ba557565b63e2517d3f60e01b5f52336004527f880a9ba888678c7fe4e8c4f028c224f26ce12a3bed6e96025c61ef8a5db6312f60245260445ffd5b335f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d602052604090205460ff1615612c1457565b63e2517d3f60e01b5f52336004525f60245260445ffd5b335f9081527fcf7720576cdb70176b3017d893bcb89ba0f36ed0261d4350fd0180e938b3bacd602052604090205460ff1615612c6357565b63e2517d3f60e01b5f52336004527f5300fde95a5e446527bf6aa7c91bd6661bef5398afc77061d9bc87efb80b7ef660245260445ffd5b805f525f516020615b2f5f395f51905f5260205260405f206001600160a01b0333165f5260205260ff60405f20541615612cd15750565b63e2517d3f60e01b5f523360045260245260445ffd5b6024906001600160401b03612d56939481604051936001600160a01b03602086019816885216604084015216606082015260608152612d276080826125f4565b6040519384916280000360e11b60208401525180918484015e81015f838201520301601f1981018352826125f4565b7333333333333333333333333333333333333333333b156121ad575f612d9891604051809381926317938e1360e01b835260206004840152602483019061257e565b0381837333333333333333333333333333333333333333335af180156121a257612dbf5750565b5f612dc9916125f4565b565b6001600160a01b0390612ddc612a8a565b50165f525f516020615b0f5f395f51905f5260205260405f2060405191612e02836125bd565b60405191612e0f836125d8565b6040518154815f612e1f83612ac1565b8083529260018116908115612fec5750600114612fab575b612e43925003826125f4565b8352600181019360405180602087549182815201965f5260205f20905f915b816003840110612f5f5797612ea39284926001600160a01b039798999a5491818110611d9757818110611d7a57818110611d5d5710611d4f575003826125f4565b60208601528160028401546001600160401b038116604088015260401c1660608601526001600160401b0360066003850154946080880197858716895260ff8760a01c1660a082015260c081019660ff8160a81c16885260b01c5f0b60e0820152845260ff6004820154848116602087015260401c1615156040850152600581015460608501520154818116608084015260401c1660a082015293511615159081612f51575b50156121ad57565b60ff9150511615155f612f49565b97600160806004928b546001600160401b03811682526001600160401b038160401c1660208301526001600160401b0381841c16604083015260c01c6060820152019901920191612e62565b5090835f5260205f20905f915b818310612fd0575050906020612e4392820101612e37565b6020919350806001915483858801015201910190918392612fb8565b60209250612e4394915060ff191682840152151560051b820101612e37565b60405160208101913060601b83526bffffffffffffffffffffffff199060601b166034820152602881526130406048826125f4565b51902090565b519081151582036121ad57565b5f80916040516001600160a01b036020820192168252602081526130786040826125f4565b51906108105afa613087612b14565b90156130cb576020818051810103126121ad5760405190602082018281106001600160401b03821117612407576040526130c390602001613046565b809152151590565b6313dd7ccd60e31b5f5260045ffd5b6130e690610b8d612b43565b906001600160a01b036001604051936130fe856125a2565b63ffffffff8154818116875260ff8160201c1615156020880152818160281c16604088015260481c1660608601520154169182608082015291156121ad57565b60405163a9059cbb60e01b60208201526001600160a01b03929092166024830152604480830193909352918152612dc99161317a6064836125f4565b614c86565b51906001600160401b03821682036121ad57565b5f919082916001600160401b03604051916001600160a01b036020840194168452166040820152604081526131c96060826125f4565b51906108015afa6131d8612b14565b9015613246576060818051810103126121ad576040519060608201918083106001600160401b03841117612407576001600160401b0392604052604061323f60606132256020860161317f565b9485855261323484820161317f565b60208601520161317f565b9101521690565b639d2c8fcb60e01b5f5260045ffd5b906001600160401b03809116911603906001600160401b0382116126c257565b95929190939495805f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0360205260405f20916001600160a01b038354169586156134ed576002840180549860ff8a60481c166134de576001600160a01b03600187015491166001600160a01b038216036134cb576001600160401b039060a01c166001600160401b038a1660ff8b60401c165f14613474575080926001600160401b03811682115f1461346c5761332c91613255565b985b6133388a8c6126a2565b9a6001600160401b038c166001600160401b0385161161345b575069010000000000000000009069ff000000000000000000191617905561337b8160019a613255565b966001600160401b0360206001600160a01b0361339f60e0875101515f0b8d613565565b50981694015116833b156121ad5760405163a703334f60e01b81526001600160401b0391821660048201526001600160a01b0392909216602483015282166044820152915f908390606490829084905af19081156121a2577f53b9d5645f8b7ccd861ebd6036860fd21716451d1f238cb3720f12f3c49b0c439260409261344b575b506001600160a01b0360018187541696015416956001600160401b038351921682526020820152a4565b5f613455916125f4565b5f613421565b5f9b508b9a50985050505050505050565b50505f61332c565b9092809a93806001600160401b038316105f146134c05761349f9161349891613255565b809b6126a2565b816001600160401b038216115f146134b957505b9161332e565b90506134b3565b505061349f5f613498565b8463358d72d160e01b5f5260045260245ffd5b63f7348a7960e01b5f5260045ffd5b631a40316d60e01b5f5260045ffd5b60ff16604d81116126c257600a0a90565b919082039182116126c257565b8115613524570490565b634e487b7160e01b5f52601260045260245ffd5b90620f4240820291808304620f424014901517156126c257565b818102929181159184041417156126c257565b9190805f0b80155f146135825750506001600160401b0382169190565b5f8113156135ad575061359a6135a99160ff166134fc565b6001600160401b038416613552565b9190565b9050607f1981146126c2576001600160401b03926135d26135db925f0360ff166134fc565b938491166126d6565b5f1981019081116126c2576136026135fb846001600160401b039361351a565b9384613552565b1690565b61362c6001600160401b039293613626849361362181614d1f565b613193565b946126a2565b169116101590565b805f525f516020615b2f5f395f51905f5260205260405f206001600160a01b0383165f5260205260ff60405f205416155f146136d557805f525f516020615b2f5f395f51905f5260205260405f206001600160a01b0383165f5260205260405f20600160ff198254161790556001600160a01b03339216907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b50505f90565b805f525f516020615b2f5f395f51905f5260205260405f206001600160a01b0383165f5260205260ff60405f2054165f146136d557805f525f516020615b2f5f395f51905f5260205260405f206001600160a01b0383165f5260205260405f2060ff1981541690556001600160a01b03339216907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b907f0000000000000000000000000000000000000000000000000000000000000000604083016137b16001600160a01b03825116613053565b156142f2576001600160a01b038216805f525f516020615b0f5f395f51905f5260205260405f2090604051946137e6866125bd565b6040516137f2816125d8565b6040518454815f61380283612ac1565b80835292600181169081156142d35750600114614292575b613826925003826125f4565b815260018401604051808260208294549384815201905f5260205f20925f905b80600383011061424057613878945491818110611d9757818110611d7a57818110611d5d5710611d4f575003826125f4565b60208201526001600160a01b0360028501546001600160401b038116604084015260401c16606082015260038401546001600160a01b038116608083015260ff8160a01c1660a083015260ff8160a81c1660c083015260b01c5f0b60e08201528652600660048401549360ff60208901956001600160401b038116875260401c1615156040890152600581015460608901520154966001600160401b03881660808801526001600160401b0360a088019860401c168852606081016001600160a01b038151165f525f516020615b0f5f395f51905f5260205260405f209560405196613963886125bd565b60405161396f816125d8565b6040518254815f61397f83612ac1565b808352926001811690811561422157506001146141e0575b6139a3925003826125f4565b81526040516001830180548083525f9182526020808320849391840192905b81600384011061418e575491818110614174575b818110614157575b81811061413a575b1061412c575b50036139f890826125f4565b602082015260028201546001600160401b038116604083015260401c6001600160a01b0316606082015260038201546001600160a01b03811660808301528060a01c60ff1660a08301528060a81c60ff1660c083015260b01c5f0b60e0820152885260048101546001600160401b03811660208a015260401c60ff161515604089015260058101546060890152600601546001600160401b038116608089015260401c6001600160401b031660a088015281516001600160a01b0316613abd906130da565b9383519060a08501918251996080870191825115159b613adc916126d6565b8d5160e001515f0b613aed91614a1b565b90508d5160c0015160ff16825160c0015160ff1690613b0b92614f80565b9a156140fe578a925b5f8063ffffffff8b51166040516020810191825260208152613b376040826125f4565b51906108085afa613b46612b14565b90156140ef576020818051810103126121ad57898f9360ff60a0613b949260206001600160401b03613b7c82613b9a990161317f565b16950197885115155f146140e45750510151166134fc565b90613552565b82511561409a5763ffffffff613bb58160608d015116614d45565b16620f4240019081620f4240116126c257613beb620f424091613b946001600160401b039463ffffffff8f6040015116906126d6565b0416908351908115155f146140925750915b5115614051576305f5e10081101561401157505f5b613c32613c1f8651613538565b613c2c8a518851906126d6565b906126d6565b5f198101919082116126c257613c2c613c5892613c528b518951906126d6565b9061351a565b60648083028381048214841517156126c2578211613f975750505085518c5160e001515f0b613c8691614a1b565b9d8e8b9c929c516001600160401b031691516001600160401b031690613cab92613606565b15613f47579c8a9b9c9d85516001600160a01b03169387516001600160a01b0316935115159360405195613cde876125bd565b86526020860190815260408601926001600160401b03169485845260608701926001600160401b0316968784526080810191825260a08101925f845260208d019586515f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0360205260405f2092516001600160a01b03166001600160a01b031683546001600160a01b0319161783556001830191516001600160a01b03166001600160a01b031682546001600160a01b0319161782555181549060a01b7bffffffffffffffff000000000000000000000000000000000000000016907fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff1617905560020192516001600160401b03166001600160401b03166001600160401b0319845416178355511515613e3490839068ff0000000000000000825491151560401b169068ff00000000000000001916179055565b51151581549060481b69ff000000000000000000169069ff00000000000000000019161790555194516001600160a01b031695516001600160a01b03169651935160405194855260208501526001600160401b031660408401526060830152608082015260a07f550576b2f9e0ac12dfd5dd2d5743b5b7f11f34302b5f6bec6ad60db81bd6a91891a4608001516001600160a01b03169283613ed59261313e565b516001600160401b0316935160e001515f0b93813b156121ad57604051639c45c34b60e01b81526001600160a01b039490941660048501526001600160401b0316602484015260448301919091525f92830b60648301529091908290608490829084905af180156121a257612dbf5750565b5050505050945095505092505081612dc9947f8d61555dcf69ba745e97fdea78e2652d9cdd464ca521faad482fe796f6d5841c602080870151926001600160401b0360405191168152a352614a9c565b999c5099509c50505050509450809650602091500151906001600160a01b03845116928181018091116126c2575f1981019081116126c257811561352457612dc9977fc8f90125c6a36c77a571201afc10310420481ab4895fadabb596d0ba71c22e3e92604092049082519182526020820152a352614367565b6305f5e0ff19016001600160401b0381116126c25761404b6140406001600160401b036305f5e1009316613538565b6305f5e0ff906126d6565b04613c12565b6305f5e10081111561406457505f613c12565b6305f5e100036001600160401b0381116126c25761404b6140406001600160401b036305f5e1009316613538565b905091613bfd565b63ffffffff6140ae8160608d015116614d45565b16620f42400390620f424082116126c257613beb620f424091613b946001600160401b039463ffffffff8f60400151169061350d565b9050510151166134fc565b635cffc5fb60e11b5f5260045ffd5b826127100361271081116126c2576127106141236001600160401b0392838f16613552565b04169a92613b14565b60c01c81526020015f6139ec565b9260206001916001600160401b038560801c1681520193016139e6565b9260206001916001600160401b038560401c1681520193016139de565b9260206001916001600160401b03851681520193016139d6565b935090916001608060049286546001600160401b03811682526001600160401b038160401c1660208301526001600160401b0381841c16604083015260c01c60608201520194019201908493926139c2565b5090845f5260205f20905f915b8183106142055750509060206139a392820101613997565b60209193508060019154838588010152019101909183926141ed565b602092506139a394915060ff191682840152151560051b820101613997565b916004919350608060019186546001600160401b03811682526001600160401b038160401c1660208301526001600160401b0381841c16604083015260c01c6060820152019401920184929391613846565b5090865f5260205f20905f915b8183106142b75750509060206138269282010161381a565b602091935080600191548385880101520191019091839261429f565b6020925061382694915060ff191682840152151560051b82010161381a565b6080840151909392501561431d576001600160a01b038351166320a2097d60e11b5f5260045260245ffd5b6001600160a01b0390612dc9937f31604f5790fbed7a37471cea010a8f08483441a6e1235ac48bb59337439a630d60208481870151935116604051908152a2166060820152614a9c565b6060810151906001600160a01b035f921691825f525f516020615b0f5f395f51905f5260205260405f206040519161439e836125bd565b6040516143aa816125d8565b6040518354815f6143ba83612ac1565b80835292600181169081156149e657506001146149a5575b6143de925003826125f4565b815260018301604051808260208294549384815201905f5260205f20925f905b80600383011061495357614430945491818110611d9757818110611d7a57818110611d5d5710611d4f575003826125f4565b60208201526001600160a01b0360028401546001600160401b038116604084015260401c16606082015260038301546001600160a01b038116608083015260ff8160a01c1660a083015260ff8160a81c1660c083015260b01c5f0b60e08201528352600660048301549260ff60208601946001600160401b038116865260401c1615156040860152600581015460608601520154906001600160401b03821660808501526001600160401b0360a085019260401c16825260408501936144ff6001600160a01b03865116613053565b156148e35785519261271061452861451d60a08a01968751906126d6565b60808a015190613552565b04948451958087116148db575b5085614839575b61457461455b61454d888b516126d6565b60e0865101515f0b90614a1b565b919093826001600160401b038086511692511691613606565b156147eb57508561475c575b6001600160401b036145ef916145c68b6001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0460205260405f2090565b6145d18982546126d6565b905551169160e06001600160a01b0389511694510151850b90614a1b565b909182614659575b5050505050907fb021c853215aadb12b6fa8afa7b3158201517d9abf7f756cdbb67bd66abc5a1c916146546001600160a01b0360208701519551169551915192604051938493846040919493926060820195825260208201520152565b0390a4565b8061471557505061466a8189614e43565b736b9e773128f453f5c2c60935ee2de2cbc5390a243b156104da576040519163611e2a2d60e11b83526004830152602482015263ffffffff6044820152818160648183736b9e773128f453f5c2c60935ee2de2cbc5390a245af180156104de57614700575b5050907fb021c853215aadb12b6fa8afa7b3158201517d9abf7f756cdbb67bd66abc5a1c915b90915f8080806145f7565b61470b8280926125f4565b61021757806146cf565b7fb021c853215aadb12b6fa8afa7b3158201517d9abf7f756cdbb67bd66abc5a1c9695945061475261475794929361474c83614d1f565b8c61313e565b612ce7565b6146f5565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016803b156121ad5760405163f3fef3a360e01b81526001600160a01b038b16600482015260248101889052905f908290604490829084905af180156121a2576147cf575b50614580565b6147dc9194505f906125f4565b5f926001600160401b036147c9565b9793505050507f8d61555dcf69ba745e97fdea78e2652d9cdd464ca521faad482fe796f6d5841c93506020925082915061482481614a9c565b0151926001600160401b0360405191168152a3565b614848868a60208b0151614d60565b61453c576040516370a0823160e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031660048201529095506020816024818c5afa9081156121a2575f916148a9575b509461453c565b90506020813d6020116148d3575b816148c4602093836125f4565b810103126121ad57515f6148a2565b3d91506148b7565b95505f614535565b50505050608082015190925015614911576001600160a01b038251166320a2097d60e11b5f5260045260245ffd5b612dc9917f31604f5790fbed7a37471cea010a8f08483441a6e1235ac48bb59337439a630d60206001600160a01b0381850151935116604051908152a2614a9c565b916004919350608060019186546001600160401b03811682526001600160401b038160401c1660208301526001600160401b0381841c16604083015260c01c60608201520194019201849293916143fe565b5090855f5260205f20905f915b8183106149ca5750509060206143de928201016143d2565b60209193508060019154838588010152019101909183926149b2565b602092506143de94915060ff191682840152151560051b8201016143d2565b818110614a10575050565b5f8155600101614a05565b9190805f0b9081155f14614a385750506001600160401b03821690565b5f821315614a7357614a4d915060ff166134fc565b91821561352457613602614a6c82856001600160401b0394069061350d565b938461351a565b505f0380805f0b036126c257613602614a966001600160401b039260ff166134fc565b84613552565b8051612710614abf614ab460a08501938451906126d6565b608085015190613552565b0481518181115f14614c7e5750905b81906020840191614af183519460608701956001600160a01b0387511690614d60565b15614c77575b80614bc1575b7f4755f239bb1b047245415cb917deced72a3ca8baebcef109c396ff332ea6f50f916146546001600160a01b0380614b36858a516126d6565b96614b4e828a51169860408c0199848b51169061313e565b614b8b828a51166001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0460205260405f2090565b614b968782546126d6565b9055519651169651169651915192604051938493846040919493926060820195825260208201520152565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916001600160a01b0385511692803b156121ad5760405163f3fef3a360e01b81526001600160a01b03949094166004850152602484018390525f908490604490829084905af19283156121a2577f4755f239bb1b047245415cb917deced72a3ca8baebcef109c396ff332ea6f50f93614c67575b509150614afd565b5f614c71916125f4565b5f614c5f565b505f614af7565b905090614ace565b906001600160a01b03614ce792165f8060405193614ca56040866125f4565b602085527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564602086015260208151910182855af1614ce1612b14565b91614fdf565b8051908115918215614cfd575b5050156121ad57565b81925090602091810103126121ad576020614d189101613046565b5f80614cf4565b6001600160401b03166001609d1b01806001609d1b116126c2576001600160a01b031690565b63ffffffff60649116029063ffffffff82169182036126c257565b6040516370a0823160e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811660048301529092169392909190602082602481885afa9182156121a2575f92614e0f575b5080821094851595614dd0575b50505050565b7f5180f0ad9e9bd2296de2ee38c85d11c56613fa73f8ee66792f26ac318f1274749260609260405192835260208301526040820152a25f808080614dca565b9091506020813d602011614e3b575b81614e2b602093836125f4565b810103126121ad5751905f614dbd565b3d9150614e1e565b9060405190602082019063095ea7b360e01b8252736b9e773128f453f5c2c60935ee2de2cbc5390a246024840152604483015260448252614e856064836125f4565b5f806001600160a01b0385169284519082855af190614ea2612b14565b82614f10575b5081614f05575b5015614eb9575050565b612dc99161317a60405163095ea7b360e01b6020820152736b9e773128f453f5c2c60935ee2de2cbc5390a2460248201525f604482015260448152614eff6064826125f4565b82614c86565b90503b15155f614eaf565b80519192508115918215614f28575b5050905f614ea8565b81925090602091810103126121ad576020614f439101613046565b5f80614f1f565b51906001600160a01b03821682036121ad57565b519060ff821682036121ad57565b9060ff8091169116039060ff82116126c257565b9160ff811660ff83168181145f14614f99575050505090565b6001600160401b039492911115614fc757614fc0614fbb613602948693614f6c565b6134fc565b9116613552565b614fd8614fbb859261360295614f6c565b911661351a565b91925015614ffb57815115614ff2575090565b3b156121ad5790565b5080519081156121ad57602001fdfe60a080604052346100455733608052610aba908161004a82396080518181816086015281816101b80152818161039a015281816104d50152818161054c01526106a40152f35b5f80fdfe60806040526004361015610011575f80fd5b5f5f3560e01c8063435354d31461050a57806390a0827b146104a55780639c45c34b146100ad578063a703334f1461033e578063de1a324a146100cb578063e94b77c1146100ad5763eba61c0e14610067575f80fd5b346100aa57806003193601126100aa5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b80fd5b50346100aa576100c86100bf366105ee565b92919091610699565b80f35b50346100aa57366003190161010081126103265760a0136100aa5760405160a0810181811067ffffffffffffffff82111761032a5760405261010b6105db565b91828252602435918215158303610326576020810192835260443563ffffffff8116810361032257604082015260643563ffffffff81168103610322576060820152608435906001600160a01b0382168203610322576080015260a43567ffffffffffffffff81168091036103265760c4359067ffffffffffffffff82168092036103225760e435946fffffffffffffffffffffffffffffffff861680960361031e576001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016330361031e5763ffffffff6101ed911661066c565b9351151592811561030f57821561030057916102819391600493506040519263ffffffff60208501971687526040840152606083015260808201525f945f60a0830152600260c083015260e082015260e0815261024c61010082610636565b6020604051948592630100000160e01b83850152518091602485015e8201018281015f8152500301601f198101835282610636565b7333333333333333333333333333333333333333333b156102fc575f6102bb91604051809381926317938e1360e01b8352600483016108ff565b0381837333333333333333333333333333333333333333335af180156102f1576102e3575080f35b6102ef91505f90610636565b005b6040513d5f823e3d90fd5b5f80fd5b6313c0a8df60e01b8152600490fd5b63017461b760e71b8152600490fd5b8380fd5b8280fd5b5080fd5b634e487b7160e01b83526041600452602483fd5b50346100aa5760603660031901126100aa578060043567ffffffffffffffff811680910361049c57602435906001600160a01b0382168092036104a15760443567ffffffffffffffff811680910361049f576001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016330361049f5761041f91600491604051916020830195865260408301526060820152606081526103eb608082610636565b60206040519485926280000360e11b83850152518091602485015e820101828101868152500301601f198101835282610636565b7333333333333333333333333333333333333333333b1561049c578161045991604051809381926317938e1360e01b8352600483016108ff565b0381837333333333333333333333333333333333333333335af18015610491576104805750f35b8161048a91610636565b6100aa5780f35b6040513d84823e3d90fd5b50fd5b505b5050fd5b50346100aa5760403660031901126100aa576004356001600160a01b038116809103610326576001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163303610326576100c890602435903390610929565b50346102fc5760403660031901126102fc576105246105db565b602435906fffffffffffffffffffffffffffffffff82168092036102fc576001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633036102fc5760046105806102819261066c565b926040519063ffffffff60208301951685526040820152604081526105a6606082610636565b6020604051948592630100000b60e01b83850152518091602485015e8201018281015f8152500301601f198101835282610636565b6004359063ffffffff821682036102fc57565b60809060031901126102fc576004356001600160a01b03811681036102fc579060243567ffffffffffffffff811681036102fc579060443590606435805f0b81036102fc5790565b90601f8019910116810190811067ffffffffffffffff82111761065857604052565b634e487b7160e01b5f52604160045260245ffd5b63ffffffff6127109116019063ffffffff821161068557565b634e487b7160e01b5f52601160045260245ffd5b926001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633036102fc57805f0b9081155f1461088f5750505b816106e357505050565b67ffffffffffffffff16806108685750906001600160a01b03166040515f806020830163095ea7b360e01b8152736b9e773128f453f5c2c60935ee2de2cbc5390a2460248501528560448501526044845261073f606485610636565b83519082865af161074e610a1a565b81610839575b508061082f575b156107d7575b5050736b9e773128f453f5c2c60935ee2de2cbc5390a243b156102fc5760405190630acb7f4b60e21b8252600482015263ffffffff60248201525f8160448183736b9e773128f453f5c2c60935ee2de2cbc5390a245af180156102f1576107c7575b505b565b5f6107d191610636565b5f6107c3565b6108289161082360405163095ea7b360e01b6020820152736b9e773128f453f5c2c60935ee2de2cbc5390a2460248201525f60448201526044815261081d606482610636565b82610978565b610978565b5f80610761565b50813b151561075b565b805180159250821561084e575b50505f610754565b6108619250602080918301019101610960565b5f80610846565b6001609d1b0191826001609d1b11610685576001600160a01b03806107c594169116610929565b5f8213156108d0576108a4915060ff16610a09565b80156108bc57808306830392831161068557506106d9565b634e487b7160e01b5f52601260045260245ffd5b505f0380805f0b03610685576108e89060ff16610a09565b8281810291818304149015171561068557506106d9565b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b6107c5926001600160a01b036040519363a9059cbb60e01b6020860152166024840152604483015260448252610823606483610636565b908160209103126102fc575180151581036102fc5790565b906001600160a01b036109d992165f8060405193610997604086610636565b602085527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564602086015260208151910182855af16109d3610a1a565b91610a59565b80519081159182156109ef575b5050156102fc57565b610a029250602080918301019101610960565b5f806109e6565b60ff16604d811161068557600a0a90565b3d15610a54573d9067ffffffffffffffff82116106585760405191610a49601f8201601f191660200184610636565b82523d5f602084013e565b606090565b91925015610a7557815115610a6c575090565b3b156102fc5790565b5080519081156102fc57602001fdfea26469706673582212203879dec62ee6969ddc1e719a778a3189d3e8f96806386657ebe93811d6723d1b64736f6c634300081e00336c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800a26469706673582212208e9caca3f731db1f887e8a59abe9f082d26d5774b810cdaa162e708e16ec228764736f6c634300081e00330000000000000000000000001d7c1398df7c823068e6a120d3921847929d428e000000000000000000000000b8ce59fc3717ada4c02eadf9682a9e934f625ebb" } ], "isFixedGasLimit": false }, { - "hash": "0x4e4cb63c9999ab7ebe40c120279d061ffbe753e3afc8bf2b5c989474ade7cd72", + "hash": "0x2e5b0b25ee1f629781571e91c81fea910546b5ba46203ae8b04ad51466eeb04f", "transactionType": "CALL", "contractName": "DonationBox", - "contractAddress": "0x3d589d40312bf2d20f13cd0af26a11144a9ca844", + "contractAddress": "0x1d7c1398df7c823068e6a120d3921847929d428e", "function": "transferOwnership(address)", - "arguments": ["0xc8786D517b4e224bB43985A38dBeF8588D7354CD"], + "arguments": ["0xDFa6EC7A77f90d9762459069EDd1ea78B853C67c"], "transaction": { "from": "0x9a8f92a830a5cb89a3816e3d267cb7791c16b04d", - "to": "0x3d589d40312bf2d20f13cd0af26a11144a9ca844", + "to": "0x1d7c1398df7c823068e6a120d3921847929d428e", "gas": "0x9925", "value": "0x0", - "input": "0xf2fde38b000000000000000000000000c8786d517b4e224bb43985a38dbef8588d7354cd", - "nonce": "0x2b7", + "input": "0xf2fde38b000000000000000000000000dfa6ec7a77f90d9762459069edd1ea78b853c67c", + "nonce": "0x3d0", "chainId": "0x3e7" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0xd8a7bc6a9a9a6e9b56f1579fedd45f64efe6c0f8de2eda7ac0ae0c67b6f13d7b", + "hash": "0xbe95b17d54711ee51a98a18e514ebe900ff65b012831f948ee2ee1ff12e38cbd", "transactionType": "CALL", "contractName": "PermissionedMulticallHandler", - "contractAddress": "0xfd0876712dd9003d014cdcd8e5140b4efac9bfcc", + "contractAddress": "0x2b20df3471e2751840a9c921696d62ea8bc4a391", "function": "grantRole(bytes32,address)", "arguments": [ "0x69048ea73402a715065a3029b4059a4e97d1461c95fa4fabca1084b5f34f4abe", - "0xc8786D517b4e224bB43985A38dBeF8588D7354CD" + "0xDFa6EC7A77f90d9762459069EDd1ea78B853C67c" ], "transaction": { "from": "0x9a8f92a830a5cb89a3816e3d267cb7791c16b04d", - "to": "0xfd0876712dd9003d014cdcd8e5140b4efac9bfcc", + "to": "0x2b20df3471e2751840a9c921696d62ea8bc4a391", "gas": "0x12401", "value": "0x0", - "input": "0x2f2ff15d69048ea73402a715065a3029b4059a4e97d1461c95fa4fabca1084b5f34f4abe000000000000000000000000c8786d517b4e224bb43985a38dbef8588d7354cd", - "nonce": "0x2b8", + "input": "0x2f2ff15d69048ea73402a715065a3029b4059a4e97d1461c95fa4fabca1084b5f34f4abe000000000000000000000000dfa6ec7a77f90d9762459069edd1ea78b853c67c", + "nonce": "0x3d1", "chainId": "0x3e7" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x3cd165c2aa3fad9741147d43d0f288514c88cfe47008ad453f4e9f656813929b", + "hash": "0xf4c612f17afd312e95f1d321c819d630f1c8c30c0b323317619af5fe9805eb09", "transactionType": "CALL", "contractName": "DstOFTHandler", - "contractAddress": "0xc8786d517b4e224bb43985a38dbef8588d7354cd", + "contractAddress": "0xdfa6ec7a77f90d9762459069edd1ea78b853c67c", "function": "setAuthorizedPeriphery(uint32,bytes32)", - "arguments": ["30101", "0x0000000000000000000000004607bceaf7b22cb0c46882ffc9fab3c6efe66e5a"], + "arguments": ["30110", "0x000000000000000000000000cf0e59e044216e0d291f6652e8e15b6c8d69cea8"], "transaction": { "from": "0x9a8f92a830a5cb89a3816e3d267cb7791c16b04d", - "to": "0xc8786d517b4e224bb43985a38dbef8588d7354cd", + "to": "0xdfa6ec7a77f90d9762459069edd1ea78b853c67c", "gas": "0x11dcc", "value": "0x0", - "input": "0x52e12a1400000000000000000000000000000000000000000000000000000000000075950000000000000000000000004607bceaf7b22cb0c46882ffc9fab3c6efe66e5a", - "nonce": "0x2b9", - "chainId": "0x3e7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x623f7c599877cc15df1592b28ef0fa479419c661a63ccfa47d1bf21ae0e59fef", - "transactionType": "CALL", - "contractName": "DstOFTHandler", - "contractAddress": "0xc8786d517b4e224bb43985a38dbef8588d7354cd", - "function": "setAuthorizedPeriphery(uint32,bytes32)", - "arguments": ["30110", "0x0000000000000000000000002ac5ee3796e027da274fbde84c82173a65868940"], - "transaction": { - "from": "0x9a8f92a830a5cb89a3816e3d267cb7791c16b04d", - "to": "0xc8786d517b4e224bb43985a38dbef8588d7354cd", - "gas": "0x11dcc", - "value": "0x0", - "input": "0x52e12a14000000000000000000000000000000000000000000000000000000000000759e0000000000000000000000002ac5ee3796e027da274fbde84c82173a65868940", - "nonce": "0x2ba", + "input": "0x52e12a14000000000000000000000000000000000000000000000000000000000000759e000000000000000000000000cf0e59e044216e0d291f6652e8e15b6c8d69cea8", + "nonce": "0x3d2", "chainId": "0x3e7" }, "additionalContracts": [], @@ -150,43 +131,43 @@ "receipts": [ { "status": "0x1", - "cumulativeGasUsed": "0x49bf0", + "cumulativeGasUsed": "0xe2d76", "logs": [ { - "address": "0x3d589d40312bf2d20f13cd0af26a11144a9ca844", + "address": "0x1d7c1398df7c823068e6a120d3921847929d428e", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000009a8f92a830a5cb89a3816e3d267cb7791c16b04d" ], "data": "0x", - "blockHash": "0xef1e9624634a242aef4aa6796bcc8d3538f6cfefd61b3a06a1514da983f38e7f", - "blockNumber": "0x145a6ac", - "blockTimestamp": "0x693782a0", - "transactionHash": "0xe617eb954e31dc4305f9ddcd9badd2e0e707e4b9c266e16fddaf8e7c23180fde", - "transactionIndex": "0x1", - "logIndex": "0x1", + "blockHash": "0x11b19e3f9018a6552a23b679958e210a453bc9196215a27a8512c5501a961a98", + "blockNumber": "0x147f3f1", + "blockTimestamp": "0x6939c63c", + "transactionHash": "0x4666b500b70a02f2f8656ad8d74a35fca668cd56e3444371e114999d93c9e68b", + "transactionIndex": "0x3", + "logIndex": "0x15", "removed": false } ], - "logsBloom": "0x00000400000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000020000000000000000000800000000000000000000000000040000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000200000000000000000000000020000001000000000000000000000000000000000000000000000000008000000000", + "logsBloom": "0x00000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000001000000000000000000000000000000000000020000000000000000000800000000000008000000000000040000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000002000000000000000000000000000000020000001000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "transactionHash": "0xe617eb954e31dc4305f9ddcd9badd2e0e707e4b9c266e16fddaf8e7c23180fde", - "transactionIndex": "0x1", - "blockHash": "0xef1e9624634a242aef4aa6796bcc8d3538f6cfefd61b3a06a1514da983f38e7f", - "blockNumber": "0x145a6ac", + "transactionHash": "0x4666b500b70a02f2f8656ad8d74a35fca668cd56e3444371e114999d93c9e68b", + "transactionIndex": "0x3", + "blockHash": "0x11b19e3f9018a6552a23b679958e210a453bc9196215a27a8512c5501a961a98", + "blockNumber": "0x147f3f1", "gasUsed": "0x3d4eb", - "effectiveGasPrice": "0x8f0d374", + "effectiveGasPrice": "0x7f73328", "from": "0x9a8f92a830a5cb89a3816e3d267cb7791c16b04d", "to": null, - "contractAddress": "0x3d589d40312bf2d20f13cd0af26a11144a9ca844" + "contractAddress": "0x1d7c1398df7c823068e6a120d3921847929d428e" }, { "status": "0x1", - "cumulativeGasUsed": "0x14bbbb", + "cumulativeGasUsed": "0x1e4d41", "logs": [ { - "address": "0xfd0876712dd9003d014cdcd8e5140b4efac9bfcc", + "address": "0x2b20df3471e2751840a9c921696d62ea8bc4a391", "topics": [ "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -194,33 +175,33 @@ "0x0000000000000000000000009a8f92a830a5cb89a3816e3d267cb7791c16b04d" ], "data": "0x", - "blockHash": "0xef1e9624634a242aef4aa6796bcc8d3538f6cfefd61b3a06a1514da983f38e7f", - "blockNumber": "0x145a6ac", - "blockTimestamp": "0x693782a0", - "transactionHash": "0xc0b5e25643a971a281b9a142a4b146f7833b336a36c68f446bb4e63495e3eeb7", - "transactionIndex": "0x2", - "logIndex": "0x2", + "blockHash": "0x11b19e3f9018a6552a23b679958e210a453bc9196215a27a8512c5501a961a98", + "blockNumber": "0x147f3f1", + "blockTimestamp": "0x6939c63c", + "transactionHash": "0xa6be6f9659a1d4d03fb280a87a7fa9e556b8d98c04d224e5c97bd5f3877c0cd1", + "transactionIndex": "0x4", + "logIndex": "0x16", "removed": false } ], - "logsBloom": "0x00000004000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000020000000000000000000800000000000000000000000000040000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000800000000000000000000000000000000100000000000020000001000000000000000000000000000000000000000000000000000000000000", + "logsBloom": "0x00000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000800000000000000000000200000040000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000080001000000000000000000000000000800000000000000000000000000000000100000000000020000001000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "transactionHash": "0xc0b5e25643a971a281b9a142a4b146f7833b336a36c68f446bb4e63495e3eeb7", - "transactionIndex": "0x2", - "blockHash": "0xef1e9624634a242aef4aa6796bcc8d3538f6cfefd61b3a06a1514da983f38e7f", - "blockNumber": "0x145a6ac", + "transactionHash": "0xa6be6f9659a1d4d03fb280a87a7fa9e556b8d98c04d224e5c97bd5f3877c0cd1", + "transactionIndex": "0x4", + "blockHash": "0x11b19e3f9018a6552a23b679958e210a453bc9196215a27a8512c5501a961a98", + "blockNumber": "0x147f3f1", "gasUsed": "0x101fcb", - "effectiveGasPrice": "0x8f0d374", + "effectiveGasPrice": "0x7f73328", "from": "0x9a8f92a830a5cb89a3816e3d267cb7791c16b04d", "to": null, - "contractAddress": "0xfd0876712dd9003d014cdcd8e5140b4efac9bfcc" + "contractAddress": "0x2b20df3471e2751840a9c921696d62ea8bc4a391" }, { "status": "0x1", - "cumulativeGasUsed": "0x7b890a", + "cumulativeGasUsed": "0x85d9da", "logs": [ { - "address": "0xc8786d517b4e224bb43985a38dbef8588d7354cd", + "address": "0xdfa6ec7a77f90d9762459069edd1ea78b853c67c", "topics": [ "0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff", "0x5300fde95a5e446527bf6aa7c91bd6661bef5398afc77061d9bc87efb80b7ef6", @@ -228,16 +209,16 @@ "0x0000000000000000000000000000000000000000000000000000000000000000" ], "data": "0x", - "blockHash": "0xef1e9624634a242aef4aa6796bcc8d3538f6cfefd61b3a06a1514da983f38e7f", - "blockNumber": "0x145a6ac", - "blockTimestamp": "0x693782a0", - "transactionHash": "0x7ce545552d4a517bc380951ec35bd5eb86f84e0364a7ac9417aba605b8bf6309", - "transactionIndex": "0x3", - "logIndex": "0x3", + "blockHash": "0x11b19e3f9018a6552a23b679958e210a453bc9196215a27a8512c5501a961a98", + "blockNumber": "0x147f3f1", + "blockTimestamp": "0x6939c63c", + "transactionHash": "0x0a784217cbe3ea1f5a707cd0c97ba1468341d523c9f500899313754f91d5e1e9", + "transactionIndex": "0x5", + "logIndex": "0x17", "removed": false }, { - "address": "0xc8786d517b4e224bb43985a38dbef8588d7354cd", + "address": "0xdfa6ec7a77f90d9762459069edd1ea78b853c67c", "topics": [ "0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff", "0x880a9ba888678c7fe4e8c4f028c224f26ce12a3bed6e96025c61ef8a5db6312f", @@ -245,16 +226,16 @@ "0x0000000000000000000000000000000000000000000000000000000000000000" ], "data": "0x", - "blockHash": "0xef1e9624634a242aef4aa6796bcc8d3538f6cfefd61b3a06a1514da983f38e7f", - "blockNumber": "0x145a6ac", - "blockTimestamp": "0x693782a0", - "transactionHash": "0x7ce545552d4a517bc380951ec35bd5eb86f84e0364a7ac9417aba605b8bf6309", - "transactionIndex": "0x3", - "logIndex": "0x4", + "blockHash": "0x11b19e3f9018a6552a23b679958e210a453bc9196215a27a8512c5501a961a98", + "blockNumber": "0x147f3f1", + "blockTimestamp": "0x6939c63c", + "transactionHash": "0x0a784217cbe3ea1f5a707cd0c97ba1468341d523c9f500899313754f91d5e1e9", + "transactionIndex": "0x5", + "logIndex": "0x18", "removed": false }, { - "address": "0xc8786d517b4e224bb43985a38dbef8588d7354cd", + "address": "0xdfa6ec7a77f90d9762459069edd1ea78b853c67c", "topics": [ "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -262,157 +243,128 @@ "0x0000000000000000000000009a8f92a830a5cb89a3816e3d267cb7791c16b04d" ], "data": "0x", - "blockHash": "0xef1e9624634a242aef4aa6796bcc8d3538f6cfefd61b3a06a1514da983f38e7f", - "blockNumber": "0x145a6ac", - "blockTimestamp": "0x693782a0", - "transactionHash": "0x7ce545552d4a517bc380951ec35bd5eb86f84e0364a7ac9417aba605b8bf6309", - "transactionIndex": "0x3", - "logIndex": "0x5", + "blockHash": "0x11b19e3f9018a6552a23b679958e210a453bc9196215a27a8512c5501a961a98", + "blockNumber": "0x147f3f1", + "blockTimestamp": "0x6939c63c", + "transactionHash": "0x0a784217cbe3ea1f5a707cd0c97ba1468341d523c9f500899313754f91d5e1e9", + "transactionIndex": "0x5", + "logIndex": "0x19", "removed": false } ], - "logsBloom": "0x00000004000000000800000000000000080000000000000000000080000000000100000000000000000000000000000000000000000000000100000000000000000000000000001000000000000000000000000000000000000020000000000000000000020000400000000000000800000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000001000000000000000000000100000800000000000000000000000000000000100000000000020100001000000000000000000000000000100000000000000000000000000000000", + "logsBloom": "0x02000004000000000820000000000000080000000000000000000080000000000100000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000020000000000000000000020000400000000000000800000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000800000000000000000000000000000000100000000004020100001000000000000000000000000000100000000000000000000000000000000", "type": "0x2", - "transactionHash": "0x7ce545552d4a517bc380951ec35bd5eb86f84e0364a7ac9417aba605b8bf6309", - "transactionIndex": "0x3", - "blockHash": "0xef1e9624634a242aef4aa6796bcc8d3538f6cfefd61b3a06a1514da983f38e7f", - "blockNumber": "0x145a6ac", - "gasUsed": "0x66cd4f", - "effectiveGasPrice": "0x8f0d374", + "transactionHash": "0x0a784217cbe3ea1f5a707cd0c97ba1468341d523c9f500899313754f91d5e1e9", + "transactionIndex": "0x5", + "blockHash": "0x11b19e3f9018a6552a23b679958e210a453bc9196215a27a8512c5501a961a98", + "blockNumber": "0x147f3f1", + "gasUsed": "0x678c99", + "effectiveGasPrice": "0x7f73328", "from": "0x9a8f92a830a5cb89a3816e3d267cb7791c16b04d", "to": null, - "contractAddress": "0xc8786d517b4e224bb43985a38dbef8588d7354cd" + "contractAddress": "0xdfa6ec7a77f90d9762459069edd1ea78b853c67c" }, { "status": "0x1", - "cumulativeGasUsed": "0x7bf7ea", + "cumulativeGasUsed": "0x8648ba", "logs": [ { - "address": "0x3d589d40312bf2d20f13cd0af26a11144a9ca844", + "address": "0x1d7c1398df7c823068e6a120d3921847929d428e", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x0000000000000000000000009a8f92a830a5cb89a3816e3d267cb7791c16b04d", - "0x000000000000000000000000c8786d517b4e224bb43985a38dbef8588d7354cd" + "0x000000000000000000000000dfa6ec7a77f90d9762459069edd1ea78b853c67c" ], "data": "0x", - "blockHash": "0xef1e9624634a242aef4aa6796bcc8d3538f6cfefd61b3a06a1514da983f38e7f", - "blockNumber": "0x145a6ac", - "blockTimestamp": "0x693782a0", - "transactionHash": "0x4e4cb63c9999ab7ebe40c120279d061ffbe753e3afc8bf2b5c989474ade7cd72", - "transactionIndex": "0x4", - "logIndex": "0x6", + "blockHash": "0x11b19e3f9018a6552a23b679958e210a453bc9196215a27a8512c5501a961a98", + "blockNumber": "0x147f3f1", + "blockTimestamp": "0x6939c63c", + "transactionHash": "0x2e5b0b25ee1f629781571e91c81fea910546b5ba46203ae8b04ad51466eeb04f", + "transactionIndex": "0x6", + "logIndex": "0x1a", "removed": false } ], - "logsBloom": "0x00000401000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000400000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000200000000000000000000000000000001000000000000000000000000000400000000000000000000008000000000", + "logsBloom": "0x00000000000000000000000000000000000000000000000000800000000000000000000000000010000000000000000000000000000000000000000000000000000008000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000008000000000000040000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000400000000000000000000000000000000000000800000000000002000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "transactionHash": "0x4e4cb63c9999ab7ebe40c120279d061ffbe753e3afc8bf2b5c989474ade7cd72", - "transactionIndex": "0x4", - "blockHash": "0xef1e9624634a242aef4aa6796bcc8d3538f6cfefd61b3a06a1514da983f38e7f", - "blockNumber": "0x145a6ac", + "transactionHash": "0x2e5b0b25ee1f629781571e91c81fea910546b5ba46203ae8b04ad51466eeb04f", + "transactionIndex": "0x6", + "blockHash": "0x11b19e3f9018a6552a23b679958e210a453bc9196215a27a8512c5501a961a98", + "blockNumber": "0x147f3f1", "gasUsed": "0x6ee0", - "effectiveGasPrice": "0x8f0d374", + "effectiveGasPrice": "0x7f73328", "from": "0x9a8f92a830a5cb89a3816e3d267cb7791c16b04d", - "to": "0x3d589d40312bf2d20f13cd0af26a11144a9ca844", + "to": "0x1d7c1398df7c823068e6a120d3921847929d428e", "contractAddress": null }, { "status": "0x1", - "cumulativeGasUsed": "0x7cbf94", + "cumulativeGasUsed": "0x871064", "logs": [ { - "address": "0xfd0876712dd9003d014cdcd8e5140b4efac9bfcc", + "address": "0x2b20df3471e2751840a9c921696d62ea8bc4a391", "topics": [ "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", "0x69048ea73402a715065a3029b4059a4e97d1461c95fa4fabca1084b5f34f4abe", - "0x000000000000000000000000c8786d517b4e224bb43985a38dbef8588d7354cd", + "0x000000000000000000000000dfa6ec7a77f90d9762459069edd1ea78b853c67c", "0x0000000000000000000000009a8f92a830a5cb89a3816e3d267cb7791c16b04d" ], "data": "0x", - "blockHash": "0xef1e9624634a242aef4aa6796bcc8d3538f6cfefd61b3a06a1514da983f38e7f", - "blockNumber": "0x145a6ac", - "blockTimestamp": "0x693782a0", - "transactionHash": "0xd8a7bc6a9a9a6e9b56f1579fedd45f64efe6c0f8de2eda7ac0ae0c67b6f13d7b", - "transactionIndex": "0x5", - "logIndex": "0x7", + "blockHash": "0x11b19e3f9018a6552a23b679958e210a453bc9196215a27a8512c5501a961a98", + "blockNumber": "0x147f3f1", + "blockTimestamp": "0x6939c63c", + "transactionHash": "0xbe95b17d54711ee51a98a18e514ebe900ff65b012831f948ee2ee1ff12e38cbd", + "transactionIndex": "0x7", + "logIndex": "0x1b", "removed": false } ], - "logsBloom": "0x00000005000000000000000000000000800000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000040000000000000000040000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000800000000000000000000000000000000100200000000000000001000000000000000000000000000400000000000000000000000000000000", + "logsBloom": "0x00000004000000000000000000000000000000000008000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000040000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000002000400000080001000000000000000000000000000800000000000000000000000000000000100200000000000000001000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "transactionHash": "0xd8a7bc6a9a9a6e9b56f1579fedd45f64efe6c0f8de2eda7ac0ae0c67b6f13d7b", - "transactionIndex": "0x5", - "blockHash": "0xef1e9624634a242aef4aa6796bcc8d3538f6cfefd61b3a06a1514da983f38e7f", - "blockNumber": "0x145a6ac", + "transactionHash": "0xbe95b17d54711ee51a98a18e514ebe900ff65b012831f948ee2ee1ff12e38cbd", + "transactionIndex": "0x7", + "blockHash": "0x11b19e3f9018a6552a23b679958e210a453bc9196215a27a8512c5501a961a98", + "blockNumber": "0x147f3f1", "gasUsed": "0xc7aa", - "effectiveGasPrice": "0x8f0d374", + "effectiveGasPrice": "0x7f73328", "from": "0x9a8f92a830a5cb89a3816e3d267cb7791c16b04d", - "to": "0xfd0876712dd9003d014cdcd8e5140b4efac9bfcc", + "to": "0x2b20df3471e2751840a9c921696d62ea8bc4a391", "contractAddress": null }, { "status": "0x1", - "cumulativeGasUsed": "0x7d82ff", + "cumulativeGasUsed": "0x87d3cf", "logs": [ { - "address": "0xc8786d517b4e224bb43985a38dbef8588d7354cd", + "address": "0xdfa6ec7a77f90d9762459069edd1ea78b853c67c", "topics": ["0xf3adc8db618887d7b76838e244efb05fc99475bb5a904a914d939fbdc41b7e8d"], - "data": "0x00000000000000000000000000000000000000000000000000000000000075950000000000000000000000004607bceaf7b22cb0c46882ffc9fab3c6efe66e5a", - "blockHash": "0xef1e9624634a242aef4aa6796bcc8d3538f6cfefd61b3a06a1514da983f38e7f", - "blockNumber": "0x145a6ac", - "blockTimestamp": "0x693782a0", - "transactionHash": "0x3cd165c2aa3fad9741147d43d0f288514c88cfe47008ad453f4e9f656813929b", - "transactionIndex": "0x6", - "logIndex": "0x8", + "data": "0x000000000000000000000000000000000000000000000000000000000000759e000000000000000000000000cf0e59e044216e0d291f6652e8e15b6c8d69cea8", + "blockHash": "0x11b19e3f9018a6552a23b679958e210a453bc9196215a27a8512c5501a961a98", + "blockNumber": "0x147f3f1", + "blockTimestamp": "0x6939c63c", + "transactionHash": "0xf4c612f17afd312e95f1d321c819d630f1c8c30c0b323317619af5fe9805eb09", + "transactionIndex": "0x8", + "logIndex": "0x1c", "removed": false } ], - "logsBloom": "0x00000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000080000000000000000000000000000000400000000000000000000000000000000000", + "logsBloom": "0x02000000000000000020800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080000000000000000000000000000000400000000000000000000000000000000000", "type": "0x2", - "transactionHash": "0x3cd165c2aa3fad9741147d43d0f288514c88cfe47008ad453f4e9f656813929b", - "transactionIndex": "0x6", - "blockHash": "0xef1e9624634a242aef4aa6796bcc8d3538f6cfefd61b3a06a1514da983f38e7f", - "blockNumber": "0x145a6ac", - "gasUsed": "0xc36b", - "effectiveGasPrice": "0x8f0d374", - "from": "0x9a8f92a830a5cb89a3816e3d267cb7791c16b04d", - "to": "0xc8786d517b4e224bb43985a38dbef8588d7354cd", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x7e466a", - "logs": [ - { - "address": "0xc8786d517b4e224bb43985a38dbef8588d7354cd", - "topics": ["0xf3adc8db618887d7b76838e244efb05fc99475bb5a904a914d939fbdc41b7e8d"], - "data": "0x000000000000000000000000000000000000000000000000000000000000759e0000000000000000000000002ac5ee3796e027da274fbde84c82173a65868940", - "blockHash": "0xef1e9624634a242aef4aa6796bcc8d3538f6cfefd61b3a06a1514da983f38e7f", - "blockNumber": "0x145a6ac", - "blockTimestamp": "0x693782a0", - "transactionHash": "0x623f7c599877cc15df1592b28ef0fa479419c661a63ccfa47d1bf21ae0e59fef", - "transactionIndex": "0x7", - "logIndex": "0x9", - "removed": false - } - ], - "logsBloom": "0x00000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000080000000000000000000000000000000400000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x623f7c599877cc15df1592b28ef0fa479419c661a63ccfa47d1bf21ae0e59fef", - "transactionIndex": "0x7", - "blockHash": "0xef1e9624634a242aef4aa6796bcc8d3538f6cfefd61b3a06a1514da983f38e7f", - "blockNumber": "0x145a6ac", + "transactionHash": "0xf4c612f17afd312e95f1d321c819d630f1c8c30c0b323317619af5fe9805eb09", + "transactionIndex": "0x8", + "blockHash": "0x11b19e3f9018a6552a23b679958e210a453bc9196215a27a8512c5501a961a98", + "blockNumber": "0x147f3f1", "gasUsed": "0xc36b", - "effectiveGasPrice": "0x8f0d374", + "effectiveGasPrice": "0x7f73328", "from": "0x9a8f92a830a5cb89a3816e3d267cb7791c16b04d", - "to": "0xc8786d517b4e224bb43985a38dbef8588d7354cd", + "to": "0xdfa6ec7a77f90d9762459069edd1ea78b853c67c", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, - "timestamp": 1765245690052, + "timestamp": 1765394068695, "chain": 999, - "commit": "c507c9ea" + "commit": "4dfc13b5" } diff --git a/broadcast/DeploySrcPeriphery.s.sol/42161/run-latest.json b/broadcast/DeploySrcPeriphery.s.sol/42161/run-latest.json index 0e4475cbb..16dbe5c71 100644 --- a/broadcast/DeploySrcPeriphery.s.sol/42161/run-latest.json +++ b/broadcast/DeploySrcPeriphery.s.sol/42161/run-latest.json @@ -1,10 +1,10 @@ { "transactions": [ { - "hash": "0xaf2427171b1d55e27dc75985001ce5a6be8c89a817f51b479f223b4c9799c7eb", + "hash": "0xc9d530e42b9a991e3b36930338793faeb52127a87eaa7b9935d8d9aa0a847d62", "transactionType": "CREATE", "contractName": "SponsoredOFTSrcPeriphery", - "contractAddress": "0x2ac5ee3796e027da274fbde84c82173a65868940", + "contractAddress": "0xcf0e59e044216e0d291f6652e8e15b6c8d69cea8", "function": null, "arguments": [ "0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9", @@ -14,10 +14,10 @@ ], "transaction": { "from": "0x9a8f92a830a5cb89a3816e3d267cb7791c16b04d", - "gas": "0x19d578", + "gas": "0x19a799", "value": "0x0", - "input": "0x60e0604090808252346200020c57608081620018158038038091620000258285620002be565b8339810103126200020c576200003b81620002f6565b906020906200004c828201620002f6565b91620000686060620000608785016200030b565b9301620002f6565b935f549260018060a01b03938460018060a01b03199633888416175f55895192823391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3846080528060a0528360c0521691635e280f1160e01b82528482600481865afa9182156200027257869286915f916200027c575b5060048b518095819363416ecebf60e01b8352165afa91821562000272575f9262000233575b5063ffffffff8091169116036200022257908260049392885194858092637e062a3560e11b82525afa928315620002185784925f94620001d1575b50508116911603620001c0577fbbe623e022cc184bd276c9a778810da1531bdd4c0bac9d86069eb499aa2eb500921690825416179055516114f790816200031e823960805181818161025401526107ee015260a05181818161012c0152818161082d0152610d75015260c0518181816102b90152610a3b0152f35b8351633722464560e11b8152600490fd5b809294508193503d831162000210575b620001ed8183620002be565b810103126200020c5782620002038192620002f6565b92905f62000145565b5f80fd5b503d620001e1565b87513d5f823e3d90fd5b8651637c68382b60e01b8152600490fd5b9091508481813d83116200026a575b6200024e8183620002be565b810103126200020c5762000262906200030b565b905f6200010a565b503d62000242565b89513d5f823e3d90fd5b9293505081813d8311620002b6575b620002978183620002be565b810103126200020c57519085821682036200020c578486925f620000e4565b503d6200028b565b601f909101601f19168101906001600160401b03821190821017620002e257604052565b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036200020c57565b519063ffffffff821682036200020c5756fe60806040526004361015610011575f80fd5b5f3560e01c8063238ac933146100c45780635b9cae35146100bf5780636c19e783146100ba578063715018a6146100b557806382bfefc8146100b05780638da5cb5b146100ab578063c9279a74146100a6578063f2fde38b146100a1578063f731ce5f1461009c578063fcc5b1e3146100975763feb6172414610092575f80fd5b610516565b6104a8565b610475565b6102dd565b61029d565b610278565b610235565b6101d1565b610161565b61010d565b34610109575f3660031901126101095760206001600160a01b037fbbe623e022cc184bd276c9a778810da1531bdd4c0bac9d86069eb499aa2eb5005416604051908152f35b5f80fd5b34610109575f3660031901126101095760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b6001600160a01b0381160361010957565b346101095760203660031901126101095760043561017e81610150565b610186610997565b6001600160a01b037fbbe623e022cc184bd276c9a778810da1531bdd4c0bac9d86069eb499aa2eb500911673ffffffffffffffffffffffffffffffffffffffff198254161790555f80f35b34610109575f366003190112610109576101e9610997565b5f6001600160a01b03815473ffffffffffffffffffffffffffffffffffffffff1981168355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b34610109575f3660031901126101095760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b34610109575f3660031901126101095760206001600160a01b035f5416604051908152f35b34610109575f36600319011261010957602060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b34610109576020366003190112610109576004356102fa81610150565b610302610997565b6001600160a01b03809116908115610109575f548273ffffffffffffffffffffffffffffffffffffffff198216175f55167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3005b634e487b7160e01b5f52604160045260245ffd5b6040810190811067ffffffffffffffff82111761038957604052565b610359565b6080810190811067ffffffffffffffff82111761038957604052565b90601f8019910116810190811067ffffffffffffffff82111761038957604052565b6040519060e0820182811067ffffffffffffffff82111761038957604052565b67ffffffffffffffff811161038957601f01601f191660200190565b6040516020810181811067ffffffffffffffff821117610389576040525f8152905f368137565b5f5b8381106104405750505f910152565b8181015183820152602001610431565b906020916104698151809281855285808601910161042f565b601f01601f1916010190565b34610109575f366003190112610109576104a4610490610408565b604051918291602083526020830190610450565b0390f35b600319604036820112610109576004359067ffffffffffffffff908183116101095760609083360301126101095760243591818311610109573660238401121561010957826004013591821161010957366024838501011161010957602461051493019060040161075d565b005b34610109576020366003190112610109576004355f527fbbe623e022cc184bd276c9a778810da1531bdd4c0bac9d86069eb499aa2eb501602052602060ff60405f2054166040519015158152f35b1561010957565b90359061019e1981360301821215610109570190565b634e487b7160e01b5f52601160045260245ffd5b919082039182116105a257565b610581565b3d156105d1573d906105b8826103ec565b916105c660405193846103aa565b82523d5f602084013e565b606090565b9190826040910312610109576040516105ee8161036d565b6020808294805184520151910152565b919082810360c0811261010957608013610109576040519067ffffffffffffffff60608301818111848210176103895760405284518352602085015190811681036101095782608091602061066895015261065c83604088016105d6565b604082015294016105d6565b90565b6106689163ffffffff825116815260208201516020820152604082015160408201526060820151606082015260c06106c76106b5608085015160e0608086015260e0850190610450565b60a085015184820360a0860152610450565b9201519060c0818403910152610450565b9193926001600160a01b039060206106fa60609460808752608087019061066b565b968051828701520151604085015216910152565b6040513d5f823e3d90fd5b959287959260e09895928852602088015260408701526060860152608085015260c060a08501528160c0850152848401375f828201840152601f01601f1916010190565b909161076a8184846109bb565b6107b86107ab608061077c858061056b565b01355f527fbbe623e022cc184bd276c9a778810da1531bdd4c0bac9d86069eb499aa2eb50160205260405f2090565b805460ff19166001179055565b6107c182610bd8565b815134106109855761088292826107db60c0945134610595565b8061095d575b506001600160a01b0391827f00000000000000000000000000000000000000000000000000000000000000001692610828606061081e8b8061056b565b0135303387610def565b6108627f00000000000000000000000000000000000000000000000000000000000000009485606061085a8d8061056b565b013591610e47565b8251916040519788968795869363c7c7f5b360e01b8552600485016106d8565b0393165af180156109585761092a575b507f8fb515a2e89f5acfca1124e69e331c2cded0ca216b578ba531720f6841139dbf60806108c0848061056b565b01359160e06108cf858061056b565b01359461092560406108e1878061056b565b01359260a06108f0888061056b565b01359260c06108ff898061056b565b01359461010061090f8a8061056b565b0135906040519687966040339c01359288610719565b0390a4565b61094b9060c03d60c011610951575b61094381836103aa565b8101906105fe565b50610892565b503d610939565b61070e565b5f80808061097f946001600160a01b0389165af16109796105a7565b50610564565b5f6107e1565b604051639c92bdfb60e01b8152600490fd5b6001600160a01b035f5416330361010957565b3563ffffffff811681036101095790565b91610a0590610a09926109f57fbbe623e022cc184bd276c9a778810da1531bdd4c0bac9d86069eb499aa2eb500546001600160a01b031690565b6109ff868061056b565b90610f41565b1590565b610ab65760a0610a19828061056b565b01354211610aa457610a33610a2e828061056b565b6109aa565b63ffffffff807f000000000000000000000000000000000000000000000000000000000000000016911603610a9257610a74608061077c83610a7b9461056b565b5460ff1690565b610a8157565b604051623f613760e71b8152600490fd5b604051637c68382b60e01b8152600490fd5b604051638727a7f960e01b8152600490fd5b60405163c1606c2f60e01b8152600490fd5b6040519060e0820182811067ffffffffffffffff82111761038957604052606060c0835f81525f60208201525f60408201525f838201528260808201528260a08201520152565b60405190610b1c8261036d565b5f6020838281520152565b3560ff811681036101095790565b903590601e1981360301821215610109570180359067ffffffffffffffff82116101095760200191813603831361010957565b929192610b74826103ec565b91610b8260405193846103aa565b829481845281830111610109578281602093845f960137010152565b9060408282031261010957610668916105d6565b91906020610bc95f9260408652604086019061066b565b930152565b3561066881610150565b610be0610ac8565b50610be9610b0f565b506080610bf6828061056b565b013591610c7d60a0610c08848061056b565b013560c0610c16858061056b565b013560409560e0610c27878061056b565b0135610100610c36888061056b565b013591610c4f610160610c498a8061056b565b01610b27565b93610c72610c6b610c608b8061056b565b610180810190610b35565b3691610b68565b958a8a013592611058565b91610ccf610cb9610c8c6110a3565b610cb3610120610c9c868061056b565b01356fffffffffffffffffffffffffffffffff1690565b906110bd565b610cc9610140610c9c858061056b565b906111b9565b610ce46020610cde848061056b565b016109aa565b9385610cf0848061056b565b0135916060610cff858061056b565b01356060610d0d868061056b565b013590610d18610408565b94610d30610d246103cc565b63ffffffff909a168a52565b6020890152888801526060870152608086015260a085015260c08401528351633b6f743b60e01b8152848180610d698760048301610bb2565b03816001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165afa948515610958575f95610db9575b50506020610db39101610bce565b91929190565b610db392955060209181610de192903d10610de8575b610dd981836103aa565b810190610b9e565b9491610da5565b503d610dcf565b9290604051926323b872dd60e01b60208501526001600160a01b03809216602485015216604483015260648201526064815260a081019181831067ffffffffffffffff84111761038957610e45926040526112b8565b565b91909160405191602083015f8063095ea7b360e01b938484526001600160a01b03908189166024890152604488015260448752610e838761038e565b85169286519082855af190610e966105a7565b82610f0f575b5081610f04575b5015610eb0575b50505050565b60405160208101919091526001600160a01b0390931660248401525f6044840152610efb92610ef690610ef081606481015b03601f1981018352826103aa565b826112b8565b6112b8565b5f808080610eaa565b90503b15155f610ea3565b80519192508115918215610f27575b5050905f610e9c565b610f3a92506020809183010191016112a0565b5f80610f1e565b92906110479261104191610f54816109aa565b90611036610f64602083016109aa565b610ee2610f746101608501610b27565b610f85610c6b610180870187610b35565b60208151910120906040519586946020860198610140830135928a610120820135936101008301359360e08401359360c08101359360a08201359360808301359360406060850135940135929a98969492909d9c9b99979593919d6101a08c019e63ffffffff8092168d521660208c015260408b015260608a0152608089015260a088015260c087015260e086015261010085015261012084015261014083015260ff166101608201526101800152565b519020923691610b68565b90611367565b6001600160a01b0390811691161490565b94610ee2946106689792989460ff946040519a8b9960208b015260408a01526060890152608088015260a087015260c08601521660e084015261010080840152610120830190610450565b604051600360f01b6020820152600281526106688161036d565b9061ffff6003816110cd85611345565b16036111ad576040519260208401926fffffffffffffffffffffffffffffffff199060801b168352601084526111028461036d565b60038261110e83611345565b160361118b5783518281116101095782166001019182116105a2576106689260249261117c604051968461114c89965180926020808a01910161042f565b850192600160f81b9081602086015261ffff60f01b9060f01b16602185015260238401525180938684019061042f565b010360048101845201826103aa565b90611197602492611345565b604051633a51740d60e01b815291166004820152fd5b60249061119784611345565b9061ffff6003816111c985611345565b16036111ad576040519260208401925f84526fffffffffffffffffffffffffffffffff199060801b166022850152601284526112048461036d565b60038261121083611345565b160361118b5783518281116101095782166001019182116105a2576106689260249261117c604051968461124e89965180926020808a01910161042f565b600160f81b60209187019182015260f09390931b7fffff000000000000000000000000000000000000000000000000000000000000166021840152600360f81b6023840152519283908684019061042f565b90816020910312610109575180151581036101095790565b905f806001600160a01b036113159416927f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656460206040516112f88161036d565b818152015260208151910182855af161130f6105a7565b9161141d565b805190811591821561132b575b50501561010957565b61133e92506020809183010191016112a0565b5f80611322565b6002815110611355576002015190565b604051632d0483c560e21b8152600490fd5b610668916113749161137c565b9190916113cf565b9060418151145f146113a8576113a491602082015190606060408401519301515f1a90611446565b9091565b50505f90600290565b600511156113bb57565b634e487b7160e01b5f52602160045260245ffd5b6113d8816113b1565b806113e05750565b6113e9816113b1565b600181036113f5575f80fd5b6113fe816113b1565b6002810361140a575f80fd5b806114166003926113b1565b1461010957565b90156114375781511561142e575090565b3b156101095790565b50805190811561010957602001fd5b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084116114b6576020935f9360ff60809460405194855216868401526040830152606082015282805260015afa15610958575f516001600160a01b038116156114ae57905f90565b505f90600190565b505050505f9060039056fea264697066735822122051769784125192cb0975f21ea1bbee4a627e7578e6b15669655ba40a10d38d8b64736f6c63430008180033000000000000000000000000fd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb900000000000000000000000014e4a1b13bf7f943c8ff7c51fb60fa964a298d92000000000000000000000000000000000000000000000000000000000000759e0000000000000000000000009a8f92a830a5cb89a3816e3d267cb7791c16b04d", - "nonce": "0x156f", + "input": "0x60e080604052346102205760808161180f803803809161001f82856102ce565b8339810103126102205761003281610305565b61003e60208301610305565b90610057606061005060408601610319565b9401610305565b5f8054336001600160a01b0319821681178355604051939693959290916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a3608083905260a081905260c0829052635e280f1160e01b84526001600160a01b031692602081600481875afa90811561022c575f91610289575b5060405163416ecebf60e01b81529190602090839060049082906001600160a01b03165afa91821561022c575f92610246575b5063ffffffff80911691160361023757602060049260405193848092637e062a3560e11b82525afa91821561022c575f926101ec575b506001600160a01b039081169116036101dd577fbbe623e022cc184bd276c9a778810da1531bdd4c0bac9d86069eb499aa2eb50080546001600160a01b0319166001600160a01b03929092169190911790556040516114e4908161032b823960805181818161027201526107cd015260a05181818161012c0152818161080c0152610d50015260c0518181816102d70152610a1f0152f35b633722464560e11b5f5260045ffd5b9091506020813d602011610224575b81610208602093836102ce565b810103126102205761021990610305565b905f610145565b5f80fd5b3d91506101fb565b6040513d5f823e3d90fd5b637c68382b60e01b5f5260045ffd5b9091506020813d602011610281575b81610262602093836102ce565b810103126102205763ffffffff6102798192610319565b92915061010f565b3d9150610255565b90506020813d6020116102c6575b816102a4602093836102ce565b810103126102205751906001600160a01b0382168203610220579060206100dc565b3d9150610297565b601f909101601f19168101906001600160401b038211908210176102f157604052565b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b038216820361022057565b519063ffffffff821682036102205756fe60806040526004361015610011575f80fd5b5f3560e01c8063238ac933146100c45780635b9cae35146100bf5780636c19e783146100ba578063715018a6146100b557806382bfefc8146100b05780638da5cb5b146100ab578063c9279a74146100a6578063f2fde38b146100a1578063f731ce5f1461009c578063fcc5b1e3146100975763feb6172414610092575f80fd5b6104ef565b610472565b61043f565b6102fb565b6102bb565b610296565b610253565b6101ef565b610161565b61010d565b34610109575f3660031901126101095760206001600160a01b037fbbe623e022cc184bd276c9a778810da1531bdd4c0bac9d86069eb499aa2eb5005416604051908152f35b5f80fd5b34610109575f3660031901126101095760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b6001600160a01b0381160361010957565b34610109576020366003190112610109576001600160a01b0360043561018681610150565b61018e61097b565b1673ffffffffffffffffffffffffffffffffffffffff197fbbe623e022cc184bd276c9a778810da1531bdd4c0bac9d86069eb499aa2eb5005416177fbbe623e022cc184bd276c9a778810da1531bdd4c0bac9d86069eb499aa2eb500555f80f35b34610109575f3660031901126101095761020761097b565b5f6001600160a01b03815473ffffffffffffffffffffffffffffffffffffffff1981168355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b34610109575f3660031901126101095760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b34610109575f3660031901126101095760206001600160a01b035f5416604051908152f35b34610109575f36600319011261010957602060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b34610109576020366003190112610109576001600160a01b0360043561032081610150565b61032861097b565b168015610109576001600160a01b035f548273ffffffffffffffffffffffffffffffffffffffff198216175f55167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3005b634e487b7160e01b5f52604160045260245ffd5b6040810190811067ffffffffffffffff8211176103ac57604052565b61037c565b90601f8019910116810190811067ffffffffffffffff8211176103ac57604052565b604051906103e260e0836103b1565b565b67ffffffffffffffff81116103ac57601f01601f191660200190565b6040519061040f6020836103b1565b5f808352366020840137565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b34610109575f3660031901126101095761046e61045a610400565b60405191829160208352602083019061041b565b0390f35b60403660031901126101095760043567ffffffffffffffff81116101095760606003198236030112610109576024359067ffffffffffffffff821161010957366023830112156101095781600401359067ffffffffffffffff82116101095736602483850101116101095760246104ed93019060040161073d565b005b34610109576020366003190112610109576004355f527fbbe623e022cc184bd276c9a778810da1531bdd4c0bac9d86069eb499aa2eb501602052602060ff60405f2054166040519015158152f35b1561010957565b90359061019e1981360301821215610109570190565b634e487b7160e01b5f52601160045260245ffd5b9190820391821161057b57565b61055a565b3d156105aa573d90610591826103e4565b9161059f60405193846103b1565b82523d5f602084013e565b606090565b9190826040910312610109576040516105c781610390565b6020808294805184520151910152565b919082810360c081126101095760801361010957604051906060820182811067ffffffffffffffff8211176103ac5760405283518252602084015167ffffffffffffffff811681036101095782608091602061064895015261063c83604088016105af565b604082015294016105af565b90565b6106489163ffffffff825116815260208201516020820152604082015160408201526060820151606082015260c06106a7610695608085015160e0608086015260e085019061041b565b60a085015184820360a086015261041b565b9201519060c081840391015261041b565b9193926001600160a01b039060206106da60609460808752608087019061064b565b968051828701520151604085015216910152565b6040513d5f823e3d90fd5b959287959260e09895928852602088015260408701526060860152608085015260c060a08501528160c0850152848401375f828201840152601f01601f1916010190565b91909161074b82848361099f565b61079961078c608061075d8480610544565b01355f527fbbe623e022cc184bd276c9a778810da1531bdd4c0bac9d86069eb499aa2eb50160205260405f2090565b805460ff19166001179055565b6107a281610bb0565b8151341061096c5761086992826107bc60c094513461056e565b80610944575b506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169161080760606107fd8980610544565b0135303386610dcb565b6108417f0000000000000000000000000000000000000000000000000000000000000000938460606108398b80610544565b013591610e11565b6001600160a01b038251916040519788968795869363c7c7f5b360e01b8552600485016106b8565b0393165af1801561093f57610911575b507f8fb515a2e89f5acfca1124e69e331c2cded0ca216b578ba531720f6841139dbf60806108a78380610544565b01359160e06108b68280610544565b01359461090c60406108c88480610544565b01359560a06108d78580610544565b01359260c06108e68680610544565b0135946101006108fb60408301359280610544565b013590604051968796339b886106f9565b0390a4565b6109329060c03d60c011610938575b61092a81836103b1565b8101906105d7565b50610879565b503d610920565b6106ee565b5f808080610966946001600160a01b0389165af1610960610580565b5061053d565b5f6107c2565b639c92bdfb60e01b5f5260045ffd5b6001600160a01b035f5416330361010957565b3563ffffffff811681036101095790565b916109e9906109ed926109d97fbbe623e022cc184bd276c9a778810da1531bdd4c0bac9d86069eb499aa2eb500546001600160a01b031690565b6109e38680610544565b90610f08565b1590565b610a915760a06109fd8280610544565b01354211610a8257610a17610a128280610544565b61098e565b63ffffffff807f000000000000000000000000000000000000000000000000000000000000000016911603610a7357610a58608061075d83610a5f94610544565b5460ff1690565b610a6557565b623f613760e71b5f5260045ffd5b637c68382b60e01b5f5260045ffd5b638727a7f960e01b5f5260045ffd5b63c1606c2f60e01b5f5260045ffd5b6040519060e0820182811067ffffffffffffffff8211176103ac57604052606060c0835f81525f60208201525f60408201525f838201528260808201528260a08201520152565b60405190610af482610390565b5f6020838281520152565b3560ff811681036101095790565b903590601e1981360301821215610109570180359067ffffffffffffffff82116101095760200191813603831361010957565b929192610b4c826103e4565b91610b5a60405193846103b1565b829481845281830111610109578281602093845f960137010152565b9060408282031261010957610648916105af565b91906020610ba15f9260408652604086019061064b565b930152565b3561064881610150565b90610bb9610aa0565b50610bc2610ae7565b50610c536080610bd28480610544565b013560a0610be08580610544565b013560c0610bee8680610544565b0135604086013560e0610c018880610544565b013590610100610c118980610544565b013592610c2a610160610c248b80610544565b01610aff565b94610c4d610c46610c3b8c80610544565b610180810190610b0d565b3691610b40565b9661103f565b90610ca5610c8f610c6261108a565b610c89610120610c728880610544565b01356fffffffffffffffffffffffffffffffff1690565b906110a6565b610c9f610140610c728780610544565b9061119b565b610cba6020610cb48680610544565b0161098e565b926040610cc78680610544565b0135916060610cd68780610544565b01356060610ce48880610544565b013590610cef610400565b94610d07610cfb6103d3565b63ffffffff9099168952565b602088015260408701526060860152608085015260a084015260c083015260405192633b6f743b60e01b845260408480610d448660048301610b8a565b03816001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165afa93841561093f575f94610d93575b506020610d8d9101610ba6565b91929190565b610d8d919450610dbc60209160403d604011610dc4575b610db481836103b1565b810190610b76565b949150610d80565b503d610daa565b9091926001600160a01b036103e29481604051956323b872dd60e01b6020880152166024860152166044840152606483015260648252610e0c6084836103b1565b611290565b919091610e7b60405192602084019063095ea7b360e01b82526001600160a01b0386166024860152604485015260448452610e4d6064856103b1565b5f806001600160a01b0385169286519082855af190610e6a610580565b82610ed6575b5081610ecf57501590565b610e8457505050565b60405163095ea7b360e01b60208201526001600160a01b0390931660248401525f60448401526103e292610e0c90610ec981606481015b03601f1981018352826103b1565b82611290565b3b15919050565b80519192508115918215610eee575b5050905f610e70565b610f019250602080918301019101611278565b5f80610ee5565b929190610f148161098e565b90610f216020820161098e565b916060820135916040810135919060808101359061014081013561012082013561010083013560e084013560c085013560a0860135610f636101608801610aff565b966101808101610f7291610b0d565b3690610f7d92610b40565b80519060200120976040519b8c9b60208d019e8f9c610ffd9d9a98969492909d9c9b99979593916101a08c019e63ffffffff168c5263ffffffff1660208c015260408b015260608a0152608089015260a088015260c087015260e086015261010085015261012084015261014083015260ff166101608201526101800152565b03601f198101825261100f90826103b1565b51902091369061101e92610b40565b61102791611352565b906001600160a01b0316906001600160a01b03161490565b94610ebb946106489792989460ff946040519a8b9960208b015260408a01526060890152608088015260a087015260c08601521660e08401526101008084015261012083019061041b565b604051600360f01b6020820152600281526106486022826103b1565b90600361ffff6110b584611321565b160361117c57604051906fffffffffffffffffffffffffffffffff199060801b166020820152601081526110ea6030826103b1565b600361ffff6110f884611321565b160361117c57805161ffff81116101095761ffff60019116019161ffff831161057b57610ebb610648926004611138956040519687956020870190611340565b600160f81b80825260f09290921b7fffff00000000000000000000000000000000000000000000000000000000000016600182015260038101919091520190611340565b61ffff61118883611321565b633a51740d60e01b5f521660045260245ffd5b90600361ffff6111aa84611321565b160361117c57604051905f60208301526fffffffffffffffffffffffffffffffff199060801b166022820152601281526111e56032826103b1565b600361ffff6111f384611321565b160361117c57805161ffff81116101095761ffff60019116019161ffff831161057b57610ebb610648926004611233956040519687956020870190611340565b600160f81b815260f09190911b7fffff000000000000000000000000000000000000000000000000000000000000166001820152600360f81b60038201520190611340565b90816020910312610109575180151581036101095790565b906001600160a01b036112f192165f80604051936112af6040866103b1565b602085527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564602086015260208151910182855af16112eb610580565b91611408565b8051908115918215611307575b50501561010957565b61131a9250602080918301019101611278565b5f806112fe565b6002815110611331576002015190565b632d0483c560e21b5f5260045ffd5b805191908290602001825e015f815290565b6106489161135f91611367565b9190916113ba565b9060418151145f146113935761138f91602082015190606060408401519301515f1a90611433565b9091565b50505f90600290565b600511156113a657565b634e487b7160e01b5f52602160045260245ffd5b6113c38161139c565b806113cb5750565b6113d48161139c565b600181036113e0575f80fd5b6113e98161139c565b600281036113f5575f80fd5b6003906114018161139c565b1461010957565b919250156114245781511561141b575090565b3b156101095790565b50805190811561010957602001fd5b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084116114a3576020935f9360ff60809460405194855216868401526040830152606082015282805260015afa1561093f575f516001600160a01b0381161561149b57905f90565b505f90600190565b505050505f9060039056fea2646970667358221220267d3bc77cee547e69d0d7355d2bb955efabbc0c6958c84bc29d4bd563c7b35364736f6c634300081e0033000000000000000000000000fd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb900000000000000000000000014e4a1b13bf7f943c8ff7c51fb60fa964a298d92000000000000000000000000000000000000000000000000000000000000759e0000000000000000000000009a8f92a830a5cb89a3816e3d267cb7791c16b04d", + "nonce": "0x16f6", "chainId": "0xa4b1" }, "additionalContracts": [], @@ -27,45 +27,45 @@ "receipts": [ { "status": "0x1", - "cumulativeGasUsed": "0x14ebe6", + "cumulativeGasUsed": "0x138fb2", "logs": [ { - "address": "0x2ac5ee3796e027da274fbde84c82173a65868940", + "address": "0xcf0e59e044216e0d291f6652e8e15b6c8d69cea8", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000009a8f92a830a5cb89a3816e3d267cb7791c16b04d" ], "data": "0x", - "blockHash": "0xe8654d6f96063f64d25fde9ed46790b3ff86f62251bf1043b0067a27409af110", - "blockNumber": "0x183c08e6", - "blockTimestamp": "0x692f9b49", - "transactionHash": "0xaf2427171b1d55e27dc75985001ce5a6be8c89a817f51b479f223b4c9799c7eb", - "transactionIndex": "0x3", - "logIndex": "0x1", + "blockHash": "0x36c2ec8d0bfff5e93765575976b24be8a65b6fbe7af4d80c06aec6f0c8a11365", + "blockNumber": "0x1864ccb2", + "blockTimestamp": "0x6939c5eb", + "transactionHash": "0xc9d530e42b9a991e3b36930338793faeb52127a87eaa7b9935d8d9aa0a847d62", + "transactionIndex": "0x1", + "logIndex": "0x0", "removed": false } ], - "logsBloom": "0x00000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000001000000000000000000000000000000000000020000000000000000000800002000000000000000000000040000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000020000001000000000000000000000000000000000000000000000080000000000000", + "logsBloom": "0x00000000000000000000000000000000000000000000000100800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000800000000000000000000000010020000000000000000000800000000000000000000000000040000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000020000001000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "transactionHash": "0xaf2427171b1d55e27dc75985001ce5a6be8c89a817f51b479f223b4c9799c7eb", - "transactionIndex": "0x3", - "blockHash": "0xe8654d6f96063f64d25fde9ed46790b3ff86f62251bf1043b0067a27409af110", - "blockNumber": "0x183c08e6", - "gasUsed": "0x13ae42", - "effectiveGasPrice": "0xd570a0", + "transactionHash": "0xc9d530e42b9a991e3b36930338793faeb52127a87eaa7b9935d8d9aa0a847d62", + "transactionIndex": "0x1", + "blockHash": "0x36c2ec8d0bfff5e93765575976b24be8a65b6fbe7af4d80c06aec6f0c8a11365", + "blockNumber": "0x1864ccb2", + "gasUsed": "0x138fb2", + "effectiveGasPrice": "0x17519ac0", "from": "0x9a8f92a830a5cb89a3816e3d267cb7791c16b04d", "to": null, - "contractAddress": "0x2ac5ee3796e027da274fbde84c82173a65868940", - "gasUsedForL1": "0x106a", - "l1BlockNumber": "0x16d23ef", + "contractAddress": "0xcf0e59e044216e0d291f6652e8e15b6c8d69cea8", + "gasUsedForL1": "0x0", + "l1BlockNumber": "0x16df8ab", "timeboosted": false } ], "libraries": [], "pending": [], "returns": {}, - "timestamp": 1764727648975, + "timestamp": 1765393917674, "chain": 42161, - "commit": "5d9f89e2" + "commit": "4dfc13b5" } diff --git a/broadcast/deployed-addresses.json b/broadcast/deployed-addresses.json index d0c602c78..e384a743e 100644 --- a/broadcast/deployed-addresses.json +++ b/broadcast/deployed-addresses.json @@ -524,9 +524,9 @@ "block_number": 15142204 }, "DonationBox": { - "address": "0x3d589d40312bf2d20f13cd0af26a11144a9ca844", - "block_number": 21341868, - "transaction_hash": "0xe617eb954e31dc4305f9ddcd9badd2e0e707e4b9c266e16fddaf8e7c23180fde" + "address": "0x1d7c1398df7c823068e6a120d3921847929d428e", + "block_number": 21492721, + "transaction_hash": "0x4666b500b70a02f2f8656ad8d74a35fca668cd56e3444371e114999d93c9e68b" }, "SponsoredCCTPDstPeriphery": { "address": "0x1c709fd0db6a6b877ddb19ae3d485b7b4add879f", @@ -534,14 +534,14 @@ "transaction_hash": "0x9c7604f9254450f13b0941008f5272f68ec58db61f32e5ee6713e72b4b56de0b" }, "PermissionedMulticallHandler": { - "address": "0xfd0876712dd9003d014cdcd8e5140b4efac9bfcc", - "block_number": 21341868, - "transaction_hash": "0xc0b5e25643a971a281b9a142a4b146f7833b336a36c68f446bb4e63495e3eeb7" + "address": "0x2b20df3471e2751840a9c921696d62ea8bc4a391", + "block_number": 21492721, + "transaction_hash": "0xa6be6f9659a1d4d03fb280a87a7fa9e556b8d98c04d224e5c97bd5f3877c0cd1" }, "DstOFTHandler": { - "address": "0xc8786d517b4e224bb43985a38dbef8588d7354cd", - "block_number": 21341868, - "transaction_hash": "0x7ce545552d4a517bc380951ec35bd5eb86f84e0364a7ac9417aba605b8bf6309" + "address": "0xdfa6ec7a77f90d9762459069edd1ea78b853c67c", + "block_number": 21492721, + "transaction_hash": "0x0a784217cbe3ea1f5a707cd0c97ba1468341d523c9f500899313754f91d5e1e9" }, "HyperliquidDepositHandler": { "address": "0x861e127036b28d32f3777b4676f6bbb9e007d195", @@ -760,9 +760,9 @@ "transaction_hash": "0x6c4f6d7537530911757ecc317e0b5a39b5caf7089ab5549cb4299c830a9d854c" }, "SponsoredOFTSrcPeriphery": { - "address": "0x2ac5ee3796e027da274fbde84c82173a65868940", - "block_number": 406587622, - "transaction_hash": "0xaf2427171b1d55e27dc75985001ce5a6be8c89a817f51b479f223b4c9799c7eb" + "address": "0xcf0e59e044216e0d291f6652e8e15b6c8d69cea8", + "block_number": 409259186, + "transaction_hash": "0xc9d530e42b9a991e3b36930338793faeb52127a87eaa7b9935d8d9aa0a847d62" } } }, diff --git a/broadcast/deployed-addresses.md b/broadcast/deployed-addresses.md index 40287709d..ec2b64658 100644 --- a/broadcast/deployed-addresses.md +++ b/broadcast/deployed-addresses.md @@ -170,12 +170,12 @@ This file contains the latest deployed smart contract addresses from the broadca | Contract Name | Address | | ---------------------------- | ------------------------------------------------------------------------------------------------------------------------- | | DonationBox | [0x039d62C549F27ead0eB9B567d8776289e5020583](https://hyperevmscan.io//address/0x039d62C549F27ead0eB9B567d8776289e5020583) | -| DonationBox | [0x3D589D40312Bf2d20f13cD0AF26A11144a9cA844](https://hyperevmscan.io//address/0x3D589D40312Bf2d20f13cD0AF26A11144a9cA844) | -| DstOFTHandler | [0xc8786D517b4e224bB43985A38dBeF8588D7354CD](https://hyperevmscan.io//address/0xc8786D517b4e224bB43985A38dBeF8588D7354CD) | +| DonationBox | [0x1d7c1398dF7C823068E6a120d3921847929d428e](https://hyperevmscan.io//address/0x1d7c1398dF7C823068E6a120d3921847929d428e) | +| DstOFTHandler | [0xDFa6EC7A77f90d9762459069EDd1ea78B853C67c](https://hyperevmscan.io//address/0xDFa6EC7A77f90d9762459069EDd1ea78B853C67c) | | Helios | [0xc19B7EF43a6eBd393446F401d1eCFac01B181ac0](https://hyperevmscan.io//address/0xc19B7EF43a6eBd393446F401d1eCFac01B181ac0) | | HyperliquidDepositHandler | [0x861E127036B28D32f3777B4676F6bbb9e007d195](https://hyperevmscan.io//address/0x861E127036B28D32f3777B4676F6bbb9e007d195) | | MulticallHandler | [0x5E7840E06fAcCb6d1c3b5F5E0d1d3d07F2829bba](https://hyperevmscan.io//address/0x5E7840E06fAcCb6d1c3b5F5E0d1d3d07F2829bba) | -| PermissionedMulticallHandler | [0xfD0876712DD9003D014CDCd8e5140B4EFAC9BFCC](https://hyperevmscan.io//address/0xfD0876712DD9003D014CDCd8e5140B4EFAC9BFCC) | +| PermissionedMulticallHandler | [0x2b20df3471E2751840a9C921696d62eA8Bc4a391](https://hyperevmscan.io//address/0x2b20df3471E2751840a9C921696d62eA8Bc4a391) | | SpokePool | [0x35E63eA3eb0fb7A3bc543C71FB66412e1F6B0E04](https://hyperevmscan.io//address/0x35E63eA3eb0fb7A3bc543C71FB66412e1F6B0E04) | | SpokePoolPeriphery | [0xF1BF00D947267Da5cC63f8c8A60568c59FA31bCb](https://hyperevmscan.io//address/0xF1BF00D947267Da5cC63f8c8A60568c59FA31bCb) | | SpokePoolVerifier | [0x3Fb9cED51E968594C87963a371Ed90c39519f65A](https://hyperevmscan.io//address/0x3Fb9cED51E968594C87963a371Ed90c39519f65A) | @@ -243,7 +243,7 @@ This file contains the latest deployed smart contract addresses from the broadca | SpokePoolPeriphery | [0x89415a82d909a7238d69094C3Dd1dCC1aCbDa85C](https://arbiscan.io/address/0x89415a82d909a7238d69094C3Dd1dCC1aCbDa85C) | | SpokePoolVerifier | [0x3Fb9cED51E968594C87963a371Ed90c39519f65A](https://arbiscan.io/address/0x3Fb9cED51E968594C87963a371Ed90c39519f65A) | | SponsoredCCTPSrcPeriphery | [0xce1FFE01eBB4f8521C12e74363A396ee3d337E1B](https://arbiscan.io/address/0xce1FFE01eBB4f8521C12e74363A396ee3d337E1B) | -| SponsoredOFTSrcPeriphery | [0x2ac5Ee3796E027dA274fbDe84c82173a65868940](https://arbiscan.io/address/0x2ac5Ee3796E027dA274fbDe84c82173a65868940) | +| SponsoredOFTSrcPeriphery | [0xCf0E59e044216e0D291f6652e8e15B6c8D69CeA8](https://arbiscan.io/address/0xCf0E59e044216e0D291f6652e8e15B6c8D69CeA8) | | UniswapV3_SwapAndBridge | [0xF633b72A4C2Fb73b77A379bf72864A825aD35b6D](https://arbiscan.io/address/0xF633b72A4C2Fb73b77A379bf72864A825aD35b6D) | ## Ink (57073) diff --git a/script/mintburn/oft/usdt0-preprod.toml b/script/mintburn/oft/usdt0-preprod.toml new file mode 100644 index 000000000..cb1a045dd --- /dev/null +++ b/script/mintburn/oft/usdt0-preprod.toml @@ -0,0 +1,47 @@ +[1] +endpoint_url = "${NODE_URL_1}" + +[1.address] +token = "0xdAC17F958D2ee523a2206206994597C13D831ec7" +oft_messenger = "0x6C96dE32CEa08842dcc4058c14d3aaAD7Fa41dee" +src_periphery = "0x4607BceaF7b22cb0c46882FFc9fAB3c6efe66e5a" + +[42161] +endpoint_url = "${NODE_URL_42161}" + +[42161.address] +token = "0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9" +oft_messenger = "0x14E4A1B13bf7F943c8ff7C51fb60FA964A298D92" +src_periphery = "0x2ac5Ee3796E027dA274fbDe84c82173a65868940" + +[130] +endpoint_url = "${NODE_URL_130}" + +[130.address] +token = "0x9151434b16b9763660705744891fA906F660EcC5" +oft_messenger = "0xc07bE8994D035631c36fb4a89C918CeFB2f03EC3" +src_periphery = "0x0Bf1A44AE69869cF7AEA7e0cbA76624792fAD4DE" + +[137] +endpoint_url = "${NODE_URL_137}" + +[137.address] +token = "0xc2132D05D31c914a87C6611C10748AEb04B58e8F" +oft_messenger = "0x6BA10300f0DC58B7a1e4c0e41f5daBb7D7829e13" +src_periphery = "0xC6A21E6A57777F2183312c19e614DD6054b1A54F" + +[143] +endpoint_url = "${NODE_URL_143}" + +[143.address] +token = "0xe7cd86e13AC4309349F30B3435a9d337750fC82D" +oft_messenger = "0x9151434b16b9763660705744891fA906F660EcC5" +src_periphery = "0xa3dE5F042EFD4C732498883100A2d319BbB3c1A1" + +[999] +endpoint_url = "${NODE_URL_999}" + +[999.address] +token = "0xB8CE59FC3717ada4C02eaDF9682A9e934F625ebb" +oft_messenger = "0x904861a24F30EC96ea7CFC3bE9EA4B476d237e98" +dst_handler = "0xc8786D517b4e224bB43985A38dBeF8588D7354CD" diff --git a/script/mintburn/oft/usdt0.toml b/script/mintburn/oft/usdt0.toml index cb1a045dd..11faa969f 100644 --- a/script/mintburn/oft/usdt0.toml +++ b/script/mintburn/oft/usdt0.toml @@ -1,42 +1,10 @@ -[1] -endpoint_url = "${NODE_URL_1}" - -[1.address] -token = "0xdAC17F958D2ee523a2206206994597C13D831ec7" -oft_messenger = "0x6C96dE32CEa08842dcc4058c14d3aaAD7Fa41dee" -src_periphery = "0x4607BceaF7b22cb0c46882FFc9fAB3c6efe66e5a" - [42161] endpoint_url = "${NODE_URL_42161}" [42161.address] token = "0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9" oft_messenger = "0x14E4A1B13bf7F943c8ff7C51fb60FA964A298D92" -src_periphery = "0x2ac5Ee3796E027dA274fbDe84c82173a65868940" - -[130] -endpoint_url = "${NODE_URL_130}" - -[130.address] -token = "0x9151434b16b9763660705744891fA906F660EcC5" -oft_messenger = "0xc07bE8994D035631c36fb4a89C918CeFB2f03EC3" -src_periphery = "0x0Bf1A44AE69869cF7AEA7e0cbA76624792fAD4DE" - -[137] -endpoint_url = "${NODE_URL_137}" - -[137.address] -token = "0xc2132D05D31c914a87C6611C10748AEb04B58e8F" -oft_messenger = "0x6BA10300f0DC58B7a1e4c0e41f5daBb7D7829e13" -src_periphery = "0xC6A21E6A57777F2183312c19e614DD6054b1A54F" - -[143] -endpoint_url = "${NODE_URL_143}" - -[143.address] -token = "0xe7cd86e13AC4309349F30B3435a9d337750fC82D" -oft_messenger = "0x9151434b16b9763660705744891fA906F660EcC5" -src_periphery = "0xa3dE5F042EFD4C732498883100A2d319BbB3c1A1" +src_periphery = "0xCf0E59e044216e0D291f6652e8e15B6c8D69CeA8" [999] endpoint_url = "${NODE_URL_999}" @@ -44,4 +12,4 @@ endpoint_url = "${NODE_URL_999}" [999.address] token = "0xB8CE59FC3717ada4C02eaDF9682A9e934F625ebb" oft_messenger = "0x904861a24F30EC96ea7CFC3bE9EA4B476d237e98" -dst_handler = "0xc8786D517b4e224bB43985A38dBeF8588D7354CD" +dst_handler = "0xDFa6EC7A77f90d9762459069EDd1ea78B853C67c" From 7f51c76f6e94670ead0c0c8d70b423ea85e0191b Mon Sep 17 00:00:00 2001 From: Ihor Farion Date: Wed, 10 Dec 2025 11:44:51 -0800 Subject: [PATCH 3/5] add +1 wei for USDC flow too Signed-off-by: Ihor Farion --- contracts/libraries/HyperCoreLib.sol | 11 ++--------- .../periphery/mintburn/HyperCoreFlowExecutor.sol | 1 - 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/contracts/libraries/HyperCoreLib.sol b/contracts/libraries/HyperCoreLib.sol index 09e399cc1..ff29b737d 100644 --- a/contracts/libraries/HyperCoreLib.sol +++ b/contracts/libraries/HyperCoreLib.sol @@ -113,24 +113,17 @@ library HyperCoreLib { * @dev Encapsulates USDC vs non-USDC activation semantics. The returned `coreAmountToBridge` * should be used for safety checks via `isCoreAmountSafeToBridge`. * @param accountActivationFeeCore The account activation fee in core token units. - * @param coreIndex The core index of the token. * @param decimalDiff The decimal difference of evmDecimals - coreDecimals. * @return evmAmountToSend The amount of EVM tokens to send from HyperEVM. * @return coreAmountToBridge The corresponding amount on HyperCore that bridging should result in. */ function getRequiredEVMSendAmountForActivation( uint64 accountActivationFeeCore, - uint64 coreIndex, int8 decimalDiff ) internal pure returns (uint256 evmAmountToSend, uint64 coreAmountToBridge) { - // - For USDC, we pay the fee by doing a depositFor on Cirlce's CoreDepositWallet - // - For other tokens, we require fee + 1 wei, because we send 1 wei to user's account to activate it - uint64 totalBalanceRequiredToActivate = coreIndex == USDC_CORE_INDEX - ? accountActivationFeeCore - : accountActivationFeeCore + 1; - + // accountActivationFeeCore plus 1 wei is required for an account to become activated (evmAmountToSend, coreAmountToBridge) = minimumCoreReceiveAmountToAmounts( - totalBalanceRequiredToActivate, + accountActivationFeeCore + 1, decimalDiff ); } diff --git a/contracts/periphery/mintburn/HyperCoreFlowExecutor.sol b/contracts/periphery/mintburn/HyperCoreFlowExecutor.sol index 7de8953f5..19778130d 100644 --- a/contracts/periphery/mintburn/HyperCoreFlowExecutor.sol +++ b/contracts/periphery/mintburn/HyperCoreFlowExecutor.sol @@ -886,7 +886,6 @@ contract HyperCoreFlowExecutor is AccessControlUpgradeable, AuthorizedFundedFlow // Compute the required EVM amount to cover the activation fee and minimal spot send on Core. (uint256 evmAmountToSend, uint64 coreAmountToBridge) = HyperCoreLib.getRequiredEVMSendAmountForActivation( coreTokenInfo.accountActivationFeeCore, - coreTokenInfo.coreIndex, coreTokenInfo.tokenInfo.evmExtraWeiDecimals ); From f09e15b23dcb9e9c2a12ca217c227139ea3ac27a Mon Sep 17 00:00:00 2001 From: Ihor Farion Date: Wed, 10 Dec 2025 11:46:08 -0800 Subject: [PATCH 4/5] revert deployments Signed-off-by: Ihor Farion --- .../999/run-latest.json | 334 ++++++++++-------- .../42161/run-latest.json | 50 +-- broadcast/deployed-addresses.json | 24 +- broadcast/deployed-addresses.md | 8 +- script/mintburn/oft/usdt0-preprod.toml | 47 --- script/mintburn/oft/usdt0.toml | 36 +- 6 files changed, 266 insertions(+), 233 deletions(-) delete mode 100644 script/mintburn/oft/usdt0-preprod.toml diff --git a/broadcast/DeployDstHandler.s.sol/999/run-latest.json b/broadcast/DeployDstHandler.s.sol/999/run-latest.json index 2e9a5be10..3266da869 100644 --- a/broadcast/DeployDstHandler.s.sol/999/run-latest.json +++ b/broadcast/DeployDstHandler.s.sol/999/run-latest.json @@ -1,10 +1,10 @@ { "transactions": [ { - "hash": "0x4666b500b70a02f2f8656ad8d74a35fca668cd56e3444371e114999d93c9e68b", + "hash": "0xe617eb954e31dc4305f9ddcd9badd2e0e707e4b9c266e16fddaf8e7c23180fde", "transactionType": "CREATE", "contractName": "DonationBox", - "contractAddress": "0x1d7c1398df7c823068e6a120d3921847929d428e", + "contractAddress": "0x3d589d40312bf2d20f13cd0af26a11144a9ca844", "function": null, "arguments": null, "transaction": { @@ -12,17 +12,17 @@ "gas": "0x4fb31", "value": "0x0", "input": "0x608080604052346059575f8054336001600160a01b0319821681178355916001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a3610320908161005e8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c908163715018a6146102265781638da5cb5b1461020457508063f2fde38b146101845763f3fef3a314610048575f80fd5b3461013c57604036600319011261013c576004356001600160a01b03811680910361013c5761007561028a565b6040515f806020830163a9059cbb60e01b81523360248501526024356044850152604484526100a560648561029d565b604051936100b460408661029d565b602085527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65646020860152519082865af13d15610177573d9067ffffffffffffffff821161016357604051610126949092610118601f8201601f19166020018561029d565b83523d5f602085013e6102bf565b8051908115918215610140575b50501561013c57005b5f80fd5b819250906020918101031261013c5760200151801515810361013c575f80610133565b634e487b7160e01b5f52604160045260245ffd5b91610126926060916102bf565b3461013c57602036600319011261013c576004356001600160a01b03811680910361013c576101b161028a565b801561013c576001600160a01b035f548273ffffffffffffffffffffffffffffffffffffffff198216175f55167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3005b3461013c575f36600319011261013c576020906001600160a01b035f54168152f35b3461013c575f36600319011261013c5761023e61028a565b5f6001600160a01b03815473ffffffffffffffffffffffffffffffffffffffff1981168355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b6001600160a01b035f5416330361013c57565b90601f8019910116810190811067ffffffffffffffff82111761016357604052565b919250156102db578151156102d2575090565b3b1561013c5790565b50805190811561013c57602001fdfea26469706673582212201599abe8d67ef129ea7b740727c3050bd5ff3fc0efd05707667feeec0709c1f864736f6c634300081e0033", - "nonce": "0x3cd", + "nonce": "0x2b4", "chainId": "0x3e7" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0xa6be6f9659a1d4d03fb280a87a7fa9e556b8d98c04d224e5c97bd5f3877c0cd1", + "hash": "0xc0b5e25643a971a281b9a142a4b146f7833b336a36c68f446bb4e63495e3eeb7", "transactionType": "CREATE", "contractName": "PermissionedMulticallHandler", - "contractAddress": "0x2b20df3471e2751840a9c921696d62ea8bc4a391", + "contractAddress": "0xfd0876712dd9003d014cdcd8e5140b4efac9bfcc", "function": null, "arguments": ["0x9A8f92a830A5cB89a3816e3D267CB7791c16b04D"], "transaction": { @@ -30,98 +30,117 @@ "gas": "0x14f621", "value": "0x0", "input": "0x6080346100d957601f61124c38819003918201601f19168301916001600160401b038311848410176100dd578084926020946040528339810103126100d957516001600160a01b038116908190036100d95760015f9081558181525f51602061122c5f395f51905f52602052604090205460ff1615610088575b60405161113a90816100f28239f35b5f8181525f51602061122c5f395f51905f5260205260408120805460ff191660011790553391907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a45f610079565b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe608080604052600436101561001c575b50361561001a575f80fd5b005b5f3560e01c90816301ffc9a7146107f357508063248a9ca3146107c05780632f2ff15d1461070457806336568abe146106cf5780633a5be8cb146105815780635f6ee30c1461054757806391d14854146104fd578063a217fddf146104e3578063a58d50d314610319578063c41e829514610130578063d547741f146100ed5763ef8738d3146100ac575f61000f565b346100e95760403660031901126100e9576100c561085c565b6024356001600160a01b03811681036100e95761001a916100e4610dda565b610df2565b5f80fd5b346100e95760403660031901126100e95761001a60043561010c610846565b9061012b610126825f526001602052600160405f20015490565b610a63565b610aab565b346100e95760803660031901126100e95761014961085c565b60243567ffffffffffffffff81116100e9576101699036906004016108f6565b906064359067ffffffffffffffff82116100e957366023830112156100e957816004013567ffffffffffffffff81116100e9576024830192602436918360061b0101116100e9576101b8610dda565b604435925f5b82811061020d57855f80878784519160208601915af16101dc610a10565b50156101e457005b60405163b3beda7360e01b815260206004820152908190610209906024830190610954565b0390fd5b6001600160a01b03610228610223838686610a3f565b610a4f565b161561031057602460206001600160a01b03610248610223858888610a3f565b16604051928380926370a0823160e01b82523060048301525afa908115610305575f916102d4575b505b602061027f838686610a3f565b0135602081018082116102c05788518082116102ab5750508701602001805190911790526001016101be565b634d3ae48d60e01b5f5260045260245260445ffd5b634e487b7160e01b5f52601160045260245ffd5b90506020813d82116102fd575b816102ee602093836108b8565b810103126100e9575187610270565b3d91506102e1565b6040513d5f823e3d90fd5b47945084610272565b346100e95760203660031901126100e95760043567ffffffffffffffff81116100e957366023820112156100e95780600401356103558161093c565b9161036360405193846108b8565b8183526024602084019260051b820101903682116100e95760248101925b82841061045c5784610391610dda565b80515f5b81811061039e57005b82518110156104485760208160051b840101516020810190815151151580610435575b610419575f918160406001600160a01b0385945116910151915191602083519301915af16103ed610a10565b50156103fb57600101610395565b6040516303918b1160e61b81529283925061020991600484016109f6565b60405163388ddcc360e21b8152806102098786600484016109f6565b506001600160a01b038151163b156103c1565b634e487b7160e01b5f52603260045260245ffd5b833567ffffffffffffffff81116100e9578201606060231982360301126100e9576040519161048a83610888565b60248201356001600160a01b03811681036100e957835260448201359267ffffffffffffffff84116100e9576064602094936104cd8695602436918401016108f6565b8584015201356040820152815201930192610381565b346100e9575f3660031901126100e95760206040515f8152f35b346100e95760403660031901126100e957610516610846565b6004355f5260016020526001600160a01b0360405f2091165f52602052602060ff60405f2054166040519015158152f35b346100e9575f3660031901126100e95760206040517f69048ea73402a715065a3029b4059a4e97d1461c95fa4fabca1084b5f34f4abe8152f35b346100e95760803660031901126100e95761059a61085c565b6105a2610872565b5060643567ffffffffffffffff81116100e9576105c39036906004016108f6565b335f9081527ff9f8a8d829de1c11fdd691724f182d954bcae2d8f44e7aab584f413f377402bd602052604090205460ff16156106155760025f54146100e95761060f9160025f55610b43565b60015f55005b6100e96020601161062533610f95565b6037836106517f69048ea73402a715065a3029b4059a4e97d1461c95fa4fabca1084b5f34f4abe611037565b6040519586947f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000828701528051918291018587015e8401907f206973206d697373696e6720726f6c652000000000000000000000000000000084830152805192839101604883015e01015f83820152030190601f19820181526108b8565b346100e95760403660031901126100e9576106e8610846565b336001600160a01b038216036100e95761001a90600435610aab565b346100e95760403660031901126100e957600435610720610846565b9061073a610126825f526001602052600160405f20015490565b805f52600160205260405f206001600160a01b0383165f5260205260ff60405f2054161561076457005b805f52600160205260405f206001600160a01b0383165f5260205260405f20600160ff198254161790556001600160a01b03339216907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4005b346100e95760203660031901126100e95760206107eb6004355f526001602052600160405f20015490565b604051908152f35b346100e95760203660031901126100e9576004359063ffffffff60e01b82168092036100e957602091637965db0b60e01b8114908115610835575b5015158152f35b6301ffc9a760e01b1490508361082e565b602435906001600160a01b03821682036100e957565b600435906001600160a01b03821682036100e957565b604435906001600160a01b03821682036100e957565b6060810190811067ffffffffffffffff8211176108a457604052565b634e487b7160e01b5f52604160045260245ffd5b90601f8019910116810190811067ffffffffffffffff8211176108a457604052565b67ffffffffffffffff81116108a457601f01601f191660200190565b81601f820112156100e95780359061090d826108da565b9261091b60405194856108b8565b828452602083830101116100e957815f926020809301838601378301015290565b67ffffffffffffffff81116108a45760051b60200190565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b9080602083519182815201916020808360051b8301019401925f915b8383106109a357505050505090565b9091929394602080600192601f198582030186528851906001600160a01b0382511681526040806109e1858501516060878601526060850190610954565b93015191015297019301930191939290610994565b604090610a0d939281528160208201520190610978565b90565b3d15610a3a573d90610a21826108da565b91610a2f60405193846108b8565b82523d5f602084013e565b606090565b91908110156104485760061b0190565b356001600160a01b03811681036100e95790565b805f52600160205260405f206001600160a01b0333165f5260205260ff60405f20541615610a8e5750565b602060116100e992603783610651610aa533610f95565b93611037565b805f52600160205260405f206001600160a01b0383165f5260205260ff60405f205416610ad6575050565b805f52600160205260405f206001600160a01b0383165f5260205260405f2060ff1981541690556001600160a01b03339216907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4565b51906001600160a01b03821682036100e957565b815182019160208301905f906020818603126100e95760208101519067ffffffffffffffff82116100e957016040818603126100e957604051926040840184811067ffffffffffffffff8211176108a457604052602082015167ffffffffffffffff81116100e95760209083010181601f820112156100e957805196610bc88861093c565b97610bd6604051998a6108b8565b8089526020808a019160051b840101928484116100e95760208101915b848310610d27575050505050506040610c0f9186855201610b2f565b936001600160a01b0360208401958087521615610cd75750928184610c8e956001600160a01b039451604051610c7081610c62602082019463a58d50d360e01b8652602060248401526044830190610978565b03601f1981018352826108b8565b519082305af1610c7e610a10565b5015610c90575b50511690610df2565b565b517f5296f22c5d0413b66d0bf45c479c4e2ca5b278634bdbd028b48e49502105f966610cce8484511692604051918291602083526020830190610978565b0390a25f610c85565b9350505050303b156100e9575f610d0a916040518093819263a58d50d360e01b8352602060048401526024830190610978565b038183305af1801561030557610d1d5750565b5f610c8e916108b8565b825167ffffffffffffffff81116100e9578201906060828603126100e95760405190610d5282610888565b610d5e60208401610b2f565b8252604083015167ffffffffffffffff81116100e9576020908401019188601f840112156100e957825192610d92846108da565b94610da060405196876108b8565b8486528a602086840101116100e9576020955f8787819882606097018386015e830101528584015201516040820152815201920191610bf3565b303303610de357565b6314e1dbf760e11b5f5260045ffd5b6001600160a01b03168015610f50576040516370a0823160e01b815230600482015291602083602481855afa928315610305575f93610f1c575b5082610e3757505050565b6001600160a01b0316610ebf6040515f806020830163a9059cbb60e01b815285602485015287604485015260448452610e716064856108b8565b60405193610e806040866108b8565b602085527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65646020860152519082885af1610eb8610a10565b90856110d9565b8051908115918215610ef9575b5050156100e9577f74d3741ef03417659087d2ec6af11dade8713f9b7f592569d60cf1ea0c9a44555f80a4565b81925090602091810103126100e9576020015180151581036100e9575f80610ecc565b9092506020813d602011610f48575b81610f38602093836108b8565b810103126100e95751915f610e2c565b3d9150610f2b565b50479081610f5c575050565b8147106100e9575f8080936001600160a01b038294165af1610f7c610a10565b50156100e957565b908151811015610448570160200190565b610f9f602a6108da565b90610fad60405192836108b8565b602a8252610fbb602a6108da565b6020830190601f19013682378251156104485760309053815160011015610448576078602183015360295b60018111610ff657506100e95790565b90600f81166010811015610448576f181899199a1a9b1b9c1cb0b131b232b360811b901a6110248385610f84565b5360041c9080156102c0575f1901610fe6565b61104160426108da565b9061104f60405192836108b8565b6042825261105d60426108da565b6020830190601f19013682378251156104485760309053815160011015610448576078602183015360415b6001811161109857506100e95790565b90600f81166010811015610448576f181899199a1a9b1b9c1cb0b131b232b360811b901a6110c68385610f84565b5360041c9080156102c0575f1901611088565b919250156110f5578151156110ec575090565b3b156100e95790565b5080519081156100e957602001fdfea26469706673582212208aff35c747ff7e5f0938409a2e1c217c6c19f84345daaafb3ceae43d8a26a8f964736f6c634300081e0033a6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb490000000000000000000000009a8f92a830a5cb89a3816e3d267cb7791c16b04d", - "nonce": "0x3ce", + "nonce": "0x2b5", "chainId": "0x3e7" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x0a784217cbe3ea1f5a707cd0c97ba1468341d523c9f500899313754f91d5e1e9", + "hash": "0x7ce545552d4a517bc380951ec35bd5eb86f84e0364a7ac9417aba605b8bf6309", "transactionType": "CREATE", "contractName": "DstOFTHandler", - "contractAddress": "0xdfa6ec7a77f90d9762459069edd1ea78b853c67c", + "contractAddress": "0xc8786d517b4e224bb43985a38dbef8588d7354cd", "function": null, "arguments": [ "0x3A73033C0b1407574C76BdBAc67f126f6b4a9AA9", "0x904861a24F30EC96ea7CFC3bE9EA4B476d237e98", - "0x1d7c1398dF7C823068E6a120d3921847929d428e", + "0x3D589D40312Bf2d20f13cD0AF26A11144a9cA844", "0xB8CE59FC3717ada4C02eaDF9682A9e934F625ebb", - "0x2b20df3471E2751840a9C921696d62eA8Bc4a391" + "0xfD0876712DD9003D014CDCd8e5140B4EFAC9BFCC" ], "transaction": { "from": "0x9a8f92a830a5cb89a3816e3d267cb7791c16b04d", - "gas": "0x869d2d", + "gas": "0x85a480", "value": "0x0", - "input": "0x61012080604052346102e05760a081617d0180380380916100208285610354565b8339810103126102e05761003381610377565b61003f60208301610377565b9161004c60408201610377565b90610065608061005e60608401610377565b9201610377565b60015f55604051615c8280820194906001600160401b038611838710176103405761201f83396001600160a01b03908116855283166020850181905293819003604001905ff080156102ec576001600160a01b03166080527f5300fde95a5e446527bf6aa7c91bd6661bef5398afc77061d9bc87efb80b7ef65f8181525f516020617ce15f395f51905f526020527fcf7720576cdb70176b3017d893bcb89ba0f36ed0261d4350fd0180e938b3bace80549082905590915f516020617ca15f395f51905f528380a47f880a9ba888678c7fe4e8c4f028c224f26ce12a3bed6e96025c61ef8a5db6312f5f8181525f516020617ce15f395f51905f526020527f176c3a4e1b4d1d61213187c0dde7f83e2e2c933a339cb5403b4090bc2f0aa49b80549082905590915f516020617ca15f395f51905f528380a460a05261010052604051637e062a3560e11b81526001600160a01b0384169190602081600481865afa9081156102ec575f91610306575b506001600160a01b0316036102f75760049260209260c05260e05260405192838092635e280f1160e01b82525afa9081156102ec575f916102a6575b5060c0516001600160a01b039081169116036102975761022f3361038b565b50604051611c0a9081610415823960805181818161022c0152611049015260a051818181610581015281816111bf01526119f4015260c05181818161026f0152610d6d015260e0518181816101e90152610d3c01526101005181818161063d01526108a10152f35b6312354ac760e21b5f5260045ffd5b90506020813d6020116102e4575b816102c160209383610354565b810103126102e057516001600160a01b03811681036102e0575f610210565b5f80fd5b3d91506102b4565b6040513d5f823e3d90fd5b633722464560e11b5f5260045ffd5b90506020813d602011610338575b8161032160209383610354565b810103126102e05761033290610377565b5f6101d4565b3d9150610314565b634e487b7160e01b5f52604160045260245ffd5b601f909101601f19168101906001600160401b0382119082101761034057604052565b51906001600160a01b03821682036102e057565b6001600160a01b0381165f9081525f516020617cc15f395f51905f52602052604090205460ff1661040f576001600160a01b03165f8181525f516020617cc15f395f51905f5260205260408120805460ff191660011790553391907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b505f9056fe60806040526004361015610030575b361561002e573461002a5761002236610afb565b602081519101f35b5f80fd5b005b5f3560e01c806301ffc9a71461016a57806305b513bf1461016557806309cfd675146101605780630b2969841461015b57806318f794991461015657806321081d3c14610151578063248a9ca31461014c5780632f2ff15d1461014757806336568abe14610142578063490e662f1461013d5780634b3b029b1461013857806352e12a1414610133578063657cad8a1461012e5780638e35e4451461012457806391d1485414610129578063a217fddf14610124578063c55dae631461011f578063d0a102601461011a578063d547741f146101155763feb617240361000e576109bb565b61096e565b61068f565b61061e565b6105a5565b6105bf565b610562565b610486565b61044c565b610412565b6103ca565b610378565b610328565b6102ee565b610293565b610250565b61020d565b6101ca565b3461002a57602036600319011261002a5760043563ffffffff60e01b811680910361002a57602090637965db0b60e01b81149081156101af575b506040519015158152f35b6301ffc9a760e01b1490505f6101a4565b5f91031261002a57565b3461002a575f36600319011261002a5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461002a575f36600319011261002a5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461002a575f36600319011261002a5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461002a57602036600319011261002a5760043567ffffffffffffffff811680910361002a575f527fe61a4c968926ec08fb0c5bf5be95077bf8b3ddd75ead66c94187ce8d5509de00602052602060405f2054604051908152f35b3461002a575f36600319011261002a5760206040517f880a9ba888678c7fe4e8c4f028c224f26ce12a3bed6e96025c61ef8a5db6312f8152f35b3461002a57602036600319011261002a57602061035f6004355f525f516020611bb55f395f51905f52602052600160405f20015490565b604051908152f35b6001600160a01b0381160361002a57565b3461002a57604036600319011261002a5761002e60243560043561039b82610367565b6103c56103c0825f525f516020611bb55f395f51905f52602052600160405f20015490565b610b6b565b610bbf565b3461002a57604036600319011261002a576004356024356103ea81610367565b336001600160a01b038216036104035761002e91610c71565b63334bd91960e11b5f5260045ffd5b3461002a575f36600319011261002a5760206040517fc56a3250645180a53cd9e196b2ee0a634a4f54e2edf59ea457f2083917e4d1008152f35b3461002a575f36600319011261002a5760206040517f5300fde95a5e446527bf6aa7c91bd6661bef5398afc77061d9bc87efb80b7ef68152f35b3461002a57604036600319011261002a5760043563ffffffff811680910361002a576024356104b3610d22565b335f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d602052604090205460ff161561054b57816040917ff3adc8db618887d7b76838e244efb05fc99475bb5a904a914d939fbdc41b7e8d935f527fe61a4c968926ec08fb0c5bf5be95077bf8b3ddd75ead66c94187ce8d5509de0060205280835f205582519182526020820152a160015f55005b63e2517d3f60e01b5f52336004525f60245260445ffd5b3461002a575f36600319011261002a5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461002a575f36600319011261002a5760206040515f8152f35b3461002a57604036600319011261002a57602060ff6106126024356004356105e682610367565b5f525f516020611bb55f395f51905f52845260405f20906001600160a01b03165f5260205260405f2090565b54166040519015158152f35b3461002a575f36600319011261002a5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b9181601f8401121561002a5782359167ffffffffffffffff831161002a576020838186019501011161002a57565b60a036600319011261002a576004356106a781610367565b60443567ffffffffffffffff811161002a576106c7903690600401610661565b916106d3606435610367565b6084359067ffffffffffffffff821161002a578284916106fa61072d943690600401610661565b5050610704610d22565b60017fc56a3250645180a53cd9e196b2ee0a634a4f54e2edf59ea457f2083917e4d10055610d31565b6107378282610ebc565b9061074d610749836101209051101590565b1590565b6109605761075a82611535565b9261079661078f855f527fe61a4c968926ec08fb0c5bf5be95077bf8b3ddd75ead66c94187ce8d5509de0160205260405f2090565b5460ff1690565b610952576107e4916107df6107d2865f527fe61a4c968926ec08fb0c5bf5be95077bf8b3ddd75ead66c94187ce8d5509de0160205260405f2090565b805460ff19166001179055565b610ef7565b9160ff6107f083611554565b926107fa81611564565b9361086261080f61080a84611574565b610f0d565b61085261081e61080a86611584565b9161083161082b87610fd3565b96610ff1565b9761083a610a60565b9a8b5260208b01526001600160a01b031660408a0152565b6001600160a01b03166060880152565b60808601525f60a086015216916001831480938115610947575b501561090557506108d992916108d491610894610a71565b9384526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166020850152604084015215156060830152565b6110d8565b5f7fc56a3250645180a53cd9e196b2ee0a634a4f54e2edf59ea457f2083917e4d1005561002e60015f55565b91505061093c6109419261092e60405193849263073ffe1360e31b602085015260248401610a9e565b03601f198101835282610a3e565b61103e565b506108d9565b60029150145f61087c565b623f613760e71b5f5260045ffd5b62dae46b60e61b5f5260045ffd5b3461002a57604036600319011261002a5761002e60243560043561099182610367565b6109b66103c0825f525f516020611bb55f395f51905f52602052600160405f20015490565b610c71565b3461002a57602036600319011261002a576004355f527fe61a4c968926ec08fb0c5bf5be95077bf8b3ddd75ead66c94187ce8d5509de01602052602060ff60405f2054166040519015158152f35b634e487b7160e01b5f52604160045260245ffd5b6040810190811067ffffffffffffffff821117610a3957604052565b610a09565b90601f8019910116810190811067ffffffffffffffff821117610a3957604052565b60405190610a6f60c083610a3e565b565b60405190610a6f608083610a3e565b60405190610a6f606083610a3e565b60405190610a6f604083610a3e565b60c09093929193610af78160e081019660a0809180518452602081015160208501526001600160a01b0360408201511660408501526001600160a01b036060820151166060850152608081015160808501520151910152565b0152565b61093c610b1291610b0a610d22565b36905f610b35565b9060015f55565b67ffffffffffffffff8111610a3957601f01601f191660200190565b929192610b4182610b19565b91610b4f6040519384610a3e565b82948184528183011161002a578281602093845f960137010152565b805f525f516020611bb55f395f51905f5260205260ff610b9f3360405f20906001600160a01b03165f5260205260405f2090565b541615610ba95750565b63e2517d3f60e01b5f523360045260245260445ffd5b805f525f516020611bb55f395f51905f5260205260ff610bf38360405f20906001600160a01b03165f5260205260405f2090565b5416610c6b57805f525f516020611bb55f395f51905f52602052610c2b8260405f20906001600160a01b03165f5260205260405f2090565b805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b50505f90565b805f525f516020611bb55f395f51905f5260205260ff610ca58360405f20906001600160a01b03165f5260205260405f2090565b541615610c6b57805f525f516020611bb55f395f51905f52602052610cde8260405f20906001600160a01b03165f5260205260405f2090565b805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b1561002a57565b60025f541461002a5760025f55565b6001600160a01b03807f000000000000000000000000000000000000000000000000000000000000000016911603610e9c576001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163303610e8d57610d9d8282610eab565b7fffffffff0000000000000000000000000000000000000000000000000000000091359182169160048210610e55575b505060e01c91610e0a8363ffffffff165f527fe61a4c968926ec08fb0c5bf5be95077bf8b3ddd75ead66c94187ce8d5509de0060205260405f2090565b54918215610e3c5790610e1c91611758565b03610e245750565b635f45fa3b60e11b5f5263ffffffff1660045260245ffd5b634f1c97f160e11b5f5263ffffffff841660045260245ffd5b7fffffffff0000000000000000000000000000000000000000000000000000000060049290920360031b82901b161690505f80610dcd565b63088b800b60e41b5f5260045ffd5b630919067560e41b5f5260045ffd5b90600c1161002a5760080190600490565b9080604c1161002a57610ed8913691604b190190604c01610b35565b90565b359060208110610ee9575090565b5f199060200360031b1b1690565b90602c1161002a576020600c610ed89201610edb565b8060a01c610f21576001600160a01b031690565b6379ec0ed760e11b5f5260045ffd5b81601f8201121561002a57805190610f4782610b19565b92610f556040519485610a3e565b8284526020838301011161002a57815f9260208093018386015e8301015290565b9190916101008184031261002a5780519260208201519260408301519260608101519260808201519260a08301519260c081015160ff8116810361002a579260e082015167ffffffffffffffff811161002a57610ed89201610f30565b610fe69060208082518301019101610f76565b509550505050505090565b6110049060208082518301019101610f76565b965050505050505090565b3d15611039573d9061102082610b19565b9161102e6040519384610a3e565b82523d5f602084013e565b606090565b5f80916020815191017f00000000000000000000000000000000000000000000000000000000000000005af461107261100f565b901561107b5790565b602081519101fd5b610a6f9092919260c081019360a0809180518452602081015160208501526001600160a01b0360408201511660408501526001600160a01b036060820151166060850152608081015160808501520151910152565b6110e0611594565b506110f86040820151602080825183010191016115ed565b906020810161112061111461111483516001600160a01b031690565b6001600160a01b031690565b6040516370a0823160e01b815230600482015290602090829060249082905afa908115611481575f916114e2575b5061116a6111146111146060865101516001600160a01b031690565b6040516370a0823160e01b81523060048201529490602090869060249082905afa948515611481575f956114c1575b506001600160a01b036112016111b961111486516001600160a01b031690565b926111e97f000000000000000000000000000000000000000000000000000000000000000094858951519161176e565b8651606001513091906001600160a01b031690611978565b911661121484516001600160a01b031690565b9185515191803b1561002a57611246935f809460405196879586948593633a5be8cb60e01b855230916004860161170f565b03925af18015611481576114a7575b5061126d61111461111484516001600160a01b031690565b6040516370a0823160e01b81523060048201529190602090839060249082905afa918215611481575f92611486575b50036113e1576113a092506112ce6112bb82516001600160a01b031690565b6060845101906001600160a01b03169052565b815151905b6112e682845160a0815191015190611aea565b60a084510152818351528251907fb88fc27be67e678ffb77faf8f8bb00d39b66b4845e4f7ec1e623b0f15abd52136001600160a01b03611332602085015193516001600160a01b031690565b9461136b61134c606087519701516001600160a01b031690565b9183604051948594169816968360209093929193604081019481520152565b0390a480516060820151156113a3575051604051632132ff4360e11b60208201529061093c90829061092e9060248301611083565b50565b6040517fff3eae00000000000000000000000000000000000000000000000000000000006020820152915061093c90829061092e9060248301611083565b6113fd61111461111460608551016001600160a01b0390511690565b6040516370a0823160e01b81523060048201529390602090859060249082905afa908115611481576113a0945f92611450575b50808210611447576114419161174b565b906112d3565b50505f906112d3565b61147391925060203d60201161147a575b61146b8183610a3e565b8101906116d1565b905f611430565b503d611461565b6116e0565b6114a091925060203d60201161147a5761146b8183610a3e565b905f61129c565b806114b55f6114bb93610a3e565b806101c0565b5f611255565b6114db91955060203d60201161147a5761146b8183610a3e565b935f611199565b6114fb915060203d60201161147a5761146b8183610a3e565b5f61114e565b634e487b7160e01b5f52601160045260245ffd5b906001820180921161152357565b611501565b9190820180921161152357565b6020815110611545576020015190565b632d0483c560e21b5f5260045ffd5b6060815110611545576060015190565b6080815110611545576080015190565b60a08151106115455760a0015190565b60c08151106115455760c0015190565b6040519060c0820182811067ffffffffffffffff821117610a39576040525f60a0838281528260208201528260408201528260608201528260808201520152565b67ffffffffffffffff8111610a395760051b60200190565b60208183031261002a5780519067ffffffffffffffff821161002a57019080601f8301121561002a57815191611622836115d5565b926116306040519485610a3e565b80845260208085019160051b8301019183831161002a5760208101915b83831061165c57505050505090565b825167ffffffffffffffff811161002a578201906040828703601f19011261002a576040519061168b82610a1d565b602083015161169981610367565b825260408301519167ffffffffffffffff831161002a576116c288602080969581960101610f30565b8382015281520192019161164d565b9081602091031261002a575190565b6040513d5f823e3d90fd5b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b90610ed894936080936001600160a01b038093168452602084015216604082015281606082015201906116eb565b5f1981019190821161152357565b9190820391821161152357565b90604c1161002a576020602c610ed89201610edb565b905f806001600160a01b036117fb95946040519582602088019663a9059cbb60e01b88521660248801526044870152604486526117ac606487610a3e565b1692604051946117bd604087610a3e565b602086527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65646020870152519082855af16117f561100f565b91611b89565b80518015908115611812575b50610a6f9150610d1b565b6020915082908101031261002a5760200151801515810361002a57610a6f905f611807565b90611841826115d5565b61184e6040519182610a3e565b828152809261185f601f19916115d5565b015f5b81811061186e57505050565b60405190606082019180831067ffffffffffffffff841117610a39576020926040525f81526060838201525f604082015282828601015201611862565b80518210156118bf5760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b6020815260608101918051926040602084015283518091526080830190602060808260051b8601019501915f905b82821061192757505050509060406020610ed89301519101906001600160a01b03169052565b90919295602080600192607f198982030185528951906001600160a01b0382511681526040806119648585015160608786015260608501906116eb565b930151910152980192019201909291611901565b9291835161198d61198882611515565b611837565b925f5b828110611a5e575060405163ef8738d360e01b60208201526001600160a01b039182166024820152908316604482015293945061092e93610ed89392611a4f929091611a3391906119e281606481018a565b6119ea610a80565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001681529060208201525f6040820152611a2c82876118ab565b52846118ab565b50611a3c610a8f565b9283526001600160a01b03166020830152565b604051928391602083016118d3565b80611a7c611a6e6001938a6118ab565b51516001600160a01b031690565b6020611a88838b6118ab565b510151611aa5611a96610a80565b6001600160a01b039093168352565b60208201525f6040820152611aba82886118ab565b52611ac581876118ab565b5001611990565b8115611ad6570490565b634e487b7160e01b5f52601260045260245ffd5b81810180911161152357670de0b6b3a7640000820291808304670de0b6b3a7640000149015171561152357808201809211611523575f19820191821161152357611b3391611acc565b670de0b6b3a76400000390670de0b6b3a7640000821161152357670de0b6b3a76400008082029082820414821517156115235782611b7f611b7a610ed895611b8494611528565b61173d565b611acc565b61174b565b91925015611ba557815115611b9c575090565b3b1561002a5790565b50805190811561002a57602001fdfe02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800a2646970667358221220b1766981d97f8f64fa69492ce2fc3a712fe534529986be9bc89ad7dd432a109164736f6c634300081e003360c0346100d157601f615c8238819003918201601f19168301916001600160401b038311848410176100d55780849260409485528339810103126100d157610052602061004b836100e9565b92016100e9565b6001600160a01b0390911660805260a052604051615b8490816100fe8239608051818181610842015281816109820152818161143a015281816116c30152818161286e015281816147660152818161485b01528181614bcb0152614d6f015260a05181818161061001528181610774015281816119c4015261377b0152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036100d15756fe60806040526004361015610011575f80fd5b5f5f3560e01c806246912e1461247157806301ffc9a71461241b578063037a06a4146121cf57806304c73f60146121b1578063057f0370146120f75780631f74a0b51461208557806321081d3c1461204a578063248a9ca31461200a5780632e748b2114611eae5780632f2ff15d14611e63578063319adf9f14611a9b57806336568abe14611a5657806337710e2014611a0157806339fff0981461196a5780633b1c6a01146115bc5780633cf3a025146115875780634265fe861461153c578063490e662f146115015780634b3b029b146114c6578063502a82e214611409578063521c98ba14610cd857806369b97ac714610cba57806379c7b60b14610c6557806379c7f28914610b6657806390a0827b14610b2d57806391d1485414610ad657806396cc2cfb14610882578063a217fddf14610866578063a4b672b614610822578063af5de6f914610798578063c55dae6314610754578063ccbedaec146104e9578063d06e28ed146103fc578063d547741f146103a8578063e38b73a91461038c578063ea0aaf241461032e578063eb84e7f21461021a5763ff3eae00146101bb575f80fd5b346102175760c0366003190112610217576101d536612615565b7fc56a3250645180a53cd9e196b2ee0a634a4f54e2edf59ea457f2083917e4d10054156102085761020590614a9c565b80f35b63cd6d8f7d60e01b8252600482fd5b80fd5b50346102175760203660031901126102175760408160c09260a0835161023f816125bd565b8281528260208201528285820152826060820152826080820152015260043581527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b036020522060405190610292826125bd565b6001600160a01b03815416918281526001600160401b0360018301549281600260208501926001600160a01b038716845282604087019760a01c1687520154946001600160a01b036060860193838816855260ff60a06080890198828b60401c1615158a52019860481c1615158852604051988952511660208801525116604086015251166060840152511515608083015251151560a0820152f35b503461021757602036600319011261021757602061038361034d6124d4565b6001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0560205260405f2090565b54604051908152f35b5034610217578060031936011261021757602060405160068152f35b5034610217576040366003190112610217576103f86004356103c86124ea565b906103f36103ee825f525f516020615b2f5f395f51905f52602052600160405f20015490565b612c9a565b6136db565b5080f35b5034610217576040366003190112610217576104166124d4565b602435906fffffffffffffffffffffffffffffffff82168092036104da5761043c612c2b565b82610446826130da565b63ffffffff6001600160a01b03608083015116915116813b156104da57829160448392604051948593849263435354d360e01b845260048401528960248401525af180156104de576104c5575b50506001600160a01b03167f02366c0d102495be1ee805b749be7baebab4fc0710c6d3f38751f1a22bd711648380a380f35b816104cf916125f4565b6104da57825f610493565b8280fd5b6040513d84823e3d90fd5b503461021757606036600319011261021757806105046124d4565b61050c612500565b610514612516565b9061051d612b6d565b610557836001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0260205260405f2090565b544311156106b2574361059a846001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0260205260405f2090565b556001600160a01b0360016105df856001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0160205260405f2090565b015416926001600160401b0382166106b7575b50506001600160401b038116610606575050f35b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001683525f516020615b0f5f395f51905f526020526001600160401b0360046040852001541690823b156106b25760405163a703334f60e01b81526001600160401b039283166004820152336024820152911660448201529082908290606490829084905af180156104de576106a15750f35b816106ab916125f4565b6102175780f35b505050fd5b6001600160a01b031684525f516020615b0f5f395f51905f526020526001600160401b03600460408620015416833b156107505760405163a703334f60e01b81526001600160401b03918216600482015233602482015291166044820152838160648183875af1908115610745578491156105f25781610736916125f4565b61074157825f6105f2565b5050fd5b6040513d86823e3d90fd5b8480fd5b503461021757806003193601126102175760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b50346102175760203660031901126102175760206001600160a01b036107c46107bf6124d4565b61300b565b610b046040516107d6858301826125f4565b8181528481019161500b8339519020604051908482019260ff60f81b84523060601b602184015260358301526055820152605581526108166075826125f4565b51902016604051908152f35b503461021757806003193601126102175760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b5034610217578060031936011261021757602090604051908152f35b50346102175760403660031901126102175761089c6124d4565b906108a5612c2b565b6108ae82612dcb565b6108b7836130da565b926108cb60e083510151840b602435614a1b565b9460208401906108f46001600160401b03835116886001600160401b0360a08901511691613606565b15610aad57859650610936846001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0460205260405f2090565b6109418482546126d6565b90556001600160a01b038416807f410b9a8c926b6c439cdceb39c0bb8f829838a25bc5a26af9d4c263d1313cc46b6020604051878152a26001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016803b15610aa95760405163f3fef3a360e01b81526001600160a01b0383166004820152602481018690529088908290604490829084905af18015610a9e5785918991610a81575b50506001600160401b0391610a116001600160a01b0392608060e0960192848451169061313e565b511692511694510151850b93813b15610a7d57604051639c45c34b60e01b81526001600160a01b039490941660048501526001600160401b0316602484015260448301919091525f9290920b60648201529082908290608490829084905af180156104de576106a15750f35b8580fd5b81925090610a8e916125f4565b610a9a5783875f6109e9565b8680fd5b6040513d8a823e3d90fd5b8780fd5b6377e88bc960e11b86526001600160a01b0384166004526001600160401b038716602452604486fd5b5034610217576040366003190112610217576001600160a01b036040610afa6124ea565b9260043581525f516020615b2f5f395f51905f526020522091165f52602052602060ff60405f2054166040519015158152f35b503461021757604036600319011261021757610205610b4a6124d4565b610b52612b6d565b602435906001600160a01b0333911661313e565b50346102175760203660031901126102175760a0610bc4610b856124d4565b610b8d612b43565b506001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0160205260405f2090565b6001600160a01b03600160405192610bdb846125a2565b63ffffffff8154818116865260ff8160201c1615156020870152818160281c16604087015260481c1660608501520154166080820152610c6360405180926001600160a01b036080809263ffffffff815116855260208101511515602086015263ffffffff604082015116604086015263ffffffff6060820151166060860152015116910152565bf35b5034610217576020366003190112610217576020610383610c846124d4565b6001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0460205260405f2090565b50346102175780600319360112610217576020604051620f42408152f35b50346102175760a036600319011261021757610cf26124d4565b610cfa61252c565b90610d0361253f565b6064356001600160401b038116810361075057608435916001600160401b0383168303610a7d57610d32612bdc565b610d3a612a4c565b508580604051602081019063ffffffff8916825260208152610d5d6040826125f4565b519061080c5afa610d6c612b14565b90156113fa578051810160208101916020818303126113d6576020810151906001600160401b0382116113f65701906101009082900312610aa95760405191610db4836125d8565b60208201516001600160401b0381116113f65760209083010181601f820112156113f65789815191610de583612af9565b92610df360405194856125f4565b80845284602082840101116104da578060208093018386015e83010152835260408201516001600160401b0381116113f6576020908301019080601f830112156113f6578151916001600160401b0383116113c2578260051b9060405193610e5e60208401866125f4565b84526020808501928201019283116113f257602001905b8282106113da57505050602083015261010090610e946060820161317f565b6040840152610ea560808201614f4a565b6060840152610eb660a08201614f4a565b6080840152610ec760c08201614f5e565b60a0840152610ed860e08201614f5e565b60c0840152015180880b8082036113d657610ef89160e084015284613565565b5060405191610f06836125bd565b825263ffffffff87166020830152821515604083015260608201526001600160401b03831660808201526001600160401b03841660a08201526001600160a01b03851687525f516020615b0f5f395f51905f5260205260408720815180518051906001600160401b0382116113c25781908b610f828654612ac1565b601f8111611387575b5050602090601f8311600114611325578c9261131a575b50508160011b915f199060031b1c19161782555b6001820160208201518051906001600160401b03821161130657680100000000000000008211611306576020908c84548486558085106112ba575b505001918b5260208b20908b5b8160021c811061127557506003198116810380611219575b505050506001600160a01b03947f12cf3d04179e82c834f3ee7169a5df80651aa65530127f9ddb04c8cd8224435397946001600160401b039460a06006868896600260809d9901888060408401511616891982541617815560608201517fffffffff0000000000000000000000000000000000000000ffffffffffffffff7bffffffffffffffffffffffffffffffffffffffff000000000000000083549260401b16911617905560038201908c808f83015116166001600160a01b0319835416178255848101519082547fffffffffffffffffff000000ffffffffffffffffffffffffffffffffffffffff74ff000000000000000000000000000000000000000060e075ff00000000000000000000000000000000000000000060c086015160a81b1694015160b01b76ff000000000000000000000000000000000000000000001694891b16911617171790556111a76004820188806020880151161689198254161781556040860151151568ff0000000000000000825491151560401b169068ff00000000000000001916179055565b60608401516005820155019185808c8301511616861984541617835501516fffffffffffffffff000000000000000082549160401b16906fffffffffffffffff0000000000000000191617905563ffffffff6040519a168a52151560208a01521660408801521660608601521692a280f35b928c938d5b8181106112375750505060021c015584848460a0611016565b909194602061126b6001926001600160401b03895116908560031b6001600160401b03809160031b9316831b921b19161790565b960192910161121e565b8c8d5b6004811061128d575083820155600101610ffe565b85519095916001916020916001600160401b0360068a901b81811b199092169216901b1792019501611278565b8382876112e6945220600380870160021c820192601888831b16806112ed575b500160021c0190614a05565b8c5f610ff1565b5f198501908154905f19908a03851b1c1690555f6112da565b634e487b7160e01b8c52604160045260248cfd5b015190505f80610fa2565b858d52818d209250601f1984168d5b81811061136f5750908460019594939210611357575b505050811b018255610fb6565b01515f1960f88460031b161c191690555f808061134a565b92936020600181928786015181550195019301611334565b602082886113b1945220601f850160051c810191602086106113b8575b601f0160051c0190614a05565b8b5f610f8b565b90915081906113a4565b634e487b7160e01b8b52604160045260248bfd5b8880fd5b602080916113e78461317f565b815201910190610e75565b8b80fd5b8980fd5b639b0c335d60e01b8752600487fd5b5034610217576040366003190112610217576114236124d4565b60243561142e612b6d565b826001600160a01b03807f000000000000000000000000000000000000000000000000000000000000000016931692803b156114c25760405163f3fef3a360e01b81526001600160a01b0385166004820152602481018490529082908290604490829084905af180156104de576114ad575b505061020591339061313e565b816114b7916125f4565b6104da57825f6114a0565b5080fd5b503461021757806003193601126102175760206040517f5300fde95a5e446527bf6aa7c91bd6661bef5398afc77061d9bc87efb80b7ef68152f35b503461021757806003193601126102175760206040517fc56a3250645180a53cd9e196b2ee0a634a4f54e2edf59ea457f2083917e4d1008152f35b50346102175760c03660031901126102175761155736612615565b7fc56a3250645180a53cd9e196b2ee0a634a4f54e2edf59ea457f2083917e4d10054156102085761020590614367565b5034610217576020366003190112610217576115a1612b6d565b80808080600435335af16115b3612b14565b50156102175780f35b5034610217576060366003190112610217576115d66124ea565b6044356001600160a01b0381169182820361180a576115f3612c2b565b836115fd83612dcb565b9261160783613053565b6114c2576040840151156114c2576001600160401b036080850151169060208501916001600160401b038351169060e087510151850b91155f146119305761166d9161165291613565565b6001600160401b0360a081879a949a51169301511691613606565b156104da576116ac906001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0560205260405f2090565b6116b78582546126d6565b90556001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016803b156104da5760405163f3fef3a360e01b81526001600160a01b0387166004820152602481018690529083908290604490829084905af1908115611925578391611910575b5050516001600160401b03168061180e5750506117468284614e43565b736b9e773128f453f5c2c60935ee2de2cbc5390a243b1561180a578360405163611e2a2d60e11b81526001600160a01b038316600482015283602482015263ffffffff6044820152818160648183736b9e773128f453f5c2c60935ee2de2cbc5390a245af180156104de576117f5575b50506001600160a01b03905b60405192835216907f2b348084e891b20d449a69f90114c5ab7bf7c84d64c25445c8ab440d469a6b4d602060043592a480f35b816117ff916125f4565b61180a57835f6117b6565b8380fd5b6118218461181b83614d1f565b8761313e565b611884602460405160208101936001600160a01b0387168552604082015260016060820152606081526118556080826125f4565b6040519384916280000360e11b60208401525180918484015e810185838201520301601f1981018352826125f4565b7333333333333333333333333333333333333333333b156114c257816118c691604051809381926317938e1360e01b835260206004840152602483019061257e565b0381837333333333333333333333333333333333333333335af180156104de576118fb575b50506001600160a01b03906117c2565b81611905916125f4565b61180a57835f6118eb565b8161191a916125f4565b6114c257815f611729565b6040513d85823e3d90fd5b60019192939450016001600160401b038111611956576116528894939261166d92613565565b634e487b7160e01b88526011600452602488fd5b50346102175760e03660031901126102175761198536612615565b7fc56a3250645180a53cd9e196b2ee0a634a4f54e2edf59ea457f2083917e4d1005415610208576001600160a01b036060820151166001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145f146119f45761020590614367565b6102059060c43590613778565b5034610217576020366003190112610217576020610383611a206124d4565b6001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0260205260405f2090565b503461021757604036600319011261021757611a706124ea565b336001600160a01b03821603611a8c576103f8906004356136db565b63334bd91960e11b8252600482fd5b5034610217576020366003190112610217576001600160a01b03611abd6124d4565b611ac5612a8a565b501681525f516020615b0f5f395f51905f52602052604081209060405190611aec826125bd565b604051611af8816125d8565b60405184548184611b0883612ac1565b8083529260018116908115611e445750600114611e03575b611b2c925003826125f4565b815260018401604051808260208294549384815201908652602086209286905b806003830110611db157611b82945491818110611d97575b818110611d7a575b818110611d5d575b10611d4f575b5003826125f4565b60208201526001600160a01b0360028501546001600160401b038116604084015260401c16606082015260038401546001600160a01b038116608083015260ff8160a01c1660a083015260ff8160a81c1660c083015260b01c820b60e0820152825260048301549260208301906001600160401b038516825260ff604085019560401c161515855260066005820154916060860192835201549460808501926001600160401b03871684526001600160401b0360a087019760401c1687526040519560208752519460c06020880152611c69865161010060e08a01526101e089019061257e565b60208088015189830360df19016101008b015280518084529282019892910190835b818110611d3057505050926001600160401b03809693899a969360e0878c610120866040819c0151169101528c6101406001600160a01b036060840151169101528c6101606001600160a01b036080840151169101528c61018060ff60a0840151169101528c6101a060ff60c0840151169101520151900b6101c08b0152511660408901525115156060880152516080870152511660a0850152511660c08301520390f35b82516001600160401b03168a526020998a019990920191600101611c8b565b60c01c81526020015f611b7a565b9260206001916001600160401b038560801c168152019301611b74565b9260206001916001600160401b038560401c168152019301611b6c565b9260206001916001600160401b0385168152019301611b64565b916004919350608060019186546001600160401b03811682526001600160401b038160401c1660208301526001600160401b0381841c16604083015260c01c6060820152019401920184929391611b4c565b5090868552602085209085915b818310611e28575050906020611b2c92820101611b20565b6020919350806001915483858801015201910190918392611e10565b60209250611b2c94915060ff191682840152151560051b820101611b20565b5034610217576040366003190112610217576103f8600435611e836124ea565b90611ea96103ee825f525f516020615b2f5f395f51905f52602052600160405f20015490565b613634565b503461021757608036600319011261021757611ec86124d4565b611ed0612500565b611ed8612516565b90606435926fffffffffffffffffffffffffffffffff841680940361075057611eff612c2b565b84611f09826130da565b926001600160a01b0360808501511693843b156104da57611f936101048492836001600160401b03806040519788968795636f0d192560e11b875260048701906001600160a01b036080809263ffffffff815116855260208101511515602086015263ffffffff604082015116604086015263ffffffff6060820151166060860152015116910152565b169a8b60a485015216988960c48401528b60e48401525af180156104de57611ff5575b50506001600160a01b036040917f500d805a349357fe5d4759fe052d79bd744b82c8452837f52a7456ec7d3d751c93835195865260208601521692a380f35b81611fff916125f4565b61075057845f611fb6565b50346102175760203660031901126102175760206120426004355f525f516020615b2f5f395f51905f52602052600160405f20015490565b604051908152f35b503461021757806003193601126102175760206040517f880a9ba888678c7fe4e8c4f028c224f26ce12a3bed6e96025c61ef8a5db6312f8152f35b50346102175760603660031901126102175761209f6124d4565b6024356001600160401b0381116104da576120be90369060040161254e565b9092604435906001600160401b0382116102175760206120428686866120e7366004890161254e565b9390926120f2612c2b565b6126e3565b50346121ad5760403660031901126121ad576121116124d4565b9060243561211d612b6d565b6001600160a01b036080612130856130da565b015116803b156121ad576040516390a0827b60e01b81526001600160a01b038516600482015260248101839052905f908290604490829084905af180156121a25761218c575b5061020591926001600160a01b0333911661313e565b61020592505f61219b916125f4565b5f91612176565b6040513d5f823e3d90fd5b5f80fd5b346121ad575f3660031901126121ad5760206040516305f5e1008152f35b346121ad5760a03660031901126121ad576121e86124d4565b6121f061252c565b6121f861253f565b9160643563ffffffff81168091036121ad576084359163ffffffff83168093036121ad5761222581612dcb565b5061222e612bdc565b6001600160a01b036001612272836001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0160205260405f2090565b0154169081156123ca575b63ffffffff6040519561228f876125a2565b16948581526001600160a01b036001816020840199151595868b52604085019a888c52606086018a8152836080880193169c8d845263ffffffff6123038a6001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0160205260405f2090565b985116926cffffffff00000000000000000068ffffffff000000000064ff000000008b549351151560201b16935160281b16935160481b16936cffffffff000000000000000000199168ffffffffffffffffff1916171617171785555116920191166001600160a01b031982541617905561237d86613053565b156121ad577ff0dcc8957a27613dd82c92382ad37254b9744169d0caa5f3873cfec7ba794eb9936080936001600160a01b03936040519788526020880152604087015260608601521692a3005b90506123d58161300b565b604051610b048082018281106001600160401b0382111761240757829161500b833903905ff580156121a2579061227d565b634e487b7160e01b5f52604160045260245ffd5b346121ad5760203660031901126121ad5760043563ffffffff60e01b81168091036121ad57602090637965db0b60e01b8114908115612460575b506040519015158152f35b6301ffc9a760e01b14905082612455565b346121ad5760403660031901126121ad576124d261248d6124d4565b6001600160a01b0361249d612500565b916124a6612b6d565b165f525f516020615b0f5f395f51905f526020526001600160401b03600460405f200154163390612ce7565b005b600435906001600160a01b03821682036121ad57565b602435906001600160a01b03821682036121ad57565b602435906001600160401b03821682036121ad57565b604435906001600160401b03821682036121ad57565b6024359063ffffffff821682036121ad57565b6044359081151582036121ad57565b9181601f840112156121ad578235916001600160401b0383116121ad576020808501948460051b0101116121ad57565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b60a081019081106001600160401b0382111761240757604052565b60c081019081106001600160401b0382111761240757604052565b61010081019081106001600160401b0382111761240757604052565b90601f801991011681019081106001600160401b0382111761240757604052565b60c09060031901126121ad576040519061262e826125bd565b81600435815260243560208201526044356001600160a01b03811681036121ad5760408201526064356001600160a01b03811681036121ad576060820152608435608082015260a060a435910152565b919081101561268e5760051b0190565b634e487b7160e01b5f52603260045260245ffd5b906001600160401b03809116911601906001600160401b0382116126c257565b634e487b7160e01b5f52601160045260245ffd5b919082018092116126c257565b9194935f935f968281036121ad5761272b856001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0260205260405f2090565b544311156121ad57929061273e85612dcb565b91608061274a876130da565b01916001600160a01b038351169461277160208601966001600160401b0388511690613193565b965f975b818d106129e1575b50508a1592506129d691505057436127c5866001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0260205260405f2090565b556001600160401b038416806127df575b50505050505050565b6127f46128179560e0855101515f0b90613565565b6001600160401b03869792975116906001600160401b0360a08701511691613606565b156129b75750612857856001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0460205260405f2090565b6128628582546126d6565b90556001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166001600160a01b03861690803b156121ad5760405163f3fef3a360e01b81526001600160a01b038316600482015260248101879052905f908290604490829084905af180156121a25761298b575b506001600160a01b03826128ff876001600160401b03948460e09751169061313e565b511693511691510151850b93823b15610a7d57604051639c45c34b60e01b81526001600160a01b0390911660048201526001600160401b03909116602482015260448101929092525f9290920b606482015290829082908183816084810103925af180156104de57612976575b80808080806127d6565b6129818280926125f4565b610217578061296c565b6001600160401b0391975060e0926129ab5f6001600160a01b03936125f4565b5f9890935091506128dc565b6001600160a01b03866377e88bc960e11b5f521660045260245260445ffd5b505f96505050505050565b6129f08d83879f9b969761267e565b35906129fd8a858861267e565b356001600160401b03811681036121ad57612a2692898d926001600160a01b038b511692613275565b94909115612a4457600191612a3a916126a2565b98019b9392612775565b989c5061277d565b60405190612a59826125d8565b5f60e08360608152606060208201528260408201528260608201528260808201528260a08201528260c08201520152565b60405190612a97826125bd565b5f60a083612aa3612a4c565b81528260208201528260408201528260608201528260808201520152565b90600182811c92168015612aef575b6020831014612adb57565b634e487b7160e01b5f52602260045260245ffd5b91607f1691612ad0565b6001600160401b03811161240757601f01601f191660200190565b3d15612b3e573d90612b2582612af9565b91612b3360405193846125f4565b82523d5f602084013e565b606090565b60405190612b50826125a2565b5f6080838281528260208201528260408201528260608201520152565b335f9081527f176c3a4e1b4d1d61213187c0dde7f83e2e2c933a339cb5403b4090bc2f0aa49a602052604090205460ff1615612ba557565b63e2517d3f60e01b5f52336004527f880a9ba888678c7fe4e8c4f028c224f26ce12a3bed6e96025c61ef8a5db6312f60245260445ffd5b335f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d602052604090205460ff1615612c1457565b63e2517d3f60e01b5f52336004525f60245260445ffd5b335f9081527fcf7720576cdb70176b3017d893bcb89ba0f36ed0261d4350fd0180e938b3bacd602052604090205460ff1615612c6357565b63e2517d3f60e01b5f52336004527f5300fde95a5e446527bf6aa7c91bd6661bef5398afc77061d9bc87efb80b7ef660245260445ffd5b805f525f516020615b2f5f395f51905f5260205260405f206001600160a01b0333165f5260205260ff60405f20541615612cd15750565b63e2517d3f60e01b5f523360045260245260445ffd5b6024906001600160401b03612d56939481604051936001600160a01b03602086019816885216604084015216606082015260608152612d276080826125f4565b6040519384916280000360e11b60208401525180918484015e81015f838201520301601f1981018352826125f4565b7333333333333333333333333333333333333333333b156121ad575f612d9891604051809381926317938e1360e01b835260206004840152602483019061257e565b0381837333333333333333333333333333333333333333335af180156121a257612dbf5750565b5f612dc9916125f4565b565b6001600160a01b0390612ddc612a8a565b50165f525f516020615b0f5f395f51905f5260205260405f2060405191612e02836125bd565b60405191612e0f836125d8565b6040518154815f612e1f83612ac1565b8083529260018116908115612fec5750600114612fab575b612e43925003826125f4565b8352600181019360405180602087549182815201965f5260205f20905f915b816003840110612f5f5797612ea39284926001600160a01b039798999a5491818110611d9757818110611d7a57818110611d5d5710611d4f575003826125f4565b60208601528160028401546001600160401b038116604088015260401c1660608601526001600160401b0360066003850154946080880197858716895260ff8760a01c1660a082015260c081019660ff8160a81c16885260b01c5f0b60e0820152845260ff6004820154848116602087015260401c1615156040850152600581015460608501520154818116608084015260401c1660a082015293511615159081612f51575b50156121ad57565b60ff9150511615155f612f49565b97600160806004928b546001600160401b03811682526001600160401b038160401c1660208301526001600160401b0381841c16604083015260c01c6060820152019901920191612e62565b5090835f5260205f20905f915b818310612fd0575050906020612e4392820101612e37565b6020919350806001915483858801015201910190918392612fb8565b60209250612e4394915060ff191682840152151560051b820101612e37565b60405160208101913060601b83526bffffffffffffffffffffffff199060601b166034820152602881526130406048826125f4565b51902090565b519081151582036121ad57565b5f80916040516001600160a01b036020820192168252602081526130786040826125f4565b51906108105afa613087612b14565b90156130cb576020818051810103126121ad5760405190602082018281106001600160401b03821117612407576040526130c390602001613046565b809152151590565b6313dd7ccd60e31b5f5260045ffd5b6130e690610b8d612b43565b906001600160a01b036001604051936130fe856125a2565b63ffffffff8154818116875260ff8160201c1615156020880152818160281c16604088015260481c1660608601520154169182608082015291156121ad57565b60405163a9059cbb60e01b60208201526001600160a01b03929092166024830152604480830193909352918152612dc99161317a6064836125f4565b614c86565b51906001600160401b03821682036121ad57565b5f919082916001600160401b03604051916001600160a01b036020840194168452166040820152604081526131c96060826125f4565b51906108015afa6131d8612b14565b9015613246576060818051810103126121ad576040519060608201918083106001600160401b03841117612407576001600160401b0392604052604061323f60606132256020860161317f565b9485855261323484820161317f565b60208601520161317f565b9101521690565b639d2c8fcb60e01b5f5260045ffd5b906001600160401b03809116911603906001600160401b0382116126c257565b95929190939495805f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0360205260405f20916001600160a01b038354169586156134ed576002840180549860ff8a60481c166134de576001600160a01b03600187015491166001600160a01b038216036134cb576001600160401b039060a01c166001600160401b038a1660ff8b60401c165f14613474575080926001600160401b03811682115f1461346c5761332c91613255565b985b6133388a8c6126a2565b9a6001600160401b038c166001600160401b0385161161345b575069010000000000000000009069ff000000000000000000191617905561337b8160019a613255565b966001600160401b0360206001600160a01b0361339f60e0875101515f0b8d613565565b50981694015116833b156121ad5760405163a703334f60e01b81526001600160401b0391821660048201526001600160a01b0392909216602483015282166044820152915f908390606490829084905af19081156121a2577f53b9d5645f8b7ccd861ebd6036860fd21716451d1f238cb3720f12f3c49b0c439260409261344b575b506001600160a01b0360018187541696015416956001600160401b038351921682526020820152a4565b5f613455916125f4565b5f613421565b5f9b508b9a50985050505050505050565b50505f61332c565b9092809a93806001600160401b038316105f146134c05761349f9161349891613255565b809b6126a2565b816001600160401b038216115f146134b957505b9161332e565b90506134b3565b505061349f5f613498565b8463358d72d160e01b5f5260045260245ffd5b63f7348a7960e01b5f5260045ffd5b631a40316d60e01b5f5260045ffd5b60ff16604d81116126c257600a0a90565b919082039182116126c257565b8115613524570490565b634e487b7160e01b5f52601260045260245ffd5b90620f4240820291808304620f424014901517156126c257565b818102929181159184041417156126c257565b9190805f0b80155f146135825750506001600160401b0382169190565b5f8113156135ad575061359a6135a99160ff166134fc565b6001600160401b038416613552565b9190565b9050607f1981146126c2576001600160401b03926135d26135db925f0360ff166134fc565b938491166126d6565b5f1981019081116126c2576136026135fb846001600160401b039361351a565b9384613552565b1690565b61362c6001600160401b039293613626849361362181614d1f565b613193565b946126a2565b169116101590565b805f525f516020615b2f5f395f51905f5260205260405f206001600160a01b0383165f5260205260ff60405f205416155f146136d557805f525f516020615b2f5f395f51905f5260205260405f206001600160a01b0383165f5260205260405f20600160ff198254161790556001600160a01b03339216907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b50505f90565b805f525f516020615b2f5f395f51905f5260205260405f206001600160a01b0383165f5260205260ff60405f2054165f146136d557805f525f516020615b2f5f395f51905f5260205260405f206001600160a01b0383165f5260205260405f2060ff1981541690556001600160a01b03339216907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b907f0000000000000000000000000000000000000000000000000000000000000000604083016137b16001600160a01b03825116613053565b156142f2576001600160a01b038216805f525f516020615b0f5f395f51905f5260205260405f2090604051946137e6866125bd565b6040516137f2816125d8565b6040518454815f61380283612ac1565b80835292600181169081156142d35750600114614292575b613826925003826125f4565b815260018401604051808260208294549384815201905f5260205f20925f905b80600383011061424057613878945491818110611d9757818110611d7a57818110611d5d5710611d4f575003826125f4565b60208201526001600160a01b0360028501546001600160401b038116604084015260401c16606082015260038401546001600160a01b038116608083015260ff8160a01c1660a083015260ff8160a81c1660c083015260b01c5f0b60e08201528652600660048401549360ff60208901956001600160401b038116875260401c1615156040890152600581015460608901520154966001600160401b03881660808801526001600160401b0360a088019860401c168852606081016001600160a01b038151165f525f516020615b0f5f395f51905f5260205260405f209560405196613963886125bd565b60405161396f816125d8565b6040518254815f61397f83612ac1565b808352926001811690811561422157506001146141e0575b6139a3925003826125f4565b81526040516001830180548083525f9182526020808320849391840192905b81600384011061418e575491818110614174575b818110614157575b81811061413a575b1061412c575b50036139f890826125f4565b602082015260028201546001600160401b038116604083015260401c6001600160a01b0316606082015260038201546001600160a01b03811660808301528060a01c60ff1660a08301528060a81c60ff1660c083015260b01c5f0b60e0820152885260048101546001600160401b03811660208a015260401c60ff161515604089015260058101546060890152600601546001600160401b038116608089015260401c6001600160401b031660a088015281516001600160a01b0316613abd906130da565b9383519060a08501918251996080870191825115159b613adc916126d6565b8d5160e001515f0b613aed91614a1b565b90508d5160c0015160ff16825160c0015160ff1690613b0b92614f80565b9a156140fe578a925b5f8063ffffffff8b51166040516020810191825260208152613b376040826125f4565b51906108085afa613b46612b14565b90156140ef576020818051810103126121ad57898f9360ff60a0613b949260206001600160401b03613b7c82613b9a990161317f565b16950197885115155f146140e45750510151166134fc565b90613552565b82511561409a5763ffffffff613bb58160608d015116614d45565b16620f4240019081620f4240116126c257613beb620f424091613b946001600160401b039463ffffffff8f6040015116906126d6565b0416908351908115155f146140925750915b5115614051576305f5e10081101561401157505f5b613c32613c1f8651613538565b613c2c8a518851906126d6565b906126d6565b5f198101919082116126c257613c2c613c5892613c528b518951906126d6565b9061351a565b60648083028381048214841517156126c2578211613f975750505085518c5160e001515f0b613c8691614a1b565b9d8e8b9c929c516001600160401b031691516001600160401b031690613cab92613606565b15613f47579c8a9b9c9d85516001600160a01b03169387516001600160a01b0316935115159360405195613cde876125bd565b86526020860190815260408601926001600160401b03169485845260608701926001600160401b0316968784526080810191825260a08101925f845260208d019586515f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0360205260405f2092516001600160a01b03166001600160a01b031683546001600160a01b0319161783556001830191516001600160a01b03166001600160a01b031682546001600160a01b0319161782555181549060a01b7bffffffffffffffff000000000000000000000000000000000000000016907fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff1617905560020192516001600160401b03166001600160401b03166001600160401b0319845416178355511515613e3490839068ff0000000000000000825491151560401b169068ff00000000000000001916179055565b51151581549060481b69ff000000000000000000169069ff00000000000000000019161790555194516001600160a01b031695516001600160a01b03169651935160405194855260208501526001600160401b031660408401526060830152608082015260a07f550576b2f9e0ac12dfd5dd2d5743b5b7f11f34302b5f6bec6ad60db81bd6a91891a4608001516001600160a01b03169283613ed59261313e565b516001600160401b0316935160e001515f0b93813b156121ad57604051639c45c34b60e01b81526001600160a01b039490941660048501526001600160401b0316602484015260448301919091525f92830b60648301529091908290608490829084905af180156121a257612dbf5750565b5050505050945095505092505081612dc9947f8d61555dcf69ba745e97fdea78e2652d9cdd464ca521faad482fe796f6d5841c602080870151926001600160401b0360405191168152a352614a9c565b999c5099509c50505050509450809650602091500151906001600160a01b03845116928181018091116126c2575f1981019081116126c257811561352457612dc9977fc8f90125c6a36c77a571201afc10310420481ab4895fadabb596d0ba71c22e3e92604092049082519182526020820152a352614367565b6305f5e0ff19016001600160401b0381116126c25761404b6140406001600160401b036305f5e1009316613538565b6305f5e0ff906126d6565b04613c12565b6305f5e10081111561406457505f613c12565b6305f5e100036001600160401b0381116126c25761404b6140406001600160401b036305f5e1009316613538565b905091613bfd565b63ffffffff6140ae8160608d015116614d45565b16620f42400390620f424082116126c257613beb620f424091613b946001600160401b039463ffffffff8f60400151169061350d565b9050510151166134fc565b635cffc5fb60e11b5f5260045ffd5b826127100361271081116126c2576127106141236001600160401b0392838f16613552565b04169a92613b14565b60c01c81526020015f6139ec565b9260206001916001600160401b038560801c1681520193016139e6565b9260206001916001600160401b038560401c1681520193016139de565b9260206001916001600160401b03851681520193016139d6565b935090916001608060049286546001600160401b03811682526001600160401b038160401c1660208301526001600160401b0381841c16604083015260c01c60608201520194019201908493926139c2565b5090845f5260205f20905f915b8183106142055750509060206139a392820101613997565b60209193508060019154838588010152019101909183926141ed565b602092506139a394915060ff191682840152151560051b820101613997565b916004919350608060019186546001600160401b03811682526001600160401b038160401c1660208301526001600160401b0381841c16604083015260c01c6060820152019401920184929391613846565b5090865f5260205f20905f915b8183106142b75750509060206138269282010161381a565b602091935080600191548385880101520191019091839261429f565b6020925061382694915060ff191682840152151560051b82010161381a565b6080840151909392501561431d576001600160a01b038351166320a2097d60e11b5f5260045260245ffd5b6001600160a01b0390612dc9937f31604f5790fbed7a37471cea010a8f08483441a6e1235ac48bb59337439a630d60208481870151935116604051908152a2166060820152614a9c565b6060810151906001600160a01b035f921691825f525f516020615b0f5f395f51905f5260205260405f206040519161439e836125bd565b6040516143aa816125d8565b6040518354815f6143ba83612ac1565b80835292600181169081156149e657506001146149a5575b6143de925003826125f4565b815260018301604051808260208294549384815201905f5260205f20925f905b80600383011061495357614430945491818110611d9757818110611d7a57818110611d5d5710611d4f575003826125f4565b60208201526001600160a01b0360028401546001600160401b038116604084015260401c16606082015260038301546001600160a01b038116608083015260ff8160a01c1660a083015260ff8160a81c1660c083015260b01c5f0b60e08201528352600660048301549260ff60208601946001600160401b038116865260401c1615156040860152600581015460608601520154906001600160401b03821660808501526001600160401b0360a085019260401c16825260408501936144ff6001600160a01b03865116613053565b156148e35785519261271061452861451d60a08a01968751906126d6565b60808a015190613552565b04948451958087116148db575b5085614839575b61457461455b61454d888b516126d6565b60e0865101515f0b90614a1b565b919093826001600160401b038086511692511691613606565b156147eb57508561475c575b6001600160401b036145ef916145c68b6001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0460205260405f2090565b6145d18982546126d6565b905551169160e06001600160a01b0389511694510151850b90614a1b565b909182614659575b5050505050907fb021c853215aadb12b6fa8afa7b3158201517d9abf7f756cdbb67bd66abc5a1c916146546001600160a01b0360208701519551169551915192604051938493846040919493926060820195825260208201520152565b0390a4565b8061471557505061466a8189614e43565b736b9e773128f453f5c2c60935ee2de2cbc5390a243b156104da576040519163611e2a2d60e11b83526004830152602482015263ffffffff6044820152818160648183736b9e773128f453f5c2c60935ee2de2cbc5390a245af180156104de57614700575b5050907fb021c853215aadb12b6fa8afa7b3158201517d9abf7f756cdbb67bd66abc5a1c915b90915f8080806145f7565b61470b8280926125f4565b61021757806146cf565b7fb021c853215aadb12b6fa8afa7b3158201517d9abf7f756cdbb67bd66abc5a1c9695945061475261475794929361474c83614d1f565b8c61313e565b612ce7565b6146f5565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016803b156121ad5760405163f3fef3a360e01b81526001600160a01b038b16600482015260248101889052905f908290604490829084905af180156121a2576147cf575b50614580565b6147dc9194505f906125f4565b5f926001600160401b036147c9565b9793505050507f8d61555dcf69ba745e97fdea78e2652d9cdd464ca521faad482fe796f6d5841c93506020925082915061482481614a9c565b0151926001600160401b0360405191168152a3565b614848868a60208b0151614d60565b61453c576040516370a0823160e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031660048201529095506020816024818c5afa9081156121a2575f916148a9575b509461453c565b90506020813d6020116148d3575b816148c4602093836125f4565b810103126121ad57515f6148a2565b3d91506148b7565b95505f614535565b50505050608082015190925015614911576001600160a01b038251166320a2097d60e11b5f5260045260245ffd5b612dc9917f31604f5790fbed7a37471cea010a8f08483441a6e1235ac48bb59337439a630d60206001600160a01b0381850151935116604051908152a2614a9c565b916004919350608060019186546001600160401b03811682526001600160401b038160401c1660208301526001600160401b0381841c16604083015260c01c60608201520194019201849293916143fe565b5090855f5260205f20905f915b8183106149ca5750509060206143de928201016143d2565b60209193508060019154838588010152019101909183926149b2565b602092506143de94915060ff191682840152151560051b8201016143d2565b818110614a10575050565b5f8155600101614a05565b9190805f0b9081155f14614a385750506001600160401b03821690565b5f821315614a7357614a4d915060ff166134fc565b91821561352457613602614a6c82856001600160401b0394069061350d565b938461351a565b505f0380805f0b036126c257613602614a966001600160401b039260ff166134fc565b84613552565b8051612710614abf614ab460a08501938451906126d6565b608085015190613552565b0481518181115f14614c7e5750905b81906020840191614af183519460608701956001600160a01b0387511690614d60565b15614c77575b80614bc1575b7f4755f239bb1b047245415cb917deced72a3ca8baebcef109c396ff332ea6f50f916146546001600160a01b0380614b36858a516126d6565b96614b4e828a51169860408c0199848b51169061313e565b614b8b828a51166001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0460205260405f2090565b614b968782546126d6565b9055519651169651169651915192604051938493846040919493926060820195825260208201520152565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916001600160a01b0385511692803b156121ad5760405163f3fef3a360e01b81526001600160a01b03949094166004850152602484018390525f908490604490829084905af19283156121a2577f4755f239bb1b047245415cb917deced72a3ca8baebcef109c396ff332ea6f50f93614c67575b509150614afd565b5f614c71916125f4565b5f614c5f565b505f614af7565b905090614ace565b906001600160a01b03614ce792165f8060405193614ca56040866125f4565b602085527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564602086015260208151910182855af1614ce1612b14565b91614fdf565b8051908115918215614cfd575b5050156121ad57565b81925090602091810103126121ad576020614d189101613046565b5f80614cf4565b6001600160401b03166001609d1b01806001609d1b116126c2576001600160a01b031690565b63ffffffff60649116029063ffffffff82169182036126c257565b6040516370a0823160e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811660048301529092169392909190602082602481885afa9182156121a2575f92614e0f575b5080821094851595614dd0575b50505050565b7f5180f0ad9e9bd2296de2ee38c85d11c56613fa73f8ee66792f26ac318f1274749260609260405192835260208301526040820152a25f808080614dca565b9091506020813d602011614e3b575b81614e2b602093836125f4565b810103126121ad5751905f614dbd565b3d9150614e1e565b9060405190602082019063095ea7b360e01b8252736b9e773128f453f5c2c60935ee2de2cbc5390a246024840152604483015260448252614e856064836125f4565b5f806001600160a01b0385169284519082855af190614ea2612b14565b82614f10575b5081614f05575b5015614eb9575050565b612dc99161317a60405163095ea7b360e01b6020820152736b9e773128f453f5c2c60935ee2de2cbc5390a2460248201525f604482015260448152614eff6064826125f4565b82614c86565b90503b15155f614eaf565b80519192508115918215614f28575b5050905f614ea8565b81925090602091810103126121ad576020614f439101613046565b5f80614f1f565b51906001600160a01b03821682036121ad57565b519060ff821682036121ad57565b9060ff8091169116039060ff82116126c257565b9160ff811660ff83168181145f14614f99575050505090565b6001600160401b039492911115614fc757614fc0614fbb613602948693614f6c565b6134fc565b9116613552565b614fd8614fbb859261360295614f6c565b911661351a565b91925015614ffb57815115614ff2575090565b3b156121ad5790565b5080519081156121ad57602001fdfe60a080604052346100455733608052610aba908161004a82396080518181816086015281816101b80152818161039a015281816104d50152818161054c01526106a40152f35b5f80fdfe60806040526004361015610011575f80fd5b5f5f3560e01c8063435354d31461050a57806390a0827b146104a55780639c45c34b146100ad578063a703334f1461033e578063de1a324a146100cb578063e94b77c1146100ad5763eba61c0e14610067575f80fd5b346100aa57806003193601126100aa5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b80fd5b50346100aa576100c86100bf366105ee565b92919091610699565b80f35b50346100aa57366003190161010081126103265760a0136100aa5760405160a0810181811067ffffffffffffffff82111761032a5760405261010b6105db565b91828252602435918215158303610326576020810192835260443563ffffffff8116810361032257604082015260643563ffffffff81168103610322576060820152608435906001600160a01b0382168203610322576080015260a43567ffffffffffffffff81168091036103265760c4359067ffffffffffffffff82168092036103225760e435946fffffffffffffffffffffffffffffffff861680960361031e576001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016330361031e5763ffffffff6101ed911661066c565b9351151592811561030f57821561030057916102819391600493506040519263ffffffff60208501971687526040840152606083015260808201525f945f60a0830152600260c083015260e082015260e0815261024c61010082610636565b6020604051948592630100000160e01b83850152518091602485015e8201018281015f8152500301601f198101835282610636565b7333333333333333333333333333333333333333333b156102fc575f6102bb91604051809381926317938e1360e01b8352600483016108ff565b0381837333333333333333333333333333333333333333335af180156102f1576102e3575080f35b6102ef91505f90610636565b005b6040513d5f823e3d90fd5b5f80fd5b6313c0a8df60e01b8152600490fd5b63017461b760e71b8152600490fd5b8380fd5b8280fd5b5080fd5b634e487b7160e01b83526041600452602483fd5b50346100aa5760603660031901126100aa578060043567ffffffffffffffff811680910361049c57602435906001600160a01b0382168092036104a15760443567ffffffffffffffff811680910361049f576001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016330361049f5761041f91600491604051916020830195865260408301526060820152606081526103eb608082610636565b60206040519485926280000360e11b83850152518091602485015e820101828101868152500301601f198101835282610636565b7333333333333333333333333333333333333333333b1561049c578161045991604051809381926317938e1360e01b8352600483016108ff565b0381837333333333333333333333333333333333333333335af18015610491576104805750f35b8161048a91610636565b6100aa5780f35b6040513d84823e3d90fd5b50fd5b505b5050fd5b50346100aa5760403660031901126100aa576004356001600160a01b038116809103610326576001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163303610326576100c890602435903390610929565b50346102fc5760403660031901126102fc576105246105db565b602435906fffffffffffffffffffffffffffffffff82168092036102fc576001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633036102fc5760046105806102819261066c565b926040519063ffffffff60208301951685526040820152604081526105a6606082610636565b6020604051948592630100000b60e01b83850152518091602485015e8201018281015f8152500301601f198101835282610636565b6004359063ffffffff821682036102fc57565b60809060031901126102fc576004356001600160a01b03811681036102fc579060243567ffffffffffffffff811681036102fc579060443590606435805f0b81036102fc5790565b90601f8019910116810190811067ffffffffffffffff82111761065857604052565b634e487b7160e01b5f52604160045260245ffd5b63ffffffff6127109116019063ffffffff821161068557565b634e487b7160e01b5f52601160045260245ffd5b926001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633036102fc57805f0b9081155f1461088f5750505b816106e357505050565b67ffffffffffffffff16806108685750906001600160a01b03166040515f806020830163095ea7b360e01b8152736b9e773128f453f5c2c60935ee2de2cbc5390a2460248501528560448501526044845261073f606485610636565b83519082865af161074e610a1a565b81610839575b508061082f575b156107d7575b5050736b9e773128f453f5c2c60935ee2de2cbc5390a243b156102fc5760405190630acb7f4b60e21b8252600482015263ffffffff60248201525f8160448183736b9e773128f453f5c2c60935ee2de2cbc5390a245af180156102f1576107c7575b505b565b5f6107d191610636565b5f6107c3565b6108289161082360405163095ea7b360e01b6020820152736b9e773128f453f5c2c60935ee2de2cbc5390a2460248201525f60448201526044815261081d606482610636565b82610978565b610978565b5f80610761565b50813b151561075b565b805180159250821561084e575b50505f610754565b6108619250602080918301019101610960565b5f80610846565b6001609d1b0191826001609d1b11610685576001600160a01b03806107c594169116610929565b5f8213156108d0576108a4915060ff16610a09565b80156108bc57808306830392831161068557506106d9565b634e487b7160e01b5f52601260045260245ffd5b505f0380805f0b03610685576108e89060ff16610a09565b8281810291818304149015171561068557506106d9565b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b6107c5926001600160a01b036040519363a9059cbb60e01b6020860152166024840152604483015260448252610823606483610636565b908160209103126102fc575180151581036102fc5790565b906001600160a01b036109d992165f8060405193610997604086610636565b602085527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564602086015260208151910182855af16109d3610a1a565b91610a59565b80519081159182156109ef575b5050156102fc57565b610a029250602080918301019101610960565b5f806109e6565b60ff16604d811161068557600a0a90565b3d15610a54573d9067ffffffffffffffff82116106585760405191610a49601f8201601f191660200184610636565b82523d5f602084013e565b606090565b91925015610a7557815115610a6c575090565b3b156102fc5790565b5080519081156102fc57602001fdfea26469706673582212203879dec62ee6969ddc1e719a778a3189d3e8f96806386657ebe93811d6723d1b64736f6c634300081e00336c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800a26469706673582212208e9caca3f731db1f887e8a59abe9f082d26d5774b810cdaa162e708e16ec228764736f6c634300081e0033bd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ffb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268000000000000000000000000003a73033c0b1407574c76bdbac67f126f6b4a9aa9000000000000000000000000904861a24f30ec96ea7cfc3be9ea4b476d237e980000000000000000000000001d7c1398df7c823068e6a120d3921847929d428e000000000000000000000000b8ce59fc3717ada4c02eadf9682a9e934f625ebb0000000000000000000000002b20df3471e2751840a9c921696d62ea8bc4a391", - "nonce": "0x3cf", + "input": "0x61012080604052346102e05760a081617c1f80380380916100208285610354565b8339810103126102e05761003381610377565b61003f60208301610377565b9161004c60408201610377565b90610065608061005e60608401610377565b9201610377565b60015f55604051615ba080820194906001600160401b038611838710176103405761201f83396001600160a01b03908116855283166020850181905293819003604001905ff080156102ec576001600160a01b03166080527f5300fde95a5e446527bf6aa7c91bd6661bef5398afc77061d9bc87efb80b7ef65f8181525f516020617bff5f395f51905f526020527fcf7720576cdb70176b3017d893bcb89ba0f36ed0261d4350fd0180e938b3bace80549082905590915f516020617bbf5f395f51905f528380a47f880a9ba888678c7fe4e8c4f028c224f26ce12a3bed6e96025c61ef8a5db6312f5f8181525f516020617bff5f395f51905f526020527f176c3a4e1b4d1d61213187c0dde7f83e2e2c933a339cb5403b4090bc2f0aa49b80549082905590915f516020617bbf5f395f51905f528380a460a05261010052604051637e062a3560e11b81526001600160a01b0384169190602081600481865afa9081156102ec575f91610306575b506001600160a01b0316036102f75760049260209260c05260e05260405192838092635e280f1160e01b82525afa9081156102ec575f916102a6575b5060c0516001600160a01b039081169116036102975761022f3361038b565b50604051611c0a9081610415823960805181818161022c0152611049015260a051818181610581015281816111bf01526119f4015260c05181818161026f0152610d6d015260e0518181816101e90152610d3c01526101005181818161063d01526108a10152f35b6312354ac760e21b5f5260045ffd5b90506020813d6020116102e4575b816102c160209383610354565b810103126102e057516001600160a01b03811681036102e0575f610210565b5f80fd5b3d91506102b4565b6040513d5f823e3d90fd5b633722464560e11b5f5260045ffd5b90506020813d602011610338575b8161032160209383610354565b810103126102e05761033290610377565b5f6101d4565b3d9150610314565b634e487b7160e01b5f52604160045260245ffd5b601f909101601f19168101906001600160401b0382119082101761034057604052565b51906001600160a01b03821682036102e057565b6001600160a01b0381165f9081525f516020617bdf5f395f51905f52602052604090205460ff1661040f576001600160a01b03165f8181525f516020617bdf5f395f51905f5260205260408120805460ff191660011790553391907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b505f9056fe60806040526004361015610030575b361561002e573461002a5761002236610afb565b602081519101f35b5f80fd5b005b5f3560e01c806301ffc9a71461016a57806305b513bf1461016557806309cfd675146101605780630b2969841461015b57806318f794991461015657806321081d3c14610151578063248a9ca31461014c5780632f2ff15d1461014757806336568abe14610142578063490e662f1461013d5780634b3b029b1461013857806352e12a1414610133578063657cad8a1461012e5780638e35e4451461012457806391d1485414610129578063a217fddf14610124578063c55dae631461011f578063d0a102601461011a578063d547741f146101155763feb617240361000e576109bb565b61096e565b61068f565b61061e565b6105a5565b6105bf565b610562565b610486565b61044c565b610412565b6103ca565b610378565b610328565b6102ee565b610293565b610250565b61020d565b6101ca565b3461002a57602036600319011261002a5760043563ffffffff60e01b811680910361002a57602090637965db0b60e01b81149081156101af575b506040519015158152f35b6301ffc9a760e01b1490505f6101a4565b5f91031261002a57565b3461002a575f36600319011261002a5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461002a575f36600319011261002a5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461002a575f36600319011261002a5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461002a57602036600319011261002a5760043567ffffffffffffffff811680910361002a575f527fe61a4c968926ec08fb0c5bf5be95077bf8b3ddd75ead66c94187ce8d5509de00602052602060405f2054604051908152f35b3461002a575f36600319011261002a5760206040517f880a9ba888678c7fe4e8c4f028c224f26ce12a3bed6e96025c61ef8a5db6312f8152f35b3461002a57602036600319011261002a57602061035f6004355f525f516020611bb55f395f51905f52602052600160405f20015490565b604051908152f35b6001600160a01b0381160361002a57565b3461002a57604036600319011261002a5761002e60243560043561039b82610367565b6103c56103c0825f525f516020611bb55f395f51905f52602052600160405f20015490565b610b6b565b610bbf565b3461002a57604036600319011261002a576004356024356103ea81610367565b336001600160a01b038216036104035761002e91610c71565b63334bd91960e11b5f5260045ffd5b3461002a575f36600319011261002a5760206040517fc56a3250645180a53cd9e196b2ee0a634a4f54e2edf59ea457f2083917e4d1008152f35b3461002a575f36600319011261002a5760206040517f5300fde95a5e446527bf6aa7c91bd6661bef5398afc77061d9bc87efb80b7ef68152f35b3461002a57604036600319011261002a5760043563ffffffff811680910361002a576024356104b3610d22565b335f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d602052604090205460ff161561054b57816040917ff3adc8db618887d7b76838e244efb05fc99475bb5a904a914d939fbdc41b7e8d935f527fe61a4c968926ec08fb0c5bf5be95077bf8b3ddd75ead66c94187ce8d5509de0060205280835f205582519182526020820152a160015f55005b63e2517d3f60e01b5f52336004525f60245260445ffd5b3461002a575f36600319011261002a5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461002a575f36600319011261002a5760206040515f8152f35b3461002a57604036600319011261002a57602060ff6106126024356004356105e682610367565b5f525f516020611bb55f395f51905f52845260405f20906001600160a01b03165f5260205260405f2090565b54166040519015158152f35b3461002a575f36600319011261002a5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b9181601f8401121561002a5782359167ffffffffffffffff831161002a576020838186019501011161002a57565b60a036600319011261002a576004356106a781610367565b60443567ffffffffffffffff811161002a576106c7903690600401610661565b916106d3606435610367565b6084359067ffffffffffffffff821161002a578284916106fa61072d943690600401610661565b5050610704610d22565b60017fc56a3250645180a53cd9e196b2ee0a634a4f54e2edf59ea457f2083917e4d10055610d31565b6107378282610ebc565b9061074d610749836101209051101590565b1590565b6109605761075a82611535565b9261079661078f855f527fe61a4c968926ec08fb0c5bf5be95077bf8b3ddd75ead66c94187ce8d5509de0160205260405f2090565b5460ff1690565b610952576107e4916107df6107d2865f527fe61a4c968926ec08fb0c5bf5be95077bf8b3ddd75ead66c94187ce8d5509de0160205260405f2090565b805460ff19166001179055565b610ef7565b9160ff6107f083611554565b926107fa81611564565b9361086261080f61080a84611574565b610f0d565b61085261081e61080a86611584565b9161083161082b87610fd3565b96610ff1565b9761083a610a60565b9a8b5260208b01526001600160a01b031660408a0152565b6001600160a01b03166060880152565b60808601525f60a086015216916001831480938115610947575b501561090557506108d992916108d491610894610a71565b9384526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166020850152604084015215156060830152565b6110d8565b5f7fc56a3250645180a53cd9e196b2ee0a634a4f54e2edf59ea457f2083917e4d1005561002e60015f55565b91505061093c6109419261092e60405193849263073ffe1360e31b602085015260248401610a9e565b03601f198101835282610a3e565b61103e565b506108d9565b60029150145f61087c565b623f613760e71b5f5260045ffd5b62dae46b60e61b5f5260045ffd5b3461002a57604036600319011261002a5761002e60243560043561099182610367565b6109b66103c0825f525f516020611bb55f395f51905f52602052600160405f20015490565b610c71565b3461002a57602036600319011261002a576004355f527fe61a4c968926ec08fb0c5bf5be95077bf8b3ddd75ead66c94187ce8d5509de01602052602060ff60405f2054166040519015158152f35b634e487b7160e01b5f52604160045260245ffd5b6040810190811067ffffffffffffffff821117610a3957604052565b610a09565b90601f8019910116810190811067ffffffffffffffff821117610a3957604052565b60405190610a6f60c083610a3e565b565b60405190610a6f608083610a3e565b60405190610a6f606083610a3e565b60405190610a6f604083610a3e565b60c09093929193610af78160e081019660a0809180518452602081015160208501526001600160a01b0360408201511660408501526001600160a01b036060820151166060850152608081015160808501520151910152565b0152565b61093c610b1291610b0a610d22565b36905f610b35565b9060015f55565b67ffffffffffffffff8111610a3957601f01601f191660200190565b929192610b4182610b19565b91610b4f6040519384610a3e565b82948184528183011161002a578281602093845f960137010152565b805f525f516020611bb55f395f51905f5260205260ff610b9f3360405f20906001600160a01b03165f5260205260405f2090565b541615610ba95750565b63e2517d3f60e01b5f523360045260245260445ffd5b805f525f516020611bb55f395f51905f5260205260ff610bf38360405f20906001600160a01b03165f5260205260405f2090565b5416610c6b57805f525f516020611bb55f395f51905f52602052610c2b8260405f20906001600160a01b03165f5260205260405f2090565b805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b50505f90565b805f525f516020611bb55f395f51905f5260205260ff610ca58360405f20906001600160a01b03165f5260205260405f2090565b541615610c6b57805f525f516020611bb55f395f51905f52602052610cde8260405f20906001600160a01b03165f5260205260405f2090565b805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b1561002a57565b60025f541461002a5760025f55565b6001600160a01b03807f000000000000000000000000000000000000000000000000000000000000000016911603610e9c576001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163303610e8d57610d9d8282610eab565b7fffffffff0000000000000000000000000000000000000000000000000000000091359182169160048210610e55575b505060e01c91610e0a8363ffffffff165f527fe61a4c968926ec08fb0c5bf5be95077bf8b3ddd75ead66c94187ce8d5509de0060205260405f2090565b54918215610e3c5790610e1c91611758565b03610e245750565b635f45fa3b60e11b5f5263ffffffff1660045260245ffd5b634f1c97f160e11b5f5263ffffffff841660045260245ffd5b7fffffffff0000000000000000000000000000000000000000000000000000000060049290920360031b82901b161690505f80610dcd565b63088b800b60e41b5f5260045ffd5b630919067560e41b5f5260045ffd5b90600c1161002a5760080190600490565b9080604c1161002a57610ed8913691604b190190604c01610b35565b90565b359060208110610ee9575090565b5f199060200360031b1b1690565b90602c1161002a576020600c610ed89201610edb565b8060a01c610f21576001600160a01b031690565b6379ec0ed760e11b5f5260045ffd5b81601f8201121561002a57805190610f4782610b19565b92610f556040519485610a3e565b8284526020838301011161002a57815f9260208093018386015e8301015290565b9190916101008184031261002a5780519260208201519260408301519260608101519260808201519260a08301519260c081015160ff8116810361002a579260e082015167ffffffffffffffff811161002a57610ed89201610f30565b610fe69060208082518301019101610f76565b509550505050505090565b6110049060208082518301019101610f76565b965050505050505090565b3d15611039573d9061102082610b19565b9161102e6040519384610a3e565b82523d5f602084013e565b606090565b5f80916020815191017f00000000000000000000000000000000000000000000000000000000000000005af461107261100f565b901561107b5790565b602081519101fd5b610a6f9092919260c081019360a0809180518452602081015160208501526001600160a01b0360408201511660408501526001600160a01b036060820151166060850152608081015160808501520151910152565b6110e0611594565b506110f86040820151602080825183010191016115ed565b906020810161112061111461111483516001600160a01b031690565b6001600160a01b031690565b6040516370a0823160e01b815230600482015290602090829060249082905afa908115611481575f916114e2575b5061116a6111146111146060865101516001600160a01b031690565b6040516370a0823160e01b81523060048201529490602090869060249082905afa948515611481575f956114c1575b506001600160a01b036112016111b961111486516001600160a01b031690565b926111e97f000000000000000000000000000000000000000000000000000000000000000094858951519161176e565b8651606001513091906001600160a01b031690611978565b911661121484516001600160a01b031690565b9185515191803b1561002a57611246935f809460405196879586948593633a5be8cb60e01b855230916004860161170f565b03925af18015611481576114a7575b5061126d61111461111484516001600160a01b031690565b6040516370a0823160e01b81523060048201529190602090839060249082905afa918215611481575f92611486575b50036113e1576113a092506112ce6112bb82516001600160a01b031690565b6060845101906001600160a01b03169052565b815151905b6112e682845160a0815191015190611aea565b60a084510152818351528251907fb88fc27be67e678ffb77faf8f8bb00d39b66b4845e4f7ec1e623b0f15abd52136001600160a01b03611332602085015193516001600160a01b031690565b9461136b61134c606087519701516001600160a01b031690565b9183604051948594169816968360209093929193604081019481520152565b0390a480516060820151156113a3575051604051632132ff4360e11b60208201529061093c90829061092e9060248301611083565b50565b6040517fff3eae00000000000000000000000000000000000000000000000000000000006020820152915061093c90829061092e9060248301611083565b6113fd61111461111460608551016001600160a01b0390511690565b6040516370a0823160e01b81523060048201529390602090859060249082905afa908115611481576113a0945f92611450575b50808210611447576114419161174b565b906112d3565b50505f906112d3565b61147391925060203d60201161147a575b61146b8183610a3e565b8101906116d1565b905f611430565b503d611461565b6116e0565b6114a091925060203d60201161147a5761146b8183610a3e565b905f61129c565b806114b55f6114bb93610a3e565b806101c0565b5f611255565b6114db91955060203d60201161147a5761146b8183610a3e565b935f611199565b6114fb915060203d60201161147a5761146b8183610a3e565b5f61114e565b634e487b7160e01b5f52601160045260245ffd5b906001820180921161152357565b611501565b9190820180921161152357565b6020815110611545576020015190565b632d0483c560e21b5f5260045ffd5b6060815110611545576060015190565b6080815110611545576080015190565b60a08151106115455760a0015190565b60c08151106115455760c0015190565b6040519060c0820182811067ffffffffffffffff821117610a39576040525f60a0838281528260208201528260408201528260608201528260808201520152565b67ffffffffffffffff8111610a395760051b60200190565b60208183031261002a5780519067ffffffffffffffff821161002a57019080601f8301121561002a57815191611622836115d5565b926116306040519485610a3e565b80845260208085019160051b8301019183831161002a5760208101915b83831061165c57505050505090565b825167ffffffffffffffff811161002a578201906040828703601f19011261002a576040519061168b82610a1d565b602083015161169981610367565b825260408301519167ffffffffffffffff831161002a576116c288602080969581960101610f30565b8382015281520192019161164d565b9081602091031261002a575190565b6040513d5f823e3d90fd5b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b90610ed894936080936001600160a01b038093168452602084015216604082015281606082015201906116eb565b5f1981019190821161152357565b9190820391821161152357565b90604c1161002a576020602c610ed89201610edb565b905f806001600160a01b036117fb95946040519582602088019663a9059cbb60e01b88521660248801526044870152604486526117ac606487610a3e565b1692604051946117bd604087610a3e565b602086527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65646020870152519082855af16117f561100f565b91611b89565b80518015908115611812575b50610a6f9150610d1b565b6020915082908101031261002a5760200151801515810361002a57610a6f905f611807565b90611841826115d5565b61184e6040519182610a3e565b828152809261185f601f19916115d5565b015f5b81811061186e57505050565b60405190606082019180831067ffffffffffffffff841117610a39576020926040525f81526060838201525f604082015282828601015201611862565b80518210156118bf5760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b6020815260608101918051926040602084015283518091526080830190602060808260051b8601019501915f905b82821061192757505050509060406020610ed89301519101906001600160a01b03169052565b90919295602080600192607f198982030185528951906001600160a01b0382511681526040806119648585015160608786015260608501906116eb565b930151910152980192019201909291611901565b9291835161198d61198882611515565b611837565b925f5b828110611a5e575060405163ef8738d360e01b60208201526001600160a01b039182166024820152908316604482015293945061092e93610ed89392611a4f929091611a3391906119e281606481018a565b6119ea610a80565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001681529060208201525f6040820152611a2c82876118ab565b52846118ab565b50611a3c610a8f565b9283526001600160a01b03166020830152565b604051928391602083016118d3565b80611a7c611a6e6001938a6118ab565b51516001600160a01b031690565b6020611a88838b6118ab565b510151611aa5611a96610a80565b6001600160a01b039093168352565b60208201525f6040820152611aba82886118ab565b52611ac581876118ab565b5001611990565b8115611ad6570490565b634e487b7160e01b5f52601260045260245ffd5b81810180911161152357670de0b6b3a7640000820291808304670de0b6b3a7640000149015171561152357808201809211611523575f19820191821161152357611b3391611acc565b670de0b6b3a76400000390670de0b6b3a7640000821161152357670de0b6b3a76400008082029082820414821517156115235782611b7f611b7a610ed895611b8494611528565b61173d565b611acc565b61174b565b91925015611ba557815115611b9c575090565b3b1561002a5790565b50805190811561002a57602001fdfe02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800a2646970667358221220fc717580989a7a9409945a4398cb88480e3e730d4c77f266d8826f68f99ef89964736f6c634300081e003360c0346100d157601f615ba038819003918201601f19168301916001600160401b038311848410176100d55780849260409485528339810103126100d157610052602061004b836100e9565b92016100e9565b6001600160a01b0390911660805260a052604051615aa290816100fe8239608051818181610842015281816109820152818161143a015281816116c7015281816127bb015281816145ca015281816146ec01528181614a5c0152614c00015260a051818181610610015281816107740152818161191101526136c80152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036100d15756fe60806040526004361015610011575f80fd5b5f5f3560e01c806246912e146123be57806301ffc9a714612368578063037a06a41461211c57806304c73f60146120fe578063057f0370146120445780631f74a0b514611fd257806321081d3c14611f97578063248a9ca314611f575780632e748b2114611dfb5780632f2ff15d14611db0578063319adf9f146119e857806336568abe146119a357806337710e201461194e57806339fff098146118b75780633b1c6a01146115bc5780633cf3a025146115875780634265fe861461153c578063490e662f146115015780634b3b029b146114c6578063502a82e214611409578063521c98ba14610cd857806369b97ac714610cba57806379c7b60b14610c6557806379c7f28914610b6657806390a0827b14610b2d57806391d1485414610ad657806396cc2cfb14610882578063a217fddf14610866578063a4b672b614610822578063af5de6f914610798578063c55dae6314610754578063ccbedaec146104e9578063d06e28ed146103fc578063d547741f146103a8578063e38b73a91461038c578063ea0aaf241461032e578063eb84e7f21461021a5763ff3eae00146101bb575f80fd5b346102175760c0366003190112610217576101d536612562565b7fc56a3250645180a53cd9e196b2ee0a634a4f54e2edf59ea457f2083917e4d1005415610208576102059061492d565b80f35b63cd6d8f7d60e01b8252600482fd5b80fd5b50346102175760203660031901126102175760408160c09260a0835161023f8161250a565b8281528260208201528285820152826060820152826080820152015260043581527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0360205220604051906102928261250a565b6001600160a01b03815416918281526001600160401b0360018301549281600260208501926001600160a01b038716845282604087019760a01c1687520154946001600160a01b036060860193838816855260ff60a06080890198828b60401c1615158a52019860481c1615158852604051988952511660208801525116604086015251166060840152511515608083015251151560a0820152f35b503461021757602036600319011261021757602061038361034d612421565b6001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0560205260405f2090565b54604051908152f35b5034610217578060031936011261021757602060405160068152f35b5034610217576040366003190112610217576103f86004356103c8612437565b906103f36103ee825f525f516020615a4d5f395f51905f52602052600160405f20015490565b612be7565b613628565b5080f35b503461021757604036600319011261021757610416612421565b602435906fffffffffffffffffffffffffffffffff82168092036104da5761043c612b78565b8261044682613027565b63ffffffff6001600160a01b03608083015116915116813b156104da57829160448392604051948593849263435354d360e01b845260048401528960248401525af180156104de576104c5575b50506001600160a01b03167f02366c0d102495be1ee805b749be7baebab4fc0710c6d3f38751f1a22bd711648380a380f35b816104cf91612541565b6104da57825f610493565b8280fd5b6040513d84823e3d90fd5b50346102175760603660031901126102175780610504612421565b61050c61244d565b610514612463565b9061051d612aba565b610557836001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0260205260405f2090565b544311156106b2574361059a846001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0260205260405f2090565b556001600160a01b0360016105df856001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0160205260405f2090565b015416926001600160401b0382166106b7575b50506001600160401b038116610606575050f35b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001683525f516020615a2d5f395f51905f526020526001600160401b0360046040852001541690823b156106b25760405163a703334f60e01b81526001600160401b039283166004820152336024820152911660448201529082908290606490829084905af180156104de576106a15750f35b816106ab91612541565b6102175780f35b505050fd5b6001600160a01b031684525f516020615a2d5f395f51905f526020526001600160401b03600460408620015416833b156107505760405163a703334f60e01b81526001600160401b03918216600482015233602482015291166044820152838160648183875af1908115610745578491156105f2578161073691612541565b61074157825f6105f2565b5050fd5b6040513d86823e3d90fd5b8480fd5b503461021757806003193601126102175760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b50346102175760203660031901126102175760206001600160a01b036107c46107bf612421565b612f58565b610b046040516107d685830182612541565b81815284810191614f298339519020604051908482019260ff60f81b84523060601b60218401526035830152605582015260558152610816607582612541565b51902016604051908152f35b503461021757806003193601126102175760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b5034610217578060031936011261021757602090604051908152f35b50346102175760403660031901126102175761089c612421565b906108a5612b78565b6108ae82612d18565b6108b783613027565b926108cb60e083510151840b6024356148ac565b9460208401906108f46001600160401b03835116886001600160401b0360a08901511691613553565b15610aad57859650610936846001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0460205260405f2090565b610941848254612623565b90556001600160a01b038416807f410b9a8c926b6c439cdceb39c0bb8f829838a25bc5a26af9d4c263d1313cc46b6020604051878152a26001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016803b15610aa95760405163f3fef3a360e01b81526001600160a01b0383166004820152602481018690529088908290604490829084905af18015610a9e5785918991610a81575b50506001600160401b0391610a116001600160a01b0392608060e0960192848451169061308b565b511692511694510151850b93813b15610a7d57604051639c45c34b60e01b81526001600160a01b039490941660048501526001600160401b0316602484015260448301919091525f9290920b60648201529082908290608490829084905af180156104de576106a15750f35b8580fd5b81925090610a8e91612541565b610a9a5783875f6109e9565b8680fd5b6040513d8a823e3d90fd5b8780fd5b6377e88bc960e11b86526001600160a01b0384166004526001600160401b038716602452604486fd5b5034610217576040366003190112610217576001600160a01b036040610afa612437565b9260043581525f516020615a4d5f395f51905f526020522091165f52602052602060ff60405f2054166040519015158152f35b503461021757604036600319011261021757610205610b4a612421565b610b52612aba565b602435906001600160a01b0333911661308b565b50346102175760203660031901126102175760a0610bc4610b85612421565b610b8d612a90565b506001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0160205260405f2090565b6001600160a01b03600160405192610bdb846124ef565b63ffffffff8154818116865260ff8160201c1615156020870152818160281c16604087015260481c1660608501520154166080820152610c6360405180926001600160a01b036080809263ffffffff815116855260208101511515602086015263ffffffff604082015116604086015263ffffffff6060820151166060860152015116910152565bf35b5034610217576020366003190112610217576020610383610c84612421565b6001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0460205260405f2090565b50346102175780600319360112610217576020604051620f42408152f35b50346102175760a036600319011261021757610cf2612421565b610cfa612479565b90610d0361248c565b6064356001600160401b038116810361075057608435916001600160401b0383168303610a7d57610d32612b29565b610d3a612999565b508580604051602081019063ffffffff8916825260208152610d5d604082612541565b519061080c5afa610d6c612a61565b90156113fa578051810160208101916020818303126113d6576020810151906001600160401b0382116113f65701906101009082900312610aa95760405191610db483612525565b60208201516001600160401b0381116113f65760209083010181601f820112156113f65789815191610de583612a46565b92610df36040519485612541565b80845284602082840101116104da578060208093018386015e83010152835260408201516001600160401b0381116113f6576020908301019080601f830112156113f6578151916001600160401b0383116113c2578260051b9060405193610e5e6020840186612541565b84526020808501928201019283116113f257602001905b8282106113da57505050602083015261010090610e94606082016130cc565b6040840152610ea560808201614e68565b6060840152610eb660a08201614e68565b6080840152610ec760c08201614e7c565b60a0840152610ed860e08201614e7c565b60c0840152015180880b8082036113d657610ef89160e0840152846134b2565b5060405191610f068361250a565b825263ffffffff87166020830152821515604083015260608201526001600160401b03831660808201526001600160401b03841660a08201526001600160a01b03851687525f516020615a2d5f395f51905f5260205260408720815180518051906001600160401b0382116113c25781908b610f828654612a0e565b601f8111611387575b5050602090601f8311600114611325578c9261131a575b50508160011b915f199060031b1c19161782555b6001820160208201518051906001600160401b03821161130657680100000000000000008211611306576020908c84548486558085106112ba575b505001918b5260208b20908b5b8160021c811061127557506003198116810380611219575b505050506001600160a01b03947f12cf3d04179e82c834f3ee7169a5df80651aa65530127f9ddb04c8cd8224435397946001600160401b039460a06006868896600260809d9901888060408401511616891982541617815560608201517fffffffff0000000000000000000000000000000000000000ffffffffffffffff7bffffffffffffffffffffffffffffffffffffffff000000000000000083549260401b16911617905560038201908c808f83015116166001600160a01b0319835416178255848101519082547fffffffffffffffffff000000ffffffffffffffffffffffffffffffffffffffff74ff000000000000000000000000000000000000000060e075ff00000000000000000000000000000000000000000060c086015160a81b1694015160b01b76ff000000000000000000000000000000000000000000001694891b16911617171790556111a76004820188806020880151161689198254161781556040860151151568ff0000000000000000825491151560401b169068ff00000000000000001916179055565b60608401516005820155019185808c8301511616861984541617835501516fffffffffffffffff000000000000000082549160401b16906fffffffffffffffff0000000000000000191617905563ffffffff6040519a168a52151560208a01521660408801521660608601521692a280f35b928c938d5b8181106112375750505060021c015584848460a0611016565b909194602061126b6001926001600160401b03895116908560031b6001600160401b03809160031b9316831b921b19161790565b960192910161121e565b8c8d5b6004811061128d575083820155600101610ffe565b85519095916001916020916001600160401b0360068a901b81811b199092169216901b1792019501611278565b8382876112e6945220600380870160021c820192601888831b16806112ed575b500160021c0190614896565b8c5f610ff1565b5f198501908154905f19908a03851b1c1690555f6112da565b634e487b7160e01b8c52604160045260248cfd5b015190505f80610fa2565b858d52818d209250601f1984168d5b81811061136f5750908460019594939210611357575b505050811b018255610fb6565b01515f1960f88460031b161c191690555f808061134a565b92936020600181928786015181550195019301611334565b602082886113b1945220601f850160051c810191602086106113b8575b601f0160051c0190614896565b8b5f610f8b565b90915081906113a4565b634e487b7160e01b8b52604160045260248bfd5b8880fd5b602080916113e7846130cc565b815201910190610e75565b8b80fd5b8980fd5b639b0c335d60e01b8752600487fd5b503461021757604036600319011261021757611423612421565b60243561142e612aba565b826001600160a01b03807f000000000000000000000000000000000000000000000000000000000000000016931692803b156114c25760405163f3fef3a360e01b81526001600160a01b0385166004820152602481018490529082908290604490829084905af180156104de576114ad575b505061020591339061308b565b816114b791612541565b6104da57825f6114a0565b5080fd5b503461021757806003193601126102175760206040517f5300fde95a5e446527bf6aa7c91bd6661bef5398afc77061d9bc87efb80b7ef68152f35b503461021757806003193601126102175760206040517fc56a3250645180a53cd9e196b2ee0a634a4f54e2edf59ea457f2083917e4d1008152f35b50346102175760c03660031901126102175761155736612562565b7fc56a3250645180a53cd9e196b2ee0a634a4f54e2edf59ea457f2083917e4d100541561020857610205906142b4565b5034610217576020366003190112610217576115a1612aba565b80808080600435335af16115b3612a61565b50156102175780f35b5034610217576060366003190112610217576115d6612437565b604435906001600160a01b0382169182810361186e576115f4612b78565b6115fd81612d18565b61160683612fa0565b610750576040810151156107505760016001600160401b03608083015116016001600160401b0381116118a35790859161164760e083510151840b826134b2565b509361167160208401926001600160401b03845116906001600160401b0360a08701511691613553565b1561186e576116b0816001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0560205260405f2090565b6116bb868254612623565b90556001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016803b156107505760405163f3fef3a360e01b81526001600160a01b0389166004820152602481018790529085908290604490829084905af1908115611898578591611883575b50506001600160401b039261174d60e08585511692510151860b876148ac565b509081611872575b5050505116926117bf60246040516001600160a01b036020820194169687855260408201526001606082015260608152611790608082612541565b6040519384916280000360e11b60208401525180918484015e810185838201520301601f198101835282612541565b7333333333333333333333333333333333333333333b156114c2578161180191604051809381926317938e1360e01b83526020600484015260248301906124cb565b0381837333333333333333333333333333333333333333335af180156104de57611859575b50506040519081527f2b348084e891b20d449a69f90114c5ab7bf7c84d64c25445c8ab440d469a6b4d602060043592a480f35b8161186391612541565b61186e57835f611826565b8380fd5b61187b92614cd4565b5f8080611755565b8161188d91612541565b61186e57835f61172d565b6040513d87823e3d90fd5b634e487b7160e01b86526011600452602486fd5b50346102175760e0366003190112610217576118d236612562565b7fc56a3250645180a53cd9e196b2ee0a634a4f54e2edf59ea457f2083917e4d1005415610208576001600160a01b036060820151166001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145f1461194157610205906142b4565b6102059060c435906136c5565b503461021757602036600319011261021757602061038361196d612421565b6001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0260205260405f2090565b5034610217576040366003190112610217576119bd612437565b336001600160a01b038216036119d9576103f890600435613628565b63334bd91960e11b8252600482fd5b5034610217576020366003190112610217576001600160a01b03611a0a612421565b611a126129d7565b501681525f516020615a2d5f395f51905f52602052604081209060405190611a398261250a565b604051611a4581612525565b60405184548184611a5583612a0e565b8083529260018116908115611d915750600114611d50575b611a7992500382612541565b815260018401604051808260208294549384815201908652602086209286905b806003830110611cfe57611acf945491818110611ce4575b818110611cc7575b818110611caa575b10611c9c575b500382612541565b60208201526001600160a01b0360028501546001600160401b038116604084015260401c16606082015260038401546001600160a01b038116608083015260ff8160a01c1660a083015260ff8160a81c1660c083015260b01c820b60e0820152825260048301549260208301906001600160401b038516825260ff604085019560401c161515855260066005820154916060860192835201549460808501926001600160401b03871684526001600160401b0360a087019760401c1687526040519560208752519460c06020880152611bb6865161010060e08a01526101e08901906124cb565b60208088015189830360df19016101008b015280518084529282019892910190835b818110611c7d57505050926001600160401b03809693899a969360e0878c610120866040819c0151169101528c6101406001600160a01b036060840151169101528c6101606001600160a01b036080840151169101528c61018060ff60a0840151169101528c6101a060ff60c0840151169101520151900b6101c08b0152511660408901525115156060880152516080870152511660a0850152511660c08301520390f35b82516001600160401b03168a526020998a019990920191600101611bd8565b60c01c81526020015f611ac7565b9260206001916001600160401b038560801c168152019301611ac1565b9260206001916001600160401b038560401c168152019301611ab9565b9260206001916001600160401b0385168152019301611ab1565b916004919350608060019186546001600160401b03811682526001600160401b038160401c1660208301526001600160401b0381841c16604083015260c01c6060820152019401920184929391611a99565b5090868552602085209085915b818310611d75575050906020611a7992820101611a6d565b6020919350806001915483858801015201910190918392611d5d565b60209250611a7994915060ff191682840152151560051b820101611a6d565b5034610217576040366003190112610217576103f8600435611dd0612437565b90611df66103ee825f525f516020615a4d5f395f51905f52602052600160405f20015490565b613581565b503461021757608036600319011261021757611e15612421565b611e1d61244d565b611e25612463565b90606435926fffffffffffffffffffffffffffffffff841680940361075057611e4c612b78565b84611e5682613027565b926001600160a01b0360808501511693843b156104da57611ee06101048492836001600160401b03806040519788968795636f0d192560e11b875260048701906001600160a01b036080809263ffffffff815116855260208101511515602086015263ffffffff604082015116604086015263ffffffff6060820151166060860152015116910152565b169a8b60a485015216988960c48401528b60e48401525af180156104de57611f42575b50506001600160a01b036040917f500d805a349357fe5d4759fe052d79bd744b82c8452837f52a7456ec7d3d751c93835195865260208601521692a380f35b81611f4c91612541565b61075057845f611f03565b5034610217576020366003190112610217576020611f8f6004355f525f516020615a4d5f395f51905f52602052600160405f20015490565b604051908152f35b503461021757806003193601126102175760206040517f880a9ba888678c7fe4e8c4f028c224f26ce12a3bed6e96025c61ef8a5db6312f8152f35b503461021757606036600319011261021757611fec612421565b6024356001600160401b0381116104da5761200b90369060040161249b565b9092604435906001600160401b038211610217576020611f8f868686612034366004890161249b565b93909261203f612b78565b612630565b50346120fa5760403660031901126120fa5761205e612421565b9060243561206a612aba565b6001600160a01b03608061207d85613027565b015116803b156120fa576040516390a0827b60e01b81526001600160a01b038516600482015260248101839052905f908290604490829084905af180156120ef576120d9575b5061020591926001600160a01b0333911661308b565b61020592505f6120e891612541565b5f916120c3565b6040513d5f823e3d90fd5b5f80fd5b346120fa575f3660031901126120fa5760206040516305f5e1008152f35b346120fa5760a03660031901126120fa57612135612421565b61213d612479565b61214561248c565b9160643563ffffffff81168091036120fa576084359163ffffffff83168093036120fa5761217281612d18565b5061217b612b29565b6001600160a01b0360016121bf836001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0160205260405f2090565b015416908115612317575b63ffffffff604051956121dc876124ef565b16948581526001600160a01b036001816020840199151595868b52604085019a888c52606086018a8152836080880193169c8d845263ffffffff6122508a6001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0160205260405f2090565b985116926cffffffff00000000000000000068ffffffff000000000064ff000000008b549351151560201b16935160281b16935160481b16936cffffffff000000000000000000199168ffffffffffffffffff1916171617171785555116920191166001600160a01b03198254161790556122ca86612fa0565b156120fa577ff0dcc8957a27613dd82c92382ad37254b9744169d0caa5f3873cfec7ba794eb9936080936001600160a01b03936040519788526020880152604087015260608601521692a3005b905061232281612f58565b604051610b048082018281106001600160401b03821117612354578291614f29833903905ff580156120ef57906121ca565b634e487b7160e01b5f52604160045260245ffd5b346120fa5760203660031901126120fa5760043563ffffffff60e01b81168091036120fa57602090637965db0b60e01b81149081156123ad575b506040519015158152f35b6301ffc9a760e01b149050826123a2565b346120fa5760403660031901126120fa5761241f6123da612421565b6001600160a01b036123ea61244d565b916123f3612aba565b165f525f516020615a2d5f395f51905f526020526001600160401b03600460405f200154163390612c34565b005b600435906001600160a01b03821682036120fa57565b602435906001600160a01b03821682036120fa57565b602435906001600160401b03821682036120fa57565b604435906001600160401b03821682036120fa57565b6024359063ffffffff821682036120fa57565b6044359081151582036120fa57565b9181601f840112156120fa578235916001600160401b0383116120fa576020808501948460051b0101116120fa57565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b60a081019081106001600160401b0382111761235457604052565b60c081019081106001600160401b0382111761235457604052565b61010081019081106001600160401b0382111761235457604052565b90601f801991011681019081106001600160401b0382111761235457604052565b60c09060031901126120fa576040519061257b8261250a565b81600435815260243560208201526044356001600160a01b03811681036120fa5760408201526064356001600160a01b03811681036120fa576060820152608435608082015260a060a435910152565b91908110156125db5760051b0190565b634e487b7160e01b5f52603260045260245ffd5b906001600160401b03809116911601906001600160401b03821161260f57565b634e487b7160e01b5f52601160045260245ffd5b9190820180921161260f57565b9194935f935f968281036120fa57612678856001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0260205260405f2090565b544311156120fa57929061268b85612d18565b91608061269787613027565b01916001600160a01b03835116946126be60208601966001600160401b03885116906130e0565b965f975b818d1061292e575b50508a1592506129239150505743612712866001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0260205260405f2090565b556001600160401b0384168061272c575b50505050505050565b6127416127649560e0855101515f0b906134b2565b6001600160401b03869792975116906001600160401b0360a08701511691613553565b1561290457506127a4856001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0460205260405f2090565b6127af858254612623565b90556001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166001600160a01b03861690803b156120fa5760405163f3fef3a360e01b81526001600160a01b038316600482015260248101879052905f908290604490829084905af180156120ef576128d8575b506001600160a01b038261284c876001600160401b03948460e09751169061308b565b511693511691510151850b93823b15610a7d57604051639c45c34b60e01b81526001600160a01b0390911660048201526001600160401b03909116602482015260448101929092525f9290920b606482015290829082908183816084810103925af180156104de576128c3575b8080808080612723565b6128ce828092612541565b61021757806128b9565b6001600160401b0391975060e0926128f85f6001600160a01b0393612541565b5f989093509150612829565b6001600160a01b03866377e88bc960e11b5f521660045260245260445ffd5b505f96505050505050565b61293d8d83879f9b96976125cb565b359061294a8a85886125cb565b356001600160401b03811681036120fa5761297392898d926001600160a01b038b5116926131c2565b9490911561299157600191612987916125ef565b98019b93926126c2565b989c506126ca565b604051906129a682612525565b5f60e08360608152606060208201528260408201528260608201528260808201528260a08201528260c08201520152565b604051906129e48261250a565b5f60a0836129f0612999565b81528260208201528260408201528260608201528260808201520152565b90600182811c92168015612a3c575b6020831014612a2857565b634e487b7160e01b5f52602260045260245ffd5b91607f1691612a1d565b6001600160401b03811161235457601f01601f191660200190565b3d15612a8b573d90612a7282612a46565b91612a806040519384612541565b82523d5f602084013e565b606090565b60405190612a9d826124ef565b5f6080838281528260208201528260408201528260608201520152565b335f9081527f176c3a4e1b4d1d61213187c0dde7f83e2e2c933a339cb5403b4090bc2f0aa49a602052604090205460ff1615612af257565b63e2517d3f60e01b5f52336004527f880a9ba888678c7fe4e8c4f028c224f26ce12a3bed6e96025c61ef8a5db6312f60245260445ffd5b335f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d602052604090205460ff1615612b6157565b63e2517d3f60e01b5f52336004525f60245260445ffd5b335f9081527fcf7720576cdb70176b3017d893bcb89ba0f36ed0261d4350fd0180e938b3bacd602052604090205460ff1615612bb057565b63e2517d3f60e01b5f52336004527f5300fde95a5e446527bf6aa7c91bd6661bef5398afc77061d9bc87efb80b7ef660245260445ffd5b805f525f516020615a4d5f395f51905f5260205260405f206001600160a01b0333165f5260205260ff60405f20541615612c1e5750565b63e2517d3f60e01b5f523360045260245260445ffd5b6024906001600160401b03612ca3939481604051936001600160a01b03602086019816885216604084015216606082015260608152612c74608082612541565b6040519384916280000360e11b60208401525180918484015e81015f838201520301601f198101835282612541565b7333333333333333333333333333333333333333333b156120fa575f612ce591604051809381926317938e1360e01b83526020600484015260248301906124cb565b0381837333333333333333333333333333333333333333335af180156120ef57612d0c5750565b5f612d1691612541565b565b6001600160a01b0390612d296129d7565b50165f525f516020615a2d5f395f51905f5260205260405f2060405191612d4f8361250a565b60405191612d5c83612525565b6040518154815f612d6c83612a0e565b8083529260018116908115612f395750600114612ef8575b612d9092500382612541565b8352600181019360405180602087549182815201965f5260205f20905f915b816003840110612eac5797612df09284926001600160a01b039798999a5491818110611ce457818110611cc757818110611caa5710611c9c57500382612541565b60208601528160028401546001600160401b038116604088015260401c1660608601526001600160401b0360066003850154946080880197858716895260ff8760a01c1660a082015260c081019660ff8160a81c16885260b01c5f0b60e0820152845260ff6004820154848116602087015260401c1615156040850152600581015460608501520154818116608084015260401c1660a082015293511615159081612e9e575b50156120fa57565b60ff9150511615155f612e96565b97600160806004928b546001600160401b03811682526001600160401b038160401c1660208301526001600160401b0381841c16604083015260c01c6060820152019901920191612daf565b5090835f5260205f20905f915b818310612f1d575050906020612d9092820101612d84565b6020919350806001915483858801015201910190918392612f05565b60209250612d9094915060ff191682840152151560051b820101612d84565b60405160208101913060601b83526bffffffffffffffffffffffff199060601b16603482015260288152612f8d604882612541565b51902090565b519081151582036120fa57565b5f80916040516001600160a01b03602082019216825260208152612fc5604082612541565b51906108105afa612fd4612a61565b9015613018576020818051810103126120fa5760405190602082018281106001600160401b038211176123545760405261301090602001612f93565b809152151590565b6313dd7ccd60e31b5f5260045ffd5b61303390610b8d612a90565b906001600160a01b0360016040519361304b856124ef565b63ffffffff8154818116875260ff8160201c1615156020880152818160281c16604088015260481c1660608601520154169182608082015291156120fa57565b60405163a9059cbb60e01b60208201526001600160a01b03929092166024830152604480830193909352918152612d16916130c7606483612541565b614b17565b51906001600160401b03821682036120fa57565b5f919082916001600160401b03604051916001600160a01b03602084019416845216604082015260408152613116606082612541565b51906108015afa613125612a61565b9015613193576060818051810103126120fa576040519060608201918083106001600160401b03841117612354576001600160401b0392604052604061318c6060613172602086016130cc565b948585526131818482016130cc565b6020860152016130cc565b9101521690565b639d2c8fcb60e01b5f5260045ffd5b906001600160401b03809116911603906001600160401b03821161260f57565b95929190939495805f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0360205260405f20916001600160a01b0383541695861561343a576002840180549860ff8a60481c1661342b576001600160a01b03600187015491166001600160a01b03821603613418576001600160401b039060a01c166001600160401b038a1660ff8b60401c165f146133c1575080926001600160401b03811682115f146133b957613279916131a2565b985b6132858a8c6125ef565b9a6001600160401b038c166001600160401b038516116133a8575069010000000000000000009069ff00000000000000000019161790556132c88160019a6131a2565b966001600160401b0360206001600160a01b036132ec60e0875101515f0b8d6134b2565b50981694015116833b156120fa5760405163a703334f60e01b81526001600160401b0391821660048201526001600160a01b0392909216602483015282166044820152915f908390606490829084905af19081156120ef577f53b9d5645f8b7ccd861ebd6036860fd21716451d1f238cb3720f12f3c49b0c4392604092613398575b506001600160a01b0360018187541696015416956001600160401b038351921682526020820152a4565b5f6133a291612541565b5f61336e565b5f9b508b9a50985050505050505050565b50505f613279565b9092809a93806001600160401b038316105f1461340d576133ec916133e5916131a2565b809b6125ef565b816001600160401b038216115f1461340657505b9161327b565b9050613400565b50506133ec5f6133e5565b8463358d72d160e01b5f5260045260245ffd5b63f7348a7960e01b5f5260045ffd5b631a40316d60e01b5f5260045ffd5b60ff16604d811161260f57600a0a90565b9190820391821161260f57565b8115613471570490565b634e487b7160e01b5f52601260045260245ffd5b90620f4240820291808304620f4240149015171561260f57565b8181029291811591840414171561260f57565b9190805f0b80155f146134cf5750506001600160401b0382169190565b5f8113156134fa57506134e76134f69160ff16613449565b6001600160401b03841661349f565b9190565b9050607f19811461260f576001600160401b039261351f613528925f0360ff16613449565b93849116612623565b5f19810190811161260f5761354f613548846001600160401b0393613467565b938461349f565b1690565b6135796001600160401b039293613573849361356e81614bb0565b6130e0565b946125ef565b169116101590565b805f525f516020615a4d5f395f51905f5260205260405f206001600160a01b0383165f5260205260ff60405f205416155f1461362257805f525f516020615a4d5f395f51905f5260205260405f206001600160a01b0383165f5260205260405f20600160ff198254161790556001600160a01b03339216907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b50505f90565b805f525f516020615a4d5f395f51905f5260205260405f206001600160a01b0383165f5260205260ff60405f2054165f1461362257805f525f516020615a4d5f395f51905f5260205260405f206001600160a01b0383165f5260205260405f2060ff1981541690556001600160a01b03339216907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b907f0000000000000000000000000000000000000000000000000000000000000000604083016136fe6001600160a01b03825116612fa0565b1561423f576001600160a01b038216805f525f516020615a2d5f395f51905f5260205260405f2090604051946137338661250a565b60405161373f81612525565b6040518454815f61374f83612a0e565b808352926001811690811561422057506001146141df575b61377392500382612541565b815260018401604051808260208294549384815201905f5260205f20925f905b80600383011061418d576137c5945491818110611ce457818110611cc757818110611caa5710611c9c57500382612541565b60208201526001600160a01b0360028501546001600160401b038116604084015260401c16606082015260038401546001600160a01b038116608083015260ff8160a01c1660a083015260ff8160a81c1660c083015260b01c5f0b60e08201528652600660048401549360ff60208901956001600160401b038116875260401c1615156040890152600581015460608901520154966001600160401b03881660808801526001600160401b0360a088019860401c168852606081016001600160a01b038151165f525f516020615a2d5f395f51905f5260205260405f2095604051966138b08861250a565b6040516138bc81612525565b6040518254815f6138cc83612a0e565b808352926001811690811561416e575060011461412d575b6138f092500382612541565b81526040516001830180548083525f9182526020808320849391840192905b8160038401106140db5754918181106140c1575b8181106140a4575b818110614087575b10614079575b50036139459082612541565b602082015260028201546001600160401b038116604083015260401c6001600160a01b0316606082015260038201546001600160a01b03811660808301528060a01c60ff1660a08301528060a81c60ff1660c083015260b01c5f0b60e0820152885260048101546001600160401b03811660208a015260401c60ff161515604089015260058101546060890152600601546001600160401b038116608089015260401c6001600160401b031660a088015281516001600160a01b0316613a0a90613027565b9383519060a08501918251996080870191825115159b613a2991612623565b8d5160e001515f0b613a3a916148ac565b90508d5160c0015160ff16825160c0015160ff1690613a5892614e9e565b9a1561404b578a925b5f8063ffffffff8b51166040516020810191825260208152613a84604082612541565b51906108085afa613a93612a61565b901561403c576020818051810103126120fa57898f9360ff60a0613ae19260206001600160401b03613ac982613ae799016130cc565b16950197885115155f14614031575051015116613449565b9061349f565b825115613fe75763ffffffff613b028160608d015116614bd6565b16620f4240019081620f42401161260f57613b38620f424091613ae16001600160401b039463ffffffff8f604001511690612623565b0416908351908115155f14613fdf5750915b5115613f9e576305f5e100811015613f5e57505f5b613b7f613b6c8651613485565b613b798a51885190612623565b90612623565b5f1981019190821161260f57613b79613ba592613b9f8b51895190612623565b90613467565b606480830283810482148415171561260f578211613ee45750505085518c5160e001515f0b613bd3916148ac565b9d8e8b9c929c516001600160401b031691516001600160401b031690613bf892613553565b15613e94579c8a9b9c9d85516001600160a01b03169387516001600160a01b0316935115159360405195613c2b8761250a565b86526020860190815260408601926001600160401b03169485845260608701926001600160401b0316968784526080810191825260a08101925f845260208d019586515f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0360205260405f2092516001600160a01b03166001600160a01b031683546001600160a01b0319161783556001830191516001600160a01b03166001600160a01b031682546001600160a01b0319161782555181549060a01b7bffffffffffffffff000000000000000000000000000000000000000016907fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff1617905560020192516001600160401b03166001600160401b03166001600160401b0319845416178355511515613d8190839068ff0000000000000000825491151560401b169068ff00000000000000001916179055565b51151581549060481b69ff000000000000000000169069ff00000000000000000019161790555194516001600160a01b031695516001600160a01b03169651935160405194855260208501526001600160401b031660408401526060830152608082015260a07f550576b2f9e0ac12dfd5dd2d5743b5b7f11f34302b5f6bec6ad60db81bd6a91891a4608001516001600160a01b03169283613e229261308b565b516001600160401b0316935160e001515f0b93813b156120fa57604051639c45c34b60e01b81526001600160a01b039490941660048501526001600160401b0316602484015260448301919091525f92830b60648301529091908290608490829084905af180156120ef57612d0c5750565b5050505050945095505092505081612d16947f8d61555dcf69ba745e97fdea78e2652d9cdd464ca521faad482fe796f6d5841c602080870151926001600160401b0360405191168152a35261492d565b999c5099509c50505050509450809650602091500151906001600160a01b038451169281810180911161260f575f19810190811161260f57811561347157612d16977fc8f90125c6a36c77a571201afc10310420481ab4895fadabb596d0ba71c22e3e92604092049082519182526020820152a3526142b4565b6305f5e0ff19016001600160401b03811161260f57613f98613f8d6001600160401b036305f5e1009316613485565b6305f5e0ff90612623565b04613b5f565b6305f5e100811115613fb157505f613b5f565b6305f5e100036001600160401b03811161260f57613f98613f8d6001600160401b036305f5e1009316613485565b905091613b4a565b63ffffffff613ffb8160608d015116614bd6565b16620f42400390620f4240821161260f57613b38620f424091613ae16001600160401b039463ffffffff8f60400151169061345a565b905051015116613449565b635cffc5fb60e11b5f5260045ffd5b8261271003612710811161260f576127106140706001600160401b0392838f1661349f565b04169a92613a61565b60c01c81526020015f613939565b9260206001916001600160401b038560801c168152019301613933565b9260206001916001600160401b038560401c16815201930161392b565b9260206001916001600160401b0385168152019301613923565b935090916001608060049286546001600160401b03811682526001600160401b038160401c1660208301526001600160401b0381841c16604083015260c01c606082015201940192019084939261390f565b5090845f5260205f20905f915b8183106141525750509060206138f0928201016138e4565b602091935080600191548385880101520191019091839261413a565b602092506138f094915060ff191682840152151560051b8201016138e4565b916004919350608060019186546001600160401b03811682526001600160401b038160401c1660208301526001600160401b0381841c16604083015260c01c6060820152019401920184929391613793565b5090865f5260205f20905f915b81831061420457505090602061377392820101613767565b60209193508060019154838588010152019101909183926141ec565b6020925061377394915060ff191682840152151560051b820101613767565b6080840151909392501561426a576001600160a01b038351166320a2097d60e11b5f5260045260245ffd5b6001600160a01b0390612d16937f31604f5790fbed7a37471cea010a8f08483441a6e1235ac48bb59337439a630d60208481870151935116604051908152a216606082015261492d565b6060810151906001600160a01b035f921691825f525f516020615a2d5f395f51905f5260205260405f206040516142ea8161250a565b6040516142f681612525565b6040518354815f61430683612a0e565b80835292600181169081156148775750600114614836575b61432a92500382612541565b815260018301604051808260208294549384815201905f5260205f20925f905b8060038301106147e45761437c945491818110611ce457818110611cc757818110611caa5710611c9c57500382612541565b60208201526001600160a01b0360028401546001600160401b038116604084015260401c16606082015260038301546001600160a01b038116608083015260ff8160a01c1660a083015260ff8160a81c1660c083015260b01c5f0b60e08201528152600660048301549260ff60208401946001600160401b038116865260401c1615156040840152600581015460608401520154906001600160401b03821660808201526001600160401b0360a082019260401c168252604085019361444b6001600160a01b03865116612fa0565b156147745785519161271061447461446960a08a0195865190612623565b60808a01519061349f565b049383519480861161476c575b50846146ca575b6144c06144a7614499878b51612623565b60e0855101515f0b906148ac565b919092826001600160401b03808b511692511691613553565b1561467c5750846145c0575b61455d906001600160401b037fb021c853215aadb12b6fa8afa7b3158201517d9abf7f756cdbb67bd66abc5a1c976145348c6001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0460205260405f2090565b61453f898254612623565b905551169360e06001600160a01b038a511694510151900b906148ac565b919092836145a4575b5050505061459f6001600160a01b0360208701519551169551915192604051938493846040919493926060820195825260208201520152565b0390a4565b6145b26145b794828c614cd4565b612c34565b5f808080614566565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001695863b156120fa5760405163f3fef3a360e01b81526001600160a01b038b16600482015260248101879052965f908890604490829084905af19687156120ef577fb021c853215aadb12b6fa8afa7b3158201517d9abf7f756cdbb67bd66abc5a1c97614659575b5095506144cc565b61455d929194505f61466a91612541565b6001600160401b035f94919250614651565b9793505050507f8d61555dcf69ba745e97fdea78e2652d9cdd464ca521faad482fe796f6d5841c9350602092508291506146b58161492d565b0151926001600160401b0360405191168152a3565b6146d9858a60208b0151614bf1565b614488576040516370a0823160e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031660048201529094506020816024818c5afa9081156120ef575f9161473a575b5093614488565b90506020813d602011614764575b8161475560209383612541565b810103126120fa57515f614733565b3d9150614748565b94505f614481565b505050506080820151909250156147a2576001600160a01b038251166320a2097d60e11b5f5260045260245ffd5b612d16917f31604f5790fbed7a37471cea010a8f08483441a6e1235ac48bb59337439a630d60206001600160a01b0381850151935116604051908152a261492d565b916004919350608060019186546001600160401b03811682526001600160401b038160401c1660208301526001600160401b0381841c16604083015260c01c606082015201940192018492939161434a565b5090855f5260205f20905f915b81831061485b57505090602061432a9282010161431e565b6020919350806001915483858801015201910190918392614843565b6020925061432a94915060ff191682840152151560051b82010161431e565b8181106148a1575050565b5f8155600101614896565b9190805f0b9081155f146148c95750506001600160401b03821690565b5f821315614904576148de915060ff16613449565b9182156134715761354f6148fd82856001600160401b0394069061345a565b9384613467565b505f0380805f0b0361260f5761354f6149276001600160401b039260ff16613449565b8461349f565b805161271061495061494560a0850193845190612623565b60808501519061349f565b0481518181115f14614b0f5750905b8190602084019161498283519460608701956001600160a01b0387511690614bf1565b15614b08575b80614a52575b7f4755f239bb1b047245415cb917deced72a3ca8baebcef109c396ff332ea6f50f9161459f6001600160a01b03806149c7858a51612623565b966149df828a51169860408c0199848b51169061308b565b614a1c828a51166001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0460205260405f2090565b614a27878254612623565b9055519651169651169651915192604051938493846040919493926060820195825260208201520152565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916001600160a01b0385511692803b156120fa5760405163f3fef3a360e01b81526001600160a01b03949094166004850152602484018390525f908490604490829084905af19283156120ef577f4755f239bb1b047245415cb917deced72a3ca8baebcef109c396ff332ea6f50f93614af8575b50915061498e565b5f614b0291612541565b5f614af0565b505f614988565b90509061495f565b906001600160a01b03614b7892165f8060405193614b36604086612541565b602085527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564602086015260208151910182855af1614b72612a61565b91614efd565b8051908115918215614b8e575b5050156120fa57565b81925090602091810103126120fa576020614ba99101612f93565b5f80614b85565b6001600160401b03166001609d1b01806001609d1b1161260f576001600160a01b031690565b63ffffffff60649116029063ffffffff821691820361260f57565b6040516370a0823160e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811660048301529092169392909190602082602481885afa9182156120ef575f92614ca0575b5080821094851595614c61575b50505050565b7f5180f0ad9e9bd2296de2ee38c85d11c56613fa73f8ee66792f26ac318f1274749260609260405192835260208301526040820152a25f808080614c5b565b9091506020813d602011614ccc575b81614cbc60209383612541565b810103126120fa5751905f614c4e565b3d9150614caf565b9091906001600160401b038316614e4d576001600160a01b03919250166040515f806020830163095ea7b360e01b8152736b9e773128f453f5c2c60935ee2de2cbc5390a24602485015285604485015260448452614d33606485612541565b83519082865af1614d42612a61565b81614e16575b5080614e0c575b15614db9575b5050736b9e773128f453f5c2c60935ee2de2cbc5390a243b156120fa5760405190630acb7f4b60e21b8252600482015263ffffffff60248201525f8160448183736b9e773128f453f5c2c60935ee2de2cbc5390a245af180156120ef57612d0c5750565b614e05916130c760405163095ea7b360e01b6020820152736b9e773128f453f5c2c60935ee2de2cbc5390a2460248201525f604482015260448152614dff606482612541565b82614b17565b5f80614d55565b50813b1515614d4f565b8051801592508215614e2b575b50505f614d48565b81925090602091810103126120fa576020614e469101612f93565b5f80614e23565b6001600160a01b03614e61612d1694614bb0565b911661308b565b51906001600160a01b03821682036120fa57565b519060ff821682036120fa57565b9060ff8091169116039060ff821161260f57565b9160ff811660ff83168181145f14614eb7575050505090565b6001600160401b039492911115614ee557614ede614ed961354f948693614e8a565b613449565b911661349f565b614ef6614ed9859261354f95614e8a565b9116613467565b91925015614f1957815115614f10575090565b3b156120fa5790565b5080519081156120fa57602001fdfe60a080604052346100455733608052610aba908161004a82396080518181816086015281816101b80152818161039a015281816104d50152818161054c01526106a40152f35b5f80fdfe60806040526004361015610011575f80fd5b5f5f3560e01c8063435354d31461050a57806390a0827b146104a55780639c45c34b146100ad578063a703334f1461033e578063de1a324a146100cb578063e94b77c1146100ad5763eba61c0e14610067575f80fd5b346100aa57806003193601126100aa5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b80fd5b50346100aa576100c86100bf366105ee565b92919091610699565b80f35b50346100aa57366003190161010081126103265760a0136100aa5760405160a0810181811067ffffffffffffffff82111761032a5760405261010b6105db565b91828252602435918215158303610326576020810192835260443563ffffffff8116810361032257604082015260643563ffffffff81168103610322576060820152608435906001600160a01b0382168203610322576080015260a43567ffffffffffffffff81168091036103265760c4359067ffffffffffffffff82168092036103225760e435946fffffffffffffffffffffffffffffffff861680960361031e576001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016330361031e5763ffffffff6101ed911661066c565b9351151592811561030f57821561030057916102819391600493506040519263ffffffff60208501971687526040840152606083015260808201525f945f60a0830152600260c083015260e082015260e0815261024c61010082610636565b6020604051948592630100000160e01b83850152518091602485015e8201018281015f8152500301601f198101835282610636565b7333333333333333333333333333333333333333333b156102fc575f6102bb91604051809381926317938e1360e01b8352600483016108ff565b0381837333333333333333333333333333333333333333335af180156102f1576102e3575080f35b6102ef91505f90610636565b005b6040513d5f823e3d90fd5b5f80fd5b6313c0a8df60e01b8152600490fd5b63017461b760e71b8152600490fd5b8380fd5b8280fd5b5080fd5b634e487b7160e01b83526041600452602483fd5b50346100aa5760603660031901126100aa578060043567ffffffffffffffff811680910361049c57602435906001600160a01b0382168092036104a15760443567ffffffffffffffff811680910361049f576001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016330361049f5761041f91600491604051916020830195865260408301526060820152606081526103eb608082610636565b60206040519485926280000360e11b83850152518091602485015e820101828101868152500301601f198101835282610636565b7333333333333333333333333333333333333333333b1561049c578161045991604051809381926317938e1360e01b8352600483016108ff565b0381837333333333333333333333333333333333333333335af18015610491576104805750f35b8161048a91610636565b6100aa5780f35b6040513d84823e3d90fd5b50fd5b505b5050fd5b50346100aa5760403660031901126100aa576004356001600160a01b038116809103610326576001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163303610326576100c890602435903390610929565b50346102fc5760403660031901126102fc576105246105db565b602435906fffffffffffffffffffffffffffffffff82168092036102fc576001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633036102fc5760046105806102819261066c565b926040519063ffffffff60208301951685526040820152604081526105a6606082610636565b6020604051948592630100000b60e01b83850152518091602485015e8201018281015f8152500301601f198101835282610636565b6004359063ffffffff821682036102fc57565b60809060031901126102fc576004356001600160a01b03811681036102fc579060243567ffffffffffffffff811681036102fc579060443590606435805f0b81036102fc5790565b90601f8019910116810190811067ffffffffffffffff82111761065857604052565b634e487b7160e01b5f52604160045260245ffd5b63ffffffff6127109116019063ffffffff821161068557565b634e487b7160e01b5f52601160045260245ffd5b926001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633036102fc57805f0b9081155f1461088f5750505b816106e357505050565b67ffffffffffffffff16806108685750906001600160a01b03166040515f806020830163095ea7b360e01b8152736b9e773128f453f5c2c60935ee2de2cbc5390a2460248501528560448501526044845261073f606485610636565b83519082865af161074e610a1a565b81610839575b508061082f575b156107d7575b5050736b9e773128f453f5c2c60935ee2de2cbc5390a243b156102fc5760405190630acb7f4b60e21b8252600482015263ffffffff60248201525f8160448183736b9e773128f453f5c2c60935ee2de2cbc5390a245af180156102f1576107c7575b505b565b5f6107d191610636565b5f6107c3565b6108289161082360405163095ea7b360e01b6020820152736b9e773128f453f5c2c60935ee2de2cbc5390a2460248201525f60448201526044815261081d606482610636565b82610978565b610978565b5f80610761565b50813b151561075b565b805180159250821561084e575b50505f610754565b6108619250602080918301019101610960565b5f80610846565b6001609d1b0191826001609d1b11610685576001600160a01b03806107c594169116610929565b5f8213156108d0576108a4915060ff16610a09565b80156108bc57808306830392831161068557506106d9565b634e487b7160e01b5f52601260045260245ffd5b505f0380805f0b03610685576108e89060ff16610a09565b8281810291818304149015171561068557506106d9565b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b6107c5926001600160a01b036040519363a9059cbb60e01b6020860152166024840152604483015260448252610823606483610636565b908160209103126102fc575180151581036102fc5790565b906001600160a01b036109d992165f8060405193610997604086610636565b602085527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564602086015260208151910182855af16109d3610a1a565b91610a59565b80519081159182156109ef575b5050156102fc57565b610a029250602080918301019101610960565b5f806109e6565b60ff16604d811161068557600a0a90565b3d15610a54573d9067ffffffffffffffff82116106585760405191610a49601f8201601f191660200184610636565b82523d5f602084013e565b606090565b91925015610a7557815115610a6c575090565b3b156102fc5790565b5080519081156102fc57602001fdfea26469706673582212203fd47e556330422f822e06ffcc9361b37df27b2096abc2caa10bb784869550ee64736f6c634300081e00336c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800a26469706673582212207c7e21cd0f7e3312130737e1bddb054dacb09c3bdadfe6365f7d8551011448c264736f6c634300081e0033bd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ffb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268000000000000000000000000003a73033c0b1407574c76bdbac67f126f6b4a9aa9000000000000000000000000904861a24f30ec96ea7cfc3be9ea4b476d237e980000000000000000000000003d589d40312bf2d20f13cd0af26a11144a9ca844000000000000000000000000b8ce59fc3717ada4c02eadf9682a9e934f625ebb000000000000000000000000fd0876712dd9003d014cdcd8e5140b4efac9bfcc", + "nonce": "0x2b6", "chainId": "0x3e7" }, "additionalContracts": [ { "transactionType": "CREATE", "contractName": "HyperCoreFlowExecutor", - "address": "0x194f997df84667ab443539b6960ac639d75eb64d", - "initCode": "0x60c0346100d157601f615c8238819003918201601f19168301916001600160401b038311848410176100d55780849260409485528339810103126100d157610052602061004b836100e9565b92016100e9565b6001600160a01b0390911660805260a052604051615b8490816100fe8239608051818181610842015281816109820152818161143a015281816116c30152818161286e015281816147660152818161485b01528181614bcb0152614d6f015260a05181818161061001528181610774015281816119c4015261377b0152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036100d15756fe60806040526004361015610011575f80fd5b5f5f3560e01c806246912e1461247157806301ffc9a71461241b578063037a06a4146121cf57806304c73f60146121b1578063057f0370146120f75780631f74a0b51461208557806321081d3c1461204a578063248a9ca31461200a5780632e748b2114611eae5780632f2ff15d14611e63578063319adf9f14611a9b57806336568abe14611a5657806337710e2014611a0157806339fff0981461196a5780633b1c6a01146115bc5780633cf3a025146115875780634265fe861461153c578063490e662f146115015780634b3b029b146114c6578063502a82e214611409578063521c98ba14610cd857806369b97ac714610cba57806379c7b60b14610c6557806379c7f28914610b6657806390a0827b14610b2d57806391d1485414610ad657806396cc2cfb14610882578063a217fddf14610866578063a4b672b614610822578063af5de6f914610798578063c55dae6314610754578063ccbedaec146104e9578063d06e28ed146103fc578063d547741f146103a8578063e38b73a91461038c578063ea0aaf241461032e578063eb84e7f21461021a5763ff3eae00146101bb575f80fd5b346102175760c0366003190112610217576101d536612615565b7fc56a3250645180a53cd9e196b2ee0a634a4f54e2edf59ea457f2083917e4d10054156102085761020590614a9c565b80f35b63cd6d8f7d60e01b8252600482fd5b80fd5b50346102175760203660031901126102175760408160c09260a0835161023f816125bd565b8281528260208201528285820152826060820152826080820152015260043581527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b036020522060405190610292826125bd565b6001600160a01b03815416918281526001600160401b0360018301549281600260208501926001600160a01b038716845282604087019760a01c1687520154946001600160a01b036060860193838816855260ff60a06080890198828b60401c1615158a52019860481c1615158852604051988952511660208801525116604086015251166060840152511515608083015251151560a0820152f35b503461021757602036600319011261021757602061038361034d6124d4565b6001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0560205260405f2090565b54604051908152f35b5034610217578060031936011261021757602060405160068152f35b5034610217576040366003190112610217576103f86004356103c86124ea565b906103f36103ee825f525f516020615b2f5f395f51905f52602052600160405f20015490565b612c9a565b6136db565b5080f35b5034610217576040366003190112610217576104166124d4565b602435906fffffffffffffffffffffffffffffffff82168092036104da5761043c612c2b565b82610446826130da565b63ffffffff6001600160a01b03608083015116915116813b156104da57829160448392604051948593849263435354d360e01b845260048401528960248401525af180156104de576104c5575b50506001600160a01b03167f02366c0d102495be1ee805b749be7baebab4fc0710c6d3f38751f1a22bd711648380a380f35b816104cf916125f4565b6104da57825f610493565b8280fd5b6040513d84823e3d90fd5b503461021757606036600319011261021757806105046124d4565b61050c612500565b610514612516565b9061051d612b6d565b610557836001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0260205260405f2090565b544311156106b2574361059a846001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0260205260405f2090565b556001600160a01b0360016105df856001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0160205260405f2090565b015416926001600160401b0382166106b7575b50506001600160401b038116610606575050f35b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001683525f516020615b0f5f395f51905f526020526001600160401b0360046040852001541690823b156106b25760405163a703334f60e01b81526001600160401b039283166004820152336024820152911660448201529082908290606490829084905af180156104de576106a15750f35b816106ab916125f4565b6102175780f35b505050fd5b6001600160a01b031684525f516020615b0f5f395f51905f526020526001600160401b03600460408620015416833b156107505760405163a703334f60e01b81526001600160401b03918216600482015233602482015291166044820152838160648183875af1908115610745578491156105f25781610736916125f4565b61074157825f6105f2565b5050fd5b6040513d86823e3d90fd5b8480fd5b503461021757806003193601126102175760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b50346102175760203660031901126102175760206001600160a01b036107c46107bf6124d4565b61300b565b610b046040516107d6858301826125f4565b8181528481019161500b8339519020604051908482019260ff60f81b84523060601b602184015260358301526055820152605581526108166075826125f4565b51902016604051908152f35b503461021757806003193601126102175760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b5034610217578060031936011261021757602090604051908152f35b50346102175760403660031901126102175761089c6124d4565b906108a5612c2b565b6108ae82612dcb565b6108b7836130da565b926108cb60e083510151840b602435614a1b565b9460208401906108f46001600160401b03835116886001600160401b0360a08901511691613606565b15610aad57859650610936846001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0460205260405f2090565b6109418482546126d6565b90556001600160a01b038416807f410b9a8c926b6c439cdceb39c0bb8f829838a25bc5a26af9d4c263d1313cc46b6020604051878152a26001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016803b15610aa95760405163f3fef3a360e01b81526001600160a01b0383166004820152602481018690529088908290604490829084905af18015610a9e5785918991610a81575b50506001600160401b0391610a116001600160a01b0392608060e0960192848451169061313e565b511692511694510151850b93813b15610a7d57604051639c45c34b60e01b81526001600160a01b039490941660048501526001600160401b0316602484015260448301919091525f9290920b60648201529082908290608490829084905af180156104de576106a15750f35b8580fd5b81925090610a8e916125f4565b610a9a5783875f6109e9565b8680fd5b6040513d8a823e3d90fd5b8780fd5b6377e88bc960e11b86526001600160a01b0384166004526001600160401b038716602452604486fd5b5034610217576040366003190112610217576001600160a01b036040610afa6124ea565b9260043581525f516020615b2f5f395f51905f526020522091165f52602052602060ff60405f2054166040519015158152f35b503461021757604036600319011261021757610205610b4a6124d4565b610b52612b6d565b602435906001600160a01b0333911661313e565b50346102175760203660031901126102175760a0610bc4610b856124d4565b610b8d612b43565b506001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0160205260405f2090565b6001600160a01b03600160405192610bdb846125a2565b63ffffffff8154818116865260ff8160201c1615156020870152818160281c16604087015260481c1660608501520154166080820152610c6360405180926001600160a01b036080809263ffffffff815116855260208101511515602086015263ffffffff604082015116604086015263ffffffff6060820151166060860152015116910152565bf35b5034610217576020366003190112610217576020610383610c846124d4565b6001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0460205260405f2090565b50346102175780600319360112610217576020604051620f42408152f35b50346102175760a036600319011261021757610cf26124d4565b610cfa61252c565b90610d0361253f565b6064356001600160401b038116810361075057608435916001600160401b0383168303610a7d57610d32612bdc565b610d3a612a4c565b508580604051602081019063ffffffff8916825260208152610d5d6040826125f4565b519061080c5afa610d6c612b14565b90156113fa578051810160208101916020818303126113d6576020810151906001600160401b0382116113f65701906101009082900312610aa95760405191610db4836125d8565b60208201516001600160401b0381116113f65760209083010181601f820112156113f65789815191610de583612af9565b92610df360405194856125f4565b80845284602082840101116104da578060208093018386015e83010152835260408201516001600160401b0381116113f6576020908301019080601f830112156113f6578151916001600160401b0383116113c2578260051b9060405193610e5e60208401866125f4565b84526020808501928201019283116113f257602001905b8282106113da57505050602083015261010090610e946060820161317f565b6040840152610ea560808201614f4a565b6060840152610eb660a08201614f4a565b6080840152610ec760c08201614f5e565b60a0840152610ed860e08201614f5e565b60c0840152015180880b8082036113d657610ef89160e084015284613565565b5060405191610f06836125bd565b825263ffffffff87166020830152821515604083015260608201526001600160401b03831660808201526001600160401b03841660a08201526001600160a01b03851687525f516020615b0f5f395f51905f5260205260408720815180518051906001600160401b0382116113c25781908b610f828654612ac1565b601f8111611387575b5050602090601f8311600114611325578c9261131a575b50508160011b915f199060031b1c19161782555b6001820160208201518051906001600160401b03821161130657680100000000000000008211611306576020908c84548486558085106112ba575b505001918b5260208b20908b5b8160021c811061127557506003198116810380611219575b505050506001600160a01b03947f12cf3d04179e82c834f3ee7169a5df80651aa65530127f9ddb04c8cd8224435397946001600160401b039460a06006868896600260809d9901888060408401511616891982541617815560608201517fffffffff0000000000000000000000000000000000000000ffffffffffffffff7bffffffffffffffffffffffffffffffffffffffff000000000000000083549260401b16911617905560038201908c808f83015116166001600160a01b0319835416178255848101519082547fffffffffffffffffff000000ffffffffffffffffffffffffffffffffffffffff74ff000000000000000000000000000000000000000060e075ff00000000000000000000000000000000000000000060c086015160a81b1694015160b01b76ff000000000000000000000000000000000000000000001694891b16911617171790556111a76004820188806020880151161689198254161781556040860151151568ff0000000000000000825491151560401b169068ff00000000000000001916179055565b60608401516005820155019185808c8301511616861984541617835501516fffffffffffffffff000000000000000082549160401b16906fffffffffffffffff0000000000000000191617905563ffffffff6040519a168a52151560208a01521660408801521660608601521692a280f35b928c938d5b8181106112375750505060021c015584848460a0611016565b909194602061126b6001926001600160401b03895116908560031b6001600160401b03809160031b9316831b921b19161790565b960192910161121e565b8c8d5b6004811061128d575083820155600101610ffe565b85519095916001916020916001600160401b0360068a901b81811b199092169216901b1792019501611278565b8382876112e6945220600380870160021c820192601888831b16806112ed575b500160021c0190614a05565b8c5f610ff1565b5f198501908154905f19908a03851b1c1690555f6112da565b634e487b7160e01b8c52604160045260248cfd5b015190505f80610fa2565b858d52818d209250601f1984168d5b81811061136f5750908460019594939210611357575b505050811b018255610fb6565b01515f1960f88460031b161c191690555f808061134a565b92936020600181928786015181550195019301611334565b602082886113b1945220601f850160051c810191602086106113b8575b601f0160051c0190614a05565b8b5f610f8b565b90915081906113a4565b634e487b7160e01b8b52604160045260248bfd5b8880fd5b602080916113e78461317f565b815201910190610e75565b8b80fd5b8980fd5b639b0c335d60e01b8752600487fd5b5034610217576040366003190112610217576114236124d4565b60243561142e612b6d565b826001600160a01b03807f000000000000000000000000000000000000000000000000000000000000000016931692803b156114c25760405163f3fef3a360e01b81526001600160a01b0385166004820152602481018490529082908290604490829084905af180156104de576114ad575b505061020591339061313e565b816114b7916125f4565b6104da57825f6114a0565b5080fd5b503461021757806003193601126102175760206040517f5300fde95a5e446527bf6aa7c91bd6661bef5398afc77061d9bc87efb80b7ef68152f35b503461021757806003193601126102175760206040517fc56a3250645180a53cd9e196b2ee0a634a4f54e2edf59ea457f2083917e4d1008152f35b50346102175760c03660031901126102175761155736612615565b7fc56a3250645180a53cd9e196b2ee0a634a4f54e2edf59ea457f2083917e4d10054156102085761020590614367565b5034610217576020366003190112610217576115a1612b6d565b80808080600435335af16115b3612b14565b50156102175780f35b5034610217576060366003190112610217576115d66124ea565b6044356001600160a01b0381169182820361180a576115f3612c2b565b836115fd83612dcb565b9261160783613053565b6114c2576040840151156114c2576001600160401b036080850151169060208501916001600160401b038351169060e087510151850b91155f146119305761166d9161165291613565565b6001600160401b0360a081879a949a51169301511691613606565b156104da576116ac906001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0560205260405f2090565b6116b78582546126d6565b90556001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016803b156104da5760405163f3fef3a360e01b81526001600160a01b0387166004820152602481018690529083908290604490829084905af1908115611925578391611910575b5050516001600160401b03168061180e5750506117468284614e43565b736b9e773128f453f5c2c60935ee2de2cbc5390a243b1561180a578360405163611e2a2d60e11b81526001600160a01b038316600482015283602482015263ffffffff6044820152818160648183736b9e773128f453f5c2c60935ee2de2cbc5390a245af180156104de576117f5575b50506001600160a01b03905b60405192835216907f2b348084e891b20d449a69f90114c5ab7bf7c84d64c25445c8ab440d469a6b4d602060043592a480f35b816117ff916125f4565b61180a57835f6117b6565b8380fd5b6118218461181b83614d1f565b8761313e565b611884602460405160208101936001600160a01b0387168552604082015260016060820152606081526118556080826125f4565b6040519384916280000360e11b60208401525180918484015e810185838201520301601f1981018352826125f4565b7333333333333333333333333333333333333333333b156114c257816118c691604051809381926317938e1360e01b835260206004840152602483019061257e565b0381837333333333333333333333333333333333333333335af180156104de576118fb575b50506001600160a01b03906117c2565b81611905916125f4565b61180a57835f6118eb565b8161191a916125f4565b6114c257815f611729565b6040513d85823e3d90fd5b60019192939450016001600160401b038111611956576116528894939261166d92613565565b634e487b7160e01b88526011600452602488fd5b50346102175760e03660031901126102175761198536612615565b7fc56a3250645180a53cd9e196b2ee0a634a4f54e2edf59ea457f2083917e4d1005415610208576001600160a01b036060820151166001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145f146119f45761020590614367565b6102059060c43590613778565b5034610217576020366003190112610217576020610383611a206124d4565b6001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0260205260405f2090565b503461021757604036600319011261021757611a706124ea565b336001600160a01b03821603611a8c576103f8906004356136db565b63334bd91960e11b8252600482fd5b5034610217576020366003190112610217576001600160a01b03611abd6124d4565b611ac5612a8a565b501681525f516020615b0f5f395f51905f52602052604081209060405190611aec826125bd565b604051611af8816125d8565b60405184548184611b0883612ac1565b8083529260018116908115611e445750600114611e03575b611b2c925003826125f4565b815260018401604051808260208294549384815201908652602086209286905b806003830110611db157611b82945491818110611d97575b818110611d7a575b818110611d5d575b10611d4f575b5003826125f4565b60208201526001600160a01b0360028501546001600160401b038116604084015260401c16606082015260038401546001600160a01b038116608083015260ff8160a01c1660a083015260ff8160a81c1660c083015260b01c820b60e0820152825260048301549260208301906001600160401b038516825260ff604085019560401c161515855260066005820154916060860192835201549460808501926001600160401b03871684526001600160401b0360a087019760401c1687526040519560208752519460c06020880152611c69865161010060e08a01526101e089019061257e565b60208088015189830360df19016101008b015280518084529282019892910190835b818110611d3057505050926001600160401b03809693899a969360e0878c610120866040819c0151169101528c6101406001600160a01b036060840151169101528c6101606001600160a01b036080840151169101528c61018060ff60a0840151169101528c6101a060ff60c0840151169101520151900b6101c08b0152511660408901525115156060880152516080870152511660a0850152511660c08301520390f35b82516001600160401b03168a526020998a019990920191600101611c8b565b60c01c81526020015f611b7a565b9260206001916001600160401b038560801c168152019301611b74565b9260206001916001600160401b038560401c168152019301611b6c565b9260206001916001600160401b0385168152019301611b64565b916004919350608060019186546001600160401b03811682526001600160401b038160401c1660208301526001600160401b0381841c16604083015260c01c6060820152019401920184929391611b4c565b5090868552602085209085915b818310611e28575050906020611b2c92820101611b20565b6020919350806001915483858801015201910190918392611e10565b60209250611b2c94915060ff191682840152151560051b820101611b20565b5034610217576040366003190112610217576103f8600435611e836124ea565b90611ea96103ee825f525f516020615b2f5f395f51905f52602052600160405f20015490565b613634565b503461021757608036600319011261021757611ec86124d4565b611ed0612500565b611ed8612516565b90606435926fffffffffffffffffffffffffffffffff841680940361075057611eff612c2b565b84611f09826130da565b926001600160a01b0360808501511693843b156104da57611f936101048492836001600160401b03806040519788968795636f0d192560e11b875260048701906001600160a01b036080809263ffffffff815116855260208101511515602086015263ffffffff604082015116604086015263ffffffff6060820151166060860152015116910152565b169a8b60a485015216988960c48401528b60e48401525af180156104de57611ff5575b50506001600160a01b036040917f500d805a349357fe5d4759fe052d79bd744b82c8452837f52a7456ec7d3d751c93835195865260208601521692a380f35b81611fff916125f4565b61075057845f611fb6565b50346102175760203660031901126102175760206120426004355f525f516020615b2f5f395f51905f52602052600160405f20015490565b604051908152f35b503461021757806003193601126102175760206040517f880a9ba888678c7fe4e8c4f028c224f26ce12a3bed6e96025c61ef8a5db6312f8152f35b50346102175760603660031901126102175761209f6124d4565b6024356001600160401b0381116104da576120be90369060040161254e565b9092604435906001600160401b0382116102175760206120428686866120e7366004890161254e565b9390926120f2612c2b565b6126e3565b50346121ad5760403660031901126121ad576121116124d4565b9060243561211d612b6d565b6001600160a01b036080612130856130da565b015116803b156121ad576040516390a0827b60e01b81526001600160a01b038516600482015260248101839052905f908290604490829084905af180156121a25761218c575b5061020591926001600160a01b0333911661313e565b61020592505f61219b916125f4565b5f91612176565b6040513d5f823e3d90fd5b5f80fd5b346121ad575f3660031901126121ad5760206040516305f5e1008152f35b346121ad5760a03660031901126121ad576121e86124d4565b6121f061252c565b6121f861253f565b9160643563ffffffff81168091036121ad576084359163ffffffff83168093036121ad5761222581612dcb565b5061222e612bdc565b6001600160a01b036001612272836001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0160205260405f2090565b0154169081156123ca575b63ffffffff6040519561228f876125a2565b16948581526001600160a01b036001816020840199151595868b52604085019a888c52606086018a8152836080880193169c8d845263ffffffff6123038a6001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0160205260405f2090565b985116926cffffffff00000000000000000068ffffffff000000000064ff000000008b549351151560201b16935160281b16935160481b16936cffffffff000000000000000000199168ffffffffffffffffff1916171617171785555116920191166001600160a01b031982541617905561237d86613053565b156121ad577ff0dcc8957a27613dd82c92382ad37254b9744169d0caa5f3873cfec7ba794eb9936080936001600160a01b03936040519788526020880152604087015260608601521692a3005b90506123d58161300b565b604051610b048082018281106001600160401b0382111761240757829161500b833903905ff580156121a2579061227d565b634e487b7160e01b5f52604160045260245ffd5b346121ad5760203660031901126121ad5760043563ffffffff60e01b81168091036121ad57602090637965db0b60e01b8114908115612460575b506040519015158152f35b6301ffc9a760e01b14905082612455565b346121ad5760403660031901126121ad576124d261248d6124d4565b6001600160a01b0361249d612500565b916124a6612b6d565b165f525f516020615b0f5f395f51905f526020526001600160401b03600460405f200154163390612ce7565b005b600435906001600160a01b03821682036121ad57565b602435906001600160a01b03821682036121ad57565b602435906001600160401b03821682036121ad57565b604435906001600160401b03821682036121ad57565b6024359063ffffffff821682036121ad57565b6044359081151582036121ad57565b9181601f840112156121ad578235916001600160401b0383116121ad576020808501948460051b0101116121ad57565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b60a081019081106001600160401b0382111761240757604052565b60c081019081106001600160401b0382111761240757604052565b61010081019081106001600160401b0382111761240757604052565b90601f801991011681019081106001600160401b0382111761240757604052565b60c09060031901126121ad576040519061262e826125bd565b81600435815260243560208201526044356001600160a01b03811681036121ad5760408201526064356001600160a01b03811681036121ad576060820152608435608082015260a060a435910152565b919081101561268e5760051b0190565b634e487b7160e01b5f52603260045260245ffd5b906001600160401b03809116911601906001600160401b0382116126c257565b634e487b7160e01b5f52601160045260245ffd5b919082018092116126c257565b9194935f935f968281036121ad5761272b856001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0260205260405f2090565b544311156121ad57929061273e85612dcb565b91608061274a876130da565b01916001600160a01b038351169461277160208601966001600160401b0388511690613193565b965f975b818d106129e1575b50508a1592506129d691505057436127c5866001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0260205260405f2090565b556001600160401b038416806127df575b50505050505050565b6127f46128179560e0855101515f0b90613565565b6001600160401b03869792975116906001600160401b0360a08701511691613606565b156129b75750612857856001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0460205260405f2090565b6128628582546126d6565b90556001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166001600160a01b03861690803b156121ad5760405163f3fef3a360e01b81526001600160a01b038316600482015260248101879052905f908290604490829084905af180156121a25761298b575b506001600160a01b03826128ff876001600160401b03948460e09751169061313e565b511693511691510151850b93823b15610a7d57604051639c45c34b60e01b81526001600160a01b0390911660048201526001600160401b03909116602482015260448101929092525f9290920b606482015290829082908183816084810103925af180156104de57612976575b80808080806127d6565b6129818280926125f4565b610217578061296c565b6001600160401b0391975060e0926129ab5f6001600160a01b03936125f4565b5f9890935091506128dc565b6001600160a01b03866377e88bc960e11b5f521660045260245260445ffd5b505f96505050505050565b6129f08d83879f9b969761267e565b35906129fd8a858861267e565b356001600160401b03811681036121ad57612a2692898d926001600160a01b038b511692613275565b94909115612a4457600191612a3a916126a2565b98019b9392612775565b989c5061277d565b60405190612a59826125d8565b5f60e08360608152606060208201528260408201528260608201528260808201528260a08201528260c08201520152565b60405190612a97826125bd565b5f60a083612aa3612a4c565b81528260208201528260408201528260608201528260808201520152565b90600182811c92168015612aef575b6020831014612adb57565b634e487b7160e01b5f52602260045260245ffd5b91607f1691612ad0565b6001600160401b03811161240757601f01601f191660200190565b3d15612b3e573d90612b2582612af9565b91612b3360405193846125f4565b82523d5f602084013e565b606090565b60405190612b50826125a2565b5f6080838281528260208201528260408201528260608201520152565b335f9081527f176c3a4e1b4d1d61213187c0dde7f83e2e2c933a339cb5403b4090bc2f0aa49a602052604090205460ff1615612ba557565b63e2517d3f60e01b5f52336004527f880a9ba888678c7fe4e8c4f028c224f26ce12a3bed6e96025c61ef8a5db6312f60245260445ffd5b335f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d602052604090205460ff1615612c1457565b63e2517d3f60e01b5f52336004525f60245260445ffd5b335f9081527fcf7720576cdb70176b3017d893bcb89ba0f36ed0261d4350fd0180e938b3bacd602052604090205460ff1615612c6357565b63e2517d3f60e01b5f52336004527f5300fde95a5e446527bf6aa7c91bd6661bef5398afc77061d9bc87efb80b7ef660245260445ffd5b805f525f516020615b2f5f395f51905f5260205260405f206001600160a01b0333165f5260205260ff60405f20541615612cd15750565b63e2517d3f60e01b5f523360045260245260445ffd5b6024906001600160401b03612d56939481604051936001600160a01b03602086019816885216604084015216606082015260608152612d276080826125f4565b6040519384916280000360e11b60208401525180918484015e81015f838201520301601f1981018352826125f4565b7333333333333333333333333333333333333333333b156121ad575f612d9891604051809381926317938e1360e01b835260206004840152602483019061257e565b0381837333333333333333333333333333333333333333335af180156121a257612dbf5750565b5f612dc9916125f4565b565b6001600160a01b0390612ddc612a8a565b50165f525f516020615b0f5f395f51905f5260205260405f2060405191612e02836125bd565b60405191612e0f836125d8565b6040518154815f612e1f83612ac1565b8083529260018116908115612fec5750600114612fab575b612e43925003826125f4565b8352600181019360405180602087549182815201965f5260205f20905f915b816003840110612f5f5797612ea39284926001600160a01b039798999a5491818110611d9757818110611d7a57818110611d5d5710611d4f575003826125f4565b60208601528160028401546001600160401b038116604088015260401c1660608601526001600160401b0360066003850154946080880197858716895260ff8760a01c1660a082015260c081019660ff8160a81c16885260b01c5f0b60e0820152845260ff6004820154848116602087015260401c1615156040850152600581015460608501520154818116608084015260401c1660a082015293511615159081612f51575b50156121ad57565b60ff9150511615155f612f49565b97600160806004928b546001600160401b03811682526001600160401b038160401c1660208301526001600160401b0381841c16604083015260c01c6060820152019901920191612e62565b5090835f5260205f20905f915b818310612fd0575050906020612e4392820101612e37565b6020919350806001915483858801015201910190918392612fb8565b60209250612e4394915060ff191682840152151560051b820101612e37565b60405160208101913060601b83526bffffffffffffffffffffffff199060601b166034820152602881526130406048826125f4565b51902090565b519081151582036121ad57565b5f80916040516001600160a01b036020820192168252602081526130786040826125f4565b51906108105afa613087612b14565b90156130cb576020818051810103126121ad5760405190602082018281106001600160401b03821117612407576040526130c390602001613046565b809152151590565b6313dd7ccd60e31b5f5260045ffd5b6130e690610b8d612b43565b906001600160a01b036001604051936130fe856125a2565b63ffffffff8154818116875260ff8160201c1615156020880152818160281c16604088015260481c1660608601520154169182608082015291156121ad57565b60405163a9059cbb60e01b60208201526001600160a01b03929092166024830152604480830193909352918152612dc99161317a6064836125f4565b614c86565b51906001600160401b03821682036121ad57565b5f919082916001600160401b03604051916001600160a01b036020840194168452166040820152604081526131c96060826125f4565b51906108015afa6131d8612b14565b9015613246576060818051810103126121ad576040519060608201918083106001600160401b03841117612407576001600160401b0392604052604061323f60606132256020860161317f565b9485855261323484820161317f565b60208601520161317f565b9101521690565b639d2c8fcb60e01b5f5260045ffd5b906001600160401b03809116911603906001600160401b0382116126c257565b95929190939495805f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0360205260405f20916001600160a01b038354169586156134ed576002840180549860ff8a60481c166134de576001600160a01b03600187015491166001600160a01b038216036134cb576001600160401b039060a01c166001600160401b038a1660ff8b60401c165f14613474575080926001600160401b03811682115f1461346c5761332c91613255565b985b6133388a8c6126a2565b9a6001600160401b038c166001600160401b0385161161345b575069010000000000000000009069ff000000000000000000191617905561337b8160019a613255565b966001600160401b0360206001600160a01b0361339f60e0875101515f0b8d613565565b50981694015116833b156121ad5760405163a703334f60e01b81526001600160401b0391821660048201526001600160a01b0392909216602483015282166044820152915f908390606490829084905af19081156121a2577f53b9d5645f8b7ccd861ebd6036860fd21716451d1f238cb3720f12f3c49b0c439260409261344b575b506001600160a01b0360018187541696015416956001600160401b038351921682526020820152a4565b5f613455916125f4565b5f613421565b5f9b508b9a50985050505050505050565b50505f61332c565b9092809a93806001600160401b038316105f146134c05761349f9161349891613255565b809b6126a2565b816001600160401b038216115f146134b957505b9161332e565b90506134b3565b505061349f5f613498565b8463358d72d160e01b5f5260045260245ffd5b63f7348a7960e01b5f5260045ffd5b631a40316d60e01b5f5260045ffd5b60ff16604d81116126c257600a0a90565b919082039182116126c257565b8115613524570490565b634e487b7160e01b5f52601260045260245ffd5b90620f4240820291808304620f424014901517156126c257565b818102929181159184041417156126c257565b9190805f0b80155f146135825750506001600160401b0382169190565b5f8113156135ad575061359a6135a99160ff166134fc565b6001600160401b038416613552565b9190565b9050607f1981146126c2576001600160401b03926135d26135db925f0360ff166134fc565b938491166126d6565b5f1981019081116126c2576136026135fb846001600160401b039361351a565b9384613552565b1690565b61362c6001600160401b039293613626849361362181614d1f565b613193565b946126a2565b169116101590565b805f525f516020615b2f5f395f51905f5260205260405f206001600160a01b0383165f5260205260ff60405f205416155f146136d557805f525f516020615b2f5f395f51905f5260205260405f206001600160a01b0383165f5260205260405f20600160ff198254161790556001600160a01b03339216907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b50505f90565b805f525f516020615b2f5f395f51905f5260205260405f206001600160a01b0383165f5260205260ff60405f2054165f146136d557805f525f516020615b2f5f395f51905f5260205260405f206001600160a01b0383165f5260205260405f2060ff1981541690556001600160a01b03339216907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b907f0000000000000000000000000000000000000000000000000000000000000000604083016137b16001600160a01b03825116613053565b156142f2576001600160a01b038216805f525f516020615b0f5f395f51905f5260205260405f2090604051946137e6866125bd565b6040516137f2816125d8565b6040518454815f61380283612ac1565b80835292600181169081156142d35750600114614292575b613826925003826125f4565b815260018401604051808260208294549384815201905f5260205f20925f905b80600383011061424057613878945491818110611d9757818110611d7a57818110611d5d5710611d4f575003826125f4565b60208201526001600160a01b0360028501546001600160401b038116604084015260401c16606082015260038401546001600160a01b038116608083015260ff8160a01c1660a083015260ff8160a81c1660c083015260b01c5f0b60e08201528652600660048401549360ff60208901956001600160401b038116875260401c1615156040890152600581015460608901520154966001600160401b03881660808801526001600160401b0360a088019860401c168852606081016001600160a01b038151165f525f516020615b0f5f395f51905f5260205260405f209560405196613963886125bd565b60405161396f816125d8565b6040518254815f61397f83612ac1565b808352926001811690811561422157506001146141e0575b6139a3925003826125f4565b81526040516001830180548083525f9182526020808320849391840192905b81600384011061418e575491818110614174575b818110614157575b81811061413a575b1061412c575b50036139f890826125f4565b602082015260028201546001600160401b038116604083015260401c6001600160a01b0316606082015260038201546001600160a01b03811660808301528060a01c60ff1660a08301528060a81c60ff1660c083015260b01c5f0b60e0820152885260048101546001600160401b03811660208a015260401c60ff161515604089015260058101546060890152600601546001600160401b038116608089015260401c6001600160401b031660a088015281516001600160a01b0316613abd906130da565b9383519060a08501918251996080870191825115159b613adc916126d6565b8d5160e001515f0b613aed91614a1b565b90508d5160c0015160ff16825160c0015160ff1690613b0b92614f80565b9a156140fe578a925b5f8063ffffffff8b51166040516020810191825260208152613b376040826125f4565b51906108085afa613b46612b14565b90156140ef576020818051810103126121ad57898f9360ff60a0613b949260206001600160401b03613b7c82613b9a990161317f565b16950197885115155f146140e45750510151166134fc565b90613552565b82511561409a5763ffffffff613bb58160608d015116614d45565b16620f4240019081620f4240116126c257613beb620f424091613b946001600160401b039463ffffffff8f6040015116906126d6565b0416908351908115155f146140925750915b5115614051576305f5e10081101561401157505f5b613c32613c1f8651613538565b613c2c8a518851906126d6565b906126d6565b5f198101919082116126c257613c2c613c5892613c528b518951906126d6565b9061351a565b60648083028381048214841517156126c2578211613f975750505085518c5160e001515f0b613c8691614a1b565b9d8e8b9c929c516001600160401b031691516001600160401b031690613cab92613606565b15613f47579c8a9b9c9d85516001600160a01b03169387516001600160a01b0316935115159360405195613cde876125bd565b86526020860190815260408601926001600160401b03169485845260608701926001600160401b0316968784526080810191825260a08101925f845260208d019586515f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0360205260405f2092516001600160a01b03166001600160a01b031683546001600160a01b0319161783556001830191516001600160a01b03166001600160a01b031682546001600160a01b0319161782555181549060a01b7bffffffffffffffff000000000000000000000000000000000000000016907fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff1617905560020192516001600160401b03166001600160401b03166001600160401b0319845416178355511515613e3490839068ff0000000000000000825491151560401b169068ff00000000000000001916179055565b51151581549060481b69ff000000000000000000169069ff00000000000000000019161790555194516001600160a01b031695516001600160a01b03169651935160405194855260208501526001600160401b031660408401526060830152608082015260a07f550576b2f9e0ac12dfd5dd2d5743b5b7f11f34302b5f6bec6ad60db81bd6a91891a4608001516001600160a01b03169283613ed59261313e565b516001600160401b0316935160e001515f0b93813b156121ad57604051639c45c34b60e01b81526001600160a01b039490941660048501526001600160401b0316602484015260448301919091525f92830b60648301529091908290608490829084905af180156121a257612dbf5750565b5050505050945095505092505081612dc9947f8d61555dcf69ba745e97fdea78e2652d9cdd464ca521faad482fe796f6d5841c602080870151926001600160401b0360405191168152a352614a9c565b999c5099509c50505050509450809650602091500151906001600160a01b03845116928181018091116126c2575f1981019081116126c257811561352457612dc9977fc8f90125c6a36c77a571201afc10310420481ab4895fadabb596d0ba71c22e3e92604092049082519182526020820152a352614367565b6305f5e0ff19016001600160401b0381116126c25761404b6140406001600160401b036305f5e1009316613538565b6305f5e0ff906126d6565b04613c12565b6305f5e10081111561406457505f613c12565b6305f5e100036001600160401b0381116126c25761404b6140406001600160401b036305f5e1009316613538565b905091613bfd565b63ffffffff6140ae8160608d015116614d45565b16620f42400390620f424082116126c257613beb620f424091613b946001600160401b039463ffffffff8f60400151169061350d565b9050510151166134fc565b635cffc5fb60e11b5f5260045ffd5b826127100361271081116126c2576127106141236001600160401b0392838f16613552565b04169a92613b14565b60c01c81526020015f6139ec565b9260206001916001600160401b038560801c1681520193016139e6565b9260206001916001600160401b038560401c1681520193016139de565b9260206001916001600160401b03851681520193016139d6565b935090916001608060049286546001600160401b03811682526001600160401b038160401c1660208301526001600160401b0381841c16604083015260c01c60608201520194019201908493926139c2565b5090845f5260205f20905f915b8183106142055750509060206139a392820101613997565b60209193508060019154838588010152019101909183926141ed565b602092506139a394915060ff191682840152151560051b820101613997565b916004919350608060019186546001600160401b03811682526001600160401b038160401c1660208301526001600160401b0381841c16604083015260c01c6060820152019401920184929391613846565b5090865f5260205f20905f915b8183106142b75750509060206138269282010161381a565b602091935080600191548385880101520191019091839261429f565b6020925061382694915060ff191682840152151560051b82010161381a565b6080840151909392501561431d576001600160a01b038351166320a2097d60e11b5f5260045260245ffd5b6001600160a01b0390612dc9937f31604f5790fbed7a37471cea010a8f08483441a6e1235ac48bb59337439a630d60208481870151935116604051908152a2166060820152614a9c565b6060810151906001600160a01b035f921691825f525f516020615b0f5f395f51905f5260205260405f206040519161439e836125bd565b6040516143aa816125d8565b6040518354815f6143ba83612ac1565b80835292600181169081156149e657506001146149a5575b6143de925003826125f4565b815260018301604051808260208294549384815201905f5260205f20925f905b80600383011061495357614430945491818110611d9757818110611d7a57818110611d5d5710611d4f575003826125f4565b60208201526001600160a01b0360028401546001600160401b038116604084015260401c16606082015260038301546001600160a01b038116608083015260ff8160a01c1660a083015260ff8160a81c1660c083015260b01c5f0b60e08201528352600660048301549260ff60208601946001600160401b038116865260401c1615156040860152600581015460608601520154906001600160401b03821660808501526001600160401b0360a085019260401c16825260408501936144ff6001600160a01b03865116613053565b156148e35785519261271061452861451d60a08a01968751906126d6565b60808a015190613552565b04948451958087116148db575b5085614839575b61457461455b61454d888b516126d6565b60e0865101515f0b90614a1b565b919093826001600160401b038086511692511691613606565b156147eb57508561475c575b6001600160401b036145ef916145c68b6001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0460205260405f2090565b6145d18982546126d6565b905551169160e06001600160a01b0389511694510151850b90614a1b565b909182614659575b5050505050907fb021c853215aadb12b6fa8afa7b3158201517d9abf7f756cdbb67bd66abc5a1c916146546001600160a01b0360208701519551169551915192604051938493846040919493926060820195825260208201520152565b0390a4565b8061471557505061466a8189614e43565b736b9e773128f453f5c2c60935ee2de2cbc5390a243b156104da576040519163611e2a2d60e11b83526004830152602482015263ffffffff6044820152818160648183736b9e773128f453f5c2c60935ee2de2cbc5390a245af180156104de57614700575b5050907fb021c853215aadb12b6fa8afa7b3158201517d9abf7f756cdbb67bd66abc5a1c915b90915f8080806145f7565b61470b8280926125f4565b61021757806146cf565b7fb021c853215aadb12b6fa8afa7b3158201517d9abf7f756cdbb67bd66abc5a1c9695945061475261475794929361474c83614d1f565b8c61313e565b612ce7565b6146f5565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016803b156121ad5760405163f3fef3a360e01b81526001600160a01b038b16600482015260248101889052905f908290604490829084905af180156121a2576147cf575b50614580565b6147dc9194505f906125f4565b5f926001600160401b036147c9565b9793505050507f8d61555dcf69ba745e97fdea78e2652d9cdd464ca521faad482fe796f6d5841c93506020925082915061482481614a9c565b0151926001600160401b0360405191168152a3565b614848868a60208b0151614d60565b61453c576040516370a0823160e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031660048201529095506020816024818c5afa9081156121a2575f916148a9575b509461453c565b90506020813d6020116148d3575b816148c4602093836125f4565b810103126121ad57515f6148a2565b3d91506148b7565b95505f614535565b50505050608082015190925015614911576001600160a01b038251166320a2097d60e11b5f5260045260245ffd5b612dc9917f31604f5790fbed7a37471cea010a8f08483441a6e1235ac48bb59337439a630d60206001600160a01b0381850151935116604051908152a2614a9c565b916004919350608060019186546001600160401b03811682526001600160401b038160401c1660208301526001600160401b0381841c16604083015260c01c60608201520194019201849293916143fe565b5090855f5260205f20905f915b8183106149ca5750509060206143de928201016143d2565b60209193508060019154838588010152019101909183926149b2565b602092506143de94915060ff191682840152151560051b8201016143d2565b818110614a10575050565b5f8155600101614a05565b9190805f0b9081155f14614a385750506001600160401b03821690565b5f821315614a7357614a4d915060ff166134fc565b91821561352457613602614a6c82856001600160401b0394069061350d565b938461351a565b505f0380805f0b036126c257613602614a966001600160401b039260ff166134fc565b84613552565b8051612710614abf614ab460a08501938451906126d6565b608085015190613552565b0481518181115f14614c7e5750905b81906020840191614af183519460608701956001600160a01b0387511690614d60565b15614c77575b80614bc1575b7f4755f239bb1b047245415cb917deced72a3ca8baebcef109c396ff332ea6f50f916146546001600160a01b0380614b36858a516126d6565b96614b4e828a51169860408c0199848b51169061313e565b614b8b828a51166001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0460205260405f2090565b614b968782546126d6565b9055519651169651169651915192604051938493846040919493926060820195825260208201520152565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916001600160a01b0385511692803b156121ad5760405163f3fef3a360e01b81526001600160a01b03949094166004850152602484018390525f908490604490829084905af19283156121a2577f4755f239bb1b047245415cb917deced72a3ca8baebcef109c396ff332ea6f50f93614c67575b509150614afd565b5f614c71916125f4565b5f614c5f565b505f614af7565b905090614ace565b906001600160a01b03614ce792165f8060405193614ca56040866125f4565b602085527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564602086015260208151910182855af1614ce1612b14565b91614fdf565b8051908115918215614cfd575b5050156121ad57565b81925090602091810103126121ad576020614d189101613046565b5f80614cf4565b6001600160401b03166001609d1b01806001609d1b116126c2576001600160a01b031690565b63ffffffff60649116029063ffffffff82169182036126c257565b6040516370a0823160e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811660048301529092169392909190602082602481885afa9182156121a2575f92614e0f575b5080821094851595614dd0575b50505050565b7f5180f0ad9e9bd2296de2ee38c85d11c56613fa73f8ee66792f26ac318f1274749260609260405192835260208301526040820152a25f808080614dca565b9091506020813d602011614e3b575b81614e2b602093836125f4565b810103126121ad5751905f614dbd565b3d9150614e1e565b9060405190602082019063095ea7b360e01b8252736b9e773128f453f5c2c60935ee2de2cbc5390a246024840152604483015260448252614e856064836125f4565b5f806001600160a01b0385169284519082855af190614ea2612b14565b82614f10575b5081614f05575b5015614eb9575050565b612dc99161317a60405163095ea7b360e01b6020820152736b9e773128f453f5c2c60935ee2de2cbc5390a2460248201525f604482015260448152614eff6064826125f4565b82614c86565b90503b15155f614eaf565b80519192508115918215614f28575b5050905f614ea8565b81925090602091810103126121ad576020614f439101613046565b5f80614f1f565b51906001600160a01b03821682036121ad57565b519060ff821682036121ad57565b9060ff8091169116039060ff82116126c257565b9160ff811660ff83168181145f14614f99575050505090565b6001600160401b039492911115614fc757614fc0614fbb613602948693614f6c565b6134fc565b9116613552565b614fd8614fbb859261360295614f6c565b911661351a565b91925015614ffb57815115614ff2575090565b3b156121ad5790565b5080519081156121ad57602001fdfe60a080604052346100455733608052610aba908161004a82396080518181816086015281816101b80152818161039a015281816104d50152818161054c01526106a40152f35b5f80fdfe60806040526004361015610011575f80fd5b5f5f3560e01c8063435354d31461050a57806390a0827b146104a55780639c45c34b146100ad578063a703334f1461033e578063de1a324a146100cb578063e94b77c1146100ad5763eba61c0e14610067575f80fd5b346100aa57806003193601126100aa5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b80fd5b50346100aa576100c86100bf366105ee565b92919091610699565b80f35b50346100aa57366003190161010081126103265760a0136100aa5760405160a0810181811067ffffffffffffffff82111761032a5760405261010b6105db565b91828252602435918215158303610326576020810192835260443563ffffffff8116810361032257604082015260643563ffffffff81168103610322576060820152608435906001600160a01b0382168203610322576080015260a43567ffffffffffffffff81168091036103265760c4359067ffffffffffffffff82168092036103225760e435946fffffffffffffffffffffffffffffffff861680960361031e576001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016330361031e5763ffffffff6101ed911661066c565b9351151592811561030f57821561030057916102819391600493506040519263ffffffff60208501971687526040840152606083015260808201525f945f60a0830152600260c083015260e082015260e0815261024c61010082610636565b6020604051948592630100000160e01b83850152518091602485015e8201018281015f8152500301601f198101835282610636565b7333333333333333333333333333333333333333333b156102fc575f6102bb91604051809381926317938e1360e01b8352600483016108ff565b0381837333333333333333333333333333333333333333335af180156102f1576102e3575080f35b6102ef91505f90610636565b005b6040513d5f823e3d90fd5b5f80fd5b6313c0a8df60e01b8152600490fd5b63017461b760e71b8152600490fd5b8380fd5b8280fd5b5080fd5b634e487b7160e01b83526041600452602483fd5b50346100aa5760603660031901126100aa578060043567ffffffffffffffff811680910361049c57602435906001600160a01b0382168092036104a15760443567ffffffffffffffff811680910361049f576001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016330361049f5761041f91600491604051916020830195865260408301526060820152606081526103eb608082610636565b60206040519485926280000360e11b83850152518091602485015e820101828101868152500301601f198101835282610636565b7333333333333333333333333333333333333333333b1561049c578161045991604051809381926317938e1360e01b8352600483016108ff565b0381837333333333333333333333333333333333333333335af18015610491576104805750f35b8161048a91610636565b6100aa5780f35b6040513d84823e3d90fd5b50fd5b505b5050fd5b50346100aa5760403660031901126100aa576004356001600160a01b038116809103610326576001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163303610326576100c890602435903390610929565b50346102fc5760403660031901126102fc576105246105db565b602435906fffffffffffffffffffffffffffffffff82168092036102fc576001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633036102fc5760046105806102819261066c565b926040519063ffffffff60208301951685526040820152604081526105a6606082610636565b6020604051948592630100000b60e01b83850152518091602485015e8201018281015f8152500301601f198101835282610636565b6004359063ffffffff821682036102fc57565b60809060031901126102fc576004356001600160a01b03811681036102fc579060243567ffffffffffffffff811681036102fc579060443590606435805f0b81036102fc5790565b90601f8019910116810190811067ffffffffffffffff82111761065857604052565b634e487b7160e01b5f52604160045260245ffd5b63ffffffff6127109116019063ffffffff821161068557565b634e487b7160e01b5f52601160045260245ffd5b926001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633036102fc57805f0b9081155f1461088f5750505b816106e357505050565b67ffffffffffffffff16806108685750906001600160a01b03166040515f806020830163095ea7b360e01b8152736b9e773128f453f5c2c60935ee2de2cbc5390a2460248501528560448501526044845261073f606485610636565b83519082865af161074e610a1a565b81610839575b508061082f575b156107d7575b5050736b9e773128f453f5c2c60935ee2de2cbc5390a243b156102fc5760405190630acb7f4b60e21b8252600482015263ffffffff60248201525f8160448183736b9e773128f453f5c2c60935ee2de2cbc5390a245af180156102f1576107c7575b505b565b5f6107d191610636565b5f6107c3565b6108289161082360405163095ea7b360e01b6020820152736b9e773128f453f5c2c60935ee2de2cbc5390a2460248201525f60448201526044815261081d606482610636565b82610978565b610978565b5f80610761565b50813b151561075b565b805180159250821561084e575b50505f610754565b6108619250602080918301019101610960565b5f80610846565b6001609d1b0191826001609d1b11610685576001600160a01b03806107c594169116610929565b5f8213156108d0576108a4915060ff16610a09565b80156108bc57808306830392831161068557506106d9565b634e487b7160e01b5f52601260045260245ffd5b505f0380805f0b03610685576108e89060ff16610a09565b8281810291818304149015171561068557506106d9565b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b6107c5926001600160a01b036040519363a9059cbb60e01b6020860152166024840152604483015260448252610823606483610636565b908160209103126102fc575180151581036102fc5790565b906001600160a01b036109d992165f8060405193610997604086610636565b602085527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564602086015260208151910182855af16109d3610a1a565b91610a59565b80519081159182156109ef575b5050156102fc57565b610a029250602080918301019101610960565b5f806109e6565b60ff16604d811161068557600a0a90565b3d15610a54573d9067ffffffffffffffff82116106585760405191610a49601f8201601f191660200184610636565b82523d5f602084013e565b606090565b91925015610a7557815115610a6c575090565b3b156102fc5790565b5080519081156102fc57602001fdfea26469706673582212203879dec62ee6969ddc1e719a778a3189d3e8f96806386657ebe93811d6723d1b64736f6c634300081e00336c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800a26469706673582212208e9caca3f731db1f887e8a59abe9f082d26d5774b810cdaa162e708e16ec228764736f6c634300081e00330000000000000000000000001d7c1398df7c823068e6a120d3921847929d428e000000000000000000000000b8ce59fc3717ada4c02eadf9682a9e934f625ebb" + "address": "0x325f00c155ae001f1713d48d4b04c87d5a6492b3", + "initCode": "0x60c0346100d157601f615ba038819003918201601f19168301916001600160401b038311848410176100d55780849260409485528339810103126100d157610052602061004b836100e9565b92016100e9565b6001600160a01b0390911660805260a052604051615aa290816100fe8239608051818181610842015281816109820152818161143a015281816116c7015281816127bb015281816145ca015281816146ec01528181614a5c0152614c00015260a051818181610610015281816107740152818161191101526136c80152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036100d15756fe60806040526004361015610011575f80fd5b5f5f3560e01c806246912e146123be57806301ffc9a714612368578063037a06a41461211c57806304c73f60146120fe578063057f0370146120445780631f74a0b514611fd257806321081d3c14611f97578063248a9ca314611f575780632e748b2114611dfb5780632f2ff15d14611db0578063319adf9f146119e857806336568abe146119a357806337710e201461194e57806339fff098146118b75780633b1c6a01146115bc5780633cf3a025146115875780634265fe861461153c578063490e662f146115015780634b3b029b146114c6578063502a82e214611409578063521c98ba14610cd857806369b97ac714610cba57806379c7b60b14610c6557806379c7f28914610b6657806390a0827b14610b2d57806391d1485414610ad657806396cc2cfb14610882578063a217fddf14610866578063a4b672b614610822578063af5de6f914610798578063c55dae6314610754578063ccbedaec146104e9578063d06e28ed146103fc578063d547741f146103a8578063e38b73a91461038c578063ea0aaf241461032e578063eb84e7f21461021a5763ff3eae00146101bb575f80fd5b346102175760c0366003190112610217576101d536612562565b7fc56a3250645180a53cd9e196b2ee0a634a4f54e2edf59ea457f2083917e4d1005415610208576102059061492d565b80f35b63cd6d8f7d60e01b8252600482fd5b80fd5b50346102175760203660031901126102175760408160c09260a0835161023f8161250a565b8281528260208201528285820152826060820152826080820152015260043581527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0360205220604051906102928261250a565b6001600160a01b03815416918281526001600160401b0360018301549281600260208501926001600160a01b038716845282604087019760a01c1687520154946001600160a01b036060860193838816855260ff60a06080890198828b60401c1615158a52019860481c1615158852604051988952511660208801525116604086015251166060840152511515608083015251151560a0820152f35b503461021757602036600319011261021757602061038361034d612421565b6001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0560205260405f2090565b54604051908152f35b5034610217578060031936011261021757602060405160068152f35b5034610217576040366003190112610217576103f86004356103c8612437565b906103f36103ee825f525f516020615a4d5f395f51905f52602052600160405f20015490565b612be7565b613628565b5080f35b503461021757604036600319011261021757610416612421565b602435906fffffffffffffffffffffffffffffffff82168092036104da5761043c612b78565b8261044682613027565b63ffffffff6001600160a01b03608083015116915116813b156104da57829160448392604051948593849263435354d360e01b845260048401528960248401525af180156104de576104c5575b50506001600160a01b03167f02366c0d102495be1ee805b749be7baebab4fc0710c6d3f38751f1a22bd711648380a380f35b816104cf91612541565b6104da57825f610493565b8280fd5b6040513d84823e3d90fd5b50346102175760603660031901126102175780610504612421565b61050c61244d565b610514612463565b9061051d612aba565b610557836001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0260205260405f2090565b544311156106b2574361059a846001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0260205260405f2090565b556001600160a01b0360016105df856001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0160205260405f2090565b015416926001600160401b0382166106b7575b50506001600160401b038116610606575050f35b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001683525f516020615a2d5f395f51905f526020526001600160401b0360046040852001541690823b156106b25760405163a703334f60e01b81526001600160401b039283166004820152336024820152911660448201529082908290606490829084905af180156104de576106a15750f35b816106ab91612541565b6102175780f35b505050fd5b6001600160a01b031684525f516020615a2d5f395f51905f526020526001600160401b03600460408620015416833b156107505760405163a703334f60e01b81526001600160401b03918216600482015233602482015291166044820152838160648183875af1908115610745578491156105f2578161073691612541565b61074157825f6105f2565b5050fd5b6040513d86823e3d90fd5b8480fd5b503461021757806003193601126102175760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b50346102175760203660031901126102175760206001600160a01b036107c46107bf612421565b612f58565b610b046040516107d685830182612541565b81815284810191614f298339519020604051908482019260ff60f81b84523060601b60218401526035830152605582015260558152610816607582612541565b51902016604051908152f35b503461021757806003193601126102175760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b5034610217578060031936011261021757602090604051908152f35b50346102175760403660031901126102175761089c612421565b906108a5612b78565b6108ae82612d18565b6108b783613027565b926108cb60e083510151840b6024356148ac565b9460208401906108f46001600160401b03835116886001600160401b0360a08901511691613553565b15610aad57859650610936846001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0460205260405f2090565b610941848254612623565b90556001600160a01b038416807f410b9a8c926b6c439cdceb39c0bb8f829838a25bc5a26af9d4c263d1313cc46b6020604051878152a26001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016803b15610aa95760405163f3fef3a360e01b81526001600160a01b0383166004820152602481018690529088908290604490829084905af18015610a9e5785918991610a81575b50506001600160401b0391610a116001600160a01b0392608060e0960192848451169061308b565b511692511694510151850b93813b15610a7d57604051639c45c34b60e01b81526001600160a01b039490941660048501526001600160401b0316602484015260448301919091525f9290920b60648201529082908290608490829084905af180156104de576106a15750f35b8580fd5b81925090610a8e91612541565b610a9a5783875f6109e9565b8680fd5b6040513d8a823e3d90fd5b8780fd5b6377e88bc960e11b86526001600160a01b0384166004526001600160401b038716602452604486fd5b5034610217576040366003190112610217576001600160a01b036040610afa612437565b9260043581525f516020615a4d5f395f51905f526020522091165f52602052602060ff60405f2054166040519015158152f35b503461021757604036600319011261021757610205610b4a612421565b610b52612aba565b602435906001600160a01b0333911661308b565b50346102175760203660031901126102175760a0610bc4610b85612421565b610b8d612a90565b506001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0160205260405f2090565b6001600160a01b03600160405192610bdb846124ef565b63ffffffff8154818116865260ff8160201c1615156020870152818160281c16604087015260481c1660608501520154166080820152610c6360405180926001600160a01b036080809263ffffffff815116855260208101511515602086015263ffffffff604082015116604086015263ffffffff6060820151166060860152015116910152565bf35b5034610217576020366003190112610217576020610383610c84612421565b6001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0460205260405f2090565b50346102175780600319360112610217576020604051620f42408152f35b50346102175760a036600319011261021757610cf2612421565b610cfa612479565b90610d0361248c565b6064356001600160401b038116810361075057608435916001600160401b0383168303610a7d57610d32612b29565b610d3a612999565b508580604051602081019063ffffffff8916825260208152610d5d604082612541565b519061080c5afa610d6c612a61565b90156113fa578051810160208101916020818303126113d6576020810151906001600160401b0382116113f65701906101009082900312610aa95760405191610db483612525565b60208201516001600160401b0381116113f65760209083010181601f820112156113f65789815191610de583612a46565b92610df36040519485612541565b80845284602082840101116104da578060208093018386015e83010152835260408201516001600160401b0381116113f6576020908301019080601f830112156113f6578151916001600160401b0383116113c2578260051b9060405193610e5e6020840186612541565b84526020808501928201019283116113f257602001905b8282106113da57505050602083015261010090610e94606082016130cc565b6040840152610ea560808201614e68565b6060840152610eb660a08201614e68565b6080840152610ec760c08201614e7c565b60a0840152610ed860e08201614e7c565b60c0840152015180880b8082036113d657610ef89160e0840152846134b2565b5060405191610f068361250a565b825263ffffffff87166020830152821515604083015260608201526001600160401b03831660808201526001600160401b03841660a08201526001600160a01b03851687525f516020615a2d5f395f51905f5260205260408720815180518051906001600160401b0382116113c25781908b610f828654612a0e565b601f8111611387575b5050602090601f8311600114611325578c9261131a575b50508160011b915f199060031b1c19161782555b6001820160208201518051906001600160401b03821161130657680100000000000000008211611306576020908c84548486558085106112ba575b505001918b5260208b20908b5b8160021c811061127557506003198116810380611219575b505050506001600160a01b03947f12cf3d04179e82c834f3ee7169a5df80651aa65530127f9ddb04c8cd8224435397946001600160401b039460a06006868896600260809d9901888060408401511616891982541617815560608201517fffffffff0000000000000000000000000000000000000000ffffffffffffffff7bffffffffffffffffffffffffffffffffffffffff000000000000000083549260401b16911617905560038201908c808f83015116166001600160a01b0319835416178255848101519082547fffffffffffffffffff000000ffffffffffffffffffffffffffffffffffffffff74ff000000000000000000000000000000000000000060e075ff00000000000000000000000000000000000000000060c086015160a81b1694015160b01b76ff000000000000000000000000000000000000000000001694891b16911617171790556111a76004820188806020880151161689198254161781556040860151151568ff0000000000000000825491151560401b169068ff00000000000000001916179055565b60608401516005820155019185808c8301511616861984541617835501516fffffffffffffffff000000000000000082549160401b16906fffffffffffffffff0000000000000000191617905563ffffffff6040519a168a52151560208a01521660408801521660608601521692a280f35b928c938d5b8181106112375750505060021c015584848460a0611016565b909194602061126b6001926001600160401b03895116908560031b6001600160401b03809160031b9316831b921b19161790565b960192910161121e565b8c8d5b6004811061128d575083820155600101610ffe565b85519095916001916020916001600160401b0360068a901b81811b199092169216901b1792019501611278565b8382876112e6945220600380870160021c820192601888831b16806112ed575b500160021c0190614896565b8c5f610ff1565b5f198501908154905f19908a03851b1c1690555f6112da565b634e487b7160e01b8c52604160045260248cfd5b015190505f80610fa2565b858d52818d209250601f1984168d5b81811061136f5750908460019594939210611357575b505050811b018255610fb6565b01515f1960f88460031b161c191690555f808061134a565b92936020600181928786015181550195019301611334565b602082886113b1945220601f850160051c810191602086106113b8575b601f0160051c0190614896565b8b5f610f8b565b90915081906113a4565b634e487b7160e01b8b52604160045260248bfd5b8880fd5b602080916113e7846130cc565b815201910190610e75565b8b80fd5b8980fd5b639b0c335d60e01b8752600487fd5b503461021757604036600319011261021757611423612421565b60243561142e612aba565b826001600160a01b03807f000000000000000000000000000000000000000000000000000000000000000016931692803b156114c25760405163f3fef3a360e01b81526001600160a01b0385166004820152602481018490529082908290604490829084905af180156104de576114ad575b505061020591339061308b565b816114b791612541565b6104da57825f6114a0565b5080fd5b503461021757806003193601126102175760206040517f5300fde95a5e446527bf6aa7c91bd6661bef5398afc77061d9bc87efb80b7ef68152f35b503461021757806003193601126102175760206040517fc56a3250645180a53cd9e196b2ee0a634a4f54e2edf59ea457f2083917e4d1008152f35b50346102175760c03660031901126102175761155736612562565b7fc56a3250645180a53cd9e196b2ee0a634a4f54e2edf59ea457f2083917e4d100541561020857610205906142b4565b5034610217576020366003190112610217576115a1612aba565b80808080600435335af16115b3612a61565b50156102175780f35b5034610217576060366003190112610217576115d6612437565b604435906001600160a01b0382169182810361186e576115f4612b78565b6115fd81612d18565b61160683612fa0565b610750576040810151156107505760016001600160401b03608083015116016001600160401b0381116118a35790859161164760e083510151840b826134b2565b509361167160208401926001600160401b03845116906001600160401b0360a08701511691613553565b1561186e576116b0816001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0560205260405f2090565b6116bb868254612623565b90556001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016803b156107505760405163f3fef3a360e01b81526001600160a01b0389166004820152602481018790529085908290604490829084905af1908115611898578591611883575b50506001600160401b039261174d60e08585511692510151860b876148ac565b509081611872575b5050505116926117bf60246040516001600160a01b036020820194169687855260408201526001606082015260608152611790608082612541565b6040519384916280000360e11b60208401525180918484015e810185838201520301601f198101835282612541565b7333333333333333333333333333333333333333333b156114c2578161180191604051809381926317938e1360e01b83526020600484015260248301906124cb565b0381837333333333333333333333333333333333333333335af180156104de57611859575b50506040519081527f2b348084e891b20d449a69f90114c5ab7bf7c84d64c25445c8ab440d469a6b4d602060043592a480f35b8161186391612541565b61186e57835f611826565b8380fd5b61187b92614cd4565b5f8080611755565b8161188d91612541565b61186e57835f61172d565b6040513d87823e3d90fd5b634e487b7160e01b86526011600452602486fd5b50346102175760e0366003190112610217576118d236612562565b7fc56a3250645180a53cd9e196b2ee0a634a4f54e2edf59ea457f2083917e4d1005415610208576001600160a01b036060820151166001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145f1461194157610205906142b4565b6102059060c435906136c5565b503461021757602036600319011261021757602061038361196d612421565b6001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0260205260405f2090565b5034610217576040366003190112610217576119bd612437565b336001600160a01b038216036119d9576103f890600435613628565b63334bd91960e11b8252600482fd5b5034610217576020366003190112610217576001600160a01b03611a0a612421565b611a126129d7565b501681525f516020615a2d5f395f51905f52602052604081209060405190611a398261250a565b604051611a4581612525565b60405184548184611a5583612a0e565b8083529260018116908115611d915750600114611d50575b611a7992500382612541565b815260018401604051808260208294549384815201908652602086209286905b806003830110611cfe57611acf945491818110611ce4575b818110611cc7575b818110611caa575b10611c9c575b500382612541565b60208201526001600160a01b0360028501546001600160401b038116604084015260401c16606082015260038401546001600160a01b038116608083015260ff8160a01c1660a083015260ff8160a81c1660c083015260b01c820b60e0820152825260048301549260208301906001600160401b038516825260ff604085019560401c161515855260066005820154916060860192835201549460808501926001600160401b03871684526001600160401b0360a087019760401c1687526040519560208752519460c06020880152611bb6865161010060e08a01526101e08901906124cb565b60208088015189830360df19016101008b015280518084529282019892910190835b818110611c7d57505050926001600160401b03809693899a969360e0878c610120866040819c0151169101528c6101406001600160a01b036060840151169101528c6101606001600160a01b036080840151169101528c61018060ff60a0840151169101528c6101a060ff60c0840151169101520151900b6101c08b0152511660408901525115156060880152516080870152511660a0850152511660c08301520390f35b82516001600160401b03168a526020998a019990920191600101611bd8565b60c01c81526020015f611ac7565b9260206001916001600160401b038560801c168152019301611ac1565b9260206001916001600160401b038560401c168152019301611ab9565b9260206001916001600160401b0385168152019301611ab1565b916004919350608060019186546001600160401b03811682526001600160401b038160401c1660208301526001600160401b0381841c16604083015260c01c6060820152019401920184929391611a99565b5090868552602085209085915b818310611d75575050906020611a7992820101611a6d565b6020919350806001915483858801015201910190918392611d5d565b60209250611a7994915060ff191682840152151560051b820101611a6d565b5034610217576040366003190112610217576103f8600435611dd0612437565b90611df66103ee825f525f516020615a4d5f395f51905f52602052600160405f20015490565b613581565b503461021757608036600319011261021757611e15612421565b611e1d61244d565b611e25612463565b90606435926fffffffffffffffffffffffffffffffff841680940361075057611e4c612b78565b84611e5682613027565b926001600160a01b0360808501511693843b156104da57611ee06101048492836001600160401b03806040519788968795636f0d192560e11b875260048701906001600160a01b036080809263ffffffff815116855260208101511515602086015263ffffffff604082015116604086015263ffffffff6060820151166060860152015116910152565b169a8b60a485015216988960c48401528b60e48401525af180156104de57611f42575b50506001600160a01b036040917f500d805a349357fe5d4759fe052d79bd744b82c8452837f52a7456ec7d3d751c93835195865260208601521692a380f35b81611f4c91612541565b61075057845f611f03565b5034610217576020366003190112610217576020611f8f6004355f525f516020615a4d5f395f51905f52602052600160405f20015490565b604051908152f35b503461021757806003193601126102175760206040517f880a9ba888678c7fe4e8c4f028c224f26ce12a3bed6e96025c61ef8a5db6312f8152f35b503461021757606036600319011261021757611fec612421565b6024356001600160401b0381116104da5761200b90369060040161249b565b9092604435906001600160401b038211610217576020611f8f868686612034366004890161249b565b93909261203f612b78565b612630565b50346120fa5760403660031901126120fa5761205e612421565b9060243561206a612aba565b6001600160a01b03608061207d85613027565b015116803b156120fa576040516390a0827b60e01b81526001600160a01b038516600482015260248101839052905f908290604490829084905af180156120ef576120d9575b5061020591926001600160a01b0333911661308b565b61020592505f6120e891612541565b5f916120c3565b6040513d5f823e3d90fd5b5f80fd5b346120fa575f3660031901126120fa5760206040516305f5e1008152f35b346120fa5760a03660031901126120fa57612135612421565b61213d612479565b61214561248c565b9160643563ffffffff81168091036120fa576084359163ffffffff83168093036120fa5761217281612d18565b5061217b612b29565b6001600160a01b0360016121bf836001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0160205260405f2090565b015416908115612317575b63ffffffff604051956121dc876124ef565b16948581526001600160a01b036001816020840199151595868b52604085019a888c52606086018a8152836080880193169c8d845263ffffffff6122508a6001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0160205260405f2090565b985116926cffffffff00000000000000000068ffffffff000000000064ff000000008b549351151560201b16935160281b16935160481b16936cffffffff000000000000000000199168ffffffffffffffffff1916171617171785555116920191166001600160a01b03198254161790556122ca86612fa0565b156120fa577ff0dcc8957a27613dd82c92382ad37254b9744169d0caa5f3873cfec7ba794eb9936080936001600160a01b03936040519788526020880152604087015260608601521692a3005b905061232281612f58565b604051610b048082018281106001600160401b03821117612354578291614f29833903905ff580156120ef57906121ca565b634e487b7160e01b5f52604160045260245ffd5b346120fa5760203660031901126120fa5760043563ffffffff60e01b81168091036120fa57602090637965db0b60e01b81149081156123ad575b506040519015158152f35b6301ffc9a760e01b149050826123a2565b346120fa5760403660031901126120fa5761241f6123da612421565b6001600160a01b036123ea61244d565b916123f3612aba565b165f525f516020615a2d5f395f51905f526020526001600160401b03600460405f200154163390612c34565b005b600435906001600160a01b03821682036120fa57565b602435906001600160a01b03821682036120fa57565b602435906001600160401b03821682036120fa57565b604435906001600160401b03821682036120fa57565b6024359063ffffffff821682036120fa57565b6044359081151582036120fa57565b9181601f840112156120fa578235916001600160401b0383116120fa576020808501948460051b0101116120fa57565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b60a081019081106001600160401b0382111761235457604052565b60c081019081106001600160401b0382111761235457604052565b61010081019081106001600160401b0382111761235457604052565b90601f801991011681019081106001600160401b0382111761235457604052565b60c09060031901126120fa576040519061257b8261250a565b81600435815260243560208201526044356001600160a01b03811681036120fa5760408201526064356001600160a01b03811681036120fa576060820152608435608082015260a060a435910152565b91908110156125db5760051b0190565b634e487b7160e01b5f52603260045260245ffd5b906001600160401b03809116911601906001600160401b03821161260f57565b634e487b7160e01b5f52601160045260245ffd5b9190820180921161260f57565b9194935f935f968281036120fa57612678856001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0260205260405f2090565b544311156120fa57929061268b85612d18565b91608061269787613027565b01916001600160a01b03835116946126be60208601966001600160401b03885116906130e0565b965f975b818d1061292e575b50508a1592506129239150505743612712866001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0260205260405f2090565b556001600160401b0384168061272c575b50505050505050565b6127416127649560e0855101515f0b906134b2565b6001600160401b03869792975116906001600160401b0360a08701511691613553565b1561290457506127a4856001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0460205260405f2090565b6127af858254612623565b90556001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166001600160a01b03861690803b156120fa5760405163f3fef3a360e01b81526001600160a01b038316600482015260248101879052905f908290604490829084905af180156120ef576128d8575b506001600160a01b038261284c876001600160401b03948460e09751169061308b565b511693511691510151850b93823b15610a7d57604051639c45c34b60e01b81526001600160a01b0390911660048201526001600160401b03909116602482015260448101929092525f9290920b606482015290829082908183816084810103925af180156104de576128c3575b8080808080612723565b6128ce828092612541565b61021757806128b9565b6001600160401b0391975060e0926128f85f6001600160a01b0393612541565b5f989093509150612829565b6001600160a01b03866377e88bc960e11b5f521660045260245260445ffd5b505f96505050505050565b61293d8d83879f9b96976125cb565b359061294a8a85886125cb565b356001600160401b03811681036120fa5761297392898d926001600160a01b038b5116926131c2565b9490911561299157600191612987916125ef565b98019b93926126c2565b989c506126ca565b604051906129a682612525565b5f60e08360608152606060208201528260408201528260608201528260808201528260a08201528260c08201520152565b604051906129e48261250a565b5f60a0836129f0612999565b81528260208201528260408201528260608201528260808201520152565b90600182811c92168015612a3c575b6020831014612a2857565b634e487b7160e01b5f52602260045260245ffd5b91607f1691612a1d565b6001600160401b03811161235457601f01601f191660200190565b3d15612a8b573d90612a7282612a46565b91612a806040519384612541565b82523d5f602084013e565b606090565b60405190612a9d826124ef565b5f6080838281528260208201528260408201528260608201520152565b335f9081527f176c3a4e1b4d1d61213187c0dde7f83e2e2c933a339cb5403b4090bc2f0aa49a602052604090205460ff1615612af257565b63e2517d3f60e01b5f52336004527f880a9ba888678c7fe4e8c4f028c224f26ce12a3bed6e96025c61ef8a5db6312f60245260445ffd5b335f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d602052604090205460ff1615612b6157565b63e2517d3f60e01b5f52336004525f60245260445ffd5b335f9081527fcf7720576cdb70176b3017d893bcb89ba0f36ed0261d4350fd0180e938b3bacd602052604090205460ff1615612bb057565b63e2517d3f60e01b5f52336004527f5300fde95a5e446527bf6aa7c91bd6661bef5398afc77061d9bc87efb80b7ef660245260445ffd5b805f525f516020615a4d5f395f51905f5260205260405f206001600160a01b0333165f5260205260ff60405f20541615612c1e5750565b63e2517d3f60e01b5f523360045260245260445ffd5b6024906001600160401b03612ca3939481604051936001600160a01b03602086019816885216604084015216606082015260608152612c74608082612541565b6040519384916280000360e11b60208401525180918484015e81015f838201520301601f198101835282612541565b7333333333333333333333333333333333333333333b156120fa575f612ce591604051809381926317938e1360e01b83526020600484015260248301906124cb565b0381837333333333333333333333333333333333333333335af180156120ef57612d0c5750565b5f612d1691612541565b565b6001600160a01b0390612d296129d7565b50165f525f516020615a2d5f395f51905f5260205260405f2060405191612d4f8361250a565b60405191612d5c83612525565b6040518154815f612d6c83612a0e565b8083529260018116908115612f395750600114612ef8575b612d9092500382612541565b8352600181019360405180602087549182815201965f5260205f20905f915b816003840110612eac5797612df09284926001600160a01b039798999a5491818110611ce457818110611cc757818110611caa5710611c9c57500382612541565b60208601528160028401546001600160401b038116604088015260401c1660608601526001600160401b0360066003850154946080880197858716895260ff8760a01c1660a082015260c081019660ff8160a81c16885260b01c5f0b60e0820152845260ff6004820154848116602087015260401c1615156040850152600581015460608501520154818116608084015260401c1660a082015293511615159081612e9e575b50156120fa57565b60ff9150511615155f612e96565b97600160806004928b546001600160401b03811682526001600160401b038160401c1660208301526001600160401b0381841c16604083015260c01c6060820152019901920191612daf565b5090835f5260205f20905f915b818310612f1d575050906020612d9092820101612d84565b6020919350806001915483858801015201910190918392612f05565b60209250612d9094915060ff191682840152151560051b820101612d84565b60405160208101913060601b83526bffffffffffffffffffffffff199060601b16603482015260288152612f8d604882612541565b51902090565b519081151582036120fa57565b5f80916040516001600160a01b03602082019216825260208152612fc5604082612541565b51906108105afa612fd4612a61565b9015613018576020818051810103126120fa5760405190602082018281106001600160401b038211176123545760405261301090602001612f93565b809152151590565b6313dd7ccd60e31b5f5260045ffd5b61303390610b8d612a90565b906001600160a01b0360016040519361304b856124ef565b63ffffffff8154818116875260ff8160201c1615156020880152818160281c16604088015260481c1660608601520154169182608082015291156120fa57565b60405163a9059cbb60e01b60208201526001600160a01b03929092166024830152604480830193909352918152612d16916130c7606483612541565b614b17565b51906001600160401b03821682036120fa57565b5f919082916001600160401b03604051916001600160a01b03602084019416845216604082015260408152613116606082612541565b51906108015afa613125612a61565b9015613193576060818051810103126120fa576040519060608201918083106001600160401b03841117612354576001600160401b0392604052604061318c6060613172602086016130cc565b948585526131818482016130cc565b6020860152016130cc565b9101521690565b639d2c8fcb60e01b5f5260045ffd5b906001600160401b03809116911603906001600160401b03821161260f57565b95929190939495805f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0360205260405f20916001600160a01b0383541695861561343a576002840180549860ff8a60481c1661342b576001600160a01b03600187015491166001600160a01b03821603613418576001600160401b039060a01c166001600160401b038a1660ff8b60401c165f146133c1575080926001600160401b03811682115f146133b957613279916131a2565b985b6132858a8c6125ef565b9a6001600160401b038c166001600160401b038516116133a8575069010000000000000000009069ff00000000000000000019161790556132c88160019a6131a2565b966001600160401b0360206001600160a01b036132ec60e0875101515f0b8d6134b2565b50981694015116833b156120fa5760405163a703334f60e01b81526001600160401b0391821660048201526001600160a01b0392909216602483015282166044820152915f908390606490829084905af19081156120ef577f53b9d5645f8b7ccd861ebd6036860fd21716451d1f238cb3720f12f3c49b0c4392604092613398575b506001600160a01b0360018187541696015416956001600160401b038351921682526020820152a4565b5f6133a291612541565b5f61336e565b5f9b508b9a50985050505050505050565b50505f613279565b9092809a93806001600160401b038316105f1461340d576133ec916133e5916131a2565b809b6125ef565b816001600160401b038216115f1461340657505b9161327b565b9050613400565b50506133ec5f6133e5565b8463358d72d160e01b5f5260045260245ffd5b63f7348a7960e01b5f5260045ffd5b631a40316d60e01b5f5260045ffd5b60ff16604d811161260f57600a0a90565b9190820391821161260f57565b8115613471570490565b634e487b7160e01b5f52601260045260245ffd5b90620f4240820291808304620f4240149015171561260f57565b8181029291811591840414171561260f57565b9190805f0b80155f146134cf5750506001600160401b0382169190565b5f8113156134fa57506134e76134f69160ff16613449565b6001600160401b03841661349f565b9190565b9050607f19811461260f576001600160401b039261351f613528925f0360ff16613449565b93849116612623565b5f19810190811161260f5761354f613548846001600160401b0393613467565b938461349f565b1690565b6135796001600160401b039293613573849361356e81614bb0565b6130e0565b946125ef565b169116101590565b805f525f516020615a4d5f395f51905f5260205260405f206001600160a01b0383165f5260205260ff60405f205416155f1461362257805f525f516020615a4d5f395f51905f5260205260405f206001600160a01b0383165f5260205260405f20600160ff198254161790556001600160a01b03339216907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b50505f90565b805f525f516020615a4d5f395f51905f5260205260405f206001600160a01b0383165f5260205260ff60405f2054165f1461362257805f525f516020615a4d5f395f51905f5260205260405f206001600160a01b0383165f5260205260405f2060ff1981541690556001600160a01b03339216907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b907f0000000000000000000000000000000000000000000000000000000000000000604083016136fe6001600160a01b03825116612fa0565b1561423f576001600160a01b038216805f525f516020615a2d5f395f51905f5260205260405f2090604051946137338661250a565b60405161373f81612525565b6040518454815f61374f83612a0e565b808352926001811690811561422057506001146141df575b61377392500382612541565b815260018401604051808260208294549384815201905f5260205f20925f905b80600383011061418d576137c5945491818110611ce457818110611cc757818110611caa5710611c9c57500382612541565b60208201526001600160a01b0360028501546001600160401b038116604084015260401c16606082015260038401546001600160a01b038116608083015260ff8160a01c1660a083015260ff8160a81c1660c083015260b01c5f0b60e08201528652600660048401549360ff60208901956001600160401b038116875260401c1615156040890152600581015460608901520154966001600160401b03881660808801526001600160401b0360a088019860401c168852606081016001600160a01b038151165f525f516020615a2d5f395f51905f5260205260405f2095604051966138b08861250a565b6040516138bc81612525565b6040518254815f6138cc83612a0e565b808352926001811690811561416e575060011461412d575b6138f092500382612541565b81526040516001830180548083525f9182526020808320849391840192905b8160038401106140db5754918181106140c1575b8181106140a4575b818110614087575b10614079575b50036139459082612541565b602082015260028201546001600160401b038116604083015260401c6001600160a01b0316606082015260038201546001600160a01b03811660808301528060a01c60ff1660a08301528060a81c60ff1660c083015260b01c5f0b60e0820152885260048101546001600160401b03811660208a015260401c60ff161515604089015260058101546060890152600601546001600160401b038116608089015260401c6001600160401b031660a088015281516001600160a01b0316613a0a90613027565b9383519060a08501918251996080870191825115159b613a2991612623565b8d5160e001515f0b613a3a916148ac565b90508d5160c0015160ff16825160c0015160ff1690613a5892614e9e565b9a1561404b578a925b5f8063ffffffff8b51166040516020810191825260208152613a84604082612541565b51906108085afa613a93612a61565b901561403c576020818051810103126120fa57898f9360ff60a0613ae19260206001600160401b03613ac982613ae799016130cc565b16950197885115155f14614031575051015116613449565b9061349f565b825115613fe75763ffffffff613b028160608d015116614bd6565b16620f4240019081620f42401161260f57613b38620f424091613ae16001600160401b039463ffffffff8f604001511690612623565b0416908351908115155f14613fdf5750915b5115613f9e576305f5e100811015613f5e57505f5b613b7f613b6c8651613485565b613b798a51885190612623565b90612623565b5f1981019190821161260f57613b79613ba592613b9f8b51895190612623565b90613467565b606480830283810482148415171561260f578211613ee45750505085518c5160e001515f0b613bd3916148ac565b9d8e8b9c929c516001600160401b031691516001600160401b031690613bf892613553565b15613e94579c8a9b9c9d85516001600160a01b03169387516001600160a01b0316935115159360405195613c2b8761250a565b86526020860190815260408601926001600160401b03169485845260608701926001600160401b0316968784526080810191825260a08101925f845260208d019586515f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0360205260405f2092516001600160a01b03166001600160a01b031683546001600160a01b0319161783556001830191516001600160a01b03166001600160a01b031682546001600160a01b0319161782555181549060a01b7bffffffffffffffff000000000000000000000000000000000000000016907fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff1617905560020192516001600160401b03166001600160401b03166001600160401b0319845416178355511515613d8190839068ff0000000000000000825491151560401b169068ff00000000000000001916179055565b51151581549060481b69ff000000000000000000169069ff00000000000000000019161790555194516001600160a01b031695516001600160a01b03169651935160405194855260208501526001600160401b031660408401526060830152608082015260a07f550576b2f9e0ac12dfd5dd2d5743b5b7f11f34302b5f6bec6ad60db81bd6a91891a4608001516001600160a01b03169283613e229261308b565b516001600160401b0316935160e001515f0b93813b156120fa57604051639c45c34b60e01b81526001600160a01b039490941660048501526001600160401b0316602484015260448301919091525f92830b60648301529091908290608490829084905af180156120ef57612d0c5750565b5050505050945095505092505081612d16947f8d61555dcf69ba745e97fdea78e2652d9cdd464ca521faad482fe796f6d5841c602080870151926001600160401b0360405191168152a35261492d565b999c5099509c50505050509450809650602091500151906001600160a01b038451169281810180911161260f575f19810190811161260f57811561347157612d16977fc8f90125c6a36c77a571201afc10310420481ab4895fadabb596d0ba71c22e3e92604092049082519182526020820152a3526142b4565b6305f5e0ff19016001600160401b03811161260f57613f98613f8d6001600160401b036305f5e1009316613485565b6305f5e0ff90612623565b04613b5f565b6305f5e100811115613fb157505f613b5f565b6305f5e100036001600160401b03811161260f57613f98613f8d6001600160401b036305f5e1009316613485565b905091613b4a565b63ffffffff613ffb8160608d015116614bd6565b16620f42400390620f4240821161260f57613b38620f424091613ae16001600160401b039463ffffffff8f60400151169061345a565b905051015116613449565b635cffc5fb60e11b5f5260045ffd5b8261271003612710811161260f576127106140706001600160401b0392838f1661349f565b04169a92613a61565b60c01c81526020015f613939565b9260206001916001600160401b038560801c168152019301613933565b9260206001916001600160401b038560401c16815201930161392b565b9260206001916001600160401b0385168152019301613923565b935090916001608060049286546001600160401b03811682526001600160401b038160401c1660208301526001600160401b0381841c16604083015260c01c606082015201940192019084939261390f565b5090845f5260205f20905f915b8183106141525750509060206138f0928201016138e4565b602091935080600191548385880101520191019091839261413a565b602092506138f094915060ff191682840152151560051b8201016138e4565b916004919350608060019186546001600160401b03811682526001600160401b038160401c1660208301526001600160401b0381841c16604083015260c01c6060820152019401920184929391613793565b5090865f5260205f20905f915b81831061420457505090602061377392820101613767565b60209193508060019154838588010152019101909183926141ec565b6020925061377394915060ff191682840152151560051b820101613767565b6080840151909392501561426a576001600160a01b038351166320a2097d60e11b5f5260045260245ffd5b6001600160a01b0390612d16937f31604f5790fbed7a37471cea010a8f08483441a6e1235ac48bb59337439a630d60208481870151935116604051908152a216606082015261492d565b6060810151906001600160a01b035f921691825f525f516020615a2d5f395f51905f5260205260405f206040516142ea8161250a565b6040516142f681612525565b6040518354815f61430683612a0e565b80835292600181169081156148775750600114614836575b61432a92500382612541565b815260018301604051808260208294549384815201905f5260205f20925f905b8060038301106147e45761437c945491818110611ce457818110611cc757818110611caa5710611c9c57500382612541565b60208201526001600160a01b0360028401546001600160401b038116604084015260401c16606082015260038301546001600160a01b038116608083015260ff8160a01c1660a083015260ff8160a81c1660c083015260b01c5f0b60e08201528152600660048301549260ff60208401946001600160401b038116865260401c1615156040840152600581015460608401520154906001600160401b03821660808201526001600160401b0360a082019260401c168252604085019361444b6001600160a01b03865116612fa0565b156147745785519161271061447461446960a08a0195865190612623565b60808a01519061349f565b049383519480861161476c575b50846146ca575b6144c06144a7614499878b51612623565b60e0855101515f0b906148ac565b919092826001600160401b03808b511692511691613553565b1561467c5750846145c0575b61455d906001600160401b037fb021c853215aadb12b6fa8afa7b3158201517d9abf7f756cdbb67bd66abc5a1c976145348c6001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0460205260405f2090565b61453f898254612623565b905551169360e06001600160a01b038a511694510151900b906148ac565b919092836145a4575b5050505061459f6001600160a01b0360208701519551169551915192604051938493846040919493926060820195825260208201520152565b0390a4565b6145b26145b794828c614cd4565b612c34565b5f808080614566565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001695863b156120fa5760405163f3fef3a360e01b81526001600160a01b038b16600482015260248101879052965f908890604490829084905af19687156120ef577fb021c853215aadb12b6fa8afa7b3158201517d9abf7f756cdbb67bd66abc5a1c97614659575b5095506144cc565b61455d929194505f61466a91612541565b6001600160401b035f94919250614651565b9793505050507f8d61555dcf69ba745e97fdea78e2652d9cdd464ca521faad482fe796f6d5841c9350602092508291506146b58161492d565b0151926001600160401b0360405191168152a3565b6146d9858a60208b0151614bf1565b614488576040516370a0823160e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031660048201529094506020816024818c5afa9081156120ef575f9161473a575b5093614488565b90506020813d602011614764575b8161475560209383612541565b810103126120fa57515f614733565b3d9150614748565b94505f614481565b505050506080820151909250156147a2576001600160a01b038251166320a2097d60e11b5f5260045260245ffd5b612d16917f31604f5790fbed7a37471cea010a8f08483441a6e1235ac48bb59337439a630d60206001600160a01b0381850151935116604051908152a261492d565b916004919350608060019186546001600160401b03811682526001600160401b038160401c1660208301526001600160401b0381841c16604083015260c01c606082015201940192018492939161434a565b5090855f5260205f20905f915b81831061485b57505090602061432a9282010161431e565b6020919350806001915483858801015201910190918392614843565b6020925061432a94915060ff191682840152151560051b82010161431e565b8181106148a1575050565b5f8155600101614896565b9190805f0b9081155f146148c95750506001600160401b03821690565b5f821315614904576148de915060ff16613449565b9182156134715761354f6148fd82856001600160401b0394069061345a565b9384613467565b505f0380805f0b0361260f5761354f6149276001600160401b039260ff16613449565b8461349f565b805161271061495061494560a0850193845190612623565b60808501519061349f565b0481518181115f14614b0f5750905b8190602084019161498283519460608701956001600160a01b0387511690614bf1565b15614b08575b80614a52575b7f4755f239bb1b047245415cb917deced72a3ca8baebcef109c396ff332ea6f50f9161459f6001600160a01b03806149c7858a51612623565b966149df828a51169860408c0199848b51169061308b565b614a1c828a51166001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0460205260405f2090565b614a27878254612623565b9055519651169651169651915192604051938493846040919493926060820195825260208201520152565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916001600160a01b0385511692803b156120fa5760405163f3fef3a360e01b81526001600160a01b03949094166004850152602484018390525f908490604490829084905af19283156120ef577f4755f239bb1b047245415cb917deced72a3ca8baebcef109c396ff332ea6f50f93614af8575b50915061498e565b5f614b0291612541565b5f614af0565b505f614988565b90509061495f565b906001600160a01b03614b7892165f8060405193614b36604086612541565b602085527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564602086015260208151910182855af1614b72612a61565b91614efd565b8051908115918215614b8e575b5050156120fa57565b81925090602091810103126120fa576020614ba99101612f93565b5f80614b85565b6001600160401b03166001609d1b01806001609d1b1161260f576001600160a01b031690565b63ffffffff60649116029063ffffffff821691820361260f57565b6040516370a0823160e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811660048301529092169392909190602082602481885afa9182156120ef575f92614ca0575b5080821094851595614c61575b50505050565b7f5180f0ad9e9bd2296de2ee38c85d11c56613fa73f8ee66792f26ac318f1274749260609260405192835260208301526040820152a25f808080614c5b565b9091506020813d602011614ccc575b81614cbc60209383612541565b810103126120fa5751905f614c4e565b3d9150614caf565b9091906001600160401b038316614e4d576001600160a01b03919250166040515f806020830163095ea7b360e01b8152736b9e773128f453f5c2c60935ee2de2cbc5390a24602485015285604485015260448452614d33606485612541565b83519082865af1614d42612a61565b81614e16575b5080614e0c575b15614db9575b5050736b9e773128f453f5c2c60935ee2de2cbc5390a243b156120fa5760405190630acb7f4b60e21b8252600482015263ffffffff60248201525f8160448183736b9e773128f453f5c2c60935ee2de2cbc5390a245af180156120ef57612d0c5750565b614e05916130c760405163095ea7b360e01b6020820152736b9e773128f453f5c2c60935ee2de2cbc5390a2460248201525f604482015260448152614dff606482612541565b82614b17565b5f80614d55565b50813b1515614d4f565b8051801592508215614e2b575b50505f614d48565b81925090602091810103126120fa576020614e469101612f93565b5f80614e23565b6001600160a01b03614e61612d1694614bb0565b911661308b565b51906001600160a01b03821682036120fa57565b519060ff821682036120fa57565b9060ff8091169116039060ff821161260f57565b9160ff811660ff83168181145f14614eb7575050505090565b6001600160401b039492911115614ee557614ede614ed961354f948693614e8a565b613449565b911661349f565b614ef6614ed9859261354f95614e8a565b9116613467565b91925015614f1957815115614f10575090565b3b156120fa5790565b5080519081156120fa57602001fdfe60a080604052346100455733608052610aba908161004a82396080518181816086015281816101b80152818161039a015281816104d50152818161054c01526106a40152f35b5f80fdfe60806040526004361015610011575f80fd5b5f5f3560e01c8063435354d31461050a57806390a0827b146104a55780639c45c34b146100ad578063a703334f1461033e578063de1a324a146100cb578063e94b77c1146100ad5763eba61c0e14610067575f80fd5b346100aa57806003193601126100aa5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b80fd5b50346100aa576100c86100bf366105ee565b92919091610699565b80f35b50346100aa57366003190161010081126103265760a0136100aa5760405160a0810181811067ffffffffffffffff82111761032a5760405261010b6105db565b91828252602435918215158303610326576020810192835260443563ffffffff8116810361032257604082015260643563ffffffff81168103610322576060820152608435906001600160a01b0382168203610322576080015260a43567ffffffffffffffff81168091036103265760c4359067ffffffffffffffff82168092036103225760e435946fffffffffffffffffffffffffffffffff861680960361031e576001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016330361031e5763ffffffff6101ed911661066c565b9351151592811561030f57821561030057916102819391600493506040519263ffffffff60208501971687526040840152606083015260808201525f945f60a0830152600260c083015260e082015260e0815261024c61010082610636565b6020604051948592630100000160e01b83850152518091602485015e8201018281015f8152500301601f198101835282610636565b7333333333333333333333333333333333333333333b156102fc575f6102bb91604051809381926317938e1360e01b8352600483016108ff565b0381837333333333333333333333333333333333333333335af180156102f1576102e3575080f35b6102ef91505f90610636565b005b6040513d5f823e3d90fd5b5f80fd5b6313c0a8df60e01b8152600490fd5b63017461b760e71b8152600490fd5b8380fd5b8280fd5b5080fd5b634e487b7160e01b83526041600452602483fd5b50346100aa5760603660031901126100aa578060043567ffffffffffffffff811680910361049c57602435906001600160a01b0382168092036104a15760443567ffffffffffffffff811680910361049f576001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016330361049f5761041f91600491604051916020830195865260408301526060820152606081526103eb608082610636565b60206040519485926280000360e11b83850152518091602485015e820101828101868152500301601f198101835282610636565b7333333333333333333333333333333333333333333b1561049c578161045991604051809381926317938e1360e01b8352600483016108ff565b0381837333333333333333333333333333333333333333335af18015610491576104805750f35b8161048a91610636565b6100aa5780f35b6040513d84823e3d90fd5b50fd5b505b5050fd5b50346100aa5760403660031901126100aa576004356001600160a01b038116809103610326576001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163303610326576100c890602435903390610929565b50346102fc5760403660031901126102fc576105246105db565b602435906fffffffffffffffffffffffffffffffff82168092036102fc576001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633036102fc5760046105806102819261066c565b926040519063ffffffff60208301951685526040820152604081526105a6606082610636565b6020604051948592630100000b60e01b83850152518091602485015e8201018281015f8152500301601f198101835282610636565b6004359063ffffffff821682036102fc57565b60809060031901126102fc576004356001600160a01b03811681036102fc579060243567ffffffffffffffff811681036102fc579060443590606435805f0b81036102fc5790565b90601f8019910116810190811067ffffffffffffffff82111761065857604052565b634e487b7160e01b5f52604160045260245ffd5b63ffffffff6127109116019063ffffffff821161068557565b634e487b7160e01b5f52601160045260245ffd5b926001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633036102fc57805f0b9081155f1461088f5750505b816106e357505050565b67ffffffffffffffff16806108685750906001600160a01b03166040515f806020830163095ea7b360e01b8152736b9e773128f453f5c2c60935ee2de2cbc5390a2460248501528560448501526044845261073f606485610636565b83519082865af161074e610a1a565b81610839575b508061082f575b156107d7575b5050736b9e773128f453f5c2c60935ee2de2cbc5390a243b156102fc5760405190630acb7f4b60e21b8252600482015263ffffffff60248201525f8160448183736b9e773128f453f5c2c60935ee2de2cbc5390a245af180156102f1576107c7575b505b565b5f6107d191610636565b5f6107c3565b6108289161082360405163095ea7b360e01b6020820152736b9e773128f453f5c2c60935ee2de2cbc5390a2460248201525f60448201526044815261081d606482610636565b82610978565b610978565b5f80610761565b50813b151561075b565b805180159250821561084e575b50505f610754565b6108619250602080918301019101610960565b5f80610846565b6001609d1b0191826001609d1b11610685576001600160a01b03806107c594169116610929565b5f8213156108d0576108a4915060ff16610a09565b80156108bc57808306830392831161068557506106d9565b634e487b7160e01b5f52601260045260245ffd5b505f0380805f0b03610685576108e89060ff16610a09565b8281810291818304149015171561068557506106d9565b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b6107c5926001600160a01b036040519363a9059cbb60e01b6020860152166024840152604483015260448252610823606483610636565b908160209103126102fc575180151581036102fc5790565b906001600160a01b036109d992165f8060405193610997604086610636565b602085527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564602086015260208151910182855af16109d3610a1a565b91610a59565b80519081159182156109ef575b5050156102fc57565b610a029250602080918301019101610960565b5f806109e6565b60ff16604d811161068557600a0a90565b3d15610a54573d9067ffffffffffffffff82116106585760405191610a49601f8201601f191660200184610636565b82523d5f602084013e565b606090565b91925015610a7557815115610a6c575090565b3b156102fc5790565b5080519081156102fc57602001fdfea26469706673582212203fd47e556330422f822e06ffcc9361b37df27b2096abc2caa10bb784869550ee64736f6c634300081e00336c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800a26469706673582212207c7e21cd0f7e3312130737e1bddb054dacb09c3bdadfe6365f7d8551011448c264736f6c634300081e00330000000000000000000000003d589d40312bf2d20f13cd0af26a11144a9ca844000000000000000000000000b8ce59fc3717ada4c02eadf9682a9e934f625ebb" } ], "isFixedGasLimit": false }, { - "hash": "0x2e5b0b25ee1f629781571e91c81fea910546b5ba46203ae8b04ad51466eeb04f", + "hash": "0x4e4cb63c9999ab7ebe40c120279d061ffbe753e3afc8bf2b5c989474ade7cd72", "transactionType": "CALL", "contractName": "DonationBox", - "contractAddress": "0x1d7c1398df7c823068e6a120d3921847929d428e", + "contractAddress": "0x3d589d40312bf2d20f13cd0af26a11144a9ca844", "function": "transferOwnership(address)", - "arguments": ["0xDFa6EC7A77f90d9762459069EDd1ea78B853C67c"], + "arguments": ["0xc8786D517b4e224bB43985A38dBeF8588D7354CD"], "transaction": { "from": "0x9a8f92a830a5cb89a3816e3d267cb7791c16b04d", - "to": "0x1d7c1398df7c823068e6a120d3921847929d428e", + "to": "0x3d589d40312bf2d20f13cd0af26a11144a9ca844", "gas": "0x9925", "value": "0x0", - "input": "0xf2fde38b000000000000000000000000dfa6ec7a77f90d9762459069edd1ea78b853c67c", - "nonce": "0x3d0", + "input": "0xf2fde38b000000000000000000000000c8786d517b4e224bb43985a38dbef8588d7354cd", + "nonce": "0x2b7", "chainId": "0x3e7" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0xbe95b17d54711ee51a98a18e514ebe900ff65b012831f948ee2ee1ff12e38cbd", + "hash": "0xd8a7bc6a9a9a6e9b56f1579fedd45f64efe6c0f8de2eda7ac0ae0c67b6f13d7b", "transactionType": "CALL", "contractName": "PermissionedMulticallHandler", - "contractAddress": "0x2b20df3471e2751840a9c921696d62ea8bc4a391", + "contractAddress": "0xfd0876712dd9003d014cdcd8e5140b4efac9bfcc", "function": "grantRole(bytes32,address)", "arguments": [ "0x69048ea73402a715065a3029b4059a4e97d1461c95fa4fabca1084b5f34f4abe", - "0xDFa6EC7A77f90d9762459069EDd1ea78B853C67c" + "0xc8786D517b4e224bB43985A38dBeF8588D7354CD" ], "transaction": { "from": "0x9a8f92a830a5cb89a3816e3d267cb7791c16b04d", - "to": "0x2b20df3471e2751840a9c921696d62ea8bc4a391", + "to": "0xfd0876712dd9003d014cdcd8e5140b4efac9bfcc", "gas": "0x12401", "value": "0x0", - "input": "0x2f2ff15d69048ea73402a715065a3029b4059a4e97d1461c95fa4fabca1084b5f34f4abe000000000000000000000000dfa6ec7a77f90d9762459069edd1ea78b853c67c", - "nonce": "0x3d1", + "input": "0x2f2ff15d69048ea73402a715065a3029b4059a4e97d1461c95fa4fabca1084b5f34f4abe000000000000000000000000c8786d517b4e224bb43985a38dbef8588d7354cd", + "nonce": "0x2b8", "chainId": "0x3e7" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0xf4c612f17afd312e95f1d321c819d630f1c8c30c0b323317619af5fe9805eb09", + "hash": "0x3cd165c2aa3fad9741147d43d0f288514c88cfe47008ad453f4e9f656813929b", "transactionType": "CALL", "contractName": "DstOFTHandler", - "contractAddress": "0xdfa6ec7a77f90d9762459069edd1ea78b853c67c", + "contractAddress": "0xc8786d517b4e224bb43985a38dbef8588d7354cd", "function": "setAuthorizedPeriphery(uint32,bytes32)", - "arguments": ["30110", "0x000000000000000000000000cf0e59e044216e0d291f6652e8e15b6c8d69cea8"], + "arguments": ["30101", "0x0000000000000000000000004607bceaf7b22cb0c46882ffc9fab3c6efe66e5a"], "transaction": { "from": "0x9a8f92a830a5cb89a3816e3d267cb7791c16b04d", - "to": "0xdfa6ec7a77f90d9762459069edd1ea78b853c67c", + "to": "0xc8786d517b4e224bb43985a38dbef8588d7354cd", "gas": "0x11dcc", "value": "0x0", - "input": "0x52e12a14000000000000000000000000000000000000000000000000000000000000759e000000000000000000000000cf0e59e044216e0d291f6652e8e15b6c8d69cea8", - "nonce": "0x3d2", + "input": "0x52e12a1400000000000000000000000000000000000000000000000000000000000075950000000000000000000000004607bceaf7b22cb0c46882ffc9fab3c6efe66e5a", + "nonce": "0x2b9", + "chainId": "0x3e7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x623f7c599877cc15df1592b28ef0fa479419c661a63ccfa47d1bf21ae0e59fef", + "transactionType": "CALL", + "contractName": "DstOFTHandler", + "contractAddress": "0xc8786d517b4e224bb43985a38dbef8588d7354cd", + "function": "setAuthorizedPeriphery(uint32,bytes32)", + "arguments": ["30110", "0x0000000000000000000000002ac5ee3796e027da274fbde84c82173a65868940"], + "transaction": { + "from": "0x9a8f92a830a5cb89a3816e3d267cb7791c16b04d", + "to": "0xc8786d517b4e224bb43985a38dbef8588d7354cd", + "gas": "0x11dcc", + "value": "0x0", + "input": "0x52e12a14000000000000000000000000000000000000000000000000000000000000759e0000000000000000000000002ac5ee3796e027da274fbde84c82173a65868940", + "nonce": "0x2ba", "chainId": "0x3e7" }, "additionalContracts": [], @@ -131,43 +150,43 @@ "receipts": [ { "status": "0x1", - "cumulativeGasUsed": "0xe2d76", + "cumulativeGasUsed": "0x49bf0", "logs": [ { - "address": "0x1d7c1398df7c823068e6a120d3921847929d428e", + "address": "0x3d589d40312bf2d20f13cd0af26a11144a9ca844", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000009a8f92a830a5cb89a3816e3d267cb7791c16b04d" ], "data": "0x", - "blockHash": "0x11b19e3f9018a6552a23b679958e210a453bc9196215a27a8512c5501a961a98", - "blockNumber": "0x147f3f1", - "blockTimestamp": "0x6939c63c", - "transactionHash": "0x4666b500b70a02f2f8656ad8d74a35fca668cd56e3444371e114999d93c9e68b", - "transactionIndex": "0x3", - "logIndex": "0x15", + "blockHash": "0xef1e9624634a242aef4aa6796bcc8d3538f6cfefd61b3a06a1514da983f38e7f", + "blockNumber": "0x145a6ac", + "blockTimestamp": "0x693782a0", + "transactionHash": "0xe617eb954e31dc4305f9ddcd9badd2e0e707e4b9c266e16fddaf8e7c23180fde", + "transactionIndex": "0x1", + "logIndex": "0x1", "removed": false } ], - "logsBloom": "0x00000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000001000000000000000000000000000000000000020000000000000000000800000000000008000000000000040000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000002000000000000000000000000000000020000001000000000000000000000000000000000000000000000000000000000000", + "logsBloom": "0x00000400000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000020000000000000000000800000000000000000000000000040000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000200000000000000000000000020000001000000000000000000000000000000000000000000000000008000000000", "type": "0x2", - "transactionHash": "0x4666b500b70a02f2f8656ad8d74a35fca668cd56e3444371e114999d93c9e68b", - "transactionIndex": "0x3", - "blockHash": "0x11b19e3f9018a6552a23b679958e210a453bc9196215a27a8512c5501a961a98", - "blockNumber": "0x147f3f1", + "transactionHash": "0xe617eb954e31dc4305f9ddcd9badd2e0e707e4b9c266e16fddaf8e7c23180fde", + "transactionIndex": "0x1", + "blockHash": "0xef1e9624634a242aef4aa6796bcc8d3538f6cfefd61b3a06a1514da983f38e7f", + "blockNumber": "0x145a6ac", "gasUsed": "0x3d4eb", - "effectiveGasPrice": "0x7f73328", + "effectiveGasPrice": "0x8f0d374", "from": "0x9a8f92a830a5cb89a3816e3d267cb7791c16b04d", "to": null, - "contractAddress": "0x1d7c1398df7c823068e6a120d3921847929d428e" + "contractAddress": "0x3d589d40312bf2d20f13cd0af26a11144a9ca844" }, { "status": "0x1", - "cumulativeGasUsed": "0x1e4d41", + "cumulativeGasUsed": "0x14bbbb", "logs": [ { - "address": "0x2b20df3471e2751840a9c921696d62ea8bc4a391", + "address": "0xfd0876712dd9003d014cdcd8e5140b4efac9bfcc", "topics": [ "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -175,33 +194,33 @@ "0x0000000000000000000000009a8f92a830a5cb89a3816e3d267cb7791c16b04d" ], "data": "0x", - "blockHash": "0x11b19e3f9018a6552a23b679958e210a453bc9196215a27a8512c5501a961a98", - "blockNumber": "0x147f3f1", - "blockTimestamp": "0x6939c63c", - "transactionHash": "0xa6be6f9659a1d4d03fb280a87a7fa9e556b8d98c04d224e5c97bd5f3877c0cd1", - "transactionIndex": "0x4", - "logIndex": "0x16", + "blockHash": "0xef1e9624634a242aef4aa6796bcc8d3538f6cfefd61b3a06a1514da983f38e7f", + "blockNumber": "0x145a6ac", + "blockTimestamp": "0x693782a0", + "transactionHash": "0xc0b5e25643a971a281b9a142a4b146f7833b336a36c68f446bb4e63495e3eeb7", + "transactionIndex": "0x2", + "logIndex": "0x2", "removed": false } ], - "logsBloom": "0x00000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000800000000000000000000200000040000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000080001000000000000000000000000000800000000000000000000000000000000100000000000020000001000000000000000000000000000000000000000000000000000000000000", + "logsBloom": "0x00000004000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000020000000000000000000800000000000000000000000000040000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000800000000000000000000000000000000100000000000020000001000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "transactionHash": "0xa6be6f9659a1d4d03fb280a87a7fa9e556b8d98c04d224e5c97bd5f3877c0cd1", - "transactionIndex": "0x4", - "blockHash": "0x11b19e3f9018a6552a23b679958e210a453bc9196215a27a8512c5501a961a98", - "blockNumber": "0x147f3f1", + "transactionHash": "0xc0b5e25643a971a281b9a142a4b146f7833b336a36c68f446bb4e63495e3eeb7", + "transactionIndex": "0x2", + "blockHash": "0xef1e9624634a242aef4aa6796bcc8d3538f6cfefd61b3a06a1514da983f38e7f", + "blockNumber": "0x145a6ac", "gasUsed": "0x101fcb", - "effectiveGasPrice": "0x7f73328", + "effectiveGasPrice": "0x8f0d374", "from": "0x9a8f92a830a5cb89a3816e3d267cb7791c16b04d", "to": null, - "contractAddress": "0x2b20df3471e2751840a9c921696d62ea8bc4a391" + "contractAddress": "0xfd0876712dd9003d014cdcd8e5140b4efac9bfcc" }, { "status": "0x1", - "cumulativeGasUsed": "0x85d9da", + "cumulativeGasUsed": "0x7b890a", "logs": [ { - "address": "0xdfa6ec7a77f90d9762459069edd1ea78b853c67c", + "address": "0xc8786d517b4e224bb43985a38dbef8588d7354cd", "topics": [ "0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff", "0x5300fde95a5e446527bf6aa7c91bd6661bef5398afc77061d9bc87efb80b7ef6", @@ -209,16 +228,16 @@ "0x0000000000000000000000000000000000000000000000000000000000000000" ], "data": "0x", - "blockHash": "0x11b19e3f9018a6552a23b679958e210a453bc9196215a27a8512c5501a961a98", - "blockNumber": "0x147f3f1", - "blockTimestamp": "0x6939c63c", - "transactionHash": "0x0a784217cbe3ea1f5a707cd0c97ba1468341d523c9f500899313754f91d5e1e9", - "transactionIndex": "0x5", - "logIndex": "0x17", + "blockHash": "0xef1e9624634a242aef4aa6796bcc8d3538f6cfefd61b3a06a1514da983f38e7f", + "blockNumber": "0x145a6ac", + "blockTimestamp": "0x693782a0", + "transactionHash": "0x7ce545552d4a517bc380951ec35bd5eb86f84e0364a7ac9417aba605b8bf6309", + "transactionIndex": "0x3", + "logIndex": "0x3", "removed": false }, { - "address": "0xdfa6ec7a77f90d9762459069edd1ea78b853c67c", + "address": "0xc8786d517b4e224bb43985a38dbef8588d7354cd", "topics": [ "0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff", "0x880a9ba888678c7fe4e8c4f028c224f26ce12a3bed6e96025c61ef8a5db6312f", @@ -226,16 +245,16 @@ "0x0000000000000000000000000000000000000000000000000000000000000000" ], "data": "0x", - "blockHash": "0x11b19e3f9018a6552a23b679958e210a453bc9196215a27a8512c5501a961a98", - "blockNumber": "0x147f3f1", - "blockTimestamp": "0x6939c63c", - "transactionHash": "0x0a784217cbe3ea1f5a707cd0c97ba1468341d523c9f500899313754f91d5e1e9", - "transactionIndex": "0x5", - "logIndex": "0x18", + "blockHash": "0xef1e9624634a242aef4aa6796bcc8d3538f6cfefd61b3a06a1514da983f38e7f", + "blockNumber": "0x145a6ac", + "blockTimestamp": "0x693782a0", + "transactionHash": "0x7ce545552d4a517bc380951ec35bd5eb86f84e0364a7ac9417aba605b8bf6309", + "transactionIndex": "0x3", + "logIndex": "0x4", "removed": false }, { - "address": "0xdfa6ec7a77f90d9762459069edd1ea78b853c67c", + "address": "0xc8786d517b4e224bb43985a38dbef8588d7354cd", "topics": [ "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -243,128 +262,157 @@ "0x0000000000000000000000009a8f92a830a5cb89a3816e3d267cb7791c16b04d" ], "data": "0x", - "blockHash": "0x11b19e3f9018a6552a23b679958e210a453bc9196215a27a8512c5501a961a98", - "blockNumber": "0x147f3f1", - "blockTimestamp": "0x6939c63c", - "transactionHash": "0x0a784217cbe3ea1f5a707cd0c97ba1468341d523c9f500899313754f91d5e1e9", - "transactionIndex": "0x5", - "logIndex": "0x19", + "blockHash": "0xef1e9624634a242aef4aa6796bcc8d3538f6cfefd61b3a06a1514da983f38e7f", + "blockNumber": "0x145a6ac", + "blockTimestamp": "0x693782a0", + "transactionHash": "0x7ce545552d4a517bc380951ec35bd5eb86f84e0364a7ac9417aba605b8bf6309", + "transactionIndex": "0x3", + "logIndex": "0x5", "removed": false } ], - "logsBloom": "0x02000004000000000820000000000000080000000000000000000080000000000100000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000020000000000000000000020000400000000000000800000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000800000000000000000000000000000000100000000004020100001000000000000000000000000000100000000000000000000000000000000", + "logsBloom": "0x00000004000000000800000000000000080000000000000000000080000000000100000000000000000000000000000000000000000000000100000000000000000000000000001000000000000000000000000000000000000020000000000000000000020000400000000000000800000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000001000000000000000000000100000800000000000000000000000000000000100000000000020100001000000000000000000000000000100000000000000000000000000000000", "type": "0x2", - "transactionHash": "0x0a784217cbe3ea1f5a707cd0c97ba1468341d523c9f500899313754f91d5e1e9", - "transactionIndex": "0x5", - "blockHash": "0x11b19e3f9018a6552a23b679958e210a453bc9196215a27a8512c5501a961a98", - "blockNumber": "0x147f3f1", - "gasUsed": "0x678c99", - "effectiveGasPrice": "0x7f73328", + "transactionHash": "0x7ce545552d4a517bc380951ec35bd5eb86f84e0364a7ac9417aba605b8bf6309", + "transactionIndex": "0x3", + "blockHash": "0xef1e9624634a242aef4aa6796bcc8d3538f6cfefd61b3a06a1514da983f38e7f", + "blockNumber": "0x145a6ac", + "gasUsed": "0x66cd4f", + "effectiveGasPrice": "0x8f0d374", "from": "0x9a8f92a830a5cb89a3816e3d267cb7791c16b04d", "to": null, - "contractAddress": "0xdfa6ec7a77f90d9762459069edd1ea78b853c67c" + "contractAddress": "0xc8786d517b4e224bb43985a38dbef8588d7354cd" }, { "status": "0x1", - "cumulativeGasUsed": "0x8648ba", + "cumulativeGasUsed": "0x7bf7ea", "logs": [ { - "address": "0x1d7c1398df7c823068e6a120d3921847929d428e", + "address": "0x3d589d40312bf2d20f13cd0af26a11144a9ca844", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x0000000000000000000000009a8f92a830a5cb89a3816e3d267cb7791c16b04d", - "0x000000000000000000000000dfa6ec7a77f90d9762459069edd1ea78b853c67c" + "0x000000000000000000000000c8786d517b4e224bb43985a38dbef8588d7354cd" ], "data": "0x", - "blockHash": "0x11b19e3f9018a6552a23b679958e210a453bc9196215a27a8512c5501a961a98", - "blockNumber": "0x147f3f1", - "blockTimestamp": "0x6939c63c", - "transactionHash": "0x2e5b0b25ee1f629781571e91c81fea910546b5ba46203ae8b04ad51466eeb04f", - "transactionIndex": "0x6", - "logIndex": "0x1a", + "blockHash": "0xef1e9624634a242aef4aa6796bcc8d3538f6cfefd61b3a06a1514da983f38e7f", + "blockNumber": "0x145a6ac", + "blockTimestamp": "0x693782a0", + "transactionHash": "0x4e4cb63c9999ab7ebe40c120279d061ffbe753e3afc8bf2b5c989474ade7cd72", + "transactionIndex": "0x4", + "logIndex": "0x6", "removed": false } ], - "logsBloom": "0x00000000000000000000000000000000000000000000000000800000000000000000000000000010000000000000000000000000000000000000000000000000000008000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000008000000000000040000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000400000000000000000000000000000000000000800000000000002000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", + "logsBloom": "0x00000401000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000400000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000200000000000000000000000000000001000000000000000000000000000400000000000000000000008000000000", "type": "0x2", - "transactionHash": "0x2e5b0b25ee1f629781571e91c81fea910546b5ba46203ae8b04ad51466eeb04f", - "transactionIndex": "0x6", - "blockHash": "0x11b19e3f9018a6552a23b679958e210a453bc9196215a27a8512c5501a961a98", - "blockNumber": "0x147f3f1", + "transactionHash": "0x4e4cb63c9999ab7ebe40c120279d061ffbe753e3afc8bf2b5c989474ade7cd72", + "transactionIndex": "0x4", + "blockHash": "0xef1e9624634a242aef4aa6796bcc8d3538f6cfefd61b3a06a1514da983f38e7f", + "blockNumber": "0x145a6ac", "gasUsed": "0x6ee0", - "effectiveGasPrice": "0x7f73328", + "effectiveGasPrice": "0x8f0d374", "from": "0x9a8f92a830a5cb89a3816e3d267cb7791c16b04d", - "to": "0x1d7c1398df7c823068e6a120d3921847929d428e", + "to": "0x3d589d40312bf2d20f13cd0af26a11144a9ca844", "contractAddress": null }, { "status": "0x1", - "cumulativeGasUsed": "0x871064", + "cumulativeGasUsed": "0x7cbf94", "logs": [ { - "address": "0x2b20df3471e2751840a9c921696d62ea8bc4a391", + "address": "0xfd0876712dd9003d014cdcd8e5140b4efac9bfcc", "topics": [ "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", "0x69048ea73402a715065a3029b4059a4e97d1461c95fa4fabca1084b5f34f4abe", - "0x000000000000000000000000dfa6ec7a77f90d9762459069edd1ea78b853c67c", + "0x000000000000000000000000c8786d517b4e224bb43985a38dbef8588d7354cd", "0x0000000000000000000000009a8f92a830a5cb89a3816e3d267cb7791c16b04d" ], "data": "0x", - "blockHash": "0x11b19e3f9018a6552a23b679958e210a453bc9196215a27a8512c5501a961a98", - "blockNumber": "0x147f3f1", - "blockTimestamp": "0x6939c63c", - "transactionHash": "0xbe95b17d54711ee51a98a18e514ebe900ff65b012831f948ee2ee1ff12e38cbd", - "transactionIndex": "0x7", - "logIndex": "0x1b", + "blockHash": "0xef1e9624634a242aef4aa6796bcc8d3538f6cfefd61b3a06a1514da983f38e7f", + "blockNumber": "0x145a6ac", + "blockTimestamp": "0x693782a0", + "transactionHash": "0xd8a7bc6a9a9a6e9b56f1579fedd45f64efe6c0f8de2eda7ac0ae0c67b6f13d7b", + "transactionIndex": "0x5", + "logIndex": "0x7", "removed": false } ], - "logsBloom": "0x00000004000000000000000000000000000000000008000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000040000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000002000400000080001000000000000000000000000000800000000000000000000000000000000100200000000000000001000000000000000000000000000000000000000000000000000000000000", + "logsBloom": "0x00000005000000000000000000000000800000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000040000000000000000040000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000800000000000000000000000000000000100200000000000000001000000000000000000000000000400000000000000000000000000000000", "type": "0x2", - "transactionHash": "0xbe95b17d54711ee51a98a18e514ebe900ff65b012831f948ee2ee1ff12e38cbd", - "transactionIndex": "0x7", - "blockHash": "0x11b19e3f9018a6552a23b679958e210a453bc9196215a27a8512c5501a961a98", - "blockNumber": "0x147f3f1", + "transactionHash": "0xd8a7bc6a9a9a6e9b56f1579fedd45f64efe6c0f8de2eda7ac0ae0c67b6f13d7b", + "transactionIndex": "0x5", + "blockHash": "0xef1e9624634a242aef4aa6796bcc8d3538f6cfefd61b3a06a1514da983f38e7f", + "blockNumber": "0x145a6ac", "gasUsed": "0xc7aa", - "effectiveGasPrice": "0x7f73328", + "effectiveGasPrice": "0x8f0d374", "from": "0x9a8f92a830a5cb89a3816e3d267cb7791c16b04d", - "to": "0x2b20df3471e2751840a9c921696d62ea8bc4a391", + "to": "0xfd0876712dd9003d014cdcd8e5140b4efac9bfcc", "contractAddress": null }, { "status": "0x1", - "cumulativeGasUsed": "0x87d3cf", + "cumulativeGasUsed": "0x7d82ff", "logs": [ { - "address": "0xdfa6ec7a77f90d9762459069edd1ea78b853c67c", + "address": "0xc8786d517b4e224bb43985a38dbef8588d7354cd", "topics": ["0xf3adc8db618887d7b76838e244efb05fc99475bb5a904a914d939fbdc41b7e8d"], - "data": "0x000000000000000000000000000000000000000000000000000000000000759e000000000000000000000000cf0e59e044216e0d291f6652e8e15b6c8d69cea8", - "blockHash": "0x11b19e3f9018a6552a23b679958e210a453bc9196215a27a8512c5501a961a98", - "blockNumber": "0x147f3f1", - "blockTimestamp": "0x6939c63c", - "transactionHash": "0xf4c612f17afd312e95f1d321c819d630f1c8c30c0b323317619af5fe9805eb09", - "transactionIndex": "0x8", - "logIndex": "0x1c", + "data": "0x00000000000000000000000000000000000000000000000000000000000075950000000000000000000000004607bceaf7b22cb0c46882ffc9fab3c6efe66e5a", + "blockHash": "0xef1e9624634a242aef4aa6796bcc8d3538f6cfefd61b3a06a1514da983f38e7f", + "blockNumber": "0x145a6ac", + "blockTimestamp": "0x693782a0", + "transactionHash": "0x3cd165c2aa3fad9741147d43d0f288514c88cfe47008ad453f4e9f656813929b", + "transactionIndex": "0x6", + "logIndex": "0x8", "removed": false } ], - "logsBloom": "0x02000000000000000020800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080000000000000000000000000000000400000000000000000000000000000000000", + "logsBloom": "0x00000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000080000000000000000000000000000000400000000000000000000000000000000000", "type": "0x2", - "transactionHash": "0xf4c612f17afd312e95f1d321c819d630f1c8c30c0b323317619af5fe9805eb09", - "transactionIndex": "0x8", - "blockHash": "0x11b19e3f9018a6552a23b679958e210a453bc9196215a27a8512c5501a961a98", - "blockNumber": "0x147f3f1", + "transactionHash": "0x3cd165c2aa3fad9741147d43d0f288514c88cfe47008ad453f4e9f656813929b", + "transactionIndex": "0x6", + "blockHash": "0xef1e9624634a242aef4aa6796bcc8d3538f6cfefd61b3a06a1514da983f38e7f", + "blockNumber": "0x145a6ac", + "gasUsed": "0xc36b", + "effectiveGasPrice": "0x8f0d374", + "from": "0x9a8f92a830a5cb89a3816e3d267cb7791c16b04d", + "to": "0xc8786d517b4e224bb43985a38dbef8588d7354cd", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x7e466a", + "logs": [ + { + "address": "0xc8786d517b4e224bb43985a38dbef8588d7354cd", + "topics": ["0xf3adc8db618887d7b76838e244efb05fc99475bb5a904a914d939fbdc41b7e8d"], + "data": "0x000000000000000000000000000000000000000000000000000000000000759e0000000000000000000000002ac5ee3796e027da274fbde84c82173a65868940", + "blockHash": "0xef1e9624634a242aef4aa6796bcc8d3538f6cfefd61b3a06a1514da983f38e7f", + "blockNumber": "0x145a6ac", + "blockTimestamp": "0x693782a0", + "transactionHash": "0x623f7c599877cc15df1592b28ef0fa479419c661a63ccfa47d1bf21ae0e59fef", + "transactionIndex": "0x7", + "logIndex": "0x9", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000080000000000000000000000000000000400000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x623f7c599877cc15df1592b28ef0fa479419c661a63ccfa47d1bf21ae0e59fef", + "transactionIndex": "0x7", + "blockHash": "0xef1e9624634a242aef4aa6796bcc8d3538f6cfefd61b3a06a1514da983f38e7f", + "blockNumber": "0x145a6ac", "gasUsed": "0xc36b", - "effectiveGasPrice": "0x7f73328", + "effectiveGasPrice": "0x8f0d374", "from": "0x9a8f92a830a5cb89a3816e3d267cb7791c16b04d", - "to": "0xdfa6ec7a77f90d9762459069edd1ea78b853c67c", + "to": "0xc8786d517b4e224bb43985a38dbef8588d7354cd", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, - "timestamp": 1765394068695, + "timestamp": 1765245690052, "chain": 999, - "commit": "4dfc13b5" + "commit": "c507c9ea" } diff --git a/broadcast/DeploySrcPeriphery.s.sol/42161/run-latest.json b/broadcast/DeploySrcPeriphery.s.sol/42161/run-latest.json index 16dbe5c71..0e4475cbb 100644 --- a/broadcast/DeploySrcPeriphery.s.sol/42161/run-latest.json +++ b/broadcast/DeploySrcPeriphery.s.sol/42161/run-latest.json @@ -1,10 +1,10 @@ { "transactions": [ { - "hash": "0xc9d530e42b9a991e3b36930338793faeb52127a87eaa7b9935d8d9aa0a847d62", + "hash": "0xaf2427171b1d55e27dc75985001ce5a6be8c89a817f51b479f223b4c9799c7eb", "transactionType": "CREATE", "contractName": "SponsoredOFTSrcPeriphery", - "contractAddress": "0xcf0e59e044216e0d291f6652e8e15b6c8d69cea8", + "contractAddress": "0x2ac5ee3796e027da274fbde84c82173a65868940", "function": null, "arguments": [ "0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9", @@ -14,10 +14,10 @@ ], "transaction": { "from": "0x9a8f92a830a5cb89a3816e3d267cb7791c16b04d", - "gas": "0x19a799", + "gas": "0x19d578", "value": "0x0", - "input": "0x60e080604052346102205760808161180f803803809161001f82856102ce565b8339810103126102205761003281610305565b61003e60208301610305565b90610057606061005060408601610319565b9401610305565b5f8054336001600160a01b0319821681178355604051939693959290916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a3608083905260a081905260c0829052635e280f1160e01b84526001600160a01b031692602081600481875afa90811561022c575f91610289575b5060405163416ecebf60e01b81529190602090839060049082906001600160a01b03165afa91821561022c575f92610246575b5063ffffffff80911691160361023757602060049260405193848092637e062a3560e11b82525afa91821561022c575f926101ec575b506001600160a01b039081169116036101dd577fbbe623e022cc184bd276c9a778810da1531bdd4c0bac9d86069eb499aa2eb50080546001600160a01b0319166001600160a01b03929092169190911790556040516114e4908161032b823960805181818161027201526107cd015260a05181818161012c0152818161080c0152610d50015260c0518181816102d70152610a1f0152f35b633722464560e11b5f5260045ffd5b9091506020813d602011610224575b81610208602093836102ce565b810103126102205761021990610305565b905f610145565b5f80fd5b3d91506101fb565b6040513d5f823e3d90fd5b637c68382b60e01b5f5260045ffd5b9091506020813d602011610281575b81610262602093836102ce565b810103126102205763ffffffff6102798192610319565b92915061010f565b3d9150610255565b90506020813d6020116102c6575b816102a4602093836102ce565b810103126102205751906001600160a01b0382168203610220579060206100dc565b3d9150610297565b601f909101601f19168101906001600160401b038211908210176102f157604052565b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b038216820361022057565b519063ffffffff821682036102205756fe60806040526004361015610011575f80fd5b5f3560e01c8063238ac933146100c45780635b9cae35146100bf5780636c19e783146100ba578063715018a6146100b557806382bfefc8146100b05780638da5cb5b146100ab578063c9279a74146100a6578063f2fde38b146100a1578063f731ce5f1461009c578063fcc5b1e3146100975763feb6172414610092575f80fd5b6104ef565b610472565b61043f565b6102fb565b6102bb565b610296565b610253565b6101ef565b610161565b61010d565b34610109575f3660031901126101095760206001600160a01b037fbbe623e022cc184bd276c9a778810da1531bdd4c0bac9d86069eb499aa2eb5005416604051908152f35b5f80fd5b34610109575f3660031901126101095760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b6001600160a01b0381160361010957565b34610109576020366003190112610109576001600160a01b0360043561018681610150565b61018e61097b565b1673ffffffffffffffffffffffffffffffffffffffff197fbbe623e022cc184bd276c9a778810da1531bdd4c0bac9d86069eb499aa2eb5005416177fbbe623e022cc184bd276c9a778810da1531bdd4c0bac9d86069eb499aa2eb500555f80f35b34610109575f3660031901126101095761020761097b565b5f6001600160a01b03815473ffffffffffffffffffffffffffffffffffffffff1981168355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b34610109575f3660031901126101095760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b34610109575f3660031901126101095760206001600160a01b035f5416604051908152f35b34610109575f36600319011261010957602060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b34610109576020366003190112610109576001600160a01b0360043561032081610150565b61032861097b565b168015610109576001600160a01b035f548273ffffffffffffffffffffffffffffffffffffffff198216175f55167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3005b634e487b7160e01b5f52604160045260245ffd5b6040810190811067ffffffffffffffff8211176103ac57604052565b61037c565b90601f8019910116810190811067ffffffffffffffff8211176103ac57604052565b604051906103e260e0836103b1565b565b67ffffffffffffffff81116103ac57601f01601f191660200190565b6040519061040f6020836103b1565b5f808352366020840137565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b34610109575f3660031901126101095761046e61045a610400565b60405191829160208352602083019061041b565b0390f35b60403660031901126101095760043567ffffffffffffffff81116101095760606003198236030112610109576024359067ffffffffffffffff821161010957366023830112156101095781600401359067ffffffffffffffff82116101095736602483850101116101095760246104ed93019060040161073d565b005b34610109576020366003190112610109576004355f527fbbe623e022cc184bd276c9a778810da1531bdd4c0bac9d86069eb499aa2eb501602052602060ff60405f2054166040519015158152f35b1561010957565b90359061019e1981360301821215610109570190565b634e487b7160e01b5f52601160045260245ffd5b9190820391821161057b57565b61055a565b3d156105aa573d90610591826103e4565b9161059f60405193846103b1565b82523d5f602084013e565b606090565b9190826040910312610109576040516105c781610390565b6020808294805184520151910152565b919082810360c081126101095760801361010957604051906060820182811067ffffffffffffffff8211176103ac5760405283518252602084015167ffffffffffffffff811681036101095782608091602061064895015261063c83604088016105af565b604082015294016105af565b90565b6106489163ffffffff825116815260208201516020820152604082015160408201526060820151606082015260c06106a7610695608085015160e0608086015260e085019061041b565b60a085015184820360a086015261041b565b9201519060c081840391015261041b565b9193926001600160a01b039060206106da60609460808752608087019061064b565b968051828701520151604085015216910152565b6040513d5f823e3d90fd5b959287959260e09895928852602088015260408701526060860152608085015260c060a08501528160c0850152848401375f828201840152601f01601f1916010190565b91909161074b82848361099f565b61079961078c608061075d8480610544565b01355f527fbbe623e022cc184bd276c9a778810da1531bdd4c0bac9d86069eb499aa2eb50160205260405f2090565b805460ff19166001179055565b6107a281610bb0565b8151341061096c5761086992826107bc60c094513461056e565b80610944575b506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169161080760606107fd8980610544565b0135303386610dcb565b6108417f0000000000000000000000000000000000000000000000000000000000000000938460606108398b80610544565b013591610e11565b6001600160a01b038251916040519788968795869363c7c7f5b360e01b8552600485016106b8565b0393165af1801561093f57610911575b507f8fb515a2e89f5acfca1124e69e331c2cded0ca216b578ba531720f6841139dbf60806108a78380610544565b01359160e06108b68280610544565b01359461090c60406108c88480610544565b01359560a06108d78580610544565b01359260c06108e68680610544565b0135946101006108fb60408301359280610544565b013590604051968796339b886106f9565b0390a4565b6109329060c03d60c011610938575b61092a81836103b1565b8101906105d7565b50610879565b503d610920565b6106ee565b5f808080610966946001600160a01b0389165af1610960610580565b5061053d565b5f6107c2565b639c92bdfb60e01b5f5260045ffd5b6001600160a01b035f5416330361010957565b3563ffffffff811681036101095790565b916109e9906109ed926109d97fbbe623e022cc184bd276c9a778810da1531bdd4c0bac9d86069eb499aa2eb500546001600160a01b031690565b6109e38680610544565b90610f08565b1590565b610a915760a06109fd8280610544565b01354211610a8257610a17610a128280610544565b61098e565b63ffffffff807f000000000000000000000000000000000000000000000000000000000000000016911603610a7357610a58608061075d83610a5f94610544565b5460ff1690565b610a6557565b623f613760e71b5f5260045ffd5b637c68382b60e01b5f5260045ffd5b638727a7f960e01b5f5260045ffd5b63c1606c2f60e01b5f5260045ffd5b6040519060e0820182811067ffffffffffffffff8211176103ac57604052606060c0835f81525f60208201525f60408201525f838201528260808201528260a08201520152565b60405190610af482610390565b5f6020838281520152565b3560ff811681036101095790565b903590601e1981360301821215610109570180359067ffffffffffffffff82116101095760200191813603831361010957565b929192610b4c826103e4565b91610b5a60405193846103b1565b829481845281830111610109578281602093845f960137010152565b9060408282031261010957610648916105af565b91906020610ba15f9260408652604086019061064b565b930152565b3561064881610150565b90610bb9610aa0565b50610bc2610ae7565b50610c536080610bd28480610544565b013560a0610be08580610544565b013560c0610bee8680610544565b0135604086013560e0610c018880610544565b013590610100610c118980610544565b013592610c2a610160610c248b80610544565b01610aff565b94610c4d610c46610c3b8c80610544565b610180810190610b0d565b3691610b40565b9661103f565b90610ca5610c8f610c6261108a565b610c89610120610c728880610544565b01356fffffffffffffffffffffffffffffffff1690565b906110a6565b610c9f610140610c728780610544565b9061119b565b610cba6020610cb48680610544565b0161098e565b926040610cc78680610544565b0135916060610cd68780610544565b01356060610ce48880610544565b013590610cef610400565b94610d07610cfb6103d3565b63ffffffff9099168952565b602088015260408701526060860152608085015260a084015260c083015260405192633b6f743b60e01b845260408480610d448660048301610b8a565b03816001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165afa93841561093f575f94610d93575b506020610d8d9101610ba6565b91929190565b610d8d919450610dbc60209160403d604011610dc4575b610db481836103b1565b810190610b76565b949150610d80565b503d610daa565b9091926001600160a01b036103e29481604051956323b872dd60e01b6020880152166024860152166044840152606483015260648252610e0c6084836103b1565b611290565b919091610e7b60405192602084019063095ea7b360e01b82526001600160a01b0386166024860152604485015260448452610e4d6064856103b1565b5f806001600160a01b0385169286519082855af190610e6a610580565b82610ed6575b5081610ecf57501590565b610e8457505050565b60405163095ea7b360e01b60208201526001600160a01b0390931660248401525f60448401526103e292610e0c90610ec981606481015b03601f1981018352826103b1565b82611290565b3b15919050565b80519192508115918215610eee575b5050905f610e70565b610f019250602080918301019101611278565b5f80610ee5565b929190610f148161098e565b90610f216020820161098e565b916060820135916040810135919060808101359061014081013561012082013561010083013560e084013560c085013560a0860135610f636101608801610aff565b966101808101610f7291610b0d565b3690610f7d92610b40565b80519060200120976040519b8c9b60208d019e8f9c610ffd9d9a98969492909d9c9b99979593916101a08c019e63ffffffff168c5263ffffffff1660208c015260408b015260608a0152608089015260a088015260c087015260e086015261010085015261012084015261014083015260ff166101608201526101800152565b03601f198101825261100f90826103b1565b51902091369061101e92610b40565b61102791611352565b906001600160a01b0316906001600160a01b03161490565b94610ebb946106489792989460ff946040519a8b9960208b015260408a01526060890152608088015260a087015260c08601521660e08401526101008084015261012083019061041b565b604051600360f01b6020820152600281526106486022826103b1565b90600361ffff6110b584611321565b160361117c57604051906fffffffffffffffffffffffffffffffff199060801b166020820152601081526110ea6030826103b1565b600361ffff6110f884611321565b160361117c57805161ffff81116101095761ffff60019116019161ffff831161057b57610ebb610648926004611138956040519687956020870190611340565b600160f81b80825260f09290921b7fffff00000000000000000000000000000000000000000000000000000000000016600182015260038101919091520190611340565b61ffff61118883611321565b633a51740d60e01b5f521660045260245ffd5b90600361ffff6111aa84611321565b160361117c57604051905f60208301526fffffffffffffffffffffffffffffffff199060801b166022820152601281526111e56032826103b1565b600361ffff6111f384611321565b160361117c57805161ffff81116101095761ffff60019116019161ffff831161057b57610ebb610648926004611233956040519687956020870190611340565b600160f81b815260f09190911b7fffff000000000000000000000000000000000000000000000000000000000000166001820152600360f81b60038201520190611340565b90816020910312610109575180151581036101095790565b906001600160a01b036112f192165f80604051936112af6040866103b1565b602085527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564602086015260208151910182855af16112eb610580565b91611408565b8051908115918215611307575b50501561010957565b61131a9250602080918301019101611278565b5f806112fe565b6002815110611331576002015190565b632d0483c560e21b5f5260045ffd5b805191908290602001825e015f815290565b6106489161135f91611367565b9190916113ba565b9060418151145f146113935761138f91602082015190606060408401519301515f1a90611433565b9091565b50505f90600290565b600511156113a657565b634e487b7160e01b5f52602160045260245ffd5b6113c38161139c565b806113cb5750565b6113d48161139c565b600181036113e0575f80fd5b6113e98161139c565b600281036113f5575f80fd5b6003906114018161139c565b1461010957565b919250156114245781511561141b575090565b3b156101095790565b50805190811561010957602001fd5b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084116114a3576020935f9360ff60809460405194855216868401526040830152606082015282805260015afa1561093f575f516001600160a01b0381161561149b57905f90565b505f90600190565b505050505f9060039056fea2646970667358221220267d3bc77cee547e69d0d7355d2bb955efabbc0c6958c84bc29d4bd563c7b35364736f6c634300081e0033000000000000000000000000fd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb900000000000000000000000014e4a1b13bf7f943c8ff7c51fb60fa964a298d92000000000000000000000000000000000000000000000000000000000000759e0000000000000000000000009a8f92a830a5cb89a3816e3d267cb7791c16b04d", - "nonce": "0x16f6", + "input": "0x60e0604090808252346200020c57608081620018158038038091620000258285620002be565b8339810103126200020c576200003b81620002f6565b906020906200004c828201620002f6565b91620000686060620000608785016200030b565b9301620002f6565b935f549260018060a01b03938460018060a01b03199633888416175f55895192823391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3846080528060a0528360c0521691635e280f1160e01b82528482600481865afa9182156200027257869286915f916200027c575b5060048b518095819363416ecebf60e01b8352165afa91821562000272575f9262000233575b5063ffffffff8091169116036200022257908260049392885194858092637e062a3560e11b82525afa928315620002185784925f94620001d1575b50508116911603620001c0577fbbe623e022cc184bd276c9a778810da1531bdd4c0bac9d86069eb499aa2eb500921690825416179055516114f790816200031e823960805181818161025401526107ee015260a05181818161012c0152818161082d0152610d75015260c0518181816102b90152610a3b0152f35b8351633722464560e11b8152600490fd5b809294508193503d831162000210575b620001ed8183620002be565b810103126200020c5782620002038192620002f6565b92905f62000145565b5f80fd5b503d620001e1565b87513d5f823e3d90fd5b8651637c68382b60e01b8152600490fd5b9091508481813d83116200026a575b6200024e8183620002be565b810103126200020c5762000262906200030b565b905f6200010a565b503d62000242565b89513d5f823e3d90fd5b9293505081813d8311620002b6575b620002978183620002be565b810103126200020c57519085821682036200020c578486925f620000e4565b503d6200028b565b601f909101601f19168101906001600160401b03821190821017620002e257604052565b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036200020c57565b519063ffffffff821682036200020c5756fe60806040526004361015610011575f80fd5b5f3560e01c8063238ac933146100c45780635b9cae35146100bf5780636c19e783146100ba578063715018a6146100b557806382bfefc8146100b05780638da5cb5b146100ab578063c9279a74146100a6578063f2fde38b146100a1578063f731ce5f1461009c578063fcc5b1e3146100975763feb6172414610092575f80fd5b610516565b6104a8565b610475565b6102dd565b61029d565b610278565b610235565b6101d1565b610161565b61010d565b34610109575f3660031901126101095760206001600160a01b037fbbe623e022cc184bd276c9a778810da1531bdd4c0bac9d86069eb499aa2eb5005416604051908152f35b5f80fd5b34610109575f3660031901126101095760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b6001600160a01b0381160361010957565b346101095760203660031901126101095760043561017e81610150565b610186610997565b6001600160a01b037fbbe623e022cc184bd276c9a778810da1531bdd4c0bac9d86069eb499aa2eb500911673ffffffffffffffffffffffffffffffffffffffff198254161790555f80f35b34610109575f366003190112610109576101e9610997565b5f6001600160a01b03815473ffffffffffffffffffffffffffffffffffffffff1981168355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b34610109575f3660031901126101095760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b34610109575f3660031901126101095760206001600160a01b035f5416604051908152f35b34610109575f36600319011261010957602060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b34610109576020366003190112610109576004356102fa81610150565b610302610997565b6001600160a01b03809116908115610109575f548273ffffffffffffffffffffffffffffffffffffffff198216175f55167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3005b634e487b7160e01b5f52604160045260245ffd5b6040810190811067ffffffffffffffff82111761038957604052565b610359565b6080810190811067ffffffffffffffff82111761038957604052565b90601f8019910116810190811067ffffffffffffffff82111761038957604052565b6040519060e0820182811067ffffffffffffffff82111761038957604052565b67ffffffffffffffff811161038957601f01601f191660200190565b6040516020810181811067ffffffffffffffff821117610389576040525f8152905f368137565b5f5b8381106104405750505f910152565b8181015183820152602001610431565b906020916104698151809281855285808601910161042f565b601f01601f1916010190565b34610109575f366003190112610109576104a4610490610408565b604051918291602083526020830190610450565b0390f35b600319604036820112610109576004359067ffffffffffffffff908183116101095760609083360301126101095760243591818311610109573660238401121561010957826004013591821161010957366024838501011161010957602461051493019060040161075d565b005b34610109576020366003190112610109576004355f527fbbe623e022cc184bd276c9a778810da1531bdd4c0bac9d86069eb499aa2eb501602052602060ff60405f2054166040519015158152f35b1561010957565b90359061019e1981360301821215610109570190565b634e487b7160e01b5f52601160045260245ffd5b919082039182116105a257565b610581565b3d156105d1573d906105b8826103ec565b916105c660405193846103aa565b82523d5f602084013e565b606090565b9190826040910312610109576040516105ee8161036d565b6020808294805184520151910152565b919082810360c0811261010957608013610109576040519067ffffffffffffffff60608301818111848210176103895760405284518352602085015190811681036101095782608091602061066895015261065c83604088016105d6565b604082015294016105d6565b90565b6106689163ffffffff825116815260208201516020820152604082015160408201526060820151606082015260c06106c76106b5608085015160e0608086015260e0850190610450565b60a085015184820360a0860152610450565b9201519060c0818403910152610450565b9193926001600160a01b039060206106fa60609460808752608087019061066b565b968051828701520151604085015216910152565b6040513d5f823e3d90fd5b959287959260e09895928852602088015260408701526060860152608085015260c060a08501528160c0850152848401375f828201840152601f01601f1916010190565b909161076a8184846109bb565b6107b86107ab608061077c858061056b565b01355f527fbbe623e022cc184bd276c9a778810da1531bdd4c0bac9d86069eb499aa2eb50160205260405f2090565b805460ff19166001179055565b6107c182610bd8565b815134106109855761088292826107db60c0945134610595565b8061095d575b506001600160a01b0391827f00000000000000000000000000000000000000000000000000000000000000001692610828606061081e8b8061056b565b0135303387610def565b6108627f00000000000000000000000000000000000000000000000000000000000000009485606061085a8d8061056b565b013591610e47565b8251916040519788968795869363c7c7f5b360e01b8552600485016106d8565b0393165af180156109585761092a575b507f8fb515a2e89f5acfca1124e69e331c2cded0ca216b578ba531720f6841139dbf60806108c0848061056b565b01359160e06108cf858061056b565b01359461092560406108e1878061056b565b01359260a06108f0888061056b565b01359260c06108ff898061056b565b01359461010061090f8a8061056b565b0135906040519687966040339c01359288610719565b0390a4565b61094b9060c03d60c011610951575b61094381836103aa565b8101906105fe565b50610892565b503d610939565b61070e565b5f80808061097f946001600160a01b0389165af16109796105a7565b50610564565b5f6107e1565b604051639c92bdfb60e01b8152600490fd5b6001600160a01b035f5416330361010957565b3563ffffffff811681036101095790565b91610a0590610a09926109f57fbbe623e022cc184bd276c9a778810da1531bdd4c0bac9d86069eb499aa2eb500546001600160a01b031690565b6109ff868061056b565b90610f41565b1590565b610ab65760a0610a19828061056b565b01354211610aa457610a33610a2e828061056b565b6109aa565b63ffffffff807f000000000000000000000000000000000000000000000000000000000000000016911603610a9257610a74608061077c83610a7b9461056b565b5460ff1690565b610a8157565b604051623f613760e71b8152600490fd5b604051637c68382b60e01b8152600490fd5b604051638727a7f960e01b8152600490fd5b60405163c1606c2f60e01b8152600490fd5b6040519060e0820182811067ffffffffffffffff82111761038957604052606060c0835f81525f60208201525f60408201525f838201528260808201528260a08201520152565b60405190610b1c8261036d565b5f6020838281520152565b3560ff811681036101095790565b903590601e1981360301821215610109570180359067ffffffffffffffff82116101095760200191813603831361010957565b929192610b74826103ec565b91610b8260405193846103aa565b829481845281830111610109578281602093845f960137010152565b9060408282031261010957610668916105d6565b91906020610bc95f9260408652604086019061066b565b930152565b3561066881610150565b610be0610ac8565b50610be9610b0f565b506080610bf6828061056b565b013591610c7d60a0610c08848061056b565b013560c0610c16858061056b565b013560409560e0610c27878061056b565b0135610100610c36888061056b565b013591610c4f610160610c498a8061056b565b01610b27565b93610c72610c6b610c608b8061056b565b610180810190610b35565b3691610b68565b958a8a013592611058565b91610ccf610cb9610c8c6110a3565b610cb3610120610c9c868061056b565b01356fffffffffffffffffffffffffffffffff1690565b906110bd565b610cc9610140610c9c858061056b565b906111b9565b610ce46020610cde848061056b565b016109aa565b9385610cf0848061056b565b0135916060610cff858061056b565b01356060610d0d868061056b565b013590610d18610408565b94610d30610d246103cc565b63ffffffff909a168a52565b6020890152888801526060870152608086015260a085015260c08401528351633b6f743b60e01b8152848180610d698760048301610bb2565b03816001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165afa948515610958575f95610db9575b50506020610db39101610bce565b91929190565b610db392955060209181610de192903d10610de8575b610dd981836103aa565b810190610b9e565b9491610da5565b503d610dcf565b9290604051926323b872dd60e01b60208501526001600160a01b03809216602485015216604483015260648201526064815260a081019181831067ffffffffffffffff84111761038957610e45926040526112b8565b565b91909160405191602083015f8063095ea7b360e01b938484526001600160a01b03908189166024890152604488015260448752610e838761038e565b85169286519082855af190610e966105a7565b82610f0f575b5081610f04575b5015610eb0575b50505050565b60405160208101919091526001600160a01b0390931660248401525f6044840152610efb92610ef690610ef081606481015b03601f1981018352826103aa565b826112b8565b6112b8565b5f808080610eaa565b90503b15155f610ea3565b80519192508115918215610f27575b5050905f610e9c565b610f3a92506020809183010191016112a0565b5f80610f1e565b92906110479261104191610f54816109aa565b90611036610f64602083016109aa565b610ee2610f746101608501610b27565b610f85610c6b610180870187610b35565b60208151910120906040519586946020860198610140830135928a610120820135936101008301359360e08401359360c08101359360a08201359360808301359360406060850135940135929a98969492909d9c9b99979593919d6101a08c019e63ffffffff8092168d521660208c015260408b015260608a0152608089015260a088015260c087015260e086015261010085015261012084015261014083015260ff166101608201526101800152565b519020923691610b68565b90611367565b6001600160a01b0390811691161490565b94610ee2946106689792989460ff946040519a8b9960208b015260408a01526060890152608088015260a087015260c08601521660e084015261010080840152610120830190610450565b604051600360f01b6020820152600281526106688161036d565b9061ffff6003816110cd85611345565b16036111ad576040519260208401926fffffffffffffffffffffffffffffffff199060801b168352601084526111028461036d565b60038261110e83611345565b160361118b5783518281116101095782166001019182116105a2576106689260249261117c604051968461114c89965180926020808a01910161042f565b850192600160f81b9081602086015261ffff60f01b9060f01b16602185015260238401525180938684019061042f565b010360048101845201826103aa565b90611197602492611345565b604051633a51740d60e01b815291166004820152fd5b60249061119784611345565b9061ffff6003816111c985611345565b16036111ad576040519260208401925f84526fffffffffffffffffffffffffffffffff199060801b166022850152601284526112048461036d565b60038261121083611345565b160361118b5783518281116101095782166001019182116105a2576106689260249261117c604051968461124e89965180926020808a01910161042f565b600160f81b60209187019182015260f09390931b7fffff000000000000000000000000000000000000000000000000000000000000166021840152600360f81b6023840152519283908684019061042f565b90816020910312610109575180151581036101095790565b905f806001600160a01b036113159416927f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656460206040516112f88161036d565b818152015260208151910182855af161130f6105a7565b9161141d565b805190811591821561132b575b50501561010957565b61133e92506020809183010191016112a0565b5f80611322565b6002815110611355576002015190565b604051632d0483c560e21b8152600490fd5b610668916113749161137c565b9190916113cf565b9060418151145f146113a8576113a491602082015190606060408401519301515f1a90611446565b9091565b50505f90600290565b600511156113bb57565b634e487b7160e01b5f52602160045260245ffd5b6113d8816113b1565b806113e05750565b6113e9816113b1565b600181036113f5575f80fd5b6113fe816113b1565b6002810361140a575f80fd5b806114166003926113b1565b1461010957565b90156114375781511561142e575090565b3b156101095790565b50805190811561010957602001fd5b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084116114b6576020935f9360ff60809460405194855216868401526040830152606082015282805260015afa15610958575f516001600160a01b038116156114ae57905f90565b505f90600190565b505050505f9060039056fea264697066735822122051769784125192cb0975f21ea1bbee4a627e7578e6b15669655ba40a10d38d8b64736f6c63430008180033000000000000000000000000fd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb900000000000000000000000014e4a1b13bf7f943c8ff7c51fb60fa964a298d92000000000000000000000000000000000000000000000000000000000000759e0000000000000000000000009a8f92a830a5cb89a3816e3d267cb7791c16b04d", + "nonce": "0x156f", "chainId": "0xa4b1" }, "additionalContracts": [], @@ -27,45 +27,45 @@ "receipts": [ { "status": "0x1", - "cumulativeGasUsed": "0x138fb2", + "cumulativeGasUsed": "0x14ebe6", "logs": [ { - "address": "0xcf0e59e044216e0d291f6652e8e15b6c8d69cea8", + "address": "0x2ac5ee3796e027da274fbde84c82173a65868940", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000009a8f92a830a5cb89a3816e3d267cb7791c16b04d" ], "data": "0x", - "blockHash": "0x36c2ec8d0bfff5e93765575976b24be8a65b6fbe7af4d80c06aec6f0c8a11365", - "blockNumber": "0x1864ccb2", - "blockTimestamp": "0x6939c5eb", - "transactionHash": "0xc9d530e42b9a991e3b36930338793faeb52127a87eaa7b9935d8d9aa0a847d62", - "transactionIndex": "0x1", - "logIndex": "0x0", + "blockHash": "0xe8654d6f96063f64d25fde9ed46790b3ff86f62251bf1043b0067a27409af110", + "blockNumber": "0x183c08e6", + "blockTimestamp": "0x692f9b49", + "transactionHash": "0xaf2427171b1d55e27dc75985001ce5a6be8c89a817f51b479f223b4c9799c7eb", + "transactionIndex": "0x3", + "logIndex": "0x1", "removed": false } ], - "logsBloom": "0x00000000000000000000000000000000000000000000000100800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000800000000000000000000000010020000000000000000000800000000000000000000000000040000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000020000001000000000000000000000000000000000000000000000000000000000000", + "logsBloom": "0x00000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000001000000000000000000000000000000000000020000000000000000000800002000000000000000000000040000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000020000001000000000000000000000000000000000000000000000080000000000000", "type": "0x2", - "transactionHash": "0xc9d530e42b9a991e3b36930338793faeb52127a87eaa7b9935d8d9aa0a847d62", - "transactionIndex": "0x1", - "blockHash": "0x36c2ec8d0bfff5e93765575976b24be8a65b6fbe7af4d80c06aec6f0c8a11365", - "blockNumber": "0x1864ccb2", - "gasUsed": "0x138fb2", - "effectiveGasPrice": "0x17519ac0", + "transactionHash": "0xaf2427171b1d55e27dc75985001ce5a6be8c89a817f51b479f223b4c9799c7eb", + "transactionIndex": "0x3", + "blockHash": "0xe8654d6f96063f64d25fde9ed46790b3ff86f62251bf1043b0067a27409af110", + "blockNumber": "0x183c08e6", + "gasUsed": "0x13ae42", + "effectiveGasPrice": "0xd570a0", "from": "0x9a8f92a830a5cb89a3816e3d267cb7791c16b04d", "to": null, - "contractAddress": "0xcf0e59e044216e0d291f6652e8e15b6c8d69cea8", - "gasUsedForL1": "0x0", - "l1BlockNumber": "0x16df8ab", + "contractAddress": "0x2ac5ee3796e027da274fbde84c82173a65868940", + "gasUsedForL1": "0x106a", + "l1BlockNumber": "0x16d23ef", "timeboosted": false } ], "libraries": [], "pending": [], "returns": {}, - "timestamp": 1765393917674, + "timestamp": 1764727648975, "chain": 42161, - "commit": "4dfc13b5" + "commit": "5d9f89e2" } diff --git a/broadcast/deployed-addresses.json b/broadcast/deployed-addresses.json index e384a743e..d0c602c78 100644 --- a/broadcast/deployed-addresses.json +++ b/broadcast/deployed-addresses.json @@ -524,9 +524,9 @@ "block_number": 15142204 }, "DonationBox": { - "address": "0x1d7c1398df7c823068e6a120d3921847929d428e", - "block_number": 21492721, - "transaction_hash": "0x4666b500b70a02f2f8656ad8d74a35fca668cd56e3444371e114999d93c9e68b" + "address": "0x3d589d40312bf2d20f13cd0af26a11144a9ca844", + "block_number": 21341868, + "transaction_hash": "0xe617eb954e31dc4305f9ddcd9badd2e0e707e4b9c266e16fddaf8e7c23180fde" }, "SponsoredCCTPDstPeriphery": { "address": "0x1c709fd0db6a6b877ddb19ae3d485b7b4add879f", @@ -534,14 +534,14 @@ "transaction_hash": "0x9c7604f9254450f13b0941008f5272f68ec58db61f32e5ee6713e72b4b56de0b" }, "PermissionedMulticallHandler": { - "address": "0x2b20df3471e2751840a9c921696d62ea8bc4a391", - "block_number": 21492721, - "transaction_hash": "0xa6be6f9659a1d4d03fb280a87a7fa9e556b8d98c04d224e5c97bd5f3877c0cd1" + "address": "0xfd0876712dd9003d014cdcd8e5140b4efac9bfcc", + "block_number": 21341868, + "transaction_hash": "0xc0b5e25643a971a281b9a142a4b146f7833b336a36c68f446bb4e63495e3eeb7" }, "DstOFTHandler": { - "address": "0xdfa6ec7a77f90d9762459069edd1ea78b853c67c", - "block_number": 21492721, - "transaction_hash": "0x0a784217cbe3ea1f5a707cd0c97ba1468341d523c9f500899313754f91d5e1e9" + "address": "0xc8786d517b4e224bb43985a38dbef8588d7354cd", + "block_number": 21341868, + "transaction_hash": "0x7ce545552d4a517bc380951ec35bd5eb86f84e0364a7ac9417aba605b8bf6309" }, "HyperliquidDepositHandler": { "address": "0x861e127036b28d32f3777b4676f6bbb9e007d195", @@ -760,9 +760,9 @@ "transaction_hash": "0x6c4f6d7537530911757ecc317e0b5a39b5caf7089ab5549cb4299c830a9d854c" }, "SponsoredOFTSrcPeriphery": { - "address": "0xcf0e59e044216e0d291f6652e8e15b6c8d69cea8", - "block_number": 409259186, - "transaction_hash": "0xc9d530e42b9a991e3b36930338793faeb52127a87eaa7b9935d8d9aa0a847d62" + "address": "0x2ac5ee3796e027da274fbde84c82173a65868940", + "block_number": 406587622, + "transaction_hash": "0xaf2427171b1d55e27dc75985001ce5a6be8c89a817f51b479f223b4c9799c7eb" } } }, diff --git a/broadcast/deployed-addresses.md b/broadcast/deployed-addresses.md index ec2b64658..40287709d 100644 --- a/broadcast/deployed-addresses.md +++ b/broadcast/deployed-addresses.md @@ -170,12 +170,12 @@ This file contains the latest deployed smart contract addresses from the broadca | Contract Name | Address | | ---------------------------- | ------------------------------------------------------------------------------------------------------------------------- | | DonationBox | [0x039d62C549F27ead0eB9B567d8776289e5020583](https://hyperevmscan.io//address/0x039d62C549F27ead0eB9B567d8776289e5020583) | -| DonationBox | [0x1d7c1398dF7C823068E6a120d3921847929d428e](https://hyperevmscan.io//address/0x1d7c1398dF7C823068E6a120d3921847929d428e) | -| DstOFTHandler | [0xDFa6EC7A77f90d9762459069EDd1ea78B853C67c](https://hyperevmscan.io//address/0xDFa6EC7A77f90d9762459069EDd1ea78B853C67c) | +| DonationBox | [0x3D589D40312Bf2d20f13cD0AF26A11144a9cA844](https://hyperevmscan.io//address/0x3D589D40312Bf2d20f13cD0AF26A11144a9cA844) | +| DstOFTHandler | [0xc8786D517b4e224bB43985A38dBeF8588D7354CD](https://hyperevmscan.io//address/0xc8786D517b4e224bB43985A38dBeF8588D7354CD) | | Helios | [0xc19B7EF43a6eBd393446F401d1eCFac01B181ac0](https://hyperevmscan.io//address/0xc19B7EF43a6eBd393446F401d1eCFac01B181ac0) | | HyperliquidDepositHandler | [0x861E127036B28D32f3777B4676F6bbb9e007d195](https://hyperevmscan.io//address/0x861E127036B28D32f3777B4676F6bbb9e007d195) | | MulticallHandler | [0x5E7840E06fAcCb6d1c3b5F5E0d1d3d07F2829bba](https://hyperevmscan.io//address/0x5E7840E06fAcCb6d1c3b5F5E0d1d3d07F2829bba) | -| PermissionedMulticallHandler | [0x2b20df3471E2751840a9C921696d62eA8Bc4a391](https://hyperevmscan.io//address/0x2b20df3471E2751840a9C921696d62eA8Bc4a391) | +| PermissionedMulticallHandler | [0xfD0876712DD9003D014CDCd8e5140B4EFAC9BFCC](https://hyperevmscan.io//address/0xfD0876712DD9003D014CDCd8e5140B4EFAC9BFCC) | | SpokePool | [0x35E63eA3eb0fb7A3bc543C71FB66412e1F6B0E04](https://hyperevmscan.io//address/0x35E63eA3eb0fb7A3bc543C71FB66412e1F6B0E04) | | SpokePoolPeriphery | [0xF1BF00D947267Da5cC63f8c8A60568c59FA31bCb](https://hyperevmscan.io//address/0xF1BF00D947267Da5cC63f8c8A60568c59FA31bCb) | | SpokePoolVerifier | [0x3Fb9cED51E968594C87963a371Ed90c39519f65A](https://hyperevmscan.io//address/0x3Fb9cED51E968594C87963a371Ed90c39519f65A) | @@ -243,7 +243,7 @@ This file contains the latest deployed smart contract addresses from the broadca | SpokePoolPeriphery | [0x89415a82d909a7238d69094C3Dd1dCC1aCbDa85C](https://arbiscan.io/address/0x89415a82d909a7238d69094C3Dd1dCC1aCbDa85C) | | SpokePoolVerifier | [0x3Fb9cED51E968594C87963a371Ed90c39519f65A](https://arbiscan.io/address/0x3Fb9cED51E968594C87963a371Ed90c39519f65A) | | SponsoredCCTPSrcPeriphery | [0xce1FFE01eBB4f8521C12e74363A396ee3d337E1B](https://arbiscan.io/address/0xce1FFE01eBB4f8521C12e74363A396ee3d337E1B) | -| SponsoredOFTSrcPeriphery | [0xCf0E59e044216e0D291f6652e8e15B6c8D69CeA8](https://arbiscan.io/address/0xCf0E59e044216e0D291f6652e8e15B6c8D69CeA8) | +| SponsoredOFTSrcPeriphery | [0x2ac5Ee3796E027dA274fbDe84c82173a65868940](https://arbiscan.io/address/0x2ac5Ee3796E027dA274fbDe84c82173a65868940) | | UniswapV3_SwapAndBridge | [0xF633b72A4C2Fb73b77A379bf72864A825aD35b6D](https://arbiscan.io/address/0xF633b72A4C2Fb73b77A379bf72864A825aD35b6D) | ## Ink (57073) diff --git a/script/mintburn/oft/usdt0-preprod.toml b/script/mintburn/oft/usdt0-preprod.toml deleted file mode 100644 index cb1a045dd..000000000 --- a/script/mintburn/oft/usdt0-preprod.toml +++ /dev/null @@ -1,47 +0,0 @@ -[1] -endpoint_url = "${NODE_URL_1}" - -[1.address] -token = "0xdAC17F958D2ee523a2206206994597C13D831ec7" -oft_messenger = "0x6C96dE32CEa08842dcc4058c14d3aaAD7Fa41dee" -src_periphery = "0x4607BceaF7b22cb0c46882FFc9fAB3c6efe66e5a" - -[42161] -endpoint_url = "${NODE_URL_42161}" - -[42161.address] -token = "0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9" -oft_messenger = "0x14E4A1B13bf7F943c8ff7C51fb60FA964A298D92" -src_periphery = "0x2ac5Ee3796E027dA274fbDe84c82173a65868940" - -[130] -endpoint_url = "${NODE_URL_130}" - -[130.address] -token = "0x9151434b16b9763660705744891fA906F660EcC5" -oft_messenger = "0xc07bE8994D035631c36fb4a89C918CeFB2f03EC3" -src_periphery = "0x0Bf1A44AE69869cF7AEA7e0cbA76624792fAD4DE" - -[137] -endpoint_url = "${NODE_URL_137}" - -[137.address] -token = "0xc2132D05D31c914a87C6611C10748AEb04B58e8F" -oft_messenger = "0x6BA10300f0DC58B7a1e4c0e41f5daBb7D7829e13" -src_periphery = "0xC6A21E6A57777F2183312c19e614DD6054b1A54F" - -[143] -endpoint_url = "${NODE_URL_143}" - -[143.address] -token = "0xe7cd86e13AC4309349F30B3435a9d337750fC82D" -oft_messenger = "0x9151434b16b9763660705744891fA906F660EcC5" -src_periphery = "0xa3dE5F042EFD4C732498883100A2d319BbB3c1A1" - -[999] -endpoint_url = "${NODE_URL_999}" - -[999.address] -token = "0xB8CE59FC3717ada4C02eaDF9682A9e934F625ebb" -oft_messenger = "0x904861a24F30EC96ea7CFC3bE9EA4B476d237e98" -dst_handler = "0xc8786D517b4e224bB43985A38dBeF8588D7354CD" diff --git a/script/mintburn/oft/usdt0.toml b/script/mintburn/oft/usdt0.toml index 11faa969f..cb1a045dd 100644 --- a/script/mintburn/oft/usdt0.toml +++ b/script/mintburn/oft/usdt0.toml @@ -1,10 +1,42 @@ +[1] +endpoint_url = "${NODE_URL_1}" + +[1.address] +token = "0xdAC17F958D2ee523a2206206994597C13D831ec7" +oft_messenger = "0x6C96dE32CEa08842dcc4058c14d3aaAD7Fa41dee" +src_periphery = "0x4607BceaF7b22cb0c46882FFc9fAB3c6efe66e5a" + [42161] endpoint_url = "${NODE_URL_42161}" [42161.address] token = "0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9" oft_messenger = "0x14E4A1B13bf7F943c8ff7C51fb60FA964A298D92" -src_periphery = "0xCf0E59e044216e0D291f6652e8e15B6c8D69CeA8" +src_periphery = "0x2ac5Ee3796E027dA274fbDe84c82173a65868940" + +[130] +endpoint_url = "${NODE_URL_130}" + +[130.address] +token = "0x9151434b16b9763660705744891fA906F660EcC5" +oft_messenger = "0xc07bE8994D035631c36fb4a89C918CeFB2f03EC3" +src_periphery = "0x0Bf1A44AE69869cF7AEA7e0cbA76624792fAD4DE" + +[137] +endpoint_url = "${NODE_URL_137}" + +[137.address] +token = "0xc2132D05D31c914a87C6611C10748AEb04B58e8F" +oft_messenger = "0x6BA10300f0DC58B7a1e4c0e41f5daBb7D7829e13" +src_periphery = "0xC6A21E6A57777F2183312c19e614DD6054b1A54F" + +[143] +endpoint_url = "${NODE_URL_143}" + +[143.address] +token = "0xe7cd86e13AC4309349F30B3435a9d337750fC82D" +oft_messenger = "0x9151434b16b9763660705744891fA906F660EcC5" +src_periphery = "0xa3dE5F042EFD4C732498883100A2d319BbB3c1A1" [999] endpoint_url = "${NODE_URL_999}" @@ -12,4 +44,4 @@ endpoint_url = "${NODE_URL_999}" [999.address] token = "0xB8CE59FC3717ada4C02eaDF9682A9e934F625ebb" oft_messenger = "0x904861a24F30EC96ea7CFC3bE9EA4B476d237e98" -dst_handler = "0xDFa6EC7A77f90d9762459069EDd1ea78B853C67c" +dst_handler = "0xc8786D517b4e224bB43985A38dBeF8588D7354CD" From 14a4cc77d4fb4a8a3bbc8f09b30e320add5a8763 Mon Sep 17 00:00:00 2001 From: Ihor Farion Date: Wed, 10 Dec 2025 11:49:11 -0800 Subject: [PATCH 5/5] revert part of change Signed-off-by: Ihor Farion --- contracts/libraries/HyperCoreLib.sol | 20 ------------------- .../mintburn/HyperCoreFlowExecutor.sol | 9 +++++---- 2 files changed, 5 insertions(+), 24 deletions(-) diff --git a/contracts/libraries/HyperCoreLib.sol b/contracts/libraries/HyperCoreLib.sol index ff29b737d..348ca3254 100644 --- a/contracts/libraries/HyperCoreLib.sol +++ b/contracts/libraries/HyperCoreLib.sol @@ -108,26 +108,6 @@ library HyperCoreLib { return (_amountEVMToSend, _amountCoreToReceive); } - /** - * @notice Computes the EVM amount required to activate a user account on HyperCore. - * @dev Encapsulates USDC vs non-USDC activation semantics. The returned `coreAmountToBridge` - * should be used for safety checks via `isCoreAmountSafeToBridge`. - * @param accountActivationFeeCore The account activation fee in core token units. - * @param decimalDiff The decimal difference of evmDecimals - coreDecimals. - * @return evmAmountToSend The amount of EVM tokens to send from HyperEVM. - * @return coreAmountToBridge The corresponding amount on HyperCore that bridging should result in. - */ - function getRequiredEVMSendAmountForActivation( - uint64 accountActivationFeeCore, - int8 decimalDiff - ) internal pure returns (uint256 evmAmountToSend, uint64 coreAmountToBridge) { - // accountActivationFeeCore plus 1 wei is required for an account to become activated - (evmAmountToSend, coreAmountToBridge) = minimumCoreReceiveAmountToAmounts( - accountActivationFeeCore + 1, - decimalDiff - ); - } - /** * @notice Activate a user account on HyperCore from HyperEVM. * @param erc20EVMAddress The address of the ERC20 token on HyperEVM. diff --git a/contracts/periphery/mintburn/HyperCoreFlowExecutor.sol b/contracts/periphery/mintburn/HyperCoreFlowExecutor.sol index 19778130d..924ef3abe 100644 --- a/contracts/periphery/mintburn/HyperCoreFlowExecutor.sol +++ b/contracts/periphery/mintburn/HyperCoreFlowExecutor.sol @@ -883,15 +883,16 @@ contract HyperCoreFlowExecutor is AccessControlUpgradeable, AuthorizedFundedFlow require(!coreUserExists, "Can't fund account activation for existing user"); require(coreTokenInfo.canBeUsedForAccountActivation, "Token can't be used for this"); - // Compute the required EVM amount to cover the activation fee and minimal spot send on Core. - (uint256 evmAmountToSend, uint64 coreAmountToBridge) = HyperCoreLib.getRequiredEVMSendAmountForActivation( - coreTokenInfo.accountActivationFeeCore, + // +1 wei for a spot send + uint64 totalBalanceRequiredToActivate = coreTokenInfo.accountActivationFeeCore + 1; + (uint256 evmAmountToSend, ) = HyperCoreLib.minimumCoreReceiveAmountToAmounts( + totalBalanceRequiredToActivate, coreTokenInfo.tokenInfo.evmExtraWeiDecimals ); bool safeToBridge = HyperCoreLib.isCoreAmountSafeToBridge( coreTokenInfo.coreIndex, - coreAmountToBridge, + totalBalanceRequiredToActivate, coreTokenInfo.bridgeSafetyBufferCore ); require(safeToBridge, "Not safe to bridge");