Feature Tip: Add private address tag to any address under My Name Tag !
More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 93 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 16902791 | 690 days ago | IN | 0 ETH | 0.00062789 | ||||
Approve | 16902759 | 690 days ago | IN | 0 ETH | 0.00064035 | ||||
Approve | 16899042 | 690 days ago | IN | 0 ETH | 0.00160949 | ||||
Approve | 16898642 | 690 days ago | IN | 0 ETH | 0.00137834 | ||||
Approve | 16895863 | 691 days ago | IN | 0 ETH | 0.0006846 | ||||
Approve | 16895841 | 691 days ago | IN | 0 ETH | 0.00078433 | ||||
Approve | 16895085 | 691 days ago | IN | 0 ETH | 0.00057703 | ||||
Approve | 16895044 | 691 days ago | IN | 0 ETH | 0.00054756 | ||||
Approve | 16894696 | 691 days ago | IN | 0 ETH | 0.00063404 | ||||
Approve | 16894062 | 691 days ago | IN | 0 ETH | 0.00073297 | ||||
Approve | 16893839 | 691 days ago | IN | 0 ETH | 0.00092667 | ||||
Approve | 16893597 | 691 days ago | IN | 0 ETH | 0.00083475 | ||||
Approve | 16893510 | 691 days ago | IN | 0 ETH | 0.00102554 | ||||
Transfer | 16893195 | 691 days ago | IN | 0 ETH | 0.00143462 | ||||
Approve | 16892936 | 691 days ago | IN | 0 ETH | 0.00117205 | ||||
Approve | 16892755 | 691 days ago | IN | 0 ETH | 0.0015139 | ||||
Transfer | 16892738 | 691 days ago | IN | 0 ETH | 0.00117274 | ||||
Approve | 16892674 | 691 days ago | IN | 0 ETH | 0.00118687 | ||||
Approve | 16892579 | 691 days ago | IN | 0 ETH | 0.00161854 | ||||
Approve | 16892534 | 691 days ago | IN | 0 ETH | 0.00185574 | ||||
Approve | 16892503 | 691 days ago | IN | 0 ETH | 0.00100585 | ||||
Approve | 16892422 | 691 days ago | IN | 0 ETH | 0.0015139 | ||||
Approve | 16892335 | 691 days ago | IN | 0 ETH | 0.00161302 | ||||
Approve | 16892306 | 691 days ago | IN | 0 ETH | 0.00084289 | ||||
Approve | 16892305 | 691 days ago | IN | 0 ETH | 0.0014434 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
16915279 | 688 days ago | 0.0002612 ETH | ||||
16915279 | 688 days ago | 0.002612 ETH | ||||
16915279 | 688 days ago | 0.00287317 ETH | ||||
16902796 | 690 days ago | 0.00000003 ETH | ||||
16902796 | 690 days ago | 0.00035302 ETH | ||||
16902796 | 690 days ago | 0.00353027 ETH | ||||
16902796 | 690 days ago | 0.00388281 ETH | ||||
16902769 | 690 days ago | 0.00000049 ETH | ||||
16902769 | 690 days ago | 0.00043731 ETH | ||||
16902769 | 690 days ago | 0.00437314 ETH | ||||
16902769 | 690 days ago | 0.00480768 ETH | ||||
16900065 | 690 days ago | 0.00000277 ETH | ||||
16900065 | 690 days ago | 0.00020839 ETH | ||||
16900065 | 690 days ago | 0.00208398 ETH | ||||
16900065 | 690 days ago | 0.00225873 ETH | ||||
16898665 | 690 days ago | 0.00003364 ETH | ||||
16898665 | 690 days ago | 0.00243949 ETH | ||||
16898665 | 690 days ago | 0.02439493 ETH | ||||
16898665 | 690 days ago | 0.02683442 ETH | ||||
16895843 | 691 days ago | 0.00038117 ETH | ||||
16895843 | 691 days ago | 0.00381179 ETH | ||||
16895843 | 691 days ago | 0.00419296 ETH | ||||
16895265 | 691 days ago | 0.00037666 ETH | ||||
16895265 | 691 days ago | 0.00376665 ETH | ||||
16895265 | 691 days ago | 0.00414332 ETH |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
ERC20
Compiler Version
v0.8.4+commit.c7e474f2
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-03-22 */ // SPDX-License-Identifier: MIT /* ; ttt. tttti ttttt; tttttt. ,ttttttt tttttttt. ,ttttttttti itttttttttttttttttt tttttttttttttttttttt ttttttttttttttttttttt itttttttttttttttttttti ttttttttttttttttttttt: ttttttttttttttttttttt ;;tWKt;;;;;;;;;;iKKt, ,W####W;;;;;;;;W####K K#: :#K;;;;;;K#: :#K ;i## ##iiiiii## ##i; tttt#W W#tttttt#W W#tttt ttttt#W W#tttttt#W W#ttttt ittttt#W W#tttttt#W W#ttttti tttttt#W W#tttttt#W W#tttttt tttttt## ##tttttt## ##tttttt iiiiiit##,i##tiiiiiit##ii##tiiiiii ;;;;;;;t####t;;;;;;;;t####t;;;;;;; ;;;;;;;;;i;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; tttttttttttttttttttttttttttttttttttttt .tttttttttttt .tttttttttttt: ttttttttttttt .ttttttttttttt ittttttttttttt ;ttttttttttttti ttttttttttttttt ttttttttttttttt ttttttttttttttt. ,ii, .ttttttttttttttt tttttttttttttttt iiiii; tttttttttttttttt ,iiiiiiiiiiiiiiii .iiiiii. iiiiiiiiiiiiiiii, ;;;;;;;;;;;;;;;;;;iiiiii;;;;;;;;;;;;;;;;;; ,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;, :,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,: */ /** * Twitter: https://twitter.com/poo_erc * Telegram: https://t.me/POO_EMOJICOIN */ pragma solidity ^0.8.0; interface IERC20 { function decimals() external view returns (uint8); function symbol() external view returns (string memory); function name() external view returns (string memory); function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } interface IUniswapRouter { function factory() external pure returns (address); function WETH() external pure returns (address); function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } interface IUniswapFactory { function createPair(address tokenA, address tokenB) external returns (address pair); } abstract contract Ownable { address internal _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = msg.sender; _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == msg.sender, "you are not owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "new is 0"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } contract ERC20 is IERC20, Ownable { mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; address public fundAddress; string private _name; string private _symbol; uint8 private _decimals; mapping(address => bool) public _isExcludeFromFee; uint256 private _totalSupply; IUniswapRouter public _uniswapRouter; mapping(address => bool) public isMarketPair; bool private inSwap; uint256 private constant MAX = ~uint256(0); uint256 public _buyFundFee = 250; uint256 public _buyLPFee = 50; uint256 public _sellFundFee = 250; uint256 public _sellLPFee = 50; address public _uniswapPair; modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor (){ _name = unicode"POO💩"; _symbol = unicode"💩"; _decimals = 9; uint256 Supply = 100000000000; IUniswapRouter swapRouter = IUniswapRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _uniswapRouter = swapRouter; _allowances[address(this)][address(swapRouter)] = MAX; IUniswapFactory swapFactory = IUniswapFactory(swapRouter.factory()); address swapPair = swapFactory.createPair(address(this), swapRouter.WETH()); _uniswapPair = swapPair; isMarketPair[swapPair] = true; _totalSupply = Supply * 10 ** _decimals; address bossWallet = msg.sender; _balances[bossWallet] = _totalSupply; emit Transfer(address(0), bossWallet, _totalSupply); fundAddress = msg.sender; _isExcludeFromFee[address(this)] = true; _isExcludeFromFee[address(swapRouter)] = true; _isExcludeFromFee[msg.sender] = true; _isExcludeFromFee[bossWallet] = true; } function symbol() external view override returns (string memory) { return _symbol; } function name() external view override returns (string memory) { return _name; } function decimals() external view override returns (uint8) { return _decimals; } function totalSupply() public view override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(msg.sender, recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(msg.sender, spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); if (_allowances[sender][msg.sender] != MAX) { _allowances[sender][msg.sender] = _allowances[sender][msg.sender] - amount; } return true; } function DesignBuy(uint256 newFundFee, uint256 newLpFee) public onlyOwner{ require(newFundFee + newLpFee <= 4000,"too high"); _buyFundFee = newFundFee; _buyLPFee = newLpFee; } function DesignSell(uint256 newFundFee, uint256 newLpFee) public onlyOwner{ require(newFundFee + newLpFee <= 4000,"too high"); _sellFundFee = newFundFee; _sellLPFee = newLpFee; } function _approve(address owner, address spender, uint256 amount) private { _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer( address from, address to, uint256 amount ) private { uint256 balance = balanceOf(from); require(balance >= amount, "balanceNotEnough"); bool takeFee; bool sellFlag; if (isMarketPair[to] && !inSwap && !_isExcludeFromFee[from] && !_isExcludeFromFee[to]) { uint256 contractTokenBalance = balanceOf(address(this)); if (contractTokenBalance > totalSupply() / 10**8) { uint256 taxFee = _buyFundFee + _buyLPFee + _sellFundFee + _sellLPFee; uint256 numTokensSellToFund = (amount * taxFee / 5000); numTokensSellToFund = numTokensSellToFund > contractTokenBalance ? contractTokenBalance:numTokensSellToFund; swapTokenForETH(numTokensSellToFund, taxFee); } } if (!_isExcludeFromFee[from] && !_isExcludeFromFee[to] && !inSwap) { takeFee = true; } if (isMarketPair[to]) { sellFlag = true; } _transferToken(from, to, amount, takeFee, sellFlag); } function _transferToken( address sender, address recipient, uint256 tAmount, bool takeFee, bool sellFlag ) private { _balances[sender] = _balances[sender] - tAmount; uint256 feeAmount; if (takeFee) { uint256 taxFee; if (sellFlag) { taxFee = _sellFundFee + _sellLPFee; } else { taxFee = _buyFundFee + _buyLPFee; } uint256 swapAmount = tAmount * taxFee / 10000; if (swapAmount > 0) { feeAmount += swapAmount; _balances[address(this)] = _balances[address(this)] + swapAmount; emit Transfer(sender, address(this), swapAmount); } } _balances[recipient] = _balances[recipient] + (tAmount - feeAmount); emit Transfer(sender, recipient, tAmount - feeAmount); } event catchEvent(uint8); function swapTokenForETH(uint256 tokenAmount, uint256 taxFee) private lockTheSwap { taxFee += taxFee; uint256 lpFee = _sellLPFee + _buyLPFee; uint256 lpAmount = tokenAmount * lpFee / taxFee; address[] memory path = new address[](2); path[0] = address(this); path[1] = _uniswapRouter.WETH(); try _uniswapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount - lpAmount, 0, path, address(this), block.timestamp ) {} catch { emit catchEvent(0); } taxFee -= lpFee; uint256 WETHBalance = address(this).balance; uint256 fundAmount = WETHBalance * (_buyFundFee + _sellFundFee) * 2 / taxFee; if (fundAmount > 0 && fundAddress != address(0)) { payable(fundAddress).transfer(fundAmount); } if (lpAmount > 0) { uint256 lpWeth = WETHBalance * lpFee / taxFee; if (lpWeth > 0) { try _uniswapRouter.addLiquidityETH{value:lpWeth}( address(this), lpAmount,0, 0, fundAddress, block.timestamp ) {} catch { emit catchEvent(1); } } } } function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) { _balances[sender] -= amount; _balances[recipient] += amount; emit Transfer(sender, recipient, amount); return true; } function removeERC20(address tokenAddress, uint256 amount) external { if (tokenAddress == address(0)){ payable(fundAddress).transfer(amount); }else if(tokenAddress != address(this)){ IERC20(tokenAddress).transfer(fundAddress, amount); } } function multiExcludeFromFees(address[] calldata addresses, bool value) public onlyOwner{ require(addresses.length < 201); for (uint256 i; i < addresses.length; ++i) { _isExcludeFromFee[addresses[i]] = value; } } receive() external payable {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","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"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"","type":"uint8"}],"name":"catchEvent","type":"event"},{"inputs":[{"internalType":"uint256","name":"newFundFee","type":"uint256"},{"internalType":"uint256","name":"newLpFee","type":"uint256"}],"name":"DesignBuy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newFundFee","type":"uint256"},{"internalType":"uint256","name":"newLpFee","type":"uint256"}],"name":"DesignSell","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_buyFundFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyLPFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludeFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellFundFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellLPFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapRouter","outputs":[{"internalType":"contract IUniswapRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"fundAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"value","type":"bool"}],"name":"multiExcludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"removeERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405260fa600c556032600d5560fa600e556032600f553480156200002557600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060408051808201909152600780825266504f4ff09f92a960c81b60209092019182526200009791600491620003bf565b5060408051808201909152600480825263f09f92a960e01b6020909201918252620000c591600591620003bf565b506006805460ff1916600990811790915580546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915530600090815260026020908152604080832084845282528083206000199055805163c45a015560e01b8152905164174876e800949392849263c45a01559260048083019392829003018186803b1580156200015757600080fd5b505afa1580156200016c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000192919062000465565b90506000816001600160a01b031663c9c6539630856001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620001e057600080fd5b505afa158015620001f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200021b919062000465565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200026457600080fd5b505af115801562000279573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200029f919062000465565b601080546001600160a01b0319166001600160a01b0383169081179091556000908152600a60208190526040909120805460ff19166001179055600654919250620002ee9160ff1690620004de565b620002fa90856200059f565b600881905533600081815260016020908152604080832085905551938452919283927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3600380546001600160a01b0319163390811790915530600090815260076020526040808220805460ff1990811660019081179092556001600160a01b03988916845282842080548216831790559383528183208054851682179055939096168152949094208054909416179092555062000614915050565b828054620003cd90620005c1565b90600052602060002090601f016020900481019282620003f157600085556200043c565b82601f106200040c57805160ff19168380011785556200043c565b828001600101855582156200043c579182015b828111156200043c5782518255916020019190600101906200041f565b506200044a9291506200044e565b5090565b5b808211156200044a57600081556001016200044f565b60006020828403121562000477578081fd5b81516001600160a01b03811681146200048e578182fd5b9392505050565b600181815b80851115620004d6578160001904821115620004ba57620004ba620005fe565b80851615620004c857918102915b93841c93908002906200049a565b509250929050565b60006200048e60ff841683600082620004fa5750600162000599565b81620005095750600062000599565b81600181146200052257600281146200052d576200054d565b600191505062000599565b60ff841115620005415762000541620005fe565b50506001821b62000599565b5060208310610133831016604e8410600b841016171562000572575081810a62000599565b6200057e838362000495565b8060001904821115620005955762000595620005fe565b0290505b92915050565b6000816000190483118215151615620005bc57620005bc620005fe565b500290565b600181811c90821680620005d657607f821691505b60208210811415620005f857634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6115be80620006246000396000f3fe60806040526004361061016a5760003560e01c8063715018a6116100d1578063b9fbc49d1161008a578063dd62ed3e11610064578063dd62ed3e14610442578063e5615dd114610488578063e82bef29146104a8578063f2fde38b146104c857600080fd5b8063b9fbc49d146103f6578063bceaaf1e1461040c578063ce0192f91461042c57600080fd5b8063715018a6146103585780638637b0691461036d5780638da5cb5b1461038d57806395d89b41146103ab578063a9059cbb146103c0578063adc7955d146103e057600080fd5b80633bfe62ca116101235780633bfe62ca146102625780633db02103146102785780633ecad2711461029a5780634bf28fd0146102ca57806365b61b771461030257806370a082311461032257600080fd5b806306fdde0314610176578063095ea7b3146101a157806318160ddd146101d157806323b872dd146101f0578063313ce5671461021057806336b2e0271461023257600080fd5b3661017157005b600080fd5b34801561018257600080fd5b5061018b6104e8565b604051610198919061139a565b60405180910390f35b3480156101ad57600080fd5b506101c16101bc366004611284565b61057a565b6040519015158152602001610198565b3480156101dd57600080fd5b506008545b604051908152602001610198565b3480156101fc57600080fd5b506101c161020b366004611244565b610590565b34801561021c57600080fd5b5060065460405160ff9091168152602001610198565b34801561023e57600080fd5b506101c161024d3660046111cd565b60076020526000908152604090205460ff1681565b34801561026e57600080fd5b506101e2600e5481565b34801561028457600080fd5b5061029861029336600461134c565b610627565b005b3480156102a657600080fd5b506101c16102b53660046111cd565b600a6020526000908152604090205460ff1681565b3480156102d657600080fd5b506010546102ea906001600160a01b031681565b6040516001600160a01b039091168152602001610198565b34801561030e57600080fd5b506009546102ea906001600160a01b031681565b34801561032e57600080fd5b506101e261033d3660046111cd565b6001600160a01b031660009081526001602052604090205490565b34801561036457600080fd5b506102986106ab565b34801561037957600080fd5b50610298610388366004611284565b61071f565b34801561039957600080fd5b506000546001600160a01b03166102ea565b3480156103b757600080fd5b5061018b610806565b3480156103cc57600080fd5b506101c16103db366004611284565b610815565b3480156103ec57600080fd5b506101e2600f5481565b34801561040257600080fd5b506101e2600d5481565b34801561041857600080fd5b506102986104273660046112af565b610822565b34801561043857600080fd5b506101e2600c5481565b34801561044e57600080fd5b506101e261045d36600461120c565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561049457600080fd5b506102986104a336600461134c565b6108dc565b3480156104b457600080fd5b506003546102ea906001600160a01b031681565b3480156104d457600080fd5b506102986104e33660046111cd565b610957565b6060600480546104f7906114f6565b80601f0160208091040260200160405190810160405280929190818152602001828054610523906114f6565b80156105705780601f1061054557610100808354040283529160200191610570565b820191906000526020600020905b81548152906001019060200180831161055357829003601f168201915b5050505050905090565b6000610587338484610a1d565b50600192915050565b600061059d848484610a7e565b6001600160a01b03841660009081526002602090815260408083203384529091529020546000191461061d576001600160a01b03841660009081526002602090815260408083203384529091529020546105f89083906114df565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b5060019392505050565b6000546001600160a01b0316331461065a5760405162461bcd60e51b8152600401610651906113ed565b60405180910390fd5b610fa06106678284611488565b11156106a05760405162461bcd60e51b81526020600482015260086024820152670e8dede40d0d2ced60c31b6044820152606401610651565b600e91909155600f55565b6000546001600160a01b031633146106d55760405162461bcd60e51b8152600401610651906113ed565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6001600160a01b03821661076c576003546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610767573d6000803e3d6000fd5b505050565b6001600160a01b03821630146108025760035460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529083169063a9059cbb90604401602060405180830381600087803b1580156107ca57600080fd5b505af11580156107de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107679190611330565b5050565b6060600580546104f7906114f6565b6000610587338484610a7e565b6000546001600160a01b0316331461084c5760405162461bcd60e51b8152600401610651906113ed565b60c9821061085957600080fd5b60005b828110156108d657816007600086868581811061088957634e487b7160e01b600052603260045260246000fd5b905060200201602081019061089e91906111cd565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790556108cf81611531565b905061085c565b50505050565b6000546001600160a01b031633146109065760405162461bcd60e51b8152600401610651906113ed565b610fa06109138284611488565b111561094c5760405162461bcd60e51b81526020600482015260086024820152670e8dede40d0d2ced60c31b6044820152606401610651565b600c91909155600d55565b6000546001600160a01b031633146109815760405162461bcd60e51b8152600401610651906113ed565b6001600160a01b0381166109c25760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b6044820152606401610651565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526001602052604090205481811015610ada5760405162461bcd60e51b815260206004820152601060248201526f0c4c2d8c2dcc6ca9cdee88adcdeeaced60831b6044820152606401610651565b6001600160a01b0383166000908152600a6020526040812054819060ff168015610b075750600b5460ff16155b8015610b2c57506001600160a01b03861660009081526007602052604090205460ff16155b8015610b5157506001600160a01b03851660009081526007602052604090205460ff16155b15610be85730600090815260016020526040902054600854610b78906305f5e100906114a0565b811115610be6576000600f54600e54600d54600c54610b979190611488565b610ba19190611488565b610bab9190611488565b90506000611388610bbc83896114c0565b610bc691906114a0565b9050828111610bd55780610bd7565b825b9050610be38183610c7d565b50505b505b6001600160a01b03861660009081526007602052604090205460ff16158015610c2a57506001600160a01b03851660009081526007602052604090205460ff16155b8015610c395750600b5460ff16155b15610c4357600191505b6001600160a01b0385166000908152600a602052604090205460ff1615610c68575060015b610c75868686858561101f565b505050505050565b600b805460ff19166001179055610c948180611488565b90506000600d54600f54610ca89190611488565b9050600082610cb783866114c0565b610cc191906114a0565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610d0957634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015610d5d57600080fd5b505afa158015610d71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d9591906111f0565b81600181518110610db657634e487b7160e01b600052603260045260246000fd5b6001600160a01b0392831660209182029290920101526009541663791ac947610ddf84886114df565b60008430426040518663ffffffff1660e01b8152600401610e04959493929190611418565b600060405180830381600087803b158015610e1e57600080fd5b505af1925050508015610e2f575060015b610e6857604051600081527fbdf1a66ac2980d0df84c6c5344b4d62f3f4578219817cf4bcb8d8a983bbe6f169060200160405180910390a15b610e7283856114df565b93506000479050600085600e54600c54610e8c9190611488565b610e9690846114c0565b610ea19060026114c0565b610eab91906114a0565b9050600081118015610ec757506003546001600160a01b031615155b15610f08576003546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610f06573d6000803e3d6000fd5b505b831561100c57600086610f1b87856114c0565b610f2591906114a0565b9050801561100a5760095460035460405163f305d71960e01b81523060048201526024810188905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c4016060604051808303818588803b158015610f9857600080fd5b505af193505050508015610fc9575060408051601f3d908101601f19168201909252610fc69181019061136d565b60015b61100657604051600181527fbdf1a66ac2980d0df84c6c5344b4d62f3f4578219817cf4bcb8d8a983bbe6f169060200160405180910390a161100a565b5050505b505b5050600b805460ff191690555050505050565b6001600160a01b0385166000908152600160205260409020546110439084906114df565b6001600160a01b038616600090815260016020526040812091909155821561113d576000821561108457600f54600e5461107d9190611488565b9050611097565b600d54600c546110949190611488565b90505b60006127106110a683886114c0565b6110b091906114a0565b9050801561113a576110c28184611488565b306000908152600160205260409020549093506110e0908290611488565b30600081815260016020526040908190209290925590516001600160a01b038a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111319085815260200190565b60405180910390a35b50505b61114781856114df565b6001600160a01b03861660009081526001602052604090205461116a9190611488565b6001600160a01b0380871660008181526001602052604090209290925587167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6111b484886114df565b60405190815260200160405180910390a3505050505050565b6000602082840312156111de578081fd5b81356111e981611562565b9392505050565b600060208284031215611201578081fd5b81516111e981611562565b6000806040838503121561121e578081fd5b823561122981611562565b9150602083013561123981611562565b809150509250929050565b600080600060608486031215611258578081fd5b833561126381611562565b9250602084013561127381611562565b929592945050506040919091013590565b60008060408385031215611296578182fd5b82356112a181611562565b946020939093013593505050565b6000806000604084860312156112c3578283fd5b833567ffffffffffffffff808211156112da578485fd5b818601915086601f8301126112ed578485fd5b8135818111156112fb578586fd5b8760208260051b850101111561130f578586fd5b602092830195509350508401356113258161157a565b809150509250925092565b600060208284031215611341578081fd5b81516111e98161157a565b6000806040838503121561135e578182fd5b50508035926020909101359150565b600080600060608486031215611381578283fd5b8351925060208401519150604084015190509250925092565b6000602080835283518082850152825b818110156113c6578581018301518582016040015282016113aa565b818111156113d75783604083870101525b50601f01601f1916929092016040019392505050565b6020808252601190820152703cb7ba9030b932903737ba1037bbb732b960791b604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b818110156114675784516001600160a01b031683529383019391830191600101611442565b50506001600160a01b03969096166060850152505050608001529392505050565b6000821982111561149b5761149b61154c565b500190565b6000826114bb57634e487b7160e01b81526012600452602481fd5b500490565b60008160001904831182151516156114da576114da61154c565b500290565b6000828210156114f1576114f161154c565b500390565b600181811c9082168061150a57607f821691505b6020821081141561152b57634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156115455761154561154c565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b038116811461157757600080fd5b50565b801515811461157757600080fdfea2646970667358221220575c92c1cc41a1a3da0ec394de963452ede268dbc551d23fc8b676f38677e69f64736f6c63430008040033
Deployed Bytecode
0x60806040526004361061016a5760003560e01c8063715018a6116100d1578063b9fbc49d1161008a578063dd62ed3e11610064578063dd62ed3e14610442578063e5615dd114610488578063e82bef29146104a8578063f2fde38b146104c857600080fd5b8063b9fbc49d146103f6578063bceaaf1e1461040c578063ce0192f91461042c57600080fd5b8063715018a6146103585780638637b0691461036d5780638da5cb5b1461038d57806395d89b41146103ab578063a9059cbb146103c0578063adc7955d146103e057600080fd5b80633bfe62ca116101235780633bfe62ca146102625780633db02103146102785780633ecad2711461029a5780634bf28fd0146102ca57806365b61b771461030257806370a082311461032257600080fd5b806306fdde0314610176578063095ea7b3146101a157806318160ddd146101d157806323b872dd146101f0578063313ce5671461021057806336b2e0271461023257600080fd5b3661017157005b600080fd5b34801561018257600080fd5b5061018b6104e8565b604051610198919061139a565b60405180910390f35b3480156101ad57600080fd5b506101c16101bc366004611284565b61057a565b6040519015158152602001610198565b3480156101dd57600080fd5b506008545b604051908152602001610198565b3480156101fc57600080fd5b506101c161020b366004611244565b610590565b34801561021c57600080fd5b5060065460405160ff9091168152602001610198565b34801561023e57600080fd5b506101c161024d3660046111cd565b60076020526000908152604090205460ff1681565b34801561026e57600080fd5b506101e2600e5481565b34801561028457600080fd5b5061029861029336600461134c565b610627565b005b3480156102a657600080fd5b506101c16102b53660046111cd565b600a6020526000908152604090205460ff1681565b3480156102d657600080fd5b506010546102ea906001600160a01b031681565b6040516001600160a01b039091168152602001610198565b34801561030e57600080fd5b506009546102ea906001600160a01b031681565b34801561032e57600080fd5b506101e261033d3660046111cd565b6001600160a01b031660009081526001602052604090205490565b34801561036457600080fd5b506102986106ab565b34801561037957600080fd5b50610298610388366004611284565b61071f565b34801561039957600080fd5b506000546001600160a01b03166102ea565b3480156103b757600080fd5b5061018b610806565b3480156103cc57600080fd5b506101c16103db366004611284565b610815565b3480156103ec57600080fd5b506101e2600f5481565b34801561040257600080fd5b506101e2600d5481565b34801561041857600080fd5b506102986104273660046112af565b610822565b34801561043857600080fd5b506101e2600c5481565b34801561044e57600080fd5b506101e261045d36600461120c565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561049457600080fd5b506102986104a336600461134c565b6108dc565b3480156104b457600080fd5b506003546102ea906001600160a01b031681565b3480156104d457600080fd5b506102986104e33660046111cd565b610957565b6060600480546104f7906114f6565b80601f0160208091040260200160405190810160405280929190818152602001828054610523906114f6565b80156105705780601f1061054557610100808354040283529160200191610570565b820191906000526020600020905b81548152906001019060200180831161055357829003601f168201915b5050505050905090565b6000610587338484610a1d565b50600192915050565b600061059d848484610a7e565b6001600160a01b03841660009081526002602090815260408083203384529091529020546000191461061d576001600160a01b03841660009081526002602090815260408083203384529091529020546105f89083906114df565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b5060019392505050565b6000546001600160a01b0316331461065a5760405162461bcd60e51b8152600401610651906113ed565b60405180910390fd5b610fa06106678284611488565b11156106a05760405162461bcd60e51b81526020600482015260086024820152670e8dede40d0d2ced60c31b6044820152606401610651565b600e91909155600f55565b6000546001600160a01b031633146106d55760405162461bcd60e51b8152600401610651906113ed565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6001600160a01b03821661076c576003546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610767573d6000803e3d6000fd5b505050565b6001600160a01b03821630146108025760035460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529083169063a9059cbb90604401602060405180830381600087803b1580156107ca57600080fd5b505af11580156107de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107679190611330565b5050565b6060600580546104f7906114f6565b6000610587338484610a7e565b6000546001600160a01b0316331461084c5760405162461bcd60e51b8152600401610651906113ed565b60c9821061085957600080fd5b60005b828110156108d657816007600086868581811061088957634e487b7160e01b600052603260045260246000fd5b905060200201602081019061089e91906111cd565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790556108cf81611531565b905061085c565b50505050565b6000546001600160a01b031633146109065760405162461bcd60e51b8152600401610651906113ed565b610fa06109138284611488565b111561094c5760405162461bcd60e51b81526020600482015260086024820152670e8dede40d0d2ced60c31b6044820152606401610651565b600c91909155600d55565b6000546001600160a01b031633146109815760405162461bcd60e51b8152600401610651906113ed565b6001600160a01b0381166109c25760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b6044820152606401610651565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526001602052604090205481811015610ada5760405162461bcd60e51b815260206004820152601060248201526f0c4c2d8c2dcc6ca9cdee88adcdeeaced60831b6044820152606401610651565b6001600160a01b0383166000908152600a6020526040812054819060ff168015610b075750600b5460ff16155b8015610b2c57506001600160a01b03861660009081526007602052604090205460ff16155b8015610b5157506001600160a01b03851660009081526007602052604090205460ff16155b15610be85730600090815260016020526040902054600854610b78906305f5e100906114a0565b811115610be6576000600f54600e54600d54600c54610b979190611488565b610ba19190611488565b610bab9190611488565b90506000611388610bbc83896114c0565b610bc691906114a0565b9050828111610bd55780610bd7565b825b9050610be38183610c7d565b50505b505b6001600160a01b03861660009081526007602052604090205460ff16158015610c2a57506001600160a01b03851660009081526007602052604090205460ff16155b8015610c395750600b5460ff16155b15610c4357600191505b6001600160a01b0385166000908152600a602052604090205460ff1615610c68575060015b610c75868686858561101f565b505050505050565b600b805460ff19166001179055610c948180611488565b90506000600d54600f54610ca89190611488565b9050600082610cb783866114c0565b610cc191906114a0565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610d0957634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015610d5d57600080fd5b505afa158015610d71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d9591906111f0565b81600181518110610db657634e487b7160e01b600052603260045260246000fd5b6001600160a01b0392831660209182029290920101526009541663791ac947610ddf84886114df565b60008430426040518663ffffffff1660e01b8152600401610e04959493929190611418565b600060405180830381600087803b158015610e1e57600080fd5b505af1925050508015610e2f575060015b610e6857604051600081527fbdf1a66ac2980d0df84c6c5344b4d62f3f4578219817cf4bcb8d8a983bbe6f169060200160405180910390a15b610e7283856114df565b93506000479050600085600e54600c54610e8c9190611488565b610e9690846114c0565b610ea19060026114c0565b610eab91906114a0565b9050600081118015610ec757506003546001600160a01b031615155b15610f08576003546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610f06573d6000803e3d6000fd5b505b831561100c57600086610f1b87856114c0565b610f2591906114a0565b9050801561100a5760095460035460405163f305d71960e01b81523060048201526024810188905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c4016060604051808303818588803b158015610f9857600080fd5b505af193505050508015610fc9575060408051601f3d908101601f19168201909252610fc69181019061136d565b60015b61100657604051600181527fbdf1a66ac2980d0df84c6c5344b4d62f3f4578219817cf4bcb8d8a983bbe6f169060200160405180910390a161100a565b5050505b505b5050600b805460ff191690555050505050565b6001600160a01b0385166000908152600160205260409020546110439084906114df565b6001600160a01b038616600090815260016020526040812091909155821561113d576000821561108457600f54600e5461107d9190611488565b9050611097565b600d54600c546110949190611488565b90505b60006127106110a683886114c0565b6110b091906114a0565b9050801561113a576110c28184611488565b306000908152600160205260409020549093506110e0908290611488565b30600081815260016020526040908190209290925590516001600160a01b038a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111319085815260200190565b60405180910390a35b50505b61114781856114df565b6001600160a01b03861660009081526001602052604090205461116a9190611488565b6001600160a01b0380871660008181526001602052604090209290925587167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6111b484886114df565b60405190815260200160405180910390a3505050505050565b6000602082840312156111de578081fd5b81356111e981611562565b9392505050565b600060208284031215611201578081fd5b81516111e981611562565b6000806040838503121561121e578081fd5b823561122981611562565b9150602083013561123981611562565b809150509250929050565b600080600060608486031215611258578081fd5b833561126381611562565b9250602084013561127381611562565b929592945050506040919091013590565b60008060408385031215611296578182fd5b82356112a181611562565b946020939093013593505050565b6000806000604084860312156112c3578283fd5b833567ffffffffffffffff808211156112da578485fd5b818601915086601f8301126112ed578485fd5b8135818111156112fb578586fd5b8760208260051b850101111561130f578586fd5b602092830195509350508401356113258161157a565b809150509250925092565b600060208284031215611341578081fd5b81516111e98161157a565b6000806040838503121561135e578182fd5b50508035926020909101359150565b600080600060608486031215611381578283fd5b8351925060208401519150604084015190509250925092565b6000602080835283518082850152825b818110156113c6578581018301518582016040015282016113aa565b818111156113d75783604083870101525b50601f01601f1916929092016040019392505050565b6020808252601190820152703cb7ba9030b932903737ba1037bbb732b960791b604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b818110156114675784516001600160a01b031683529383019391830191600101611442565b50506001600160a01b03969096166060850152505050608001529392505050565b6000821982111561149b5761149b61154c565b500190565b6000826114bb57634e487b7160e01b81526012600452602481fd5b500490565b60008160001904831182151516156114da576114da61154c565b500290565b6000828210156114f1576114f161154c565b500390565b600181811c9082168061150a57607f821691505b6020821081141561152b57634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156115455761154561154c565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b038116811461157757600080fd5b50565b801515811461157757600080fdfea2646970667358221220575c92c1cc41a1a3da0ec394de963452ede268dbc551d23fc8b676f38677e69f64736f6c63430008040033
Deployed Bytecode Sourcemap
4751:8193:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6761:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7524:159;;;;;;;;;;-1:-1:-1;7524:159:0;;;;;:::i;:::-;;:::i;:::-;;;4659:14:1;;4652:22;4634:41;;4622:2;4607:18;7524:159:0;4589:92:1;6965:100:0;;;;;;;;;;-1:-1:-1;7045:12:0;;6965:100;;;7431:25:1;;;7419:2;7404:18;6965:100:0;7386:76:1;7691:336:0;;;;;;;;;;-1:-1:-1;7691:336:0;;;;;:::i;:::-;;:::i;6863:94::-;;;;;;;;;;-1:-1:-1;6940:9:0;;6863:94;;6940:9;;;;5068:36:1;;5056:2;5041:18;6863:94:0;5023:87:1;5043:49:0;;;;;;;;;;-1:-1:-1;5043:49:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;5392:33;;;;;;;;;;;;;;;;8250:210;;;;;;;;;;-1:-1:-1;8250:210:0;;;;;:::i;:::-;;:::i;:::-;;5187:44;;;;;;;;;;-1:-1:-1;5187:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;5471:27;;;;;;;;;;-1:-1:-1;5471:27:0;;;;-1:-1:-1;;;;;5471:27:0;;;;;;-1:-1:-1;;;;;3559:32:1;;;3541:51;;3529:2;3514:18;5471:27:0;3496:102:1;5142:36:0;;;;;;;;;;-1:-1:-1;5142:36:0;;;;-1:-1:-1;;;;;5142:36:0;;;7073:119;;;;;;;;;;-1:-1:-1;7073:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;7166:18:0;7139:7;7166:18;;;:9;:18;;;;;;;7073:119;4374:148;;;;;;;;;;;;;:::i;12343:296::-;;;;;;;;;;-1:-1:-1;12343:296:0;;;;;:::i;:::-;;:::i;4177:79::-;;;;;;;;;;-1:-1:-1;4215:7:0;4242:6;-1:-1:-1;;;;;4242:6:0;4177:79;;6655:98;;;;;;;;;;;;;:::i;7200:165::-;;;;;;;;;;-1:-1:-1;7200:165:0;;;;;:::i;:::-;;:::i;5432:30::-;;;;;;;;;;;;;;;;5356:29;;;;;;;;;;;;;;;;12647:257;;;;;;;;;;-1:-1:-1;12647:257:0;;;;;:::i;:::-;;:::i;5317:32::-;;;;;;;;;;;;;;;;7373:143;;;;;;;;;;-1:-1:-1;7373:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;7481:18:0;;;7454:7;7481:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7373:143;8035:207;;;;;;;;;;-1:-1:-1;8035:207:0;;;;;:::i;:::-;;:::i;4920:26::-;;;;;;;;;;-1:-1:-1;4920:26:0;;;;-1:-1:-1;;;;;4920:26:0;;;4530:214;;;;;;;;;;-1:-1:-1;4530:214:0;;;;;:::i;:::-;;:::i;6761:94::-;6809:13;6842:5;6835:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6761:94;:::o;7524:159::-;7599:4;7616:37;7625:10;7637:7;7646:6;7616:8;:37::i;:::-;-1:-1:-1;7671:4:0;7524:159;;;;:::o;7691:336::-;7789:4;7806:36;7816:6;7824:9;7835:6;7806:9;:36::i;:::-;-1:-1:-1;;;;;7857:19:0;;5306:1;7857:19;;;:11;:19;;;;;;;;7877:10;7857:31;;;;;;;;-1:-1:-1;;7857:38:0;7853:145;;-1:-1:-1;;;;;7946:19:0;;;;;;:11;:19;;;;;;;;7966:10;7946:31;;;;;;;;:40;;7980:6;;7946:40;:::i;:::-;-1:-1:-1;;;;;7912:19:0;;;;;;:11;:19;;;;;;;;7932:10;7912:31;;;;;;;:74;7853:145;-1:-1:-1;8015:4:0;7691:336;;;;;:::o;8250:210::-;4304:6;;-1:-1:-1;;;;;4304:6:0;4314:10;4304:20;4296:50;;;;-1:-1:-1;;;4296:50:0;;;;;;;:::i;:::-;;;;;;;;;8368:4:::1;8343:21;8356:8:::0;8343:10;:21:::1;:::i;:::-;:29;;8335:49;;;::::0;-1:-1:-1;;;8335:49:0;;6469:2:1;8335:49:0::1;::::0;::::1;6451:21:1::0;6508:1;6488:18;;;6481:29;-1:-1:-1;;;6526:18:1;;;6519:38;6574:18;;8335:49:0::1;6441:157:1::0;8335:49:0::1;8395:12;:25:::0;;;;8431:10:::1;:21:::0;8250:210::o;4374:148::-;4304:6;;-1:-1:-1;;;;;4304:6:0;4314:10;4304:20;4296:50;;;;-1:-1:-1;;;4296:50:0;;;;;;;:::i;:::-;4481:1:::1;4465:6:::0;;4444:40:::1;::::0;-1:-1:-1;;;;;4465:6:0;;::::1;::::0;4444:40:::1;::::0;4481:1;;4444:40:::1;4512:1;4495:19:::0;;-1:-1:-1;;;;;;4495:19:0::1;::::0;;4374:148::o;12343:296::-;-1:-1:-1;;;;;12426:26:0;;12422:210;;12476:11;;12468:37;;-1:-1:-1;;;;;12476:11:0;;;;12468:37;;;;;12498:6;;12476:11;12468:37;12476:11;12468:37;12498:6;12476:11;12468:37;;;;;;;;;;;;;;;;;;;;;12343:296;;:::o;12422:210::-;-1:-1:-1;;;;;12525:29:0;;12549:4;12525:29;12522:110;;12600:11;;12570:50;;-1:-1:-1;;;12570:50:0;;-1:-1:-1;;;;;12600:11:0;;;12570:50;;;3777:51:1;3844:18;;;3837:34;;;12570:29:0;;;;;;3750:18:1;;12570:50:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;12522:110::-;12343:296;;:::o;6655:98::-;6705:13;6738:7;6731:14;;;;;:::i;7200:165::-;7278:4;7295:40;7305:10;7317:9;7328:6;7295:9;:40::i;12647:257::-;4304:6;;-1:-1:-1;;;;;4304:6:0;4314:10;4304:20;4296:50;;;;-1:-1:-1;;;4296:50:0;;;;;;;:::i;:::-;12773:3:::1;12754:22:::0;::::1;12746:31;;;::::0;::::1;;12793:9;12788:109;12804:20:::0;;::::1;12788:109;;;12880:5;12846:17;:31;12864:9;;12874:1;12864:12;;;;;-1:-1:-1::0;;;12864:12:0::1;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12846:31:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;12846:31:0;:39;;-1:-1:-1;;12846:39:0::1;::::0;::::1;;::::0;;;::::1;::::0;;12826:3:::1;::::0;::::1;:::i;:::-;;;12788:109;;;;12647:257:::0;;;:::o;8035:207::-;4304:6;;-1:-1:-1;;;;;4304:6:0;4314:10;4304:20;4296:50;;;;-1:-1:-1;;;4296:50:0;;;;;;;:::i;:::-;8152:4:::1;8127:21;8140:8:::0;8127:10;:21:::1;:::i;:::-;:29;;8119:49;;;::::0;-1:-1:-1;;;8119:49:0;;6469:2:1;8119:49:0::1;::::0;::::1;6451:21:1::0;6508:1;6488:18;;;6481:29;-1:-1:-1;;;6526:18:1;;;6519:38;6574:18;;8119:49:0::1;6441:157:1::0;8119:49:0::1;8179:11;:24:::0;;;;8214:9:::1;:20:::0;8035:207::o;4530:214::-;4304:6;;-1:-1:-1;;;;;4304:6:0;4314:10;4304:20;4296:50;;;;-1:-1:-1;;;4296:50:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;4619:22:0;::::1;4611:43;;;::::0;-1:-1:-1;;;4611:43:0;;6805:2:1;4611:43:0::1;::::0;::::1;6787:21:1::0;6844:1;6824:18;;;6817:29;-1:-1:-1;;;6862:18:1;;;6855:38;6910:18;;4611:43:0::1;6777:157:1::0;4611:43:0::1;4691:6;::::0;;4670:38:::1;::::0;-1:-1:-1;;;;;4670:38:0;;::::1;::::0;4691:6;::::1;::::0;4670:38:::1;::::0;::::1;4719:6;:17:::0;;-1:-1:-1;;;;;;4719:17:0::1;-1:-1:-1::0;;;;;4719:17:0;;;::::1;::::0;;;::::1;::::0;;4530:214::o;8468:177::-;-1:-1:-1;;;;;8553:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8605:32;;7431:25:1;;;8605:32:0;;7404:18:1;8605:32:0;;;;;;;8468:177;;;:::o;8653:1171::-;-1:-1:-1;;;;;7166:18:0;;8767:15;7166:18;;;:9;:18;;;;;;8819:17;;;;8811:46;;;;-1:-1:-1;;;8811:46:0;;6124:2:1;8811:46:0;;;6106:21:1;6163:2;6143:18;;;6136:30;-1:-1:-1;;;6182:18:1;;;6175:46;6238:18;;8811:46:0;6096:166:1;8811:46:0;-1:-1:-1;;;;;8923:16:0;;8870:12;8923:16;;;:12;:16;;;;;;8870:12;;8923:16;;:27;;;;-1:-1:-1;8944:6:0;;;;8943:7;8923:27;:55;;;;-1:-1:-1;;;;;;8955:23:0;;;;;;:17;:23;;;;;;;;8954:24;8923:55;:81;;;;-1:-1:-1;;;;;;8983:21:0;;;;;;:17;:21;;;;;;;;8982:22;8923:81;8919:660;;;9070:4;9021:28;7166:18;;;:9;:18;;;;;;7045:12;;9118:21;;9134:5;;9118:21;:::i;:::-;9095:20;:44;9091:477;;;9160:14;9218:10;;9203:12;;9191:9;;9177:11;;:23;;;;:::i;:::-;:38;;;;:::i;:::-;:51;;;;:::i;:::-;9160:68;-1:-1:-1;9247:27:0;9296:4;9278:15;9160:68;9278:6;:15;:::i;:::-;:22;;;;:::i;:::-;9247:54;;9364:20;9342:19;:42;:147;;9470:19;9342:147;;;9449:20;9342:147;9320:169;;9508:44;9524:19;9545:6;9508:15;:44::i;:::-;9091:477;;;8919:660;;-1:-1:-1;;;;;9596:23:0;;;;;;:17;:23;;;;;;;;9595:24;:50;;;;-1:-1:-1;;;;;;9624:21:0;;;;;;:17;:21;;;;;;;;9623:22;9595:50;:61;;;;-1:-1:-1;9650:6:0;;;;9649:7;9595:61;9591:108;;;9683:4;9673:14;;9591:108;-1:-1:-1;;;;;9715:16:0;;;;;;:12;:16;;;;;;;;9711:42;;;-1:-1:-1;9746:4:0;9711:42;9765:51;9780:4;9786:2;9790:6;9798:7;9807:8;9765:14;:51::i;:::-;8653:1171;;;;;;:::o;10817:1251::-;5539:6;:13;;-1:-1:-1;;5539:13:0;5548:4;5539:13;;;10910:16:::1;10920:6:::0;;10910:16:::1;:::i;:::-;;;10937:13;10966:9;;10953:10;;:22;;;;:::i;:::-;10937:38:::0;-1:-1:-1;10986:16:0::1;11027:6:::0;11005:19:::1;10937:38:::0;11005:11;:19:::1;:::i;:::-;:28;;;;:::i;:::-;11070:16;::::0;;11084:1:::1;11070:16:::0;;;;;::::1;::::0;;10986:47;;-1:-1:-1;11046:21:0::1;::::0;11070:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11070:16:0::1;11046:40;;11115:4;11097;11102:1;11097:7;;;;;;-1:-1:-1::0;;;11097:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;11097:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11141:14:::1;::::0;:21:::1;::::0;;-1:-1:-1;;;11141:21:0;;;;:14;;;::::1;::::0;:19:::1;::::0;:21:::1;::::0;;::::1;::::0;11097:7;;11141:21;;;;;:14;:21;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11131:4;11136:1;11131:7;;;;;;-1:-1:-1::0;;;11131:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;11131:31:0;;::::1;:7;::::0;;::::1;::::0;;;;;:31;11177:14:::1;::::0;::::1;:65;11257:22;11271:8:::0;11257:11;:22:::1;:::i;:::-;11294:1;11310:4;11337;11357:15;11177:206;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;11173:243;;11400:13;::::0;11411:1:::1;5068:36:1::0;;11400:13:0::1;::::0;5056:2:1;5041:18;11400:13:0::1;;;;;;;11173:243;11428:15;11438:5:::0;11428:15;::::1;:::i;:::-;;;11456:19;11478:21;11456:43;;11510:18;11580:6;11560:12;;11546:11;;:26;;;;:::i;:::-;11531:42;::::0;:11;:42:::1;:::i;:::-;:46;::::0;11576:1:::1;11531:46;:::i;:::-;:55;;;;:::i;:::-;11510:76;;11614:1;11601:10;:14;:43;;;;-1:-1:-1::0;11619:11:0::1;::::0;-1:-1:-1;;;;;11619:11:0::1;:25:::0;::::1;11601:43;11597:117;;;11669:11;::::0;11661:41:::1;::::0;-1:-1:-1;;;;;11669:11:0;;::::1;::::0;11661:41;::::1;;;::::0;11691:10;;11669:11:::1;11661:41:::0;11669:11;11661:41;11691:10;11669:11;11661:41;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;11597:117;11730:12:::0;;11726:335:::1;;11759:14;11798:6:::0;11776:19:::1;11790:5:::0;11776:11;:19:::1;:::i;:::-;:28;;;;:::i;:::-;11759:45:::0;-1:-1:-1;11823:10:0;;11819:231:::1;;11858:14;::::0;11955:11:::1;::::0;11858:144:::1;::::0;-1:-1:-1;;;11858:144:0;;11933:4:::1;11858:144;::::0;::::1;4223:34:1::0;4273:18;;;4266:34;;;11858:14:0::1;4316:18:1::0;;;4309:34;;;4359:18;;;4352:34;-1:-1:-1;;;;;11955:11:0;;::::1;4402:19:1::0;;;4395:44;11968:15:0::1;4455:19:1::0;;;4448:35;11858:14:0;::::1;::::0;:30:::1;::::0;11895:6;;4157:19:1;;11858:144:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;-1:-1:-1::0;11858:144:0::1;::::0;;::::1;;::::0;;::::1;-1:-1:-1::0;;11858:144:0::1;::::0;::::1;::::0;;;::::1;::::0;;::::1;::::0;::::1;:::i;:::-;;;11854:181;;12019:13;::::0;12030:1:::1;5068:36:1::0;;12019:13:0::1;::::0;5056:2:1;5041:18;12019:13:0::1;;;;;;;11854:181;;;;;;;11726:335;;-1:-1:-1::0;;5575:6:0;:14;;-1:-1:-1;;5575:14:0;;;-1:-1:-1;;;;;10817:1251:0:o;9832:945::-;-1:-1:-1;;;;;10028:17:0;;;;;;:9;:17;;;;;;:27;;10048:7;;10028:27;:::i;:::-;-1:-1:-1;;;;;10008:17:0;;;;;;:9;:17;;;;;:47;;;;10096:528;;;;10124:14;10159:8;10155:156;;;10212:10;;10197:12;;:25;;;;:::i;:::-;10188:34;;10155:156;;;10286:9;;10272:11;;:23;;;;:::i;:::-;10263:32;;10155:156;10325:18;10365:5;10346:16;10356:6;10346:7;:16;:::i;:::-;:24;;;;:::i;:::-;10325:45;-1:-1:-1;10389:14:0;;10385:228;;10424:23;10437:10;10424:23;;:::i;:::-;10511:4;10493:24;;;;:9;:24;;;;;;10424:23;;-1:-1:-1;10493:37:0;;10520:10;;10493:37;:::i;:::-;10484:4;10466:24;;;;:9;:24;;;;;;;:64;;;;10554:43;;-1:-1:-1;;;;;10554:43:0;;;;;;;10586:10;7431:25:1;;7419:2;7404:18;;7386:76;10554:43:0;;;;;;;;10385:228;10096:528;;;10683:19;10693:9;10683:7;:19;:::i;:::-;-1:-1:-1;;;;;10659:20:0;;;;;;:9;:20;;;;;;:44;;;;:::i;:::-;-1:-1:-1;;;;;10636:20:0;;;;;;;:9;:20;;;;;:67;;;;10719:48;;;10747:19;10757:9;10747:7;:19;:::i;:::-;10719:48;;7431:25:1;;;7419:2;7404:18;10719:48:0;;;;;;;9832:945;;;;;;:::o;14:257:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:2;;;147:6;139;132:22;94:2;191:9;178:23;210:31;235:5;210:31;:::i;:::-;260:5;84:187;-1:-1:-1;;;84:187:1:o;276:261::-;346:6;399:2;387:9;378:7;374:23;370:32;367:2;;;420:6;412;405:22;367:2;457:9;451:16;476:31;501:5;476:31;:::i;542:398::-;610:6;618;671:2;659:9;650:7;646:23;642:32;639:2;;;692:6;684;677:22;639:2;736:9;723:23;755:31;780:5;755:31;:::i;:::-;805:5;-1:-1:-1;862:2:1;847:18;;834:32;875:33;834:32;875:33;:::i;:::-;927:7;917:17;;;629:311;;;;;:::o;945:466::-;1022:6;1030;1038;1091:2;1079:9;1070:7;1066:23;1062:32;1059:2;;;1112:6;1104;1097:22;1059:2;1156:9;1143:23;1175:31;1200:5;1175:31;:::i;:::-;1225:5;-1:-1:-1;1282:2:1;1267:18;;1254:32;1295:33;1254:32;1295:33;:::i;:::-;1049:362;;1347:7;;-1:-1:-1;;;1401:2:1;1386:18;;;;1373:32;;1049:362::o;1416:325::-;1484:6;1492;1545:2;1533:9;1524:7;1520:23;1516:32;1513:2;;;1566:6;1558;1551:22;1513:2;1610:9;1597:23;1629:31;1654:5;1629:31;:::i;:::-;1679:5;1731:2;1716:18;;;;1703:32;;-1:-1:-1;;;1503:238:1:o;1746:800::-;1838:6;1846;1854;1907:2;1895:9;1886:7;1882:23;1878:32;1875:2;;;1928:6;1920;1913:22;1875:2;1973:9;1960:23;2002:18;2043:2;2035:6;2032:14;2029:2;;;2064:6;2056;2049:22;2029:2;2107:6;2096:9;2092:22;2082:32;;2152:7;2145:4;2141:2;2137:13;2133:27;2123:2;;2179:6;2171;2164:22;2123:2;2224;2211:16;2250:2;2242:6;2239:14;2236:2;;;2271:6;2263;2256:22;2236:2;2331:7;2324:4;2314:6;2311:1;2307:14;2303:2;2299:23;2295:34;2292:47;2289:2;;;2357:6;2349;2342:22;2289:2;2393:4;2385:13;;;;-1:-1:-1;2417:6:1;-1:-1:-1;;2458:20:1;;2445:34;2488:28;2445:34;2488:28;:::i;:::-;2535:5;2525:15;;;1865:681;;;;;:::o;2551:255::-;2618:6;2671:2;2659:9;2650:7;2646:23;2642:32;2639:2;;;2692:6;2684;2677:22;2639:2;2729:9;2723:16;2748:28;2770:5;2748:28;:::i;2811:258::-;2879:6;2887;2940:2;2928:9;2919:7;2915:23;2911:32;2908:2;;;2961:6;2953;2946:22;2908:2;-1:-1:-1;;2989:23:1;;;3059:2;3044:18;;;3031:32;;-1:-1:-1;2898:171:1:o;3074:316::-;3162:6;3170;3178;3231:2;3219:9;3210:7;3206:23;3202:32;3199:2;;;3252:6;3244;3237:22;3199:2;3286:9;3280:16;3270:26;;3336:2;3325:9;3321:18;3315:25;3305:35;;3380:2;3369:9;3365:18;3359:25;3349:35;;3189:201;;;;;:::o;5314:603::-;5426:4;5455:2;5484;5473:9;5466:21;5516:6;5510:13;5559:6;5554:2;5543:9;5539:18;5532:34;5584:4;5597:140;5611:6;5608:1;5605:13;5597:140;;;5706:14;;;5702:23;;5696:30;5672:17;;;5691:2;5668:26;5661:66;5626:10;;5597:140;;;5755:6;5752:1;5749:13;5746:2;;;5825:4;5820:2;5811:6;5800:9;5796:22;5792:31;5785:45;5746:2;-1:-1:-1;5901:2:1;5880:15;-1:-1:-1;;5876:29:1;5861:45;;;;5908:2;5857:54;;5435:482;-1:-1:-1;;;5435:482:1:o;6939:341::-;7141:2;7123:21;;;7180:2;7160:18;;;7153:30;-1:-1:-1;;;7214:2:1;7199:18;;7192:47;7271:2;7256:18;;7113:167::o;7467:983::-;7729:4;7777:3;7766:9;7762:19;7808:6;7797:9;7790:25;7834:2;7872:6;7867:2;7856:9;7852:18;7845:34;7915:3;7910:2;7899:9;7895:18;7888:31;7939:6;7974;7968:13;8005:6;7997;7990:22;8043:3;8032:9;8028:19;8021:26;;8082:2;8074:6;8070:15;8056:29;;8103:4;8116:195;8130:6;8127:1;8124:13;8116:195;;;8195:13;;-1:-1:-1;;;;;8191:39:1;8179:52;;8286:15;;;;8251:12;;;;8227:1;8145:9;8116:195;;;-1:-1:-1;;;;;;;8367:32:1;;;;8362:2;8347:18;;8340:60;-1:-1:-1;;;8431:3:1;8416:19;8409:35;8328:3;7738:712;-1:-1:-1;;;7738:712:1:o;8644:128::-;8684:3;8715:1;8711:6;8708:1;8705:13;8702:2;;;8721:18;;:::i;:::-;-1:-1:-1;8757:9:1;;8692:80::o;8777:217::-;8817:1;8843;8833:2;;-1:-1:-1;;;8868:31:1;;8922:4;8919:1;8912:15;8950:4;8875:1;8940:15;8833:2;-1:-1:-1;8979:9:1;;8823:171::o;8999:168::-;9039:7;9105:1;9101;9097:6;9093:14;9090:1;9087:21;9082:1;9075:9;9068:17;9064:45;9061:2;;;9112:18;;:::i;:::-;-1:-1:-1;9152:9:1;;9051:116::o;9172:125::-;9212:4;9240:1;9237;9234:8;9231:2;;;9245:18;;:::i;:::-;-1:-1:-1;9282:9:1;;9221:76::o;9302:380::-;9381:1;9377:12;;;;9424;;;9445:2;;9499:4;9491:6;9487:17;9477:27;;9445:2;9552;9544:6;9541:14;9521:18;9518:38;9515:2;;;9598:10;9593:3;9589:20;9586:1;9579:31;9633:4;9630:1;9623:15;9661:4;9658:1;9651:15;9515:2;;9357:325;;;:::o;9687:135::-;9726:3;-1:-1:-1;;9747:17:1;;9744:2;;;9767:18;;:::i;:::-;-1:-1:-1;9814:1:1;9803:13;;9734:88::o;9827:127::-;9888:10;9883:3;9879:20;9876:1;9869:31;9919:4;9916:1;9909:15;9943:4;9940:1;9933:15;9959:131;-1:-1:-1;;;;;10034:31:1;;10024:42;;10014:2;;10080:1;10077;10070:12;10014:2;10004:86;:::o;10095:118::-;10181:5;10174:13;10167:21;10160:5;10157:32;10147:2;;10203:1;10200;10193:12
Swarm Source
ipfs://575c92c1cc41a1a3da0ec394de963452ede268dbc551d23fc8b676f38677e69f
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | 100.00% | $2,636.25 | 0.000000000000000001 | <$0.000001 |
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.