FRAX Price: $0.27 (-0.31%)
Gas: 1 Gwei

Contract

0xFece2e1AAC623c9824F4251C7c1a2461bF0feDA4

Overview

FRAX Balance | FXTL Balance

0 FRAX | 42,581,261 FXTL

FRAX Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Block
From
To
Swap413198632026-09-15 5:33:5717 mins ago1789450437IN
0xFece2e1A...1bF0feDA4
0 FRAX0.000018110.00150025
Swap413198412026-09-15 5:33:1317 mins ago1789450393IN
0xFece2e1A...1bF0feDA4
0 FRAX0.000019440.00150025
Swap413198222026-09-15 5:32:3518 mins ago1789450355IN
0xFece2e1A...1bF0feDA4
0 FRAX0.000019620.00150025
Swap413198012026-09-15 5:31:5319 mins ago1789450313IN
0xFece2e1A...1bF0feDA4
0 FRAX0.000015690.00150025
Swap413197812026-09-15 5:31:1319 mins ago1789450273IN
0xFece2e1A...1bF0feDA4
0 FRAX0.000017010.00150025
Swap413197602026-09-15 5:30:3120 mins ago1789450231IN
0xFece2e1A...1bF0feDA4
0 FRAX0.000018780.00150025
Swap413197392026-09-15 5:29:4921 mins ago1789450189IN
0xFece2e1A...1bF0feDA4
0 FRAX0.000021840.00150025
Swap413197172026-09-15 5:29:0522 mins ago1789450145IN
0xFece2e1A...1bF0feDA4
0 FRAX0.000018810.00150025
Swap413196952026-09-15 5:28:2122 mins ago1789450101IN
0xFece2e1A...1bF0feDA4
0 FRAX0.00001860.00150025
Swap413196712026-09-15 5:27:3323 mins ago1789450053IN
0xFece2e1A...1bF0feDA4
0 FRAX0.000022040.00150025
Swap413196502026-09-15 5:26:5124 mins ago1789450011IN
0xFece2e1A...1bF0feDA4
0 FRAX0.000020970.00150025
Swap413196282026-09-15 5:26:0725 mins ago1789449967IN
0xFece2e1A...1bF0feDA4
0 FRAX0.000021970.00150025
Swap413194412026-09-15 5:19:5331 mins ago1789449593IN
0xFece2e1A...1bF0feDA4
0 FRAX0.000018970.00150025
Swap413194282026-09-15 5:19:2731 mins ago1789449567IN
0xFece2e1A...1bF0feDA4
0 FRAX0.00002930.00150025
Swap413194072026-09-15 5:18:4532 mins ago1789449525IN
0xFece2e1A...1bF0feDA4
0 FRAX0.000027540.00150025
Swap413193992026-09-15 5:18:2932 mins ago1789449509IN
0xFece2e1A...1bF0feDA4
0 FRAX0.00001660.00150025
Swap413193872026-09-15 5:18:0533 mins ago1789449485IN
0xFece2e1A...1bF0feDA4
0 FRAX0.000025570.00150025
Swap413193792026-09-15 5:17:4933 mins ago1789449469IN
0xFece2e1A...1bF0feDA4
0 FRAX0.000017080.00150025
Swap413193652026-09-15 5:17:2133 mins ago1789449441IN
0xFece2e1A...1bF0feDA4
0 FRAX0.000025820.00150025
Swap413193562026-09-15 5:17:0334 mins ago1789449423IN
0xFece2e1A...1bF0feDA4
0 FRAX0.000015660.00150025
Swap413193442026-09-15 5:16:3934 mins ago1789449399IN
0xFece2e1A...1bF0feDA4
0 FRAX0.000021640.00150025
Swap413193362026-09-15 5:16:2334 mins ago1789449383IN
0xFece2e1A...1bF0feDA4
0 FRAX0.000015520.00150025
Swap413193202026-09-15 5:15:5135 mins ago1789449351IN
0xFece2e1A...1bF0feDA4
0 FRAX0.000022790.00150025
Swap413193132026-09-15 5:15:3735 mins ago1789449337IN
0xFece2e1A...1bF0feDA4
0 FRAX0.000015990.00150025
Swap413192972026-09-15 5:15:0536 mins ago1789449305IN
0xFece2e1A...1bF0feDA4
0 FRAX0.00002270.00150025
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:

Cross-Chain Transactions
Loading...
Loading
Source Code Verified Exact Match

Contract Name

BAMMWrapper

Compiler Version
v0.8.23+commit.f704f362
Optimization Enabled
Yes with 1000 runs
Other Settings
shanghai EvmVersion
License
-NA-
Contract Source Code (Solidity Standard Json-Input format)
Contract Security Audit
No Contract Security Audit SubmittedSubmit Audit Here
Contract ABI
API
[{"inputs":[{"internalType":"address","name":"_factory","type":"address"},{"internalType":"address","name":"_bammUIHelper","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AddressEmptyCode","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"AddressInsufficientBalance","type":"error"},{"inputs":[],"name":"FailedInnerCall","type":"error"},{"inputs":[],"name":"OraclePriceDeviated","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","type":"error"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"SafeERC20FailedOperation","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[{"internalType":"int256","name":"token0","type":"int256"},{"internalType":"int256","name":"token1","type":"int256"},{"internalType":"int256","name":"targetLTV","type":"int256"},{"internalType":"bool","name":"max","type":"bool"}],"name":"_calcRentForLTV","outputs":[{"internalType":"int256","name":"rent","type":"int256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"bamm","type":"address"},{"internalType":"int256","name":"token0Amount","type":"int256"},{"internalType":"int256","name":"token1Amount","type":"int256"},{"internalType":"int256","name":"targetLTV","type":"int256"},{"internalType":"uint256","name":"maxUtilRate","type":"uint256"},{"internalType":"bool","name":"maxRent","type":"bool"}],"name":"actionWithTargetLTV","outputs":[{"components":[{"internalType":"int256","name":"token0","type":"int256"},{"internalType":"int256","name":"token1","type":"int256"},{"internalType":"int256","name":"rented","type":"int256"}],"internalType":"struct IBAMM.Vault","name":"vault","type":"tuple"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"bamm","type":"address"},{"internalType":"bool","name":"allowed","type":"bool"}],"name":"allowBAMM","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"allowedBAMMs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"bammList","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"bammUIHelper","outputs":[{"internalType":"contract BAMMUIHelper","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"bamm","type":"address"}],"name":"closePosition","outputs":[{"components":[{"internalType":"int256","name":"token0","type":"int256"},{"internalType":"int256","name":"token1","type":"int256"},{"internalType":"int256","name":"rented","type":"int256"}],"internalType":"struct IBAMM.Vault","name":"vault","type":"tuple"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"bamm","type":"address"},{"internalType":"int256","name":"token0Amount","type":"int256"},{"internalType":"int256","name":"token1Amount","type":"int256"}],"name":"depositWithdraw","outputs":[{"components":[{"internalType":"int256","name":"token0","type":"int256"},{"internalType":"int256","name":"token1","type":"int256"},{"internalType":"int256","name":"rented","type":"int256"}],"internalType":"struct IBAMM.Vault","name":"vault","type":"tuple"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"execute","outputs":[{"internalType":"bool","name":"","type":"bool"},{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"bamm","type":"address"},{"components":[{"internalType":"int256","name":"token0Amount","type":"int256"},{"internalType":"int256","name":"token1Amount","type":"int256"},{"internalType":"int256","name":"rent","type":"int256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"token0AmountMin","type":"uint256"},{"internalType":"uint256","name":"token1AmountMin","type":"uint256"},{"internalType":"bool","name":"closePosition","type":"bool"},{"internalType":"bool","name":"approveMax","type":"bool"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"internalType":"struct IBAMM.Action","name":"action","type":"tuple"}],"name":"executeActions","outputs":[{"components":[{"internalType":"int256","name":"token0","type":"int256"},{"internalType":"int256","name":"token1","type":"int256"},{"internalType":"int256","name":"rented","type":"int256"}],"internalType":"struct IBAMM.Vault","name":"vault","type":"tuple"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"factory","outputs":[{"internalType":"contract BAMMFactory","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isOperator","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"bamm","type":"address"},{"internalType":"int256","name":"targetLTV","type":"int256"},{"internalType":"uint256","name":"maxUtilRate","type":"uint256"}],"name":"rentMax","outputs":[{"components":[{"internalType":"int256","name":"token0","type":"int256"},{"internalType":"int256","name":"token1","type":"int256"},{"internalType":"int256","name":"rented","type":"int256"}],"internalType":"struct IBAMM.Vault","name":"vault","type":"tuple"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_defaultMaxRent","type":"bool"}],"name":"setDefaultMaxRent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_defaultMaxUtilRate","type":"uint256"}],"name":"setDefaultMaxUtilRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"int256","name":"_defaultTargetLTV","type":"int256"}],"name":"setDefaultTargetLTV","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_operator","type":"address"},{"internalType":"bool","name":"allowed","type":"bool"}],"name":"setOperator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"bamm","type":"address"},{"components":[{"internalType":"address","name":"tokenIn","type":"address"},{"internalType":"uint256","name":"amountIn","type":"uint256"},{"internalType":"address","name":"tokenOut","type":"address"},{"internalType":"uint256","name":"amountOutMinimum","type":"uint256"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"bool","name":"approveMax","type":"bool"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"},{"internalType":"bytes","name":"route","type":"bytes"}],"internalType":"struct IFraxswapRouterMultihop.FraxswapParams","name":"swapParams","type":"tuple"},{"internalType":"int256","name":"targetLTV","type":"int256"},{"internalType":"uint256","name":"maxUtilRate","type":"uint256"},{"internalType":"bool","name":"maxRent","type":"bool"}],"name":"swap","outputs":[{"components":[{"internalType":"int256","name":"token0","type":"int256"},{"internalType":"int256","name":"token1","type":"int256"},{"internalType":"int256","name":"rented","type":"int256"}],"internalType":"struct IBAMM.Vault","name":"vault","type":"tuple"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"bamm","type":"address"},{"components":[{"internalType":"address","name":"tokenIn","type":"address"},{"internalType":"uint256","name":"amountIn","type":"uint256"},{"internalType":"address","name":"tokenOut","type":"address"},{"internalType":"uint256","name":"amountOutMinimum","type":"uint256"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"bool","name":"approveMax","type":"bool"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"},{"internalType":"bytes","name":"route","type":"bytes"}],"internalType":"struct IFraxswapRouterMultihop.FraxswapParams","name":"swapParams","type":"tuple"}],"name":"swap","outputs":[{"components":[{"internalType":"int256","name":"token0","type":"int256"},{"internalType":"int256","name":"token1","type":"int256"},{"internalType":"int256","name":"rented","type":"int256"}],"internalType":"struct IBAMM.Vault","name":"vault","type":"tuple"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"bamm","type":"address"},{"internalType":"int256","name":"token0","type":"int256"},{"internalType":"uint256","name":"amountOutMin","type":"uint256"}],"name":"swapToken0","outputs":[{"components":[{"internalType":"int256","name":"token0","type":"int256"},{"internalType":"int256","name":"token1","type":"int256"},{"internalType":"int256","name":"rented","type":"int256"}],"internalType":"struct IBAMM.Vault","name":"vault","type":"tuple"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"bamm","type":"address"},{"internalType":"int256","name":"token1","type":"int256"},{"internalType":"uint256","name":"amountOutMin","type":"uint256"}],"name":"swapToken1","outputs":[{"components":[{"internalType":"int256","name":"token0","type":"int256"},{"internalType":"int256","name":"token1","type":"int256"},{"internalType":"int256","name":"rented","type":"int256"}],"internalType":"struct IBAMM.Vault","name":"vault","type":"tuple"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"bamm","type":"address"},{"internalType":"int256","name":"token0","type":"int256"},{"internalType":"int256","name":"token1","type":"int256"},{"internalType":"uint256","name":"amountOutMin","type":"uint256"},{"internalType":"int256","name":"targetLTV","type":"int256"},{"internalType":"uint256","name":"maxUtilRate","type":"uint256"},{"internalType":"bool","name":"maxRent","type":"bool"}],"name":"swapWithTargetLTV","outputs":[{"components":[{"internalType":"int256","name":"token0","type":"int256"},{"internalType":"int256","name":"token1","type":"int256"},{"internalType":"int256","name":"rented","type":"int256"}],"internalType":"struct IBAMM.Vault","name":"vault","type":"tuple"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IERC20Metadata","name":"_token","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"withdrawERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"withdrawETH","outputs":[],"stateMutability":"nonpayable","type":"function"}]
60c0604052670d999fb6796f6000600455670d2f0adf2a2c60006005556006805460ff1916905534801562000032575f80fd5b506040516200436f3803806200436f83398101604081905262000055916200010a565b33806200007b57604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b62000086816200009f565b506001600160a01b039182166080521660a05262000140565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b038116811462000105575f80fd5b919050565b5f80604083850312156200011c575f80fd5b6200012783620000ee565b91506200013760208401620000ee565b90509250929050565b60805160a0516141ce620001a15f395f81816101f301528181610534015281816105cb015281816114a50152818161153c01528181611ece01528181611f60015281816122ae015261234001525f81816104250152610c3401526141ce5ff3fe608060405234801561000f575f80fd5b50600436106101b0575f3560e01c80636cfdf208116100f35780638da5cb5b11610093578063aad5f07e1161006e578063aad5f07e146103ec578063b61d27f6146103ff578063c45a015514610420578063f2fde38b14610447575f80fd5b80638da5cb5b146103b6578063a44637be146103c6578063a59bbf68146103d9575f80fd5b80637173f22d116100ce5780637173f22d1461035b57806375b91dea1461036e5780637bd8711e1461038157806386e200c514610394575f80fd5b80636cfdf2081461030e5780636d70f7ae14610321578063715018a614610353575f80fd5b80633e27d0141161015e5780634d4354cb116101395780634d4354cb146102b4578063558a7297146102c75780636abc60ad146102da5780636c37651c146102ed575f80fd5b80633e27d0141461027b57806344004cc11461028e5780634782f779146102a1575f80fd5b80632f86e2dd1161018e5780632f86e2dd146102405780633140bad914610253578063398ea22b14610268575f80fd5b8063133e8aec146101b4578063178ca94f146101ee578063211b07491461022d575b5f80fd5b6101c76101c2366004613713565b61045a565b60408051825181526020808401519082015291810151908201526060015b60405180910390f35b6102157f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016101e5565b6101c761023b366004613786565b6109e6565b6101c761024e3660046137ea565b610ace565b610266610261366004613805565b610bf4565b005b6101c761027636600461383c565b611098565b6101c761028936600461383c565b6110d6565b61026661029c36600461386e565b611118565b6102666102af3660046138ac565b61112b565b6101c76102c23660046138d6565b6111d2565b6102666102d5366004613805565b611213565b6102666102e8366004613923565b611245565b6103006102fb36600461393a565b611252565b6040519081526020016101e5565b61026661031c366004613978565b611376565b61034361032f3660046137ea565b60016020525f908152604090205460ff1681565b60405190151581526020016101e5565b610266611391565b6101c761036936600461383c565b6113a4565b6101c761037c366004613993565b6113d0565b6101c761038f36600461383c565b6117f8565b6103436103a23660046137ea565b60026020525f908152604090205460ff1681565b5f546001600160a01b0316610215565b6101c76103d43660046139ed565b61183a565b6102666103e7366004613923565b611979565b6102156103fa366004613923565b611986565b61041261040d366004613acf565b6119ae565b6040516101e5929190613b9e565b6102157f000000000000000000000000000000000000000000000000000000000000000081565b6102666104553660046137ea565b611a25565b61047b60405180606001604052805f81526020015f81526020015f81525090565b335f9081526001602052604090205460ff16806104a157505f546001600160a01b031633145b806104aa575033155b6104b2575f80fd5b6001600160a01b0386165f90815260026020526040902054869060ff166105135760405162461bcd60e51b815260206004820152601060248201526f10905353481b9bdd08185b1b1bddd95960821b60448201526064015b60405180910390fd5b6040516306e847bf60e11b81526001600160a01b0388811660048301525f917f000000000000000000000000000000000000000000000000000000000000000090911690630dd08f7e906024016101a0604051808303815f875af115801561057d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105a19190613bb8565b604051631999908560e31b81526001600160a01b038a811660048301523060248301529192505f917f0000000000000000000000000000000000000000000000000000000000000000169063cccc8428906044016101a0604051808303815f875af1158015610612573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106369190613c6c565b90505f808a6001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015610676573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061069a9190613d1e565b6001600160a01b03168a5f01516001600160a01b0316036106d1578960200151915089606001516106ca90613d4d565b9050610763565b8a6001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa15801561070d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107319190613d1e565b6001600160a01b03168a5f01516001600160a01b0316036107635750602089015160608a015161076090613d4d565b91505b5f876107bd576107b8855f01518660200151858760800151885f01516107899190613d67565b6107939190613d67565b858860a0015189602001516107a89190613d67565b6107b29190613d67565b8e611a7b565b61080c565b61080c855f01518660200151858760800151885f01516107dd9190613d67565b6107e79190613d67565b858860a0015189602001516107fc9190613d67565b6108069190613d67565b8e611b67565b90505f670de0b6b3a76400008660600151866040015161082c9190613d8d565b6108369190613dd0565b6108409083613d67565b90505f81131561089c575f8660a00151670de0b6b3a76400008c8960a001518a6080015161086e9190613dfc565b6108789190613e0f565b6108829190613e26565b61088c9190613e39565b90508082131561089a578091505b505b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810182905261012081018290526101408101829052610160810191909152606087015161091383670de0b6b3a7640000613d8d565b61091d9190613dd0565b60408201819052620f423f1912801561093c5750620f42408160400151125b15610948575f60408201525b5f81604001511215610966576109668e885f01518960200151611c0d565b8d6001600160a01b031663a8747dc6828f6040518363ffffffff1660e01b8152600401610994929190613eeb565b6060604051808303815f875af11580156109b0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109d49190613fb2565b9e9d5050505050505050505050505050565b610a0760405180606001604052805f81526020015f81526020015f81525090565b335f9081526001602052604090205460ff1680610a2d57505f546001600160a01b031633145b80610a36575033155b610a3e575f80fd5b6001600160a01b0388165f90815260026020526040902054889060ff16610a9a5760405162461bcd60e51b815260206004820152601060248201526f10905353481b9bdd08185b1b1bddd95960821b604482015260640161050a565b8215610ab557610aae898989898989611e86565b9150610ac2565b610aae8989898989612266565b50979650505050505050565b610aef60405180606001604052805f81526020015f81526020015f81525090565b335f9081526001602052604090205460ff1680610b1557505f546001600160a01b031633145b80610b1e575033155b610b26575f80fd5b6001600160a01b0382165f90815260026020526040902054829060ff16610b825760405162461bcd60e51b815260206004820152601060248201526f10905353481b9bdd08185b1b1bddd95960821b604482015260640161050a565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260e08101829052610100810182905261012081018290526101408101829052610160810191909152600160c0820152610bec848261183a565b949350505050565b610bfc6125cc565b6040517f89439acf0000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301527f000000000000000000000000000000000000000000000000000000000000000016906389439acf90602401602060405180830381865afa158015610c79573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c9d919061400c565b610ce95760405162461bcd60e51b815260206004820152600860248201527f4e6f742042414d4d000000000000000000000000000000000000000000000000604482015260640161050a565b6001600160a01b0382165f908152600260205260409020805460ff19168215801591909117909155610f3057600380546001810182555f919091527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b01805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038416908117909155604080517f0dfe16810000000000000000000000000000000000000000000000000000000081529051630dfe1681916004808201926020929091908290030181865afa158015610dc1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610de59190613d1e565b60405163095ea7b360e01b81526001600160a01b0384811660048301525f196024830152919091169063095ea7b3906044016020604051808303815f875af1158015610e33573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e57919061400c565b50816001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e94573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eb89190613d1e565b60405163095ea7b360e01b81526001600160a01b0384811660048301525f196024830152919091169063095ea7b3906044015b6020604051808303815f875af1158015610f07573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f2b919061400c565b505050565b816001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f6c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f909190613d1e565b60405163095ea7b360e01b81526001600160a01b0384811660048301525f6024830152919091169063095ea7b3906044016020604051808303815f875af1158015610fdd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611001919061400c565b50816001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa15801561103e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110629190613d1e565b60405163095ea7b360e01b81526001600160a01b0384811660048301525f6024830152919091169063095ea7b390604401610eeb565b6110b960405180606001604052805f81526020015f81526020015f81525090565b600454600554600654610bec92879287928792919060ff166113d0565b6110f760405180606001604052805f81526020015f81526020015f81525090565b610bec84845f8560045460055460065f9054906101000a900460ff166109e6565b6111206125cc565b610f2b838383612611565b6111336125cc565b5f826001600160a01b0316826040515f6040518083038185875af1925050503d805f811461117c576040519150601f19603f3d011682016040523d82523d5f602084013e611181565b606091505b5050905080610f2b5760405162461bcd60e51b815260206004820152601460248201527f4661696c656420746f2073656e64204574686572000000000000000000000000604482015260640161050a565b6111f360405180606001604052805f81526020015f81526020015f81525090565b60045460055460065461120c928692869260ff1661045a565b9392505050565b61121b6125cc565b6001600160a01b03919091165f908152600160205260409020805460ff1916911515919091179055565b61124d6125cc565b600455565b5f620f424061126664e8d4a5100085613dd0565b93505f83611275576001611278565b5f195b90506112848280613d8d565b61128e8680613d8d565b6112989190613d67565b6112a3906002613d8d565b6112ad8789614027565b6112b78780613d8d565b6112c19190613d8d565b6113436112ce8580613d8d565b6112d88980613d8d565b6112e29190613d67565b896112ee8c6004613d8d565b6112f89190613d8d565b6113029190613d8d565b61130c8a8c614027565b6113168b8d614027565b6113208b80613d8d565b61132a9190613d8d565b6113349190613d8d565b61133e9190613d67565b612691565b61134d8885613d8d565b6113579190613d8d565b6113619190613d67565b61136b9190613dd0565b979650505050505050565b61137e6125cc565b6006805460ff1916911515919091179055565b6113996125cc565b6113a25f6126ff565b565b6113c560405180606001604052805f81526020015f81526020015f81525090565b610bec845f80868660015b6113f160405180606001604052805f81526020015f81526020015f81525090565b335f9081526001602052604090205460ff168061141757505f546001600160a01b031633145b80611420575033155b611428575f80fd5b6001600160a01b0387165f90815260026020526040902054879060ff166114845760405162461bcd60e51b815260206004820152601060248201526f10905353481b9bdd08185b1b1bddd95960821b604482015260640161050a565b6040516306e847bf60e11b81526001600160a01b0389811660048301525f917f000000000000000000000000000000000000000000000000000000000000000090911690630dd08f7e906024016101a0604051808303815f875af11580156114ee573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115129190613bb8565b604051631999908560e31b81526001600160a01b038b811660048301523060248301529192505f917f0000000000000000000000000000000000000000000000000000000000000000169063cccc8428906044016101a0604051808303815f875af1158015611583573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115a79190613c6c565b90505f898260800151835f01516115be9190613d67565b6115c89190614027565b90505f898360a0015184602001516115e09190613d67565b6115ea9190614027565b90505f8761160b57611606855f0151866020015185858e611a7b565b61161f565b61161f855f0151866020015185858e611b67565b90505f670de0b6b3a76400008660600151866040015161163f9190613d8d565b6116499190613dd0565b6116539083613d67565b90505f8113156116af575f8660a00151670de0b6b3a76400008c8960a001518a608001516116819190613dfc565b61168b9190613e0f565b6116959190613e26565b61169f9190613e39565b9050808213156116ad578091505b505b60408051610180810182525f91810182905260608082018390526080820183905260a0820183905260c0820183905260e082018390526101008201839052610120820183905261014082018390526101608201929092528e8152602081018e90529087015161172683670de0b6b3a7640000613d8d565b6117309190613dd0565b60408201819052620f423f1912801561174f5750620f42408160400151125b1561175b575f60408201525b5f81604001511215611779576117798f885f01518960200151611c0d565b8e6001600160a01b031663750c3a16826040518263ffffffff1660e01b81526004016117a5919061404e565b6060604051808303815f875af11580156117c1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117e59190613fb2565b9f9e505050505050505050505050505050565b61181960405180606001604052805f81526020015f81526020015f81525090565b610bec845f858560045460055460065f9054906101000a900460ff166109e6565b61185b60405180606001604052805f81526020015f81526020015f81525090565b335f9081526001602052604090205460ff168061188157505f546001600160a01b031633145b8061188a575033155b611892575f80fd5b6001600160a01b0383165f90815260026020526040902054839060ff166118ee5760405162461bcd60e51b815260206004820152601060248201526f10905353481b9bdd08185b1b1bddd95960821b604482015260640161050a565b3060608401526040517f750c3a160000000000000000000000000000000000000000000000000000000081526001600160a01b0385169063750c3a169061193990869060040161404e565b6060604051808303815f875af1158015611955573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bec9190613fb2565b6119816125cc565b600555565b60038181548110611995575f80fd5b5f918252602090912001546001600160a01b0316905081565b5f60606119b96125cc565b5f80876001600160a01b03168787876040516119d692919061405d565b5f6040518083038185875af1925050503d805f8114611a10576040519150601f19603f3d011682016040523d82523d5f602084013e611a15565b606091505b5090999098509650505050505050565b611a2d6125cc565b6001600160a01b038116611a6f576040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081525f600482015260240161050a565b611a78816126ff565b50565b5f80611a8a61133e8789613e0f565b90505f851215611b0e5769021e19e0c9bab2400000611ade81868a611aaf8b8b613d8d565b611ab99190613dd0565b611acd9069021e19e0c9bab2400000613d8d565b611ad79190613dd0565b865f611252565b87611ae98488613d8d565b611af39190613dd0565b611afd9190613d8d565b611b079190613dd0565b9150611b5d565b5f841215611b5d5769021e19e0c9bab2400000611b31818789611aaf8c8a613d8d565b88611b3c8489613d8d565b611b469190613dd0565b611b509190613d8d565b611b5a9190613dd0565b91505b5095945050505050565b5f80611b7661133e8789613e0f565b90505f84138015611b9a57508486611b8e8987613d8d565b611b989190613dd0565b135b15611bea5769021e19e0c9bab2400000611ade81868a611bba8b8b613d8d565b611bc49190613dd0565b611bd89069021e19e0c9bab2400000613d8d565b611be29190613dd0565b866001611252565b5f851315611b5d5769021e19e0c9bab2400000611b31818789611bba8c8a613d8d565b5f80846001600160a01b031663395db9ec6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c4b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c6f9190613d1e565b6001600160a01b0316638f4bb32a866001600160a01b031663a8aa1b316040518163ffffffff1660e01b8152600401602060405180830381865afa158015611cb9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cdd9190613d1e565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526001600160a01b0390911660048201526107086024820152600a604482015261271060648201526084016040805180830381865afa158015611d4d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d71919061406c565b9092509050611d9d827c03b58e88c75313ec9d329eaaa18fb92f75215b17100000000000000000613e26565b91505f83611dba866e01ed09bead87c0378d8e6400000000613e0f565b611dc49190613e26565b90505f838211611ddd57611dd88285613e39565b611de7565b611de78483613e39565b90506101f484611df983612710613e0f565b611e039190613e26565b1115611e22576040516362f7964760e01b815260040160405180910390fd5b828211611e3857611e338284613e39565b611e42565b611e428383613e39565b90506101f483611e5483612710613e0f565b611e5e9190613e26565b1115611e7d576040516362f7964760e01b815260040160405180910390fd5b50505050505050565b611ea760405180606001604052805f81526020015f81526020015f81525090565b611eaf613338565b6040516306e847bf60e11b81526001600160a01b0389811660048301527f00000000000000000000000000000000000000000000000000000000000000001690630dd08f7e906024016101a0604051808303815f875af1158015611f15573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f399190613bb8565b8152604051631999908560e31b81526001600160a01b0389811660048301523060248301527f0000000000000000000000000000000000000000000000000000000000000000169063cccc8428906044016101a0604051808303815f875af1158015611fa7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fcb9190613c6c565b60208201525f871315611fef57611fe5886001898861275b565b6040820152612009565b5f86131561200957612003885f888861275b565b60408201525b5f5b6003811015612189575f806120328b855f0151866020015187606001518860400151612d3f565b919650925090505f61204761133e8385613e0f565b90505f670de0b6b3a7640000865f015160600151886040015161206a9190613d8d565b6120749190613dd0565b90505f6120c18585856120878387613d8d565b6120919190613dd0565b8b5161209d9190613d67565b866120a88988613d8d565b6120b29190613dd0565b8c602001516108069190613d67565b9050865f015160600151876020015160600151826120df9190613d67565b6120f190670de0b6b3a7640000613d8d565b6120fb9190613dd0565b6060880180516040908101929092525101515f121561217957865160a08101516080909101515f9190670de0b6b3a7640000908c9061213b908490613dfc565b6121459190613e0f565b61214f9190613e26565b6121599190613e39565b90508088606001516040015113156121775760608801516040018190525b505b505050505080600101905061200b565b50620f423f198160600151604001511380156121af5750620f4240816060015160400151125b156121c15760608101515f6040909101525b5f81606001516040015112156121e657805180516020909101516121e6918a91611c0d565b6060810151604080830151905163543a3ee360e11b81526001600160a01b038b169263a8747dc69261221a92600401613eeb565b6060604051808303815f875af1158015612236573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061225a9190613fb2565b98975050505050505050565b61228760405180606001604052805f81526020015f81526020015f81525090565b61228f613338565b6040516306e847bf60e11b81526001600160a01b0388811660048301527f00000000000000000000000000000000000000000000000000000000000000001690630dd08f7e906024016101a0604051808303815f875af11580156122f5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123199190613bb8565b8152604051631999908560e31b81526001600160a01b0388811660048301523060248301527f0000000000000000000000000000000000000000000000000000000000000000169063cccc8428906044016101a0604051808303815f875af1158015612387573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123ab9190613c6c565b60208201525f8613156123cf576123c5876001888761275b565b60408201526123e9565b5f8513156123e9576123e3875f878761275b565b60408201525b5f5b60038110156124fb575f806124128a855f0151866020015187606001518860400151612d3f565b919650925090505f61242761133e8385613e0f565b90505f670de0b6b3a7640000865f015160600151886040015161244a9190613d8d565b6124549190613dd0565b90505f6124a78585856124678387613d8d565b6124719190613dd0565b8b5161247d9190613d67565b866124888988613d8d565b6124929190613dd0565b8c602001516124a19190613d67565b8d611a7b565b9050865f015160600151876020015160600151826124c59190613d67565b6124d790670de0b6b3a7640000613d8d565b6124e19190613dd0565b6060880151604001525050600190930192506123eb915050565b50620f423f198160600151604001511380156125215750620f4240816060015160400151125b156125335760608101515f6040909101525b5f81606001516040015112156125585780518051602090910151612558918991611c0d565b6060810151604080830151905163543a3ee360e11b81526001600160a01b038a169263a8747dc69261258c92600401613eeb565b6060604051808303815f875af11580156125a8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b5a9190613fb2565b5f546001600160a01b031633146113a2576040517f118cdaa700000000000000000000000000000000000000000000000000000000815233600482015260240161050a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052610f2b9084906130e2565b5f60038211156126f05750805f6126a9600283613e26565b6126b4906001613dfc565b90505b818110156126ea579050806002816126cf8186613e26565b6126d99190613dfc565b6126e39190613e26565b90506126b7565b50919050565b81156126fa575060015b919050565b5f80546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60408051610160810182525f8082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820183905260e0820183905261010082018390526101208201839052610140820152908461281c57856001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa1580156127f3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128179190613d1e565b61287c565b856001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015612858573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061287c9190613d1e565b90505f856128e957866001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa1580156128c0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128e49190613d1e565b612949565b866001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015612925573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129499190613d1e565b90505f876001600160a01b03166370dcf1636040518163ffffffff1660e01b8152600401602060405180830381865afa158015612988573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129ac9190613d1e565b6040805160018082528183019092529192505f9190816020015b60608152602001906001900390816129c6579050509050816001600160a01b0316634a2649405f805f878e6001600160a01b031663a8aa1b316040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a2c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a509190613d1e565b60018f612a5e576002612a61565b60015b60405160e089901b7fffffffff0000000000000000000000000000000000000000000000000000000016815260ff9788166004820152958716602487015293861660448601526001600160a01b0392831660648601529116608484015260a483015290911660c482015261271060e4820152610104015f60405180830381865afa158015612af1573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612b18919081019061408e565b815f81518110612b2a57612b2a6140f7565b60209081029190910101526040805160018082528183019092525f91816020015b6060815260200190600190039081612b4b5790505090506001600160a01b03831663b60650d785612710855f604051908082528060200260200182016040528015612baa57816020015b6060815260200190600190039081612b955790505b506040518563ffffffff1660e01b8152600401612bca9493929190614163565b5f60405180830381865afa158015612be4573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612c0b919081019061408e565b815f81518110612c1d57612c1d6140f7565b60209081029190910101525f6001600160a01b03841663b60650d78661271084604051908082528060200260200182016040528015612c7057816020015b6060815260200190600190039081612c5b5790505b50866040518563ffffffff1660e01b8152600401612c919493929190614163565b5f60405180830381865afa158015612cab573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612cd2919081019061408e565b60408051610160810182526001600160a01b039889168152602081019b909b529590961694890194909452505050506060840192909252503060808301524260a08301525f60c0830181905260e08301819052610100830181905261012083015261014082015292915050565b612d6060405180606001604052805f81526020015f81526020015f81525090565b845160208087015186518452868201519184019190915260408086015190870151612d8b9190614027565b8360400181815250505f670de0b6b3a764000088606001518760400151612db29190613d8d565b612dbc9190613dd0565b90505f86604001511315612e51575f612dd861133e8486613e0f565b90505f81612de68685613d8d565b612df09190613dd0565b90505f82612dfe8686613d8d565b612e089190613dd0565b9050612e148287613d67565b9550612e208186613d67565b945081875f01818151612e339190614027565b905250602087018051829190612e4a908390614027565b9052505050505b5f896001600160a01b031663a8aa1b316040518163ffffffff1660e01b8152600401602060405180830381865afa158015612e8e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612eb29190613d1e565b6001600160a01b031663ddca3f436040518163ffffffff1660e01b8152600401602060405180830381865afa158015612eed573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f11919061419c565b90505f866020015190508a6001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015612f57573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f7b9190613d1e565b6001600160a01b0316875f01516001600160a01b031603612fef575f612fa38686848661315c565b9050612faf8287613dfc565b9550612fbb8186613e39565b945081875f01818151612fce9190613d67565b905250602087018051829190612fe5908390614027565b9052506130419050565b5f612ffc8586848661315c565b90506130088286613dfc565b94506130148187613e39565b955081876020018181516130289190613d67565b90525086518190889061303c908390614027565b905250505b50505f866040015112156130d6575f61305d61133e8486613e0f565b90505f8161306b8685613d8d565b6130759190613dd0565b90505f826130838686613d8d565b61308d9190613dd0565b90506130998287613d67565b95506130a58186613d67565b945081875f018181516130b89190614027565b9052506020870180518291906130cf908390614027565b9052505050505b50955095509592505050565b5f6130f66001600160a01b038416836131bc565b905080515f1415801561311a575080806020019051810190613118919061400c565b155b15610f2b576040517f5274afe70000000000000000000000000000000000000000000000000000000081526001600160a01b038416600482015260240161050a565b5f808311801561316b57505f85115b801561317657505f84115b61317e575f80fd5b5f6131898385613e0f565b90505f6131968683613e0f565b90505f826131a689612710613e0f565b6131b09190613dfc565b905061225a8183613e26565b606061120c83835f6131cf565b92915050565b60608147101561320d576040517fcd78605900000000000000000000000000000000000000000000000000000000815230600482015260240161050a565b5f80856001600160a01b0316848660405161322891906141b3565b5f6040518083038185875af1925050503d805f8114613262576040519150601f19603f3d011682016040523d82523d5f602084013e613267565b606091505b5091509150613277868383613281565b9695505050505050565b60608261329657613291826132f6565b61120c565b81511580156132ad57506001600160a01b0384163b155b156132ef576040517f9996b3150000000000000000000000000000000000000000000000000000000081526001600160a01b038516600482015260240161050a565b508061120c565b8051156133065780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60405180608001604052806133a1604051806101a001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b8152602001613408604051806101a001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f151581526020015f151581525090565b815260408051610160810182525f808252602082810182905292820181905260608083018290526080830182905260a0830182905260c0830182905260e083018290526101008301829052610120830191909152610140820152910190815260408051610180810182525f8082526020828101829052928201819052606082018190526080820181905260a0820181905260c0820181905260e0820181905261010082018190526101208201819052610140820181905261016082015291015290565b6001600160a01b0381168114611a78575f80fd5b80356126fa816134cb565b634e487b7160e01b5f52604160045260245ffd5b604051610160810167ffffffffffffffff81118282101715613522576135226134ea565b60405290565b604051610180810167ffffffffffffffff81118282101715613522576135226134ea565b6040516101a0810167ffffffffffffffff81118282101715613522576135226134ea565b604051601f8201601f1916810167ffffffffffffffff81118282101715613599576135996134ea565b604052919050565b8015158114611a78575f80fd5b80356126fa816135a1565b803560ff811681146126fa575f80fd5b5f67ffffffffffffffff8211156135e2576135e26134ea565b50601f01601f191660200190565b5f82601f8301126135ff575f80fd5b813561361261360d826135c9565b613570565b818152846020838601011115613626575f80fd5b816020850160208301375f918101602001919091529392505050565b5f6101608284031215613653575f80fd5b61365b6134fe565b9050613666826134df565b81526020820135602082015261367e604083016134df565b604082015260608201356060820152613699608083016134df565b608082015260a082013560a08201526136b460c083016135ae565b60c08201526136c560e083016135b9565b60e0820152610100828101359082015261012080830135908201526101408083013567ffffffffffffffff8111156136fb575f80fd5b613707858286016135f0565b82840152505092915050565b5f805f805f60a08688031215613727575f80fd5b8535613732816134cb565b9450602086013567ffffffffffffffff81111561374d575f80fd5b61375988828901613642565b94505060408601359250606086013591506080860135613778816135a1565b809150509295509295909350565b5f805f805f805f60e0888a03121561379c575f80fd5b87356137a7816134cb565b96506020880135955060408801359450606088013593506080880135925060a0880135915060c08801356137da816135a1565b8091505092959891949750929550565b5f602082840312156137fa575f80fd5b813561120c816134cb565b5f8060408385031215613816575f80fd5b8235613821816134cb565b91506020830135613831816135a1565b809150509250929050565b5f805f6060848603121561384e575f80fd5b8335613859816134cb565b95602085013595506040909401359392505050565b5f805f60608486031215613880575f80fd5b833561388b816134cb565b9250602084013561389b816134cb565b929592945050506040919091013590565b5f80604083850312156138bd575f80fd5b82356138c8816134cb565b946020939093013593505050565b5f80604083850312156138e7575f80fd5b82356138f2816134cb565b9150602083013567ffffffffffffffff81111561390d575f80fd5b61391985828601613642565b9150509250929050565b5f60208284031215613933575f80fd5b5035919050565b5f805f806080858703121561394d575f80fd5b843593506020850135925060408501359150606085013561396d816135a1565b939692955090935050565b5f60208284031215613988575f80fd5b813561120c816135a1565b5f805f805f8060c087890312156139a8575f80fd5b86356139b3816134cb565b95506020870135945060408701359350606087013592506080870135915060a08701356139df816135a1565b809150509295509295509295565b5f808284036101a0811215613a00575f80fd5b8335613a0b816134cb565b9250610180601f198201811315613a20575f80fd5b613a28613528565b9150602085013582526040850135602083015260608501356040830152613a51608086016134df565b606083015260a0850135608083015260c085013560a0830152613a7660e086016135ae565b60c0830152610100613a898187016135ae565b60e0840152610120613a9c8188016135b9565b82850152610140915081870135818501525061016080870135828501528287013581850152505050809150509250929050565b5f805f8060608587031215613ae2575f80fd5b8435613aed816134cb565b935060208501359250604085013567ffffffffffffffff80821115613b10575f80fd5b818701915087601f830112613b23575f80fd5b813581811115613b31575f80fd5b886020828501011115613b42575f80fd5b95989497505060200194505050565b5f5b83811015613b6b578181015183820152602001613b53565b50505f910152565b5f8151808452613b8a816020860160208601613b51565b601f01601f19169290920160200192915050565b8215158152604060208201525f610bec6040830184613b73565b5f6101a08284031215613bc9575f80fd5b613bd161354c565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e08201526101008084015181830152506101208084015181830152506101408084015181830152506101608084015181830152506101808084015181830152508091505092915050565b80516126fa816135a1565b5f6101a08284031215613c7d575f80fd5b613c8561354c565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e0820152610100808401518183015250610120808401518183015250610140808401518183015250610160613d01818501613c61565b90820152610180613d13848201613c61565b908201529392505050565b5f60208284031215613d2e575f80fd5b815161120c816134cb565b634e487b7160e01b5f52601160045260245ffd5b5f600160ff1b8203613d6157613d61613d39565b505f0390565b8181035f831280158383131683831282161715613d8657613d86613d39565b5092915050565b8082025f8212600160ff1b84141615613da857613da8613d39565b81810583148215176131c9576131c9613d39565b634e487b7160e01b5f52601260045260245ffd5b5f82613dde57613dde613dbc565b600160ff1b82145f1984141615613df757613df7613d39565b500590565b808201808211156131c9576131c9613d39565b80820281158282048414176131c9576131c9613d39565b5f82613e3457613e34613dbc565b500490565b818103818111156131c9576131c9613d39565b8051825260208101516020830152604081015160408301526060810151613e7e60608401826001600160a01b03169052565b506080810151608083015260a081015160a083015260c0810151613ea660c084018215159052565b5060e0810151613eba60e084018215159052565b506101008181015160ff16908301526101208082015190830152610140808201519083015261016090810151910152565b5f6101a0613ef98386613e4c565b80610180840152613f1581840185516001600160a01b03169052565b5060208301516101c083015260408301516001600160a01b039081166101e0840152606084015161020084015260808401511661022083015260a083015161024083015260c0830151151561026083015260e083015160ff166102808301526101008301516102a08301526101208301516102c08301526101408301516101606102e0840152613fa9610300840182613b73565b95945050505050565b5f60608284031215613fc2575f80fd5b6040516060810181811067ffffffffffffffff82111715613fe557613fe56134ea565b80604052508251815260208301516020820152604083015160408201528091505092915050565b5f6020828403121561401c575f80fd5b815161120c816135a1565b8082018281125f83128015821682158216171561404657614046613d39565b505092915050565b61018081016131c98284613e4c565b818382375f9101908152919050565b5f806040838503121561407d575f80fd5b505080516020909101519092909150565b5f6020828403121561409e575f80fd5b815167ffffffffffffffff8111156140b4575f80fd5b8201601f810184136140c4575f80fd5b80516140d261360d826135c9565b8181528560208385010111156140e6575f80fd5b613fa9826020830160208601613b51565b634e487b7160e01b5f52603260045260245ffd5b5f8282518085526020808601955060208260051b840101602086015f5b8481101561415657601f19868403018952614144838351613b73565b98840198925090830190600101614128565b5090979650505050505050565b6001600160a01b0385168152836020820152608060408201525f61418a608083018561410b565b8281036060840152611b5a818561410b565b5f602082840312156141ac575f80fd5b5051919050565b5f82516141c4818460208701613b51565b91909101929150505600000000000000000000000019928170d739139bfbbb6614007f8eeed17db0ba000000000000000000000000837e89a4b9e48c810867318198bf3560186988fd
Deployed Bytecode
0x608060405234801561000f575f80fd5b50600436106101b0575f3560e01c80636cfdf208116100f35780638da5cb5b11610093578063aad5f07e1161006e578063aad5f07e146103ec578063b61d27f6146103ff578063c45a015514610420578063f2fde38b14610447575f80fd5b80638da5cb5b146103b6578063a44637be146103c6578063a59bbf68146103d9575f80fd5b80637173f22d116100ce5780637173f22d1461035b57806375b91dea1461036e5780637bd8711e1461038157806386e200c514610394575f80fd5b80636cfdf2081461030e5780636d70f7ae14610321578063715018a614610353575f80fd5b80633e27d0141161015e5780634d4354cb116101395780634d4354cb146102b4578063558a7297146102c75780636abc60ad146102da5780636c37651c146102ed575f80fd5b80633e27d0141461027b57806344004cc11461028e5780634782f779146102a1575f80fd5b80632f86e2dd1161018e5780632f86e2dd146102405780633140bad914610253578063398ea22b14610268575f80fd5b8063133e8aec146101b4578063178ca94f146101ee578063211b07491461022d575b5f80fd5b6101c76101c2366004613713565b61045a565b60408051825181526020808401519082015291810151908201526060015b60405180910390f35b6102157f000000000000000000000000837e89a4b9e48c810867318198bf3560186988fd81565b6040516001600160a01b0390911681526020016101e5565b6101c761023b366004613786565b6109e6565b6101c761024e3660046137ea565b610ace565b610266610261366004613805565b610bf4565b005b6101c761027636600461383c565b611098565b6101c761028936600461383c565b6110d6565b61026661029c36600461386e565b611118565b6102666102af3660046138ac565b61112b565b6101c76102c23660046138d6565b6111d2565b6102666102d5366004613805565b611213565b6102666102e8366004613923565b611245565b6103006102fb36600461393a565b611252565b6040519081526020016101e5565b61026661031c366004613978565b611376565b61034361032f3660046137ea565b60016020525f908152604090205460ff1681565b60405190151581526020016101e5565b610266611391565b6101c761036936600461383c565b6113a4565b6101c761037c366004613993565b6113d0565b6101c761038f36600461383c565b6117f8565b6103436103a23660046137ea565b60026020525f908152604090205460ff1681565b5f546001600160a01b0316610215565b6101c76103d43660046139ed565b61183a565b6102666103e7366004613923565b611979565b6102156103fa366004613923565b611986565b61041261040d366004613acf565b6119ae565b6040516101e5929190613b9e565b6102157f00000000000000000000000019928170d739139bfbbb6614007f8eeed17db0ba81565b6102666104553660046137ea565b611a25565b61047b60405180606001604052805f81526020015f81526020015f81525090565b335f9081526001602052604090205460ff16806104a157505f546001600160a01b031633145b806104aa575033155b6104b2575f80fd5b6001600160a01b0386165f90815260026020526040902054869060ff166105135760405162461bcd60e51b815260206004820152601060248201526f10905353481b9bdd08185b1b1bddd95960821b60448201526064015b60405180910390fd5b6040516306e847bf60e11b81526001600160a01b0388811660048301525f917f000000000000000000000000837e89a4b9e48c810867318198bf3560186988fd90911690630dd08f7e906024016101a0604051808303815f875af115801561057d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105a19190613bb8565b604051631999908560e31b81526001600160a01b038a811660048301523060248301529192505f917f000000000000000000000000837e89a4b9e48c810867318198bf3560186988fd169063cccc8428906044016101a0604051808303815f875af1158015610612573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106369190613c6c565b90505f808a6001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015610676573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061069a9190613d1e565b6001600160a01b03168a5f01516001600160a01b0316036106d1578960200151915089606001516106ca90613d4d565b9050610763565b8a6001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa15801561070d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107319190613d1e565b6001600160a01b03168a5f01516001600160a01b0316036107635750602089015160608a015161076090613d4d565b91505b5f876107bd576107b8855f01518660200151858760800151885f01516107899190613d67565b6107939190613d67565b858860a0015189602001516107a89190613d67565b6107b29190613d67565b8e611a7b565b61080c565b61080c855f01518660200151858760800151885f01516107dd9190613d67565b6107e79190613d67565b858860a0015189602001516107fc9190613d67565b6108069190613d67565b8e611b67565b90505f670de0b6b3a76400008660600151866040015161082c9190613d8d565b6108369190613dd0565b6108409083613d67565b90505f81131561089c575f8660a00151670de0b6b3a76400008c8960a001518a6080015161086e9190613dfc565b6108789190613e0f565b6108829190613e26565b61088c9190613e39565b90508082131561089a578091505b505b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810182905261012081018290526101408101829052610160810191909152606087015161091383670de0b6b3a7640000613d8d565b61091d9190613dd0565b60408201819052620f423f1912801561093c5750620f42408160400151125b15610948575f60408201525b5f81604001511215610966576109668e885f01518960200151611c0d565b8d6001600160a01b031663a8747dc6828f6040518363ffffffff1660e01b8152600401610994929190613eeb565b6060604051808303815f875af11580156109b0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109d49190613fb2565b9e9d5050505050505050505050505050565b610a0760405180606001604052805f81526020015f81526020015f81525090565b335f9081526001602052604090205460ff1680610a2d57505f546001600160a01b031633145b80610a36575033155b610a3e575f80fd5b6001600160a01b0388165f90815260026020526040902054889060ff16610a9a5760405162461bcd60e51b815260206004820152601060248201526f10905353481b9bdd08185b1b1bddd95960821b604482015260640161050a565b8215610ab557610aae898989898989611e86565b9150610ac2565b610aae8989898989612266565b50979650505050505050565b610aef60405180606001604052805f81526020015f81526020015f81525090565b335f9081526001602052604090205460ff1680610b1557505f546001600160a01b031633145b80610b1e575033155b610b26575f80fd5b6001600160a01b0382165f90815260026020526040902054829060ff16610b825760405162461bcd60e51b815260206004820152601060248201526f10905353481b9bdd08185b1b1bddd95960821b604482015260640161050a565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260e08101829052610100810182905261012081018290526101408101829052610160810191909152600160c0820152610bec848261183a565b949350505050565b610bfc6125cc565b6040517f89439acf0000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301527f00000000000000000000000019928170d739139bfbbb6614007f8eeed17db0ba16906389439acf90602401602060405180830381865afa158015610c79573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c9d919061400c565b610ce95760405162461bcd60e51b815260206004820152600860248201527f4e6f742042414d4d000000000000000000000000000000000000000000000000604482015260640161050a565b6001600160a01b0382165f908152600260205260409020805460ff19168215801591909117909155610f3057600380546001810182555f919091527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b01805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038416908117909155604080517f0dfe16810000000000000000000000000000000000000000000000000000000081529051630dfe1681916004808201926020929091908290030181865afa158015610dc1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610de59190613d1e565b60405163095ea7b360e01b81526001600160a01b0384811660048301525f196024830152919091169063095ea7b3906044016020604051808303815f875af1158015610e33573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e57919061400c565b50816001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e94573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eb89190613d1e565b60405163095ea7b360e01b81526001600160a01b0384811660048301525f196024830152919091169063095ea7b3906044015b6020604051808303815f875af1158015610f07573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f2b919061400c565b505050565b816001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f6c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f909190613d1e565b60405163095ea7b360e01b81526001600160a01b0384811660048301525f6024830152919091169063095ea7b3906044016020604051808303815f875af1158015610fdd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611001919061400c565b50816001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa15801561103e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110629190613d1e565b60405163095ea7b360e01b81526001600160a01b0384811660048301525f6024830152919091169063095ea7b390604401610eeb565b6110b960405180606001604052805f81526020015f81526020015f81525090565b600454600554600654610bec92879287928792919060ff166113d0565b6110f760405180606001604052805f81526020015f81526020015f81525090565b610bec84845f8560045460055460065f9054906101000a900460ff166109e6565b6111206125cc565b610f2b838383612611565b6111336125cc565b5f826001600160a01b0316826040515f6040518083038185875af1925050503d805f811461117c576040519150601f19603f3d011682016040523d82523d5f602084013e611181565b606091505b5050905080610f2b5760405162461bcd60e51b815260206004820152601460248201527f4661696c656420746f2073656e64204574686572000000000000000000000000604482015260640161050a565b6111f360405180606001604052805f81526020015f81526020015f81525090565b60045460055460065461120c928692869260ff1661045a565b9392505050565b61121b6125cc565b6001600160a01b03919091165f908152600160205260409020805460ff1916911515919091179055565b61124d6125cc565b600455565b5f620f424061126664e8d4a5100085613dd0565b93505f83611275576001611278565b5f195b90506112848280613d8d565b61128e8680613d8d565b6112989190613d67565b6112a3906002613d8d565b6112ad8789614027565b6112b78780613d8d565b6112c19190613d8d565b6113436112ce8580613d8d565b6112d88980613d8d565b6112e29190613d67565b896112ee8c6004613d8d565b6112f89190613d8d565b6113029190613d8d565b61130c8a8c614027565b6113168b8d614027565b6113208b80613d8d565b61132a9190613d8d565b6113349190613d8d565b61133e9190613d67565b612691565b61134d8885613d8d565b6113579190613d8d565b6113619190613d67565b61136b9190613dd0565b979650505050505050565b61137e6125cc565b6006805460ff1916911515919091179055565b6113996125cc565b6113a25f6126ff565b565b6113c560405180606001604052805f81526020015f81526020015f81525090565b610bec845f80868660015b6113f160405180606001604052805f81526020015f81526020015f81525090565b335f9081526001602052604090205460ff168061141757505f546001600160a01b031633145b80611420575033155b611428575f80fd5b6001600160a01b0387165f90815260026020526040902054879060ff166114845760405162461bcd60e51b815260206004820152601060248201526f10905353481b9bdd08185b1b1bddd95960821b604482015260640161050a565b6040516306e847bf60e11b81526001600160a01b0389811660048301525f917f000000000000000000000000837e89a4b9e48c810867318198bf3560186988fd90911690630dd08f7e906024016101a0604051808303815f875af11580156114ee573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115129190613bb8565b604051631999908560e31b81526001600160a01b038b811660048301523060248301529192505f917f000000000000000000000000837e89a4b9e48c810867318198bf3560186988fd169063cccc8428906044016101a0604051808303815f875af1158015611583573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115a79190613c6c565b90505f898260800151835f01516115be9190613d67565b6115c89190614027565b90505f898360a0015184602001516115e09190613d67565b6115ea9190614027565b90505f8761160b57611606855f0151866020015185858e611a7b565b61161f565b61161f855f0151866020015185858e611b67565b90505f670de0b6b3a76400008660600151866040015161163f9190613d8d565b6116499190613dd0565b6116539083613d67565b90505f8113156116af575f8660a00151670de0b6b3a76400008c8960a001518a608001516116819190613dfc565b61168b9190613e0f565b6116959190613e26565b61169f9190613e39565b9050808213156116ad578091505b505b60408051610180810182525f91810182905260608082018390526080820183905260a0820183905260c0820183905260e082018390526101008201839052610120820183905261014082018390526101608201929092528e8152602081018e90529087015161172683670de0b6b3a7640000613d8d565b6117309190613dd0565b60408201819052620f423f1912801561174f5750620f42408160400151125b1561175b575f60408201525b5f81604001511215611779576117798f885f01518960200151611c0d565b8e6001600160a01b031663750c3a16826040518263ffffffff1660e01b81526004016117a5919061404e565b6060604051808303815f875af11580156117c1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117e59190613fb2565b9f9e505050505050505050505050505050565b61181960405180606001604052805f81526020015f81526020015f81525090565b610bec845f858560045460055460065f9054906101000a900460ff166109e6565b61185b60405180606001604052805f81526020015f81526020015f81525090565b335f9081526001602052604090205460ff168061188157505f546001600160a01b031633145b8061188a575033155b611892575f80fd5b6001600160a01b0383165f90815260026020526040902054839060ff166118ee5760405162461bcd60e51b815260206004820152601060248201526f10905353481b9bdd08185b1b1bddd95960821b604482015260640161050a565b3060608401526040517f750c3a160000000000000000000000000000000000000000000000000000000081526001600160a01b0385169063750c3a169061193990869060040161404e565b6060604051808303815f875af1158015611955573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bec9190613fb2565b6119816125cc565b600555565b60038181548110611995575f80fd5b5f918252602090912001546001600160a01b0316905081565b5f60606119b96125cc565b5f80876001600160a01b03168787876040516119d692919061405d565b5f6040518083038185875af1925050503d805f8114611a10576040519150601f19603f3d011682016040523d82523d5f602084013e611a15565b606091505b5090999098509650505050505050565b611a2d6125cc565b6001600160a01b038116611a6f576040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081525f600482015260240161050a565b611a78816126ff565b50565b5f80611a8a61133e8789613e0f565b90505f851215611b0e5769021e19e0c9bab2400000611ade81868a611aaf8b8b613d8d565b611ab99190613dd0565b611acd9069021e19e0c9bab2400000613d8d565b611ad79190613dd0565b865f611252565b87611ae98488613d8d565b611af39190613dd0565b611afd9190613d8d565b611b079190613dd0565b9150611b5d565b5f841215611b5d5769021e19e0c9bab2400000611b31818789611aaf8c8a613d8d565b88611b3c8489613d8d565b611b469190613dd0565b611b509190613d8d565b611b5a9190613dd0565b91505b5095945050505050565b5f80611b7661133e8789613e0f565b90505f84138015611b9a57508486611b8e8987613d8d565b611b989190613dd0565b135b15611bea5769021e19e0c9bab2400000611ade81868a611bba8b8b613d8d565b611bc49190613dd0565b611bd89069021e19e0c9bab2400000613d8d565b611be29190613dd0565b866001611252565b5f851315611b5d5769021e19e0c9bab2400000611b31818789611bba8c8a613d8d565b5f80846001600160a01b031663395db9ec6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c4b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c6f9190613d1e565b6001600160a01b0316638f4bb32a866001600160a01b031663a8aa1b316040518163ffffffff1660e01b8152600401602060405180830381865afa158015611cb9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cdd9190613d1e565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526001600160a01b0390911660048201526107086024820152600a604482015261271060648201526084016040805180830381865afa158015611d4d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d71919061406c565b9092509050611d9d827c03b58e88c75313ec9d329eaaa18fb92f75215b17100000000000000000613e26565b91505f83611dba866e01ed09bead87c0378d8e6400000000613e0f565b611dc49190613e26565b90505f838211611ddd57611dd88285613e39565b611de7565b611de78483613e39565b90506101f484611df983612710613e0f565b611e039190613e26565b1115611e22576040516362f7964760e01b815260040160405180910390fd5b828211611e3857611e338284613e39565b611e42565b611e428383613e39565b90506101f483611e5483612710613e0f565b611e5e9190613e26565b1115611e7d576040516362f7964760e01b815260040160405180910390fd5b50505050505050565b611ea760405180606001604052805f81526020015f81526020015f81525090565b611eaf613338565b6040516306e847bf60e11b81526001600160a01b0389811660048301527f000000000000000000000000837e89a4b9e48c810867318198bf3560186988fd1690630dd08f7e906024016101a0604051808303815f875af1158015611f15573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f399190613bb8565b8152604051631999908560e31b81526001600160a01b0389811660048301523060248301527f000000000000000000000000837e89a4b9e48c810867318198bf3560186988fd169063cccc8428906044016101a0604051808303815f875af1158015611fa7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fcb9190613c6c565b60208201525f871315611fef57611fe5886001898861275b565b6040820152612009565b5f86131561200957612003885f888861275b565b60408201525b5f5b6003811015612189575f806120328b855f0151866020015187606001518860400151612d3f565b919650925090505f61204761133e8385613e0f565b90505f670de0b6b3a7640000865f015160600151886040015161206a9190613d8d565b6120749190613dd0565b90505f6120c18585856120878387613d8d565b6120919190613dd0565b8b5161209d9190613d67565b866120a88988613d8d565b6120b29190613dd0565b8c602001516108069190613d67565b9050865f015160600151876020015160600151826120df9190613d67565b6120f190670de0b6b3a7640000613d8d565b6120fb9190613dd0565b6060880180516040908101929092525101515f121561217957865160a08101516080909101515f9190670de0b6b3a7640000908c9061213b908490613dfc565b6121459190613e0f565b61214f9190613e26565b6121599190613e39565b90508088606001516040015113156121775760608801516040018190525b505b505050505080600101905061200b565b50620f423f198160600151604001511380156121af5750620f4240816060015160400151125b156121c15760608101515f6040909101525b5f81606001516040015112156121e657805180516020909101516121e6918a91611c0d565b6060810151604080830151905163543a3ee360e11b81526001600160a01b038b169263a8747dc69261221a92600401613eeb565b6060604051808303815f875af1158015612236573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061225a9190613fb2565b98975050505050505050565b61228760405180606001604052805f81526020015f81526020015f81525090565b61228f613338565b6040516306e847bf60e11b81526001600160a01b0388811660048301527f000000000000000000000000837e89a4b9e48c810867318198bf3560186988fd1690630dd08f7e906024016101a0604051808303815f875af11580156122f5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123199190613bb8565b8152604051631999908560e31b81526001600160a01b0388811660048301523060248301527f000000000000000000000000837e89a4b9e48c810867318198bf3560186988fd169063cccc8428906044016101a0604051808303815f875af1158015612387573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123ab9190613c6c565b60208201525f8613156123cf576123c5876001888761275b565b60408201526123e9565b5f8513156123e9576123e3875f878761275b565b60408201525b5f5b60038110156124fb575f806124128a855f0151866020015187606001518860400151612d3f565b919650925090505f61242761133e8385613e0f565b90505f670de0b6b3a7640000865f015160600151886040015161244a9190613d8d565b6124549190613dd0565b90505f6124a78585856124678387613d8d565b6124719190613dd0565b8b5161247d9190613d67565b866124888988613d8d565b6124929190613dd0565b8c602001516124a19190613d67565b8d611a7b565b9050865f015160600151876020015160600151826124c59190613d67565b6124d790670de0b6b3a7640000613d8d565b6124e19190613dd0565b6060880151604001525050600190930192506123eb915050565b50620f423f198160600151604001511380156125215750620f4240816060015160400151125b156125335760608101515f6040909101525b5f81606001516040015112156125585780518051602090910151612558918991611c0d565b6060810151604080830151905163543a3ee360e11b81526001600160a01b038a169263a8747dc69261258c92600401613eeb565b6060604051808303815f875af11580156125a8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b5a9190613fb2565b5f546001600160a01b031633146113a2576040517f118cdaa700000000000000000000000000000000000000000000000000000000815233600482015260240161050a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052610f2b9084906130e2565b5f60038211156126f05750805f6126a9600283613e26565b6126b4906001613dfc565b90505b818110156126ea579050806002816126cf8186613e26565b6126d99190613dfc565b6126e39190613e26565b90506126b7565b50919050565b81156126fa575060015b919050565b5f80546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60408051610160810182525f8082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820183905260e0820183905261010082018390526101208201839052610140820152908461281c57856001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa1580156127f3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128179190613d1e565b61287c565b856001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015612858573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061287c9190613d1e565b90505f856128e957866001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa1580156128c0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128e49190613d1e565b612949565b866001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015612925573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129499190613d1e565b90505f876001600160a01b03166370dcf1636040518163ffffffff1660e01b8152600401602060405180830381865afa158015612988573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129ac9190613d1e565b6040805160018082528183019092529192505f9190816020015b60608152602001906001900390816129c6579050509050816001600160a01b0316634a2649405f805f878e6001600160a01b031663a8aa1b316040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a2c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a509190613d1e565b60018f612a5e576002612a61565b60015b60405160e089901b7fffffffff0000000000000000000000000000000000000000000000000000000016815260ff9788166004820152958716602487015293861660448601526001600160a01b0392831660648601529116608484015260a483015290911660c482015261271060e4820152610104015f60405180830381865afa158015612af1573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612b18919081019061408e565b815f81518110612b2a57612b2a6140f7565b60209081029190910101526040805160018082528183019092525f91816020015b6060815260200190600190039081612b4b5790505090506001600160a01b03831663b60650d785612710855f604051908082528060200260200182016040528015612baa57816020015b6060815260200190600190039081612b955790505b506040518563ffffffff1660e01b8152600401612bca9493929190614163565b5f60405180830381865afa158015612be4573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612c0b919081019061408e565b815f81518110612c1d57612c1d6140f7565b60209081029190910101525f6001600160a01b03841663b60650d78661271084604051908082528060200260200182016040528015612c7057816020015b6060815260200190600190039081612c5b5790505b50866040518563ffffffff1660e01b8152600401612c919493929190614163565b5f60405180830381865afa158015612cab573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612cd2919081019061408e565b60408051610160810182526001600160a01b039889168152602081019b909b529590961694890194909452505050506060840192909252503060808301524260a08301525f60c0830181905260e08301819052610100830181905261012083015261014082015292915050565b612d6060405180606001604052805f81526020015f81526020015f81525090565b845160208087015186518452868201519184019190915260408086015190870151612d8b9190614027565b8360400181815250505f670de0b6b3a764000088606001518760400151612db29190613d8d565b612dbc9190613dd0565b90505f86604001511315612e51575f612dd861133e8486613e0f565b90505f81612de68685613d8d565b612df09190613dd0565b90505f82612dfe8686613d8d565b612e089190613dd0565b9050612e148287613d67565b9550612e208186613d67565b945081875f01818151612e339190614027565b905250602087018051829190612e4a908390614027565b9052505050505b5f896001600160a01b031663a8aa1b316040518163ffffffff1660e01b8152600401602060405180830381865afa158015612e8e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612eb29190613d1e565b6001600160a01b031663ddca3f436040518163ffffffff1660e01b8152600401602060405180830381865afa158015612eed573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f11919061419c565b90505f866020015190508a6001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015612f57573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f7b9190613d1e565b6001600160a01b0316875f01516001600160a01b031603612fef575f612fa38686848661315c565b9050612faf8287613dfc565b9550612fbb8186613e39565b945081875f01818151612fce9190613d67565b905250602087018051829190612fe5908390614027565b9052506130419050565b5f612ffc8586848661315c565b90506130088286613dfc565b94506130148187613e39565b955081876020018181516130289190613d67565b90525086518190889061303c908390614027565b905250505b50505f866040015112156130d6575f61305d61133e8486613e0f565b90505f8161306b8685613d8d565b6130759190613dd0565b90505f826130838686613d8d565b61308d9190613dd0565b90506130998287613d67565b95506130a58186613d67565b945081875f018181516130b89190614027565b9052506020870180518291906130cf908390614027565b9052505050505b50955095509592505050565b5f6130f66001600160a01b038416836131bc565b905080515f1415801561311a575080806020019051810190613118919061400c565b155b15610f2b576040517f5274afe70000000000000000000000000000000000000000000000000000000081526001600160a01b038416600482015260240161050a565b5f808311801561316b57505f85115b801561317657505f84115b61317e575f80fd5b5f6131898385613e0f565b90505f6131968683613e0f565b90505f826131a689612710613e0f565b6131b09190613dfc565b905061225a8183613e26565b606061120c83835f6131cf565b92915050565b60608147101561320d576040517fcd78605900000000000000000000000000000000000000000000000000000000815230600482015260240161050a565b5f80856001600160a01b0316848660405161322891906141b3565b5f6040518083038185875af1925050503d805f8114613262576040519150601f19603f3d011682016040523d82523d5f602084013e613267565b606091505b5091509150613277868383613281565b9695505050505050565b60608261329657613291826132f6565b61120c565b81511580156132ad57506001600160a01b0384163b155b156132ef576040517f9996b3150000000000000000000000000000000000000000000000000000000081526001600160a01b038516600482015260240161050a565b508061120c565b8051156133065780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60405180608001604052806133a1604051806101a001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b8152602001613408604051806101a001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f151581526020015f151581525090565b815260408051610160810182525f808252602082810182905292820181905260608083018290526080830182905260a0830182905260c0830182905260e083018290526101008301829052610120830191909152610140820152910190815260408051610180810182525f8082526020828101829052928201819052606082018190526080820181905260a0820181905260c0820181905260e0820181905261010082018190526101208201819052610140820181905261016082015291015290565b6001600160a01b0381168114611a78575f80fd5b80356126fa816134cb565b634e487b7160e01b5f52604160045260245ffd5b604051610160810167ffffffffffffffff81118282101715613522576135226134ea565b60405290565b604051610180810167ffffffffffffffff81118282101715613522576135226134ea565b6040516101a0810167ffffffffffffffff81118282101715613522576135226134ea565b604051601f8201601f1916810167ffffffffffffffff81118282101715613599576135996134ea565b604052919050565b8015158114611a78575f80fd5b80356126fa816135a1565b803560ff811681146126fa575f80fd5b5f67ffffffffffffffff8211156135e2576135e26134ea565b50601f01601f191660200190565b5f82601f8301126135ff575f80fd5b813561361261360d826135c9565b613570565b818152846020838601011115613626575f80fd5b816020850160208301375f918101602001919091529392505050565b5f6101608284031215613653575f80fd5b61365b6134fe565b9050613666826134df565b81526020820135602082015261367e604083016134df565b604082015260608201356060820152613699608083016134df565b608082015260a082013560a08201526136b460c083016135ae565b60c08201526136c560e083016135b9565b60e0820152610100828101359082015261012080830135908201526101408083013567ffffffffffffffff8111156136fb575f80fd5b613707858286016135f0565b82840152505092915050565b5f805f805f60a08688031215613727575f80fd5b8535613732816134cb565b9450602086013567ffffffffffffffff81111561374d575f80fd5b61375988828901613642565b94505060408601359250606086013591506080860135613778816135a1565b809150509295509295909350565b5f805f805f805f60e0888a03121561379c575f80fd5b87356137a7816134cb565b96506020880135955060408801359450606088013593506080880135925060a0880135915060c08801356137da816135a1565b8091505092959891949750929550565b5f602082840312156137fa575f80fd5b813561120c816134cb565b5f8060408385031215613816575f80fd5b8235613821816134cb565b91506020830135613831816135a1565b809150509250929050565b5f805f6060848603121561384e575f80fd5b8335613859816134cb565b95602085013595506040909401359392505050565b5f805f60608486031215613880575f80fd5b833561388b816134cb565b9250602084013561389b816134cb565b929592945050506040919091013590565b5f80604083850312156138bd575f80fd5b82356138c8816134cb565b946020939093013593505050565b5f80604083850312156138e7575f80fd5b82356138f2816134cb565b9150602083013567ffffffffffffffff81111561390d575f80fd5b61391985828601613642565b9150509250929050565b5f60208284031215613933575f80fd5b5035919050565b5f805f806080858703121561394d575f80fd5b843593506020850135925060408501359150606085013561396d816135a1565b939692955090935050565b5f60208284031215613988575f80fd5b813561120c816135a1565b5f805f805f8060c087890312156139a8575f80fd5b86356139b3816134cb565b95506020870135945060408701359350606087013592506080870135915060a08701356139df816135a1565b809150509295509295509295565b5f808284036101a0811215613a00575f80fd5b8335613a0b816134cb565b9250610180601f198201811315613a20575f80fd5b613a28613528565b9150602085013582526040850135602083015260608501356040830152613a51608086016134df565b606083015260a0850135608083015260c085013560a0830152613a7660e086016135ae565b60c0830152610100613a898187016135ae565b60e0840152610120613a9c8188016135b9565b82850152610140915081870135818501525061016080870135828501528287013581850152505050809150509250929050565b5f805f8060608587031215613ae2575f80fd5b8435613aed816134cb565b935060208501359250604085013567ffffffffffffffff80821115613b10575f80fd5b818701915087601f830112613b23575f80fd5b813581811115613b31575f80fd5b886020828501011115613b42575f80fd5b95989497505060200194505050565b5f5b83811015613b6b578181015183820152602001613b53565b50505f910152565b5f8151808452613b8a816020860160208601613b51565b601f01601f19169290920160200192915050565b8215158152604060208201525f610bec6040830184613b73565b5f6101a08284031215613bc9575f80fd5b613bd161354c565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e08201526101008084015181830152506101208084015181830152506101408084015181830152506101608084015181830152506101808084015181830152508091505092915050565b80516126fa816135a1565b5f6101a08284031215613c7d575f80fd5b613c8561354c565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e0820152610100808401518183015250610120808401518183015250610140808401518183015250610160613d01818501613c61565b90820152610180613d13848201613c61565b908201529392505050565b5f60208284031215613d2e575f80fd5b815161120c816134cb565b634e487b7160e01b5f52601160045260245ffd5b5f600160ff1b8203613d6157613d61613d39565b505f0390565b8181035f831280158383131683831282161715613d8657613d86613d39565b5092915050565b8082025f8212600160ff1b84141615613da857613da8613d39565b81810583148215176131c9576131c9613d39565b634e487b7160e01b5f52601260045260245ffd5b5f82613dde57613dde613dbc565b600160ff1b82145f1984141615613df757613df7613d39565b500590565b808201808211156131c9576131c9613d39565b80820281158282048414176131c9576131c9613d39565b5f82613e3457613e34613dbc565b500490565b818103818111156131c9576131c9613d39565b8051825260208101516020830152604081015160408301526060810151613e7e60608401826001600160a01b03169052565b506080810151608083015260a081015160a083015260c0810151613ea660c084018215159052565b5060e0810151613eba60e084018215159052565b506101008181015160ff16908301526101208082015190830152610140808201519083015261016090810151910152565b5f6101a0613ef98386613e4c565b80610180840152613f1581840185516001600160a01b03169052565b5060208301516101c083015260408301516001600160a01b039081166101e0840152606084015161020084015260808401511661022083015260a083015161024083015260c0830151151561026083015260e083015160ff166102808301526101008301516102a08301526101208301516102c08301526101408301516101606102e0840152613fa9610300840182613b73565b95945050505050565b5f60608284031215613fc2575f80fd5b6040516060810181811067ffffffffffffffff82111715613fe557613fe56134ea565b80604052508251815260208301516020820152604083015160408201528091505092915050565b5f6020828403121561401c575f80fd5b815161120c816135a1565b8082018281125f83128015821682158216171561404657614046613d39565b505092915050565b61018081016131c98284613e4c565b818382375f9101908152919050565b5f806040838503121561407d575f80fd5b505080516020909101519092909150565b5f6020828403121561409e575f80fd5b815167ffffffffffffffff8111156140b4575f80fd5b8201601f810184136140c4575f80fd5b80516140d261360d826135c9565b8181528560208385010111156140e6575f80fd5b613fa9826020830160208601613b51565b634e487b7160e01b5f52603260045260245ffd5b5f8282518085526020808601955060208260051b840101602086015f5b8481101561415657601f19868403018952614144838351613b73565b98840198925090830190600101614128565b5090979650505050505050565b6001600160a01b0385168152836020820152608060408201525f61418a608083018561410b565b8281036060840152611b5a818561410b565b5f602082840312156141ac575f80fd5b5051919050565b5f82516141c4818460208701613b51565b919091019291505056
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000019928170d739139bfbbb6614007f8eeed17db0ba000000000000000000000000837e89a4b9e48c810867318198bf3560186988fd

-----Decoded View---------------
Arg [0] : _factory (address): 0x19928170D739139bfbBb6614007F8EEeD17DB0Ba
Arg [1] : _bammUIHelper (address): 0x837e89a4b9e48C810867318198bf3560186988FD

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000019928170d739139bfbbb6614007f8eeed17db0ba
Arg [1] : 000000000000000000000000837e89a4b9e48c810867318198bf3560186988fd

🤖 Code Reader

Generate instant answers for your smart contract questions using Al Models. Read more.

Custom Contract ABI

                            

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.