Source Code
Latest 1 from a total of 1 transactions
| Transaction Hash |
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
| Initialize | 105822595 | 1122 days ago | IN | 0 ETH | 0.000028609874 |
Latest 25 internal transactions (View All)
Advanced mode:
| Parent Transaction Hash | Block | From | To | |||
|---|---|---|---|---|---|---|
| 107558387 | 1081 days ago | 0 ETH | ||||
| 107558387 | 1081 days ago | 0 ETH | ||||
| 107558387 | 1081 days ago | 0 ETH | ||||
| 107558385 | 1081 days ago | 0 ETH | ||||
| 107558385 | 1081 days ago | 0 ETH | ||||
| 107558385 | 1081 days ago | 0 ETH | ||||
| 107558385 | 1081 days ago | 0 ETH | ||||
| 107558385 | 1081 days ago | 0 ETH | ||||
| 107558385 | 1081 days ago | 0 ETH | ||||
| 107558385 | 1081 days ago | 0 ETH | ||||
| 107558385 | 1081 days ago | 0 ETH | ||||
| 107558385 | 1081 days ago | 0 ETH | ||||
| 107558385 | 1081 days ago | 0 ETH | ||||
| 107558385 | 1081 days ago | 0 ETH | ||||
| 107558382 | 1081 days ago | 0 ETH | ||||
| 107558382 | 1081 days ago | 0 ETH | ||||
| 107558382 | 1081 days ago | 0 ETH | ||||
| 107558382 | 1081 days ago | 0 ETH | ||||
| 107558382 | 1081 days ago | 0 ETH | ||||
| 107558382 | 1081 days ago | 0 ETH | ||||
| 107558382 | 1081 days ago | 0 ETH | ||||
| 107558382 | 1081 days ago | 0 ETH | ||||
| 107558382 | 1081 days ago | 0 ETH | ||||
| 107558382 | 1081 days ago | 0 ETH | ||||
| 107558382 | 1081 days ago | 0 ETH |
Cross-Chain Transactions
Loading...
Loading
Contract Source Code (Solidity Standard Json-Input format)
Contract Security Audit
No Contract Security Audit SubmittedSubmit Audit Here
Contract ABI
API[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"accountBalance","type":"address"}],"name":"AccountBalanceChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"clearingHouse","type":"address"}],"name":"ClearingHouseChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"baseToken","type":"address"},{"indexed":false,"internalType":"uint256","name":"marketTwap","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"indexTwap","type":"uint256"}],"name":"FundingUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"baseToken","type":"address"},{"indexed":false,"internalType":"uint24","name":"maxTickCrossedWithinBlock","type":"uint24"}],"name":"MaxTickCrossedWithinBlockChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[],"name":"candidate","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getAccountBalance","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"trader","type":"address"}],"name":"getAllPendingFundingPayment","outputs":[{"internalType":"int256","name":"pendingFundingPayment","type":"int256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getClearingHouse","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getClearingHouseConfig","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getMarketRegistry","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"baseToken","type":"address"}],"name":"getMaxTickCrossedWithinBlock","outputs":[{"internalType":"uint24","name":"","type":"uint24"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOrderBook","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"trader","type":"address"},{"internalType":"address","name":"baseToken","type":"address"}],"name":"getPendingFundingPayment","outputs":[{"internalType":"int256","name":"","type":"int256"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"trader","type":"address"},{"internalType":"address","name":"baseToken","type":"address"},{"internalType":"int256","name":"base","type":"int256"},{"internalType":"int256","name":"quote","type":"int256"}],"internalType":"struct IExchange.RealizePnlParams","name":"params","type":"tuple"}],"name":"getPnlToBeRealized","outputs":[{"internalType":"int256","name":"","type":"int256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"baseToken","type":"address"},{"internalType":"uint32","name":"twapInterval","type":"uint32"}],"name":"getSqrtMarkTwapX96","outputs":[{"internalType":"uint160","name":"","type":"uint160"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"baseToken","type":"address"},{"internalType":"uint32","name":"twapInterval","type":"uint32"}],"name":"getSqrtMarketTwapX96","outputs":[{"internalType":"uint160","name":"","type":"uint160"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"marketRegistryArg","type":"address"},{"internalType":"address","name":"orderBookArg","type":"address"},{"internalType":"address","name":"clearingHouseConfigArg","type":"address"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"baseToken","type":"address"}],"name":"isOverPriceSpread","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":"accountBalanceArg","type":"address"}],"name":"setAccountBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"clearingHouseArg","type":"address"}],"name":"setClearingHouse","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"baseToken","type":"address"},{"internalType":"uint24","name":"maxTickCrossedWithinBlock","type":"uint24"}],"name":"setMaxTickCrossedWithinBlock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"setOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"trader","type":"address"},{"internalType":"address","name":"baseToken","type":"address"}],"name":"settleFunding","outputs":[{"internalType":"int256","name":"fundingPayment","type":"int256"},{"components":[{"internalType":"int256","name":"twPremiumX96","type":"int256"},{"internalType":"int256","name":"twPremiumDivBySqrtPriceX96","type":"int256"}],"internalType":"struct Funding.Growth","name":"fundingGrowthGlobal","type":"tuple"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"trader","type":"address"},{"internalType":"address","name":"baseToken","type":"address"},{"internalType":"bool","name":"isBaseToQuote","type":"bool"},{"internalType":"bool","name":"isExactInput","type":"bool"},{"internalType":"bool","name":"isClose","type":"bool"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint160","name":"sqrtPriceLimitX96","type":"uint160"}],"internalType":"struct IExchange.SwapParams","name":"params","type":"tuple"}],"name":"swap","outputs":[{"components":[{"internalType":"uint256","name":"base","type":"uint256"},{"internalType":"uint256","name":"quote","type":"uint256"},{"internalType":"int256","name":"exchangedPositionSize","type":"int256"},{"internalType":"int256","name":"exchangedPositionNotional","type":"int256"},{"internalType":"uint256","name":"fee","type":"uint256"},{"internalType":"uint256","name":"insuranceFundFee","type":"uint256"},{"internalType":"int256","name":"pnlToBeRealized","type":"int256"},{"internalType":"uint256","name":"sqrtPriceAfterX96","type":"uint256"},{"internalType":"int24","name":"tick","type":"int24"},{"internalType":"bool","name":"isPartialClose","type":"bool"},{"internalType":"uint24","name":"closedRatio","type":"uint24"}],"internalType":"struct IExchange.SwapResponse","name":"","type":"tuple"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"int256","name":"amount0Delta","type":"int256"},{"internalType":"int256","name":"amount1Delta","type":"int256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"uniswapV3SwapCallback","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"updateOwner","outputs":[],"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
608060405234801561001057600080fd5b50614b91806100206000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c80638da5cb5b116100c3578063c575ff791161007c578063c575ff79146102b3578063c66b8ed2146102bb578063cb379aa2146102c3578063dc7e7e1614610275578063fa461e33146102d6578063ff818011146102e957610158565b80638da5cb5b1461026d57806399e4a77114610275578063aa2a829414610288578063b248c4ef14610290578063bc5920ba14610298578063c0c53b8b146102a057610158565b8063449323d811610115578063449323d81461020f5780635eb8a4e6146102225780636896fabf146102355780636c8381f81461024a578063715018a61461025257806380f57f111461025a57610158565b80631393a4691461015d57806313af403514610186578063199387cc1461019b5780631e81ac33146101ae57806329386b7b146101cf5780634314ca1c146101ef575b600080fd5b61017061016b3660046141bb565b610309565b60405161017d9190614574565b60405180910390f35b610199610194366004613d93565b61042f565b005b6101996101a9366004613d93565b61058a565b6101c16101bc366004613dcb565b61066c565b60405161017d9291906145ba565b6101e26101dd366004613d93565b610b36565b60405161017d919061492e565b6102026101fd366004614281565b610b56565b60405161017d9190614896565b61019961021d366004613d93565b610f27565b610199610230366004613e4d565b610fce565b61023d61118b565b60405161017d919061444d565b61023d61119a565b6101996111a9565b610170610268366004613d93565b61124a565b61023d61131c565b61023d610283366004613e7a565b61132b565b61023d611340565b61023d61134f565b61019961135e565b6101996102ae366004613e03565b61144a565b61023d61158c565b61023d61159b565b6101706102d1366004613dcb565b6115aa565b6101996102e436600461405d565b611761565b6102fc6102f7366004613d93565b611901565b60405161017d9190614569565b60ce54815160208301516040516331997f7b60e11b815260009384936001600160a01b0390911692636332fef692610345929190600401614461565b60606040518083038186803b15801561035d57600080fd5b505afa158015610371573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061039591906140d7565b6020810151815191925090600081156103bb5760408601516000808412911214156103be565b60005b9050806103cc576000610423565b6104236040518060c0016040528088600001516001600160a01b0316815260200188602001516001600160a01b031681526020018481526020018581526020018860400151815260200188606001518152506119aa565b9450505050505b919050565b610437611a5f565b6001600160a01b031661044861131c565b6001600160a01b03161461048c576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6001600160a01b0381166104d0576040805162461bcd60e51b81526020600482015260066024820152650534f5f4e57360d41b604482015290519081900360640190fd5b6033546001600160a01b038281169116141561051c576040805162461bcd60e51b8152602060048201526006602482015265534f5f53414f60d01b604482015290519081900360640190fd5b6034546001600160a01b0382811691161415610568576040805162461bcd60e51b8152602060048201526006602482015265534f5f53414360d01b604482015290519081900360640190fd5b603480546001600160a01b0319166001600160a01b0392909216919091179055565b610592611a5f565b6001600160a01b03166105a361131c565b6001600160a01b0316146105e7576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6001600160a01b0381166106165760405162461bcd60e51b815260040161060d90614632565b60405180910390fd5b60ce80546001600160a01b0319166001600160a01b0383161790556040517f2b28168781da733c8a034f84683b9c955f156de5e07e24920b1348f51445d3e69061066190839061444d565b60405180910390a150565b6000610676613c26565b61067e611a63565b609a54604051631246dbf560e01b81526001600160a01b0390911690631246dbf5906106ae90869060040161444d565b60206040518083038186803b1580156106c657600080fd5b505afa1580156106da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106fe9190614006565b61071a5760405162461bcd60e51b815260040161060d906145ce565b60cf546040805163b0a336a760e01b815281516000936001600160a01b03169263b0a336a79260048082019391829003018186803b15801561075b57600080fd5b505afa15801561076f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079391906143ed565b604051630e8d088d60e11b81529092506001600160a01b0386169150631d1a111a906107c390849060040161494c565b600060405180830381600087803b1580156107dd57600080fd5b505af19250505080156107ee575060015b506000806107fb86611a9f565b60ce546040516359deb70960e11b8152939750919450925061091991899189916001600160a01b039091169063b3bd6e129061083d9085908590600401614461565b60206040518083038186803b15801561085557600080fd5b505afa158015610869573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061088d9190614022565b60ce546040516331997f7b60e11b81526001600160a01b0390911690636332fef6906108bf908e908e90600401614461565b60606040518083038186803b1580156108d757600080fd5b505afa1580156108eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061090f91906140d7565b6040015188611f4a565b94506000866001600160a01b03166347535d7b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561095657600080fd5b505afa15801561096a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098e9190614006565b610a0857866001600160a01b031663fe3434616040518163ffffffff1660e01b815260040160206040518083038186803b1580156109cb57600080fd5b505afa1580156109df573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a039190614022565b610a10565b610a10611fee565b6001600160a01b038816600090815260d260205260409020549091508114610aa8576001600160a01b038716600081815260d36020908152604080832089518a84015160d290945293829020600182019390935592835590849055519091907f54e4482fe1d38392effe5d53f0e9e72f60221a75a10cea7abbb684bfb03519bf90610a9e908790879061493e565b60405180910390a2505b6001600160a01b038716600090815260d66020526040902054610acc81600f611ff2565b8210610b2a576001600160a01b038816600090815260d660205260409020829055610af68861204c565b6001600160a01b038916600090815260d060205260409020805460029290920b62ffffff1662ffffff199092169190911790555b50505050509250929050565b6001600160a01b0316600090815260d4602052604090205462ffffff1690565b610b5e613c40565b610b66611a63565b6020808301516001600160a01b0316600090815260d4909152604090205462ffffff16610ba55760405162461bcd60e51b815260040161060d9061474d565b60ce548251602084015160405163165c4e2960e31b81526000936001600160a01b03169263b2e2714892610bdb92600401614461565b60206040518083038186803b158015610bf357600080fd5b505afa158015610c07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c2b9190614022565b60ce548451602086015160405163d50d01b760e01b81529394506000936001600160a01b039093169263d50d01b792610c68929091600401614461565b60206040518083038186803b158015610c8057600080fd5b505afa158015610c94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb89190614022565b608085015190915060008312908015610cd057508215155b15610cf757610ce88560200151828760c00151612091565b6001600160a01b031660c08601525b6000610d0286612192565b9050610d1686602001518260c0015161265a565b15610d335760405162461bcd60e51b815260040161060d90614610565b60008415610d4c57866040015115158315151415610d4f565b60005b905060008115610db357610db06040518060c001604052808a600001516001600160a01b031681526020018a602001516001600160a01b031681526020018881526020018781526020018560000151815260200185602001518152506119aa565b90505b609a54602089015160405163bbe4f6db60e01b8152600092610e42926001600160a01b039091169163bbe4f6db91610ded9160040161444d565b60206040518083038186803b158015610e0557600080fd5b505afa158015610e19573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3d9190613daf565b6126e3565b5050505050506001600160a01b031690506000610e628560000151612776565b9050604051806101600160405280828152602001610e838760200151612776565b81526020018660400151815260200186606001518152602001866080015181526020018660a0015181526020018481526020018381526020018660c0015160020b81526020018b60800151610ed9576000610ee1565b8b60a0015183105b151581526020018b60800151610ef8576000610f12565b610f12610f0d84620f42408f60a0015161279f565b61284e565b62ffffff1690529a9950505050505050505050565b610f2f611a5f565b6001600160a01b0316610f4061131c565b6001600160a01b031614610f84576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b606780546001600160a01b0319166001600160a01b0383169081179091556040517fd0654f5900f9e7e4e605a19334306e6a2786bbf960ac0484a4c12feb6428fe2f90600090a250565b610fd6611a5f565b6001600160a01b0316610fe761131c565b6001600160a01b03161461102b576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b61103d826001600160a01b0316612892565b6110595760405162461bcd60e51b815260040161060d9061476d565b609a54604051631246dbf560e01b81526001600160a01b0390911690631246dbf59061108990859060040161444d565b60206040518083038186803b1580156110a157600080fd5b505afa1580156110b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110d99190614006565b6110f55760405162461bcd60e51b815260040161060d906145ce565b6110fd612898565b62ffffff168162ffffff1611156111265760405162461bcd60e51b815260040161060d90614671565b6001600160a01b038216600081815260d4602052604090819020805462ffffff191662ffffff8516179055517f998d553f208e581d188c66da9e7d19bac5ca64d002753791210c4271c8e955d09061117f90849061492e565b60405180910390a25050565b60ce546001600160a01b031690565b6034546001600160a01b031690565b6111b1611a5f565b6001600160a01b03166111c261131c565b6001600160a01b031614611206576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6033546040516000916001600160a01b031690600080516020614a7d833981519152908390a3603380546001600160a01b0319908116909155603480549091169055565b60ce546040516357ba739b60e11b815260009182916001600160a01b039091169063af74e7369061127f90869060040161444d565b60006040518083038186803b15801561129757600080fd5b505afa1580156112ab573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526112d39190810190613ea7565b805190915060005b818110156113145761130a611303868584815181106112f657fe5b60200260200101516115aa565b859061289e565b93506001016112db565b505050919050565b6033546001600160a01b031690565b60006113378383612903565b90505b92915050565b60cf546001600160a01b031690565b60cd546001600160a01b031690565b6034546001600160a01b03166113a3576040805162461bcd60e51b81526020600482015260056024820152640534f5f43360dc1b604482015290519081900360640190fd5b6113ab611a5f565b6034546001600160a01b039081169116146113f6576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4360d01b604482015290519081900360640190fd5b6034546033546040516001600160a01b039283169290911690600080516020614a7d83398151915290600090a360348054603380546001600160a01b03199081166001600160a01b03841617909155169055565b600054610100900460ff16806114635750611463612990565b80611471575060005460ff16155b6114ac5760405162461bcd60e51b815260040180806020018281038252602e815260200180614a2e602e913960400191505060405180910390fd5b600054610100900460ff161580156114d7576000805460ff1961ff0019909116610100171660011790555b6114df6129a1565b6114e884612a4b565b6114fa836001600160a01b0316612892565b6115165760405162461bcd60e51b815260040161060d90614651565b611528826001600160a01b0316612892565b6115445760405162461bcd60e51b815260040161060d9061470d565b60cd80546001600160a01b038086166001600160a01b03199283161790925560cf8054928516929091169190911790558015611586576000805461ff00191690555b50505050565b6067546001600160a01b031690565b609a546001600160a01b031690565b6000806115b683611a9f565b505060cd546040516347b52fb760e01b81529192506000916001600160a01b03909116906347b52fb7906115f29088908890879060040161447b565b60206040518083038186803b15801561160a57600080fd5b505afa15801561161e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116429190614022565b60ce546040516359deb70960e11b8152919250611758916001600160a01b039091169063b3bd6e129061167b9089908990600401614461565b60206040518083038186803b15801561169357600080fd5b505afa1580156116a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116cb9190614022565b60ce546040516331997f7b60e11b81526001600160a01b0390911690636332fef6906116fd908a908a90600401614461565b60606040518083038186803b15801561171557600080fd5b505afa158015611729573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061174d91906140d7565b604001518484612b11565b95945050505050565b600061176b611a5f565b90506000816001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b1580156117a857600080fd5b505afa1580156117bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117e09190613daf565b609a5460405163bbe4f6db60e01b81529192506001600160a01b03169063bbe4f6db9061181190849060040161444d565b60206040518083038186803b15801561182957600080fd5b505afa15801561183d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118619190613daf565b6001600160a01b0316826001600160a01b0316146118915760405162461bcd60e51b815260040161060d90614695565b60675460405163fa461e3360e01b81526001600160a01b039091169063fa461e33906118c790899089908990899060040161457d565b600060405180830381600087803b1580156118e157600080fd5b505af11580156118f5573d6000803e3d6000fd5b50505050505050505050565b6000620186a062ffffff166119a361199e8460cf60009054906101000a90046001600160a01b03166001600160a01b0316633e742e3b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561196157600080fd5b505afa158015611975573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061199991906143d1565b612b5e565b612776565b1192915050565b6000806119d86119bd8460800151612776565b670de0b6b3a76400006119d38660400151612776565b61279f565b90506000670de0b6b3a76400008211611a27576000611a0d6119f984612c3b565b606087015190670de0b6b3a7640000612c87565b60a0860151909150611a1f908261289e565b915050611a58565b60a0840151600090611a4290670de0b6b3a764000085612c87565b6060860151909150611a54908261289e565b9150505b9392505050565b3390565b6067546001600160a01b0316611a77611a5f565b6001600160a01b031614611a9d5760405162461bcd60e51b815260040161060d906145ef565b565b611aa7613c26565b6000806000846001600160a01b03166347535d7b6040518163ffffffff1660e01b815260040160206040518083038186803b158015611ae557600080fd5b505afa158015611af9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b1d9190614006565b9050600081611b9c57856001600160a01b031663fe3434616040518163ffffffff1660e01b815260040160206040518083038186803b158015611b5f57600080fd5b505afa158015611b73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b979190614022565b611ba4565b611ba4611fee565b6001600160a01b038716600090815260d160205260408120549192509015611c9e5760cf60009054906101000a90046001600160a01b03166001600160a01b0316633e742e3b6040518163ffffffff1660e01b815260040160206040518083038186803b158015611c1457600080fd5b505afa158015611c28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c4c91906143d1565b6001600160a01b038816600090815260d1602052604081205491925090611c7d90611c78908590612d1f565b612d7c565b90508063ffffffff168263ffffffff1611611c985781611c9a565b805b9150505b60008315611d4757611cc1611cb38984612903565b6001600160a01b0316612dc1565b604051631208064760e01b81529091506001600160a01b03891690631208064790611cf090859060040161494c565b60206040518083038186803b158015611d0857600080fd5b505afa158015611d1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d409190614022565b9450611e65565b6000611d5e611c7885611d58611fee565b90612d1f565b609a5460405163bbe4f6db60e01b8152919250611dee91611cb3916001600160a01b03169063bbe4f6db90611d97908e9060040161444d565b60206040518083038186803b158015611daf57600080fd5b505afa158015611dc3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de79190613daf565b8386612ddb565b9150886001600160a01b0316631c2ab4056040518163ffffffff1660e01b815260040160206040518083038186803b158015611e2957600080fd5b505afa158015611e3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e619190614022565b9550505b611e6e81612f40565b6001600160a01b038916600090815260d2602090815260408083205460d39092529091209197509084821480611ea2575081155b15611ec6576040805180820190915281548152600182015460208201529850611f3d565b6000611ef5611edd611ed88886612d1f565b612c3b565b611eef86611eea8c612f59565b612f72565b90613079565b8254909150611f04908261289e565b8a52611f36611f2b82600160601b611f1d8f6000612903565b6001600160a01b0316612c87565b60018401549061289e565b60208b0152505b5050505050509193909250565b60cd54604051633fe1339b60e11b815260009182916001600160a01b0390911690637fc2673690611f83908a908a90889060040161447b565b602060405180830381600087803b158015611f9d57600080fd5b505af1158015611fb1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fd59190614022565b9050611fe385858584612b11565b979650505050505050565b4290565b600082820183811015611337576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b609a5460405163bbe4f6db60e01b81526000918291612083916001600160a01b03169063bbe4f6db90610ded90879060040161444d565b509398975050505050505050565b6001600160a01b038316600090815260d0602090815260408083205460d490925282205460029190910b9062ffffff1682856120cf578183036120d3565b8183015b9050620d89e8600282900b136120e957806120ee565b620d89e75b9050620d89e719600282900b12612105578061210b565b620d89e6195b9050600061211882613122565b90506001600160a01b038616612133579350611a5892505050565b861561216557856001600160a01b0316816001600160a01b031611612158578061215a565b855b945050505050611a58565b856001600160a01b0316816001600160a01b0316106121845780612186565b855b98975050505050505050565b61219a613ca4565b609a5482516020840151604051638866c9dd60e01b81526000936001600160a01b031692638866c9dd926121d092600401614461565b60a06040518083038186803b1580156121e857600080fd5b505afa1580156121fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612220919061412b565b9050600080612246856040015186606001518760a001518660200151876040015161344a565b9150915060006122598660200151611a9f565b50509050600060cd60009054906101000a90046001600160a01b03166001600160a01b03166367267e8a6040518061014001604052808a602001516001600160a01b031681526020018a60400151151581526020016001151581526020018681526020018a60c001516001600160a01b03168152602001886020015162ffffff168152602001886040015162ffffff16815260200185815260200188600001516001600160a01b03168152602001886060015162ffffff168152506040518263ffffffff1660e01b8152600401612330919061478d565b606060405180830381600087803b15801561234a57600080fd5b505af115801561235e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123829190614228565b9050600061239588602001516000612b5e565b905060006124916040518060e0016040528089600001516001600160a01b03168152602001606760009054906101000a90046001600160a01b03166001600160a01b031681526020018b60400151151581526020018b60600151151581526020018881526020018b60c001516001600160a01b031681526020016040518060a001604052808d600001516001600160a01b031681526020018d602001516001600160a01b031681526020018b600001516001600160a01b031681526020018b6040015162ffffff168152602001876020015181525060405160200161247a919061484c565b6040516020818303038152906040528152506134d6565b905060006124a48a602001516000612b5e565b905060006124ba896080015162ffffff16612c3b565b9050816124cf856124ca84613700565b61372c565b131580156124e657506124e28482613742565b8213155b6125025760405162461bcd60e51b815260040161060d906146ed565b50506000808a60400151156125435761252d61252884600001518b604001516000613752565b613799565b915061253c8360200151612c3b565b90506125a9565b825161254e90612c3b565b91508a6060015180156125645750878360200151145b1561258f5761253c61258a611ed887602001518e60a00151612d1f90919063ffffffff16565b613700565b6125a661252884602001518b604001516000613752565b90505b6020808c01516001600160a01b0316600090815260d190915260409020546125f2576125d3611fee565b6020808d01516001600160a01b0316600090815260d190915260409020555b6040518060e0016040528083815260200161261a6126138860200151612c3b565b84906137ad565b81526020018381526020018281526020018660200151815260200186604001518152602001866000015160020b8152509950505050505050505050919050565b6001600160a01b038216600090815260d4602090815260408083205460d090925282205462ffffff90911690600290810b9083906126a49061269f9084900b8561289e565b613812565b905060006126be61269f600285900b62ffffff87166137ad565b90508060020b8660020b1280611fe357508160020b8660020b13979650505050505050565b6000806000806000806000876001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e06040518083038186803b15801561272757600080fd5b505afa15801561273b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061275f9190614322565b959e949d50929b5090995097509550909350915050565b6000808212156127965761279161278c83613700565b613855565b61133a565b61133a82613855565b60008080600019858709868602925082811090839003039050806127d557600084116127ca57600080fd5b508290049050611a58565b8084116127e157600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150509392505050565b8062ffffff8116811461042a5760405162461bcd60e51b8152600401808060200182810382526026815260200180614b366026913960400191505060405180910390fd5b3b151590565b6103e890565b60008282018183128015906128b35750838112155b806128c857506000831280156128c857508381125b6113375760405162461bcd60e51b81526004018080602001828103825260218152602001806149e46021913960400191505060405180910390fd5b609a5460405163bbe4f6db60e01b8152600091611337916001600160a01b039091169063bbe4f6db9061293a90879060040161444d565b60206040518083038186803b15801561295257600080fd5b505afa158015612966573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061298a9190613daf565b836138ac565b600061299b30612892565b15905090565b600054610100900460ff16806129ba57506129ba612990565b806129c8575060005460ff16155b612a035760405162461bcd60e51b815260040180806020018281038252602e815260200180614a2e602e913960400191505060405180910390fd5b600054610100900460ff16158015612a2e576000805460ff1961ff0019909116610100171660011790555b612a366138ba565b8015612a48576000805461ff00191690555b50565b600054610100900460ff1680612a645750612a64612990565b80612a72575060005460ff16155b612aad5760405162461bcd60e51b815260040180806020018281038252602e815260200180614a2e602e913960400191505060405180910390fd5b600054610100900460ff16158015612ad8576000805460ff1961ff0019909116610100171660011790555b612ae06139a9565b609a80546001600160a01b0319166001600160a01b0384161790558015612b0d576000805461ff00191690555b5050565b600080612b3986612b2f8787600001516137ad90919063ffffffff16565b600160601b612c87565b9050612b5262015180612b4c858461289e565b90613a3e565b9150505b949350505050565b600080612b77612b72611cb3866000612903565b612f40565b90506000846001600160a01b03166312080647856040518263ffffffff1660e01b8152600401612ba7919061494c565b60206040518083038186803b158015612bbf57600080fd5b505afa158015612bd3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bf79190614022565b90506000818311612c1457612c0f6125288385612d1f565b612c21565b612c21611ed88484612d1f565b9050612c3181620f424084612c87565b9695505050505050565b60006001600160ff1b03821115612c835760405162461bcd60e51b8152600401808060200182810382526028815260200180614aea6028913960400191505060405180910390fd5b5090565b60008060008512612c985784612ca1565b612ca185613700565b90506000808512612cb25784612cbb565b612cbb85613700565b905060008087128015612cce5750600086135b80612ce45750600087138015612ce45750600086125b612cef576000612cf2565b60015b90506000612d0184848861279f565b905081612d1657612d1181612c3b565b612186565b61218681613799565b600082821115612d76576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b8063ffffffff8116811461042a5760405162461bcd60e51b8152600401808060200182810382526026815260200180614ac46026913960400191505060405180910390fd5b600061133a6001600160a01b03831680600160601b61279f565b6000600a8263ffffffff161015612e07576000612df7856126e3565b50949650611a5895505050505050565b60408051600280825260608201835260009260208301908036833701905050905082840181600081518110612e3857fe5b602002602001019063ffffffff16908163ffffffff16815250508381600181518110612e6057fe5b63ffffffff9092166020928302919091019091015260405163883bdbfd60e01b81526000906001600160a01b0387169063883bdbfd90612ea490859060040161451f565b60006040518083038186803b158015612ebc57600080fd5b505afa158015612ed0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612ef89190810190613f3f565b509050612c318463ffffffff1682600081518110612f1257fe5b602002602001015183600181518110612f2757fe5b60200260200101510360060b81612f3a57fe5b05613122565b600061133a82670de0b6b3a7640000600160601b61279f565b600061133a82600160601b670de0b6b3a764000061279f565b60008060cf60009054906101000a90046001600160a01b03166001600160a01b0316636e1d2dd26040518163ffffffff1660e01b815260040160206040518083038186803b158015612fc357600080fd5b505afa158015612fd7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ffb91906143b5565b905060006130098483613af6565b90506000848611156130465761301f8686612d1f565b90508181116130365761303181612c3b565b61303f565b61303f82612c3b565b9350613070565b6130508587612d1f565b90508181116130675761306281613799565b612c31565b612c3182613799565b50505092915050565b6000826130885750600061133a565b8260001914801561309c5750600160ff1b82145b156130d85760405162461bcd60e51b8152600401808060200182810382526027815260200180614a9d6027913960400191505060405180910390fd5b828202828482816130e557fe5b05146113375760405162461bcd60e51b8152600401808060200182810382526027815260200180614a9d6027913960400191505060405180910390fd5b60008060008360020b12613139578260020b613141565b8260020b6000035b9050620d89e881111561317f576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b60006001821661319357600160801b6131a5565b6ffffcb933bd6fad37aa2d162d1a5940015b6001600160881b0316905060028216156131cf576ffff97272373d413259a46990580e213a0260801c5b60048216156131ee576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b600882161561320d576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b601082161561322c576fffcb9843d60f6159c9db58835c9266440260801c5b602082161561324b576fff973b41fa98c081472e6896dfb254c00260801c5b604082161561326a576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615613289576ffe5dee046a99a2a811c461f1969c30530260801c5b6101008216156132a9576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b6102008216156132c9576ff987a7253ac413176f2b074cf7815e540260801c5b6104008216156132e9576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615613309576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615613329576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615613349576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615613369576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615613389576f31be135f97d08fd981231505542fcfa60260801c5b620100008216156133aa576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b620200008216156133ca576e5d6af8dedb81196699c329225ee6040260801c5b620400008216156133e9576d2216e584f5fa1ea926041bedfe980260801c5b62080000821615613406576b048a170391f7dc42444e8fa20260801c5b60008460020b131561342157806000198161341d57fe5b0490505b640100000000810615613435576001613438565b60005b60ff16602082901c0192505050919050565b600080861561347c57856134695761346485856001613752565b613475565b61347585846001613752565b9150613497565b856134875784613494565b6134948584866001613b0b565b91505b866134aa576134a585612c3b565b6134b3565b6134b382612c3b565b9050856134c8576134c381613700565b6134ca565b805b90509550959350505050565b6134de613c26565b600082606001516134fb576134f68360800151613799565b613508565b6135088360800151612c3b565b905060008084600001516001600160a01b031663128acb0886602001518760400151868960a001516001600160a01b031660001461354a578960a00151613574565b896040015161356d5773fffd8963efd1fc6a506488495d951d5263988d25613574565b6401000276a45b8a60c001516040518663ffffffff1660e01b81526004016135999594939291906144a0565b6040805180830381600087803b1580156135b257600080fd5b505af11580156135c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135ea919061403a565b915091506000806135fa84612776565b61360384612776565b9150915060008760400151151588606001511515146136225781613624565b825b90508760600151158015613643575060a08801516001600160a01b0316155b156136e457600a886080015182116136695760808901516136649083612d1f565b613679565b6080890151613679908390612d1f565b106136965760405162461bcd60e51b815260040161060d9061472d565b87604001516136bd57604051806040016040528089608001518152602001838152506136d7565b604051806040016040528084815260200189608001518152505b965050505050505061042a565b5060408051808201909152918252602082015295945050505050565b6000600160ff1b82136137255760405162461bcd60e51b815260040161060d906146b6565b5060000390565b600081831261373b5781611337565b5090919050565b60008183121561373b5781611337565b60008161377d576137788461376f620f424062ffffff8716612d1f565b620f424061279f565b612b56565b612b5684620f42406137948162ffffff8816612d1f565b613b4c565b60006137a482612c3b565b60000392915050565b60008183038183128015906137c25750838113155b806137d757506000831280156137d757508381135b6113375760405162461bcd60e51b8152600401808060200182810382526024815260200180614b126024913960400191505060405180910390fd5b80600281900b811461042a5760405162461bcd60e51b8152600401808060200182810382526029815260200180614a056029913960400191505060405180910390fd5b600080821215612c83576040805162461bcd60e51b815260206004820181905260248201527f53616665436173743a2076616c7565206d75737420626520706f736974697665604482015290519081900360640190fd5b600061133783600084612ddb565b600054610100900460ff16806138d357506138d3612990565b806138e1575060005460ff16155b61391c5760405162461bcd60e51b815260040180806020018281038252602e815260200180614a2e602e913960400191505060405180910390fd5b600054610100900460ff16158015613947576000805460ff1961ff0019909116610100171660011790555b61394f6139a9565b6000613959611a5f565b603380546001600160a01b0319166001600160a01b03831690811790915560405191925090600090600080516020614a7d833981519152908290a3508015612a48576000805461ff001916905550565b600054610100900460ff16806139c257506139c2612990565b806139d0575060005460ff16155b613a0b5760405162461bcd60e51b815260040180806020018281038252602e815260200180614a2e602e913960400191505060405180910390fd5b600054610100900460ff16158015613a36576000805460ff1961ff0019909116610100171660011790555b612a36613b86565b600081613a92576040805162461bcd60e51b815260206004820181905260248201527f5369676e6564536166654d6174683a206469766973696f6e206279207a65726f604482015290519081900360640190fd5b81600019148015613aa65750600160ff1b83145b15613ae25760405162461bcd60e51b8152600401808060200182810382526021815260200180614a5c6021913960400191505060405180910390fd5b6000828481613aed57fe5b05949350505050565b6000611337838362ffffff16620f424061279f565b600080600083613b1c578585613b1f565b84865b9092509050611fe387613b3a620f424062ffffff8616612d1f565b613794620f424062ffffff8616612d1f565b6000613b5984848461279f565b905060008280613b6557fe5b8486091115611a58576000198110613b7c57600080fd5b6001019392505050565b600054610100900460ff1680613b9f5750613b9f612990565b80613bad575060005460ff16155b613be85760405162461bcd60e51b815260040180806020018281038252602e815260200180614a2e602e913960400191505060405180910390fd5b600054610100900460ff16158015612a36576000805460ff1961ff0019909116610100171660011790558015612a48576000805461ff001916905550565b604051806040016040528060008152602001600081525090565b6040518061016001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600060020b8152602001600015158152602001600062ffffff1681525090565b6040518060e00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600060020b81525090565b803561042a8161499d565b600082601f830112613cff578081fd5b81516020613d14613d0f83614980565b61495d565b8281528181019085830183850287018401881015613d30578586fd5b855b85811015613d57578151613d458161499d565b84529284019290840190600101613d32565b5090979650505050505050565b803561042a816149b2565b8051600281900b811461042a57600080fd5b805161ffff8116811461042a57600080fd5b600060208284031215613da4578081fd5b81356113378161499d565b600060208284031215613dc0578081fd5b81516113378161499d565b60008060408385031215613ddd578081fd5b8235613de88161499d565b91506020830135613df88161499d565b809150509250929050565b600080600060608486031215613e17578081fd5b8335613e228161499d565b92506020840135613e328161499d565b91506040840135613e428161499d565b809150509250925092565b60008060408385031215613e5f578182fd5b8235613e6a8161499d565b91506020830135613df8816149c0565b60008060408385031215613e8c578182fd5b8235613e978161499d565b91506020830135613df8816149d1565b60006020808385031215613eb9578182fd5b82516001600160401b03811115613ece578283fd5b8301601f81018513613ede578283fd5b8051613eec613d0f82614980565b8181528381019083850185840285018601891015613f08578687fd5b8694505b83851015613f33578051613f1f8161499d565b835260019490940193918501918501613f0c565b50979650505050505050565b60008060408385031215613f51578182fd5b82516001600160401b0380821115613f67578384fd5b818501915085601f830112613f7a578384fd5b81516020613f8a613d0f83614980565b82815281810190858301838502870184018b1015613fa6578889fd5b8896505b84871015613fd65780518060060b8114613fc257898afd5b835260019690960195918301918301613faa565b5091880151919650909350505080821115613fef578283fd5b50613ffc85828601613cef565b9150509250929050565b600060208284031215614017578081fd5b8151611337816149b2565b600060208284031215614033578081fd5b5051919050565b6000806040838503121561404c578182fd5b505080516020909101519092909150565b60008060008060608587031215614072578182fd5b843593506020850135925060408501356001600160401b0380821115614096578384fd5b818701915087601f8301126140a9578384fd5b8135818111156140b7578485fd5b8860208285010111156140c8578485fd5b95989497505060200194505050565b6000606082840312156140e8578081fd5b604051606081018181106001600160401b038211171561410457fe5b80604052508251815260208301516020820152604083015160408201528091505092915050565b600060a0828403121561413c578081fd5b60405160a081018181106001600160401b038211171561415857fe5b60405282516141668161499d565b81526020830151614176816149c0565b60208201526040830151614189816149c0565b6040820152606083015161419c816149c0565b606082015260808301516141af816149c0565b60808201529392505050565b6000608082840312156141cc578081fd5b604051608081018181106001600160401b03821117156141e857fe5b60405282356141f68161499d565b815260208301356142068161499d565b6020820152604083810135908201526060928301359281019290925250919050565b600060608284031215614239578081fd5b604051606081018181106001600160401b038211171561425557fe5b60405261426183613d6f565b815260208301516020820152604083015160408201528091505092915050565b600060e08284031215614292578081fd5b60405160e081018181106001600160401b03821117156142ae57fe5b6040526142ba83613ce4565b81526142c860208401613ce4565b60208201526142d960408401613d64565b60408201526142ea60608401613d64565b60608201526142fb60808401613d64565b608082015260a083013560a082015261431660c08401613ce4565b60c08201529392505050565b600080600080600080600060e0888a03121561433c578485fd5b87516143478161499d565b965061435560208901613d6f565b955061436360408901613d81565b945061437160608901613d81565b935061437f60808901613d81565b925060a088015160ff81168114614394578283fd5b60c08901519092506143a5816149b2565b8091505092959891949750929550565b6000602082840312156143c6578081fd5b8151611337816149c0565b6000602082840312156143e2578081fd5b8151611337816149d1565b600080604083850312156143ff578182fd5b825161440a816149d1565b6020840151909250613df8816149d1565b6001600160a01b03169052565b15159052565b60020b9052565b80518252602090810151910152565b62ffffff169052565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b0384811682528316602082015260808101612b566040830184614435565b600060018060a01b038088168352602087151581850152866040850152818616606085015260a06080850152845191508160a0850152825b828110156144f45785810182015185820160c0015281016144d8565b82811115614505578360c084870101525b5050601f01601f19169190910160c0019695505050505050565b6020808252825182820181905260009190848201906040850190845b8181101561455d57835163ffffffff168352928401929184019160010161453b565b50909695505050505050565b901515815260200190565b90815260200190565b60008582528460208301526060604083015282606083015282846080840137818301608090810191909152601f909201601f191601019392505050565b82815260608101611a586020830184614435565b60208082526007908201526645585f42544e4560c81b604082015260600190565b6020808252600790820152660869088be9e86960cb1b604082015260600190565b60208082526008908201526745585f4f504c415360c01b604082015260600190565b6020808252600590820152640455f4142360dc1b604082015260600190565b602080825260069082015265455f4f424e4360d01b604082015260600190565b6020808252600a908201526922ac2fa6aa21a627a7a960b11b604082015260600190565b6020808252600790820152662aa1a12fa321ab60c91b604082015260600190565b6020808252601c908201527f506572704d6174683a20696e76657273696f6e206f766572666c6f7700000000604082015260600190565b60208082526006908201526522ac2fa7a82160d11b604082015260600190565b602080825260069082015265455f43484e4360d01b604082015260600190565b60208082526006908201526555425f554f4160d01b604082015260600190565b602080825260069082015265045585f4d49560d41b604082015260600190565b60208082526006908201526545585f424e4360d01b604082015260600190565b6000610160820190506147a182845161441b565b60208301516147b36020840182614428565b5060408301516147c66040840182614428565b506060830151606083015260808301516147e3608084018261441b565b5060a08301516147f660a0840182614444565b5060c083015161480960c0840182614444565b5060e083015161481c60e0840182614435565b506101008301516101206148328185018361441b565b8401519050614845610140840182614444565b5092915050565b81516001600160a01b0390811682526020808401518216908301526040808401519091169082015260608083015162ffffff16908201526080918201519181019190915260a00190565b600061016082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401516148fc8285018261442e565b50506101208084015161491182850182614428565b50506101408084015161492682850182614444565b505092915050565b62ffffff91909116815260200190565b918252602082015260400190565b63ffffffff91909116815260200190565b6040518181016001600160401b038111828210171561497857fe5b604052919050565b60006001600160401b0382111561499357fe5b5060209081020190565b6001600160a01b0381168114612a4857600080fd5b8015158114612a4857600080fd5b62ffffff81168114612a4857600080fd5b63ffffffff81168114612a4857600080fdfe5369676e6564536166654d6174683a206164646974696f6e206f766572666c6f7753616665436173743a2076616c756520646f65736e27742066697420696e20616e2032342062697473496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a65645369676e6564536166654d6174683a206469766973696f6e206f766572666c6f778be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05369676e6564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7753616665436173743a2076616c756520646f65736e27742066697420696e203332206269747353616665436173743a2076616c756520646f65736e27742066697420696e20616e20696e743235365369676e6564536166654d6174683a207375627472616374696f6e206f766572666c6f7753616665436173743a2076616c756520646f65736e27742066697420696e2032342062697473a264697066735822122053685199d16ad04d9b20d56e43a0b12364d33ad5040e37c48319ba7010693dad64736f6c63430007060033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101585760003560e01c80638da5cb5b116100c3578063c575ff791161007c578063c575ff79146102b3578063c66b8ed2146102bb578063cb379aa2146102c3578063dc7e7e1614610275578063fa461e33146102d6578063ff818011146102e957610158565b80638da5cb5b1461026d57806399e4a77114610275578063aa2a829414610288578063b248c4ef14610290578063bc5920ba14610298578063c0c53b8b146102a057610158565b8063449323d811610115578063449323d81461020f5780635eb8a4e6146102225780636896fabf146102355780636c8381f81461024a578063715018a61461025257806380f57f111461025a57610158565b80631393a4691461015d57806313af403514610186578063199387cc1461019b5780631e81ac33146101ae57806329386b7b146101cf5780634314ca1c146101ef575b600080fd5b61017061016b3660046141bb565b610309565b60405161017d9190614574565b60405180910390f35b610199610194366004613d93565b61042f565b005b6101996101a9366004613d93565b61058a565b6101c16101bc366004613dcb565b61066c565b60405161017d9291906145ba565b6101e26101dd366004613d93565b610b36565b60405161017d919061492e565b6102026101fd366004614281565b610b56565b60405161017d9190614896565b61019961021d366004613d93565b610f27565b610199610230366004613e4d565b610fce565b61023d61118b565b60405161017d919061444d565b61023d61119a565b6101996111a9565b610170610268366004613d93565b61124a565b61023d61131c565b61023d610283366004613e7a565b61132b565b61023d611340565b61023d61134f565b61019961135e565b6101996102ae366004613e03565b61144a565b61023d61158c565b61023d61159b565b6101706102d1366004613dcb565b6115aa565b6101996102e436600461405d565b611761565b6102fc6102f7366004613d93565b611901565b60405161017d9190614569565b60ce54815160208301516040516331997f7b60e11b815260009384936001600160a01b0390911692636332fef692610345929190600401614461565b60606040518083038186803b15801561035d57600080fd5b505afa158015610371573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061039591906140d7565b6020810151815191925090600081156103bb5760408601516000808412911214156103be565b60005b9050806103cc576000610423565b6104236040518060c0016040528088600001516001600160a01b0316815260200188602001516001600160a01b031681526020018481526020018581526020018860400151815260200188606001518152506119aa565b9450505050505b919050565b610437611a5f565b6001600160a01b031661044861131c565b6001600160a01b03161461048c576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6001600160a01b0381166104d0576040805162461bcd60e51b81526020600482015260066024820152650534f5f4e57360d41b604482015290519081900360640190fd5b6033546001600160a01b038281169116141561051c576040805162461bcd60e51b8152602060048201526006602482015265534f5f53414f60d01b604482015290519081900360640190fd5b6034546001600160a01b0382811691161415610568576040805162461bcd60e51b8152602060048201526006602482015265534f5f53414360d01b604482015290519081900360640190fd5b603480546001600160a01b0319166001600160a01b0392909216919091179055565b610592611a5f565b6001600160a01b03166105a361131c565b6001600160a01b0316146105e7576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6001600160a01b0381166106165760405162461bcd60e51b815260040161060d90614632565b60405180910390fd5b60ce80546001600160a01b0319166001600160a01b0383161790556040517f2b28168781da733c8a034f84683b9c955f156de5e07e24920b1348f51445d3e69061066190839061444d565b60405180910390a150565b6000610676613c26565b61067e611a63565b609a54604051631246dbf560e01b81526001600160a01b0390911690631246dbf5906106ae90869060040161444d565b60206040518083038186803b1580156106c657600080fd5b505afa1580156106da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106fe9190614006565b61071a5760405162461bcd60e51b815260040161060d906145ce565b60cf546040805163b0a336a760e01b815281516000936001600160a01b03169263b0a336a79260048082019391829003018186803b15801561075b57600080fd5b505afa15801561076f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079391906143ed565b604051630e8d088d60e11b81529092506001600160a01b0386169150631d1a111a906107c390849060040161494c565b600060405180830381600087803b1580156107dd57600080fd5b505af19250505080156107ee575060015b506000806107fb86611a9f565b60ce546040516359deb70960e11b8152939750919450925061091991899189916001600160a01b039091169063b3bd6e129061083d9085908590600401614461565b60206040518083038186803b15801561085557600080fd5b505afa158015610869573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061088d9190614022565b60ce546040516331997f7b60e11b81526001600160a01b0390911690636332fef6906108bf908e908e90600401614461565b60606040518083038186803b1580156108d757600080fd5b505afa1580156108eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061090f91906140d7565b6040015188611f4a565b94506000866001600160a01b03166347535d7b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561095657600080fd5b505afa15801561096a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098e9190614006565b610a0857866001600160a01b031663fe3434616040518163ffffffff1660e01b815260040160206040518083038186803b1580156109cb57600080fd5b505afa1580156109df573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a039190614022565b610a10565b610a10611fee565b6001600160a01b038816600090815260d260205260409020549091508114610aa8576001600160a01b038716600081815260d36020908152604080832089518a84015160d290945293829020600182019390935592835590849055519091907f54e4482fe1d38392effe5d53f0e9e72f60221a75a10cea7abbb684bfb03519bf90610a9e908790879061493e565b60405180910390a2505b6001600160a01b038716600090815260d66020526040902054610acc81600f611ff2565b8210610b2a576001600160a01b038816600090815260d660205260409020829055610af68861204c565b6001600160a01b038916600090815260d060205260409020805460029290920b62ffffff1662ffffff199092169190911790555b50505050509250929050565b6001600160a01b0316600090815260d4602052604090205462ffffff1690565b610b5e613c40565b610b66611a63565b6020808301516001600160a01b0316600090815260d4909152604090205462ffffff16610ba55760405162461bcd60e51b815260040161060d9061474d565b60ce548251602084015160405163165c4e2960e31b81526000936001600160a01b03169263b2e2714892610bdb92600401614461565b60206040518083038186803b158015610bf357600080fd5b505afa158015610c07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c2b9190614022565b60ce548451602086015160405163d50d01b760e01b81529394506000936001600160a01b039093169263d50d01b792610c68929091600401614461565b60206040518083038186803b158015610c8057600080fd5b505afa158015610c94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb89190614022565b608085015190915060008312908015610cd057508215155b15610cf757610ce88560200151828760c00151612091565b6001600160a01b031660c08601525b6000610d0286612192565b9050610d1686602001518260c0015161265a565b15610d335760405162461bcd60e51b815260040161060d90614610565b60008415610d4c57866040015115158315151415610d4f565b60005b905060008115610db357610db06040518060c001604052808a600001516001600160a01b031681526020018a602001516001600160a01b031681526020018881526020018781526020018560000151815260200185602001518152506119aa565b90505b609a54602089015160405163bbe4f6db60e01b8152600092610e42926001600160a01b039091169163bbe4f6db91610ded9160040161444d565b60206040518083038186803b158015610e0557600080fd5b505afa158015610e19573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3d9190613daf565b6126e3565b5050505050506001600160a01b031690506000610e628560000151612776565b9050604051806101600160405280828152602001610e838760200151612776565b81526020018660400151815260200186606001518152602001866080015181526020018660a0015181526020018481526020018381526020018660c0015160020b81526020018b60800151610ed9576000610ee1565b8b60a0015183105b151581526020018b60800151610ef8576000610f12565b610f12610f0d84620f42408f60a0015161279f565b61284e565b62ffffff1690529a9950505050505050505050565b610f2f611a5f565b6001600160a01b0316610f4061131c565b6001600160a01b031614610f84576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b606780546001600160a01b0319166001600160a01b0383169081179091556040517fd0654f5900f9e7e4e605a19334306e6a2786bbf960ac0484a4c12feb6428fe2f90600090a250565b610fd6611a5f565b6001600160a01b0316610fe761131c565b6001600160a01b03161461102b576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b61103d826001600160a01b0316612892565b6110595760405162461bcd60e51b815260040161060d9061476d565b609a54604051631246dbf560e01b81526001600160a01b0390911690631246dbf59061108990859060040161444d565b60206040518083038186803b1580156110a157600080fd5b505afa1580156110b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110d99190614006565b6110f55760405162461bcd60e51b815260040161060d906145ce565b6110fd612898565b62ffffff168162ffffff1611156111265760405162461bcd60e51b815260040161060d90614671565b6001600160a01b038216600081815260d4602052604090819020805462ffffff191662ffffff8516179055517f998d553f208e581d188c66da9e7d19bac5ca64d002753791210c4271c8e955d09061117f90849061492e565b60405180910390a25050565b60ce546001600160a01b031690565b6034546001600160a01b031690565b6111b1611a5f565b6001600160a01b03166111c261131c565b6001600160a01b031614611206576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6033546040516000916001600160a01b031690600080516020614a7d833981519152908390a3603380546001600160a01b0319908116909155603480549091169055565b60ce546040516357ba739b60e11b815260009182916001600160a01b039091169063af74e7369061127f90869060040161444d565b60006040518083038186803b15801561129757600080fd5b505afa1580156112ab573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526112d39190810190613ea7565b805190915060005b818110156113145761130a611303868584815181106112f657fe5b60200260200101516115aa565b859061289e565b93506001016112db565b505050919050565b6033546001600160a01b031690565b60006113378383612903565b90505b92915050565b60cf546001600160a01b031690565b60cd546001600160a01b031690565b6034546001600160a01b03166113a3576040805162461bcd60e51b81526020600482015260056024820152640534f5f43360dc1b604482015290519081900360640190fd5b6113ab611a5f565b6034546001600160a01b039081169116146113f6576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4360d01b604482015290519081900360640190fd5b6034546033546040516001600160a01b039283169290911690600080516020614a7d83398151915290600090a360348054603380546001600160a01b03199081166001600160a01b03841617909155169055565b600054610100900460ff16806114635750611463612990565b80611471575060005460ff16155b6114ac5760405162461bcd60e51b815260040180806020018281038252602e815260200180614a2e602e913960400191505060405180910390fd5b600054610100900460ff161580156114d7576000805460ff1961ff0019909116610100171660011790555b6114df6129a1565b6114e884612a4b565b6114fa836001600160a01b0316612892565b6115165760405162461bcd60e51b815260040161060d90614651565b611528826001600160a01b0316612892565b6115445760405162461bcd60e51b815260040161060d9061470d565b60cd80546001600160a01b038086166001600160a01b03199283161790925560cf8054928516929091169190911790558015611586576000805461ff00191690555b50505050565b6067546001600160a01b031690565b609a546001600160a01b031690565b6000806115b683611a9f565b505060cd546040516347b52fb760e01b81529192506000916001600160a01b03909116906347b52fb7906115f29088908890879060040161447b565b60206040518083038186803b15801561160a57600080fd5b505afa15801561161e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116429190614022565b60ce546040516359deb70960e11b8152919250611758916001600160a01b039091169063b3bd6e129061167b9089908990600401614461565b60206040518083038186803b15801561169357600080fd5b505afa1580156116a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116cb9190614022565b60ce546040516331997f7b60e11b81526001600160a01b0390911690636332fef6906116fd908a908a90600401614461565b60606040518083038186803b15801561171557600080fd5b505afa158015611729573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061174d91906140d7565b604001518484612b11565b95945050505050565b600061176b611a5f565b90506000816001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b1580156117a857600080fd5b505afa1580156117bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117e09190613daf565b609a5460405163bbe4f6db60e01b81529192506001600160a01b03169063bbe4f6db9061181190849060040161444d565b60206040518083038186803b15801561182957600080fd5b505afa15801561183d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118619190613daf565b6001600160a01b0316826001600160a01b0316146118915760405162461bcd60e51b815260040161060d90614695565b60675460405163fa461e3360e01b81526001600160a01b039091169063fa461e33906118c790899089908990899060040161457d565b600060405180830381600087803b1580156118e157600080fd5b505af11580156118f5573d6000803e3d6000fd5b50505050505050505050565b6000620186a062ffffff166119a361199e8460cf60009054906101000a90046001600160a01b03166001600160a01b0316633e742e3b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561196157600080fd5b505afa158015611975573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061199991906143d1565b612b5e565b612776565b1192915050565b6000806119d86119bd8460800151612776565b670de0b6b3a76400006119d38660400151612776565b61279f565b90506000670de0b6b3a76400008211611a27576000611a0d6119f984612c3b565b606087015190670de0b6b3a7640000612c87565b60a0860151909150611a1f908261289e565b915050611a58565b60a0840151600090611a4290670de0b6b3a764000085612c87565b6060860151909150611a54908261289e565b9150505b9392505050565b3390565b6067546001600160a01b0316611a77611a5f565b6001600160a01b031614611a9d5760405162461bcd60e51b815260040161060d906145ef565b565b611aa7613c26565b6000806000846001600160a01b03166347535d7b6040518163ffffffff1660e01b815260040160206040518083038186803b158015611ae557600080fd5b505afa158015611af9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b1d9190614006565b9050600081611b9c57856001600160a01b031663fe3434616040518163ffffffff1660e01b815260040160206040518083038186803b158015611b5f57600080fd5b505afa158015611b73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b979190614022565b611ba4565b611ba4611fee565b6001600160a01b038716600090815260d160205260408120549192509015611c9e5760cf60009054906101000a90046001600160a01b03166001600160a01b0316633e742e3b6040518163ffffffff1660e01b815260040160206040518083038186803b158015611c1457600080fd5b505afa158015611c28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c4c91906143d1565b6001600160a01b038816600090815260d1602052604081205491925090611c7d90611c78908590612d1f565b612d7c565b90508063ffffffff168263ffffffff1611611c985781611c9a565b805b9150505b60008315611d4757611cc1611cb38984612903565b6001600160a01b0316612dc1565b604051631208064760e01b81529091506001600160a01b03891690631208064790611cf090859060040161494c565b60206040518083038186803b158015611d0857600080fd5b505afa158015611d1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d409190614022565b9450611e65565b6000611d5e611c7885611d58611fee565b90612d1f565b609a5460405163bbe4f6db60e01b8152919250611dee91611cb3916001600160a01b03169063bbe4f6db90611d97908e9060040161444d565b60206040518083038186803b158015611daf57600080fd5b505afa158015611dc3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de79190613daf565b8386612ddb565b9150886001600160a01b0316631c2ab4056040518163ffffffff1660e01b815260040160206040518083038186803b158015611e2957600080fd5b505afa158015611e3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e619190614022565b9550505b611e6e81612f40565b6001600160a01b038916600090815260d2602090815260408083205460d39092529091209197509084821480611ea2575081155b15611ec6576040805180820190915281548152600182015460208201529850611f3d565b6000611ef5611edd611ed88886612d1f565b612c3b565b611eef86611eea8c612f59565b612f72565b90613079565b8254909150611f04908261289e565b8a52611f36611f2b82600160601b611f1d8f6000612903565b6001600160a01b0316612c87565b60018401549061289e565b60208b0152505b5050505050509193909250565b60cd54604051633fe1339b60e11b815260009182916001600160a01b0390911690637fc2673690611f83908a908a90889060040161447b565b602060405180830381600087803b158015611f9d57600080fd5b505af1158015611fb1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fd59190614022565b9050611fe385858584612b11565b979650505050505050565b4290565b600082820183811015611337576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b609a5460405163bbe4f6db60e01b81526000918291612083916001600160a01b03169063bbe4f6db90610ded90879060040161444d565b509398975050505050505050565b6001600160a01b038316600090815260d0602090815260408083205460d490925282205460029190910b9062ffffff1682856120cf578183036120d3565b8183015b9050620d89e8600282900b136120e957806120ee565b620d89e75b9050620d89e719600282900b12612105578061210b565b620d89e6195b9050600061211882613122565b90506001600160a01b038616612133579350611a5892505050565b861561216557856001600160a01b0316816001600160a01b031611612158578061215a565b855b945050505050611a58565b856001600160a01b0316816001600160a01b0316106121845780612186565b855b98975050505050505050565b61219a613ca4565b609a5482516020840151604051638866c9dd60e01b81526000936001600160a01b031692638866c9dd926121d092600401614461565b60a06040518083038186803b1580156121e857600080fd5b505afa1580156121fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612220919061412b565b9050600080612246856040015186606001518760a001518660200151876040015161344a565b9150915060006122598660200151611a9f565b50509050600060cd60009054906101000a90046001600160a01b03166001600160a01b03166367267e8a6040518061014001604052808a602001516001600160a01b031681526020018a60400151151581526020016001151581526020018681526020018a60c001516001600160a01b03168152602001886020015162ffffff168152602001886040015162ffffff16815260200185815260200188600001516001600160a01b03168152602001886060015162ffffff168152506040518263ffffffff1660e01b8152600401612330919061478d565b606060405180830381600087803b15801561234a57600080fd5b505af115801561235e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123829190614228565b9050600061239588602001516000612b5e565b905060006124916040518060e0016040528089600001516001600160a01b03168152602001606760009054906101000a90046001600160a01b03166001600160a01b031681526020018b60400151151581526020018b60600151151581526020018881526020018b60c001516001600160a01b031681526020016040518060a001604052808d600001516001600160a01b031681526020018d602001516001600160a01b031681526020018b600001516001600160a01b031681526020018b6040015162ffffff168152602001876020015181525060405160200161247a919061484c565b6040516020818303038152906040528152506134d6565b905060006124a48a602001516000612b5e565b905060006124ba896080015162ffffff16612c3b565b9050816124cf856124ca84613700565b61372c565b131580156124e657506124e28482613742565b8213155b6125025760405162461bcd60e51b815260040161060d906146ed565b50506000808a60400151156125435761252d61252884600001518b604001516000613752565b613799565b915061253c8360200151612c3b565b90506125a9565b825161254e90612c3b565b91508a6060015180156125645750878360200151145b1561258f5761253c61258a611ed887602001518e60a00151612d1f90919063ffffffff16565b613700565b6125a661252884602001518b604001516000613752565b90505b6020808c01516001600160a01b0316600090815260d190915260409020546125f2576125d3611fee565b6020808d01516001600160a01b0316600090815260d190915260409020555b6040518060e0016040528083815260200161261a6126138860200151612c3b565b84906137ad565b81526020018381526020018281526020018660200151815260200186604001518152602001866000015160020b8152509950505050505050505050919050565b6001600160a01b038216600090815260d4602090815260408083205460d090925282205462ffffff90911690600290810b9083906126a49061269f9084900b8561289e565b613812565b905060006126be61269f600285900b62ffffff87166137ad565b90508060020b8660020b1280611fe357508160020b8660020b13979650505050505050565b6000806000806000806000876001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e06040518083038186803b15801561272757600080fd5b505afa15801561273b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061275f9190614322565b959e949d50929b5090995097509550909350915050565b6000808212156127965761279161278c83613700565b613855565b61133a565b61133a82613855565b60008080600019858709868602925082811090839003039050806127d557600084116127ca57600080fd5b508290049050611a58565b8084116127e157600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150509392505050565b8062ffffff8116811461042a5760405162461bcd60e51b8152600401808060200182810382526026815260200180614b366026913960400191505060405180910390fd5b3b151590565b6103e890565b60008282018183128015906128b35750838112155b806128c857506000831280156128c857508381125b6113375760405162461bcd60e51b81526004018080602001828103825260218152602001806149e46021913960400191505060405180910390fd5b609a5460405163bbe4f6db60e01b8152600091611337916001600160a01b039091169063bbe4f6db9061293a90879060040161444d565b60206040518083038186803b15801561295257600080fd5b505afa158015612966573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061298a9190613daf565b836138ac565b600061299b30612892565b15905090565b600054610100900460ff16806129ba57506129ba612990565b806129c8575060005460ff16155b612a035760405162461bcd60e51b815260040180806020018281038252602e815260200180614a2e602e913960400191505060405180910390fd5b600054610100900460ff16158015612a2e576000805460ff1961ff0019909116610100171660011790555b612a366138ba565b8015612a48576000805461ff00191690555b50565b600054610100900460ff1680612a645750612a64612990565b80612a72575060005460ff16155b612aad5760405162461bcd60e51b815260040180806020018281038252602e815260200180614a2e602e913960400191505060405180910390fd5b600054610100900460ff16158015612ad8576000805460ff1961ff0019909116610100171660011790555b612ae06139a9565b609a80546001600160a01b0319166001600160a01b0384161790558015612b0d576000805461ff00191690555b5050565b600080612b3986612b2f8787600001516137ad90919063ffffffff16565b600160601b612c87565b9050612b5262015180612b4c858461289e565b90613a3e565b9150505b949350505050565b600080612b77612b72611cb3866000612903565b612f40565b90506000846001600160a01b03166312080647856040518263ffffffff1660e01b8152600401612ba7919061494c565b60206040518083038186803b158015612bbf57600080fd5b505afa158015612bd3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bf79190614022565b90506000818311612c1457612c0f6125288385612d1f565b612c21565b612c21611ed88484612d1f565b9050612c3181620f424084612c87565b9695505050505050565b60006001600160ff1b03821115612c835760405162461bcd60e51b8152600401808060200182810382526028815260200180614aea6028913960400191505060405180910390fd5b5090565b60008060008512612c985784612ca1565b612ca185613700565b90506000808512612cb25784612cbb565b612cbb85613700565b905060008087128015612cce5750600086135b80612ce45750600087138015612ce45750600086125b612cef576000612cf2565b60015b90506000612d0184848861279f565b905081612d1657612d1181612c3b565b612186565b61218681613799565b600082821115612d76576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b8063ffffffff8116811461042a5760405162461bcd60e51b8152600401808060200182810382526026815260200180614ac46026913960400191505060405180910390fd5b600061133a6001600160a01b03831680600160601b61279f565b6000600a8263ffffffff161015612e07576000612df7856126e3565b50949650611a5895505050505050565b60408051600280825260608201835260009260208301908036833701905050905082840181600081518110612e3857fe5b602002602001019063ffffffff16908163ffffffff16815250508381600181518110612e6057fe5b63ffffffff9092166020928302919091019091015260405163883bdbfd60e01b81526000906001600160a01b0387169063883bdbfd90612ea490859060040161451f565b60006040518083038186803b158015612ebc57600080fd5b505afa158015612ed0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612ef89190810190613f3f565b509050612c318463ffffffff1682600081518110612f1257fe5b602002602001015183600181518110612f2757fe5b60200260200101510360060b81612f3a57fe5b05613122565b600061133a82670de0b6b3a7640000600160601b61279f565b600061133a82600160601b670de0b6b3a764000061279f565b60008060cf60009054906101000a90046001600160a01b03166001600160a01b0316636e1d2dd26040518163ffffffff1660e01b815260040160206040518083038186803b158015612fc357600080fd5b505afa158015612fd7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ffb91906143b5565b905060006130098483613af6565b90506000848611156130465761301f8686612d1f565b90508181116130365761303181612c3b565b61303f565b61303f82612c3b565b9350613070565b6130508587612d1f565b90508181116130675761306281613799565b612c31565b612c3182613799565b50505092915050565b6000826130885750600061133a565b8260001914801561309c5750600160ff1b82145b156130d85760405162461bcd60e51b8152600401808060200182810382526027815260200180614a9d6027913960400191505060405180910390fd5b828202828482816130e557fe5b05146113375760405162461bcd60e51b8152600401808060200182810382526027815260200180614a9d6027913960400191505060405180910390fd5b60008060008360020b12613139578260020b613141565b8260020b6000035b9050620d89e881111561317f576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b60006001821661319357600160801b6131a5565b6ffffcb933bd6fad37aa2d162d1a5940015b6001600160881b0316905060028216156131cf576ffff97272373d413259a46990580e213a0260801c5b60048216156131ee576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b600882161561320d576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b601082161561322c576fffcb9843d60f6159c9db58835c9266440260801c5b602082161561324b576fff973b41fa98c081472e6896dfb254c00260801c5b604082161561326a576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615613289576ffe5dee046a99a2a811c461f1969c30530260801c5b6101008216156132a9576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b6102008216156132c9576ff987a7253ac413176f2b074cf7815e540260801c5b6104008216156132e9576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615613309576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615613329576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615613349576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615613369576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615613389576f31be135f97d08fd981231505542fcfa60260801c5b620100008216156133aa576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b620200008216156133ca576e5d6af8dedb81196699c329225ee6040260801c5b620400008216156133e9576d2216e584f5fa1ea926041bedfe980260801c5b62080000821615613406576b048a170391f7dc42444e8fa20260801c5b60008460020b131561342157806000198161341d57fe5b0490505b640100000000810615613435576001613438565b60005b60ff16602082901c0192505050919050565b600080861561347c57856134695761346485856001613752565b613475565b61347585846001613752565b9150613497565b856134875784613494565b6134948584866001613b0b565b91505b866134aa576134a585612c3b565b6134b3565b6134b382612c3b565b9050856134c8576134c381613700565b6134ca565b805b90509550959350505050565b6134de613c26565b600082606001516134fb576134f68360800151613799565b613508565b6135088360800151612c3b565b905060008084600001516001600160a01b031663128acb0886602001518760400151868960a001516001600160a01b031660001461354a578960a00151613574565b896040015161356d5773fffd8963efd1fc6a506488495d951d5263988d25613574565b6401000276a45b8a60c001516040518663ffffffff1660e01b81526004016135999594939291906144a0565b6040805180830381600087803b1580156135b257600080fd5b505af11580156135c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135ea919061403a565b915091506000806135fa84612776565b61360384612776565b9150915060008760400151151588606001511515146136225781613624565b825b90508760600151158015613643575060a08801516001600160a01b0316155b156136e457600a886080015182116136695760808901516136649083612d1f565b613679565b6080890151613679908390612d1f565b106136965760405162461bcd60e51b815260040161060d9061472d565b87604001516136bd57604051806040016040528089608001518152602001838152506136d7565b604051806040016040528084815260200189608001518152505b965050505050505061042a565b5060408051808201909152918252602082015295945050505050565b6000600160ff1b82136137255760405162461bcd60e51b815260040161060d906146b6565b5060000390565b600081831261373b5781611337565b5090919050565b60008183121561373b5781611337565b60008161377d576137788461376f620f424062ffffff8716612d1f565b620f424061279f565b612b56565b612b5684620f42406137948162ffffff8816612d1f565b613b4c565b60006137a482612c3b565b60000392915050565b60008183038183128015906137c25750838113155b806137d757506000831280156137d757508381135b6113375760405162461bcd60e51b8152600401808060200182810382526024815260200180614b126024913960400191505060405180910390fd5b80600281900b811461042a5760405162461bcd60e51b8152600401808060200182810382526029815260200180614a056029913960400191505060405180910390fd5b600080821215612c83576040805162461bcd60e51b815260206004820181905260248201527f53616665436173743a2076616c7565206d75737420626520706f736974697665604482015290519081900360640190fd5b600061133783600084612ddb565b600054610100900460ff16806138d357506138d3612990565b806138e1575060005460ff16155b61391c5760405162461bcd60e51b815260040180806020018281038252602e815260200180614a2e602e913960400191505060405180910390fd5b600054610100900460ff16158015613947576000805460ff1961ff0019909116610100171660011790555b61394f6139a9565b6000613959611a5f565b603380546001600160a01b0319166001600160a01b03831690811790915560405191925090600090600080516020614a7d833981519152908290a3508015612a48576000805461ff001916905550565b600054610100900460ff16806139c257506139c2612990565b806139d0575060005460ff16155b613a0b5760405162461bcd60e51b815260040180806020018281038252602e815260200180614a2e602e913960400191505060405180910390fd5b600054610100900460ff16158015613a36576000805460ff1961ff0019909116610100171660011790555b612a36613b86565b600081613a92576040805162461bcd60e51b815260206004820181905260248201527f5369676e6564536166654d6174683a206469766973696f6e206279207a65726f604482015290519081900360640190fd5b81600019148015613aa65750600160ff1b83145b15613ae25760405162461bcd60e51b8152600401808060200182810382526021815260200180614a5c6021913960400191505060405180910390fd5b6000828481613aed57fe5b05949350505050565b6000611337838362ffffff16620f424061279f565b600080600083613b1c578585613b1f565b84865b9092509050611fe387613b3a620f424062ffffff8616612d1f565b613794620f424062ffffff8616612d1f565b6000613b5984848461279f565b905060008280613b6557fe5b8486091115611a58576000198110613b7c57600080fd5b6001019392505050565b600054610100900460ff1680613b9f5750613b9f612990565b80613bad575060005460ff16155b613be85760405162461bcd60e51b815260040180806020018281038252602e815260200180614a2e602e913960400191505060405180910390fd5b600054610100900460ff16158015612a36576000805460ff1961ff0019909116610100171660011790558015612a48576000805461ff001916905550565b604051806040016040528060008152602001600081525090565b6040518061016001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600060020b8152602001600015158152602001600062ffffff1681525090565b6040518060e00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600060020b81525090565b803561042a8161499d565b600082601f830112613cff578081fd5b81516020613d14613d0f83614980565b61495d565b8281528181019085830183850287018401881015613d30578586fd5b855b85811015613d57578151613d458161499d565b84529284019290840190600101613d32565b5090979650505050505050565b803561042a816149b2565b8051600281900b811461042a57600080fd5b805161ffff8116811461042a57600080fd5b600060208284031215613da4578081fd5b81356113378161499d565b600060208284031215613dc0578081fd5b81516113378161499d565b60008060408385031215613ddd578081fd5b8235613de88161499d565b91506020830135613df88161499d565b809150509250929050565b600080600060608486031215613e17578081fd5b8335613e228161499d565b92506020840135613e328161499d565b91506040840135613e428161499d565b809150509250925092565b60008060408385031215613e5f578182fd5b8235613e6a8161499d565b91506020830135613df8816149c0565b60008060408385031215613e8c578182fd5b8235613e978161499d565b91506020830135613df8816149d1565b60006020808385031215613eb9578182fd5b82516001600160401b03811115613ece578283fd5b8301601f81018513613ede578283fd5b8051613eec613d0f82614980565b8181528381019083850185840285018601891015613f08578687fd5b8694505b83851015613f33578051613f1f8161499d565b835260019490940193918501918501613f0c565b50979650505050505050565b60008060408385031215613f51578182fd5b82516001600160401b0380821115613f67578384fd5b818501915085601f830112613f7a578384fd5b81516020613f8a613d0f83614980565b82815281810190858301838502870184018b1015613fa6578889fd5b8896505b84871015613fd65780518060060b8114613fc257898afd5b835260019690960195918301918301613faa565b5091880151919650909350505080821115613fef578283fd5b50613ffc85828601613cef565b9150509250929050565b600060208284031215614017578081fd5b8151611337816149b2565b600060208284031215614033578081fd5b5051919050565b6000806040838503121561404c578182fd5b505080516020909101519092909150565b60008060008060608587031215614072578182fd5b843593506020850135925060408501356001600160401b0380821115614096578384fd5b818701915087601f8301126140a9578384fd5b8135818111156140b7578485fd5b8860208285010111156140c8578485fd5b95989497505060200194505050565b6000606082840312156140e8578081fd5b604051606081018181106001600160401b038211171561410457fe5b80604052508251815260208301516020820152604083015160408201528091505092915050565b600060a0828403121561413c578081fd5b60405160a081018181106001600160401b038211171561415857fe5b60405282516141668161499d565b81526020830151614176816149c0565b60208201526040830151614189816149c0565b6040820152606083015161419c816149c0565b606082015260808301516141af816149c0565b60808201529392505050565b6000608082840312156141cc578081fd5b604051608081018181106001600160401b03821117156141e857fe5b60405282356141f68161499d565b815260208301356142068161499d565b6020820152604083810135908201526060928301359281019290925250919050565b600060608284031215614239578081fd5b604051606081018181106001600160401b038211171561425557fe5b60405261426183613d6f565b815260208301516020820152604083015160408201528091505092915050565b600060e08284031215614292578081fd5b60405160e081018181106001600160401b03821117156142ae57fe5b6040526142ba83613ce4565b81526142c860208401613ce4565b60208201526142d960408401613d64565b60408201526142ea60608401613d64565b60608201526142fb60808401613d64565b608082015260a083013560a082015261431660c08401613ce4565b60c08201529392505050565b600080600080600080600060e0888a03121561433c578485fd5b87516143478161499d565b965061435560208901613d6f565b955061436360408901613d81565b945061437160608901613d81565b935061437f60808901613d81565b925060a088015160ff81168114614394578283fd5b60c08901519092506143a5816149b2565b8091505092959891949750929550565b6000602082840312156143c6578081fd5b8151611337816149c0565b6000602082840312156143e2578081fd5b8151611337816149d1565b600080604083850312156143ff578182fd5b825161440a816149d1565b6020840151909250613df8816149d1565b6001600160a01b03169052565b15159052565b60020b9052565b80518252602090810151910152565b62ffffff169052565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b0384811682528316602082015260808101612b566040830184614435565b600060018060a01b038088168352602087151581850152866040850152818616606085015260a06080850152845191508160a0850152825b828110156144f45785810182015185820160c0015281016144d8565b82811115614505578360c084870101525b5050601f01601f19169190910160c0019695505050505050565b6020808252825182820181905260009190848201906040850190845b8181101561455d57835163ffffffff168352928401929184019160010161453b565b50909695505050505050565b901515815260200190565b90815260200190565b60008582528460208301526060604083015282606083015282846080840137818301608090810191909152601f909201601f191601019392505050565b82815260608101611a586020830184614435565b60208082526007908201526645585f42544e4560c81b604082015260600190565b6020808252600790820152660869088be9e86960cb1b604082015260600190565b60208082526008908201526745585f4f504c415360c01b604082015260600190565b6020808252600590820152640455f4142360dc1b604082015260600190565b602080825260069082015265455f4f424e4360d01b604082015260600190565b6020808252600a908201526922ac2fa6aa21a627a7a960b11b604082015260600190565b6020808252600790820152662aa1a12fa321ab60c91b604082015260600190565b6020808252601c908201527f506572704d6174683a20696e76657273696f6e206f766572666c6f7700000000604082015260600190565b60208082526006908201526522ac2fa7a82160d11b604082015260600190565b602080825260069082015265455f43484e4360d01b604082015260600190565b60208082526006908201526555425f554f4160d01b604082015260600190565b602080825260069082015265045585f4d49560d41b604082015260600190565b60208082526006908201526545585f424e4360d01b604082015260600190565b6000610160820190506147a182845161441b565b60208301516147b36020840182614428565b5060408301516147c66040840182614428565b506060830151606083015260808301516147e3608084018261441b565b5060a08301516147f660a0840182614444565b5060c083015161480960c0840182614444565b5060e083015161481c60e0840182614435565b506101008301516101206148328185018361441b565b8401519050614845610140840182614444565b5092915050565b81516001600160a01b0390811682526020808401518216908301526040808401519091169082015260608083015162ffffff16908201526080918201519181019190915260a00190565b600061016082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401516148fc8285018261442e565b50506101208084015161491182850182614428565b50506101408084015161492682850182614444565b505092915050565b62ffffff91909116815260200190565b918252602082015260400190565b63ffffffff91909116815260200190565b6040518181016001600160401b038111828210171561497857fe5b604052919050565b60006001600160401b0382111561499357fe5b5060209081020190565b6001600160a01b0381168114612a4857600080fd5b8015158114612a4857600080fd5b62ffffff81168114612a4857600080fd5b63ffffffff81168114612a4857600080fdfe5369676e6564536166654d6174683a206164646974696f6e206f766572666c6f7753616665436173743a2076616c756520646f65736e27742066697420696e20616e2032342062697473496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a65645369676e6564536166654d6174683a206469766973696f6e206f766572666c6f778be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05369676e6564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7753616665436173743a2076616c756520646f65736e27742066697420696e203332206269747353616665436173743a2076616c756520646f65736e27742066697420696e20616e20696e743235365369676e6564536166654d6174683a207375627472616374696f6e206f766572666c6f7753616665436173743a2076616c756520646f65736e27742066697420696e2032342062697473a264697066735822122053685199d16ad04d9b20d56e43a0b12364d33ad5040e37c48319ba7010693dad64736f6c63430007060033
🤖 Code Reader
Generate instant answers for your smart contract questions using Al Models. Read more.
Loading...
Loading
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ 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.

