More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 70 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 21033467 | 11 days ago | IN | 0 ETH | 0.00027429 | ||||
Approve | 20859404 | 36 days ago | IN | 0 ETH | 0.00035273 | ||||
Approve | 20433716 | 95 days ago | IN | 0 ETH | 0.00043893 | ||||
Approve | 20036272 | 151 days ago | IN | 0 ETH | 0.00046836 | ||||
Approve | 20036232 | 151 days ago | IN | 0 ETH | 0.00062009 | ||||
Approve | 20036229 | 151 days ago | IN | 0 ETH | 0.00073115 | ||||
Approve | 20036226 | 151 days ago | IN | 0 ETH | 0.00046299 | ||||
Renounce Ownersh... | 20036224 | 151 days ago | IN | 0 ETH | 0.00022265 | ||||
Remove Limits | 20036220 | 151 days ago | IN | 0 ETH | 0.00036336 | ||||
Approve | 20036219 | 151 days ago | IN | 0 ETH | 0.00061464 | ||||
Approve | 20036218 | 151 days ago | IN | 0 ETH | 0.00072418 | ||||
Approve | 20036216 | 151 days ago | IN | 0 ETH | 0.0006453 | ||||
Approve | 20036216 | 151 days ago | IN | 0 ETH | 0.0006453 | ||||
Approve | 20036216 | 151 days ago | IN | 0 ETH | 0.0006453 | ||||
Approve | 20036216 | 151 days ago | IN | 0 ETH | 0.0006453 | ||||
Approve | 20036216 | 151 days ago | IN | 0 ETH | 0.0006453 | ||||
Approve | 20036216 | 151 days ago | IN | 0 ETH | 0.0006453 | ||||
Approve | 20036216 | 151 days ago | IN | 0 ETH | 0.0006453 | ||||
Approve | 20036216 | 151 days ago | IN | 0 ETH | 0.00073845 | ||||
Approve | 20036216 | 151 days ago | IN | 0 ETH | 0.00073845 | ||||
Approve | 20036214 | 151 days ago | IN | 0 ETH | 0.00054653 | ||||
Approve | 20036214 | 151 days ago | IN | 0 ETH | 0.00056966 | ||||
Approve | 20036214 | 151 days ago | IN | 0 ETH | 0.0006429 | ||||
Approve | 20036214 | 151 days ago | IN | 0 ETH | 0.0006429 | ||||
Approve | 20036214 | 151 days ago | IN | 0 ETH | 0.0006429 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
20036253 | 151 days ago | 0.00698119 ETH | ||||
20036253 | 151 days ago | 0.00698119 ETH | ||||
20036252 | 151 days ago | 0.0153054 ETH | ||||
20036252 | 151 days ago | 0.0153054 ETH | ||||
20036252 | 151 days ago | 0.01610927 ETH | ||||
20036252 | 151 days ago | 0.01610927 ETH | ||||
20036252 | 151 days ago | 0.02221834 ETH | ||||
20036252 | 151 days ago | 0.02221834 ETH | ||||
20036252 | 151 days ago | 0.02384092 ETH | ||||
20036252 | 151 days ago | 0.02384092 ETH | ||||
20036252 | 151 days ago | 0.02564805 ETH | ||||
20036252 | 151 days ago | 0.02564805 ETH | ||||
20036252 | 151 days ago | 0.02766886 ETH | ||||
20036252 | 151 days ago | 0.02766886 ETH | ||||
20036252 | 151 days ago | 0.02993839 ETH | ||||
20036252 | 151 days ago | 0.02993839 ETH | ||||
20036252 | 151 days ago | 0.03249924 ETH | ||||
20036252 | 151 days ago | 0.03249924 ETH | ||||
20036251 | 151 days ago | 0.02697011 ETH | ||||
20036251 | 151 days ago | 0.02697011 ETH | ||||
20036251 | 151 days ago | 0.02887569 ETH | ||||
20036251 | 151 days ago | 0.02887569 ETH | ||||
20036251 | 151 days ago | 0.03099073 ETH | ||||
20036251 | 151 days ago | 0.03099073 ETH | ||||
20036251 | 151 days ago | 0.0333471 ETH |
Loading...
Loading
Contract Name:
PiaoPiao
Compiler Version
v0.8.20+commit.a1b79de6
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-06-06 */ /* PiaoPiao Website: https://piaopiaocoin.com/ Telegram: https://t.me/PiaoPiaoEth X: https://x.com/PIAOPIAOETH SPDX-License-Identifier: MIT */ pragma solidity 0.8.20; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { 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); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); function getPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } contract PiaoPiao is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; mapping (address => bool) private bots; address payable private _taxWallet; uint256 firstBlock; uint256 private _initialBuyTax=23; uint256 private _initialSellTax=23; uint256 private _finalBuyTax=0; uint256 private _finalSellTax=0; uint256 private _reduceBuyTaxAt=20; uint256 private _reduceSellTaxAt=20; uint256 private _preventSwapBefore=20; uint256 private _buyCount=0; uint8 private constant _decimals = 9; uint256 private constant _tTotal = 1_000_000_000 * 10**_decimals; string private constant _name = unicode"PiaoPiao"; string private constant _symbol = unicode"PiaoPiao"; uint256 public _maxTxAmount = 10_000_000 * 10**_decimals; uint256 public _maxWalletSize = 10_000_000 * 10**_decimals; uint256 public _taxSwapThreshold= 10_000_000 * 10**_decimals; uint256 public _maxTaxSwap = 12_500_000 * 10**_decimals; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; address private checkuniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; event MaxTxAmountUpdated(uint _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _taxWallet = payable(_msgSender()); _balances[_msgSender()] = _tTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_taxWallet] = true; uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); emit Transfer(address(0), _msgSender(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), 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(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); uint256 taxAmount=0; if (from != owner() && to != owner()) { require(!bots[from] && !bots[to]); taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100); if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) { require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); if (firstBlock + 3 > block.number) { require(!isContract(to)); } _buyCount++; } if (to != uniswapV2Pair && ! _isExcludedFromFee[to]) { require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); } if(to == uniswapV2Pair && from!= address(this) ){ taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100); } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) { swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap))); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0) { sendETHToFee(address(this).balance); } } } if(taxAmount>0){ _balances[address(this)]=_balances[address(this)].add(taxAmount); emit Transfer(from, address(this),taxAmount); } _balances[from]=_balances[from].sub(amount); _balances[to]=_balances[to].add(amount.sub(taxAmount)); emit Transfer(from, to, amount.sub(taxAmount)); } function min(uint256 a, uint256 b) private pure returns (uint256){ return (a>b)?b:a; } function isContract(address account) private view returns (bool) { uint256 size; assembly { size := extcodesize(account) } return size > 0; } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function removeLimits() external onlyOwner{ _maxTxAmount = _tTotal; _maxWalletSize=_tTotal; emit MaxTxAmountUpdated(_tTotal); } function sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } function rescueETH(uint256 amount) public onlyOwner { _taxWallet.transfer(amount); } function rescueERC20Tokens(address _tokenAddr, uint _amount) external onlyOwner { IERC20(_tokenAddr).transfer(_taxWallet, _amount); } function openTrading() external onlyOwner() { require(!tradingOpen,"trading is already open"); _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); swapEnabled = true; tradingOpen = true; firstBlock = block.number; } 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":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","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"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenAddr","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"rescueERC20Tokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"rescueETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","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"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052601760075560176008555f6009555f600a556014600b556014600c556014600d555f600e556009600a620000399190620004c9565b620000489062989680620004e0565b600f55620000596009600a620004c9565b620000689062989680620004e0565b601055620000796009600a620004c9565b620000889062989680620004e0565b601155620000996009600a620004c9565b620000a89062bebc20620004e0565b6012556015805461ffff60a81b19169055348015620000c5575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600580546001600160a01b03191633179055620001266009600a620004c9565b6200013690633b9aca00620004e0565b335f9081526001602081905260408220929092556003906200015f5f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff19968716179055308152600384528281208054861660019081179091556005549092168152829020805490941617909255601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155825163c45a015560e01b81529251909263c45a01559260048083019391928290030181865afa15801562000215573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200023b9190620004fa565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200029b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002c19190620004fa565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156200030c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620003329190620004fa565b601480546001600160a01b0319166001600160a01b03929092169190911790556200035a3390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620003936009600a620004c9565b620003a390633b9aca00620004e0565b60405190815260200160405180910390a362000522565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200040e57815f1904821115620003f257620003f2620003ba565b808516156200040057918102915b93841c9390800290620003d3565b509250929050565b5f826200042657506001620004c3565b816200043457505f620004c3565b81600181146200044d5760028114620004585762000478565b6001915050620004c3565b60ff8411156200046c576200046c620003ba565b50506001821b620004c3565b5060208310610133831016604e8410600b84101617156200049d575081810a620004c3565b620004a98383620003ce565b805f1904821115620004bf57620004bf620003ba565b0290505b92915050565b5f620004d960ff84168362000416565b9392505050565b8082028115828204841417620004c357620004c3620003ba565b5f602082840312156200050b575f80fd5b81516001600160a01b0381168114620004d9575f80fd5b6116fe80620005305f395ff3fe608060405260043610610113575f3560e01c8063751039fc1161009d5780639e252f00116100625780639e252f00146102ca578063a9059cbb146102e9578063bf474bed14610308578063c9567bf91461031d578063dd62ed3e14610331575f80fd5b8063751039fc146102665780637d1db4a51461027a5780638da5cb5b1461028f5780638f9a55c0146102b557806395d89b411461011e575f80fd5b806318160ddd116100e357806318160ddd146101d057806323b872dd146101e4578063313ce5671461020357806370a082311461021e578063715018a614610252575f80fd5b806306fdde031461011e578063095ea7b31461015d5780630b9050891461018c5780630faee56f146101ad575f80fd5b3661011a57005b5f80fd5b348015610129575f80fd5b5060408051808201825260088152675069616f5069616f60c01b6020820152905161015491906112da565b60405180910390f35b348015610168575f80fd5b5061017c61017736600461133c565b610375565b6040519015158152602001610154565b348015610197575f80fd5b506101ab6101a636600461133c565b61038b565b005b3480156101b8575f80fd5b506101c260125481565b604051908152602001610154565b3480156101db575f80fd5b506101c2610436565b3480156101ef575f80fd5b5061017c6101fe366004611366565b610456565b34801561020e575f80fd5b5060405160098152602001610154565b348015610229575f80fd5b506101c26102383660046113a4565b6001600160a01b03165f9081526001602052604090205490565b34801561025d575f80fd5b506101ab6104bd565b348015610271575f80fd5b506101ab61052e565b348015610285575f80fd5b506101c2600f5481565b34801561029a575f80fd5b505f546040516001600160a01b039091168152602001610154565b3480156102c0575f80fd5b506101c260105481565b3480156102d5575f80fd5b506101ab6102e43660046113bf565b6105df565b3480156102f4575f80fd5b5061017c61030336600461133c565b610643565b348015610313575f80fd5b506101c260115481565b348015610328575f80fd5b506101ab61064f565b34801561033c575f80fd5b506101c261034b3660046113d6565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f610381338484610864565b5060015b92915050565b5f546001600160a01b031633146103bd5760405162461bcd60e51b81526004016103b49061140d565b60405180910390fd5b60055460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529083169063a9059cbb906044016020604051808303815f875af115801561040d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104319190611442565b505050565b5f6104436009600a611555565b61045190633b9aca00611563565b905090565b5f610462848484610987565b6104b384336104ae856040518060600160405280602881526020016116a1602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190610f8d565b610864565b5060019392505050565b5f546001600160a01b031633146104e65760405162461bcd60e51b81526004016103b49061140d565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105575760405162461bcd60e51b81526004016103b49061140d565b6105636009600a611555565b61057190633b9aca00611563565b600f556105806009600a611555565b61058e90633b9aca00611563565b6010557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105be6009600a611555565b6105cc90633b9aca00611563565b60405190815260200160405180910390a1565b5f546001600160a01b031633146106085760405162461bcd60e51b81526004016103b49061140d565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561063f573d5f803e3d5ffd5b5050565b5f610381338484610987565b5f546001600160a01b031633146106785760405162461bcd60e51b81526004016103b49061140d565b601554600160a01b900460ff16156106d25760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016103b4565b6013546106fe9030906001600160a01b03166106f06009600a611555565b6104ae90633b9aca00611563565b6013546001600160a01b031663f305d719473061072f816001600160a01b03165f9081526001602052604090205490565b5f806107425f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156107a8573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906107cd919061157a565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610822573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108469190611442565b506015805462ff00ff60a01b19166201000160a01b17905543600655565b6001600160a01b0383166108c65760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103b4565b6001600160a01b0382166109275760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103b4565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166109eb5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103b4565b6001600160a01b038216610a4d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103b4565b5f8111610aae5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016103b4565b5f80546001600160a01b03858116911614801590610ad957505f546001600160a01b03848116911614155b15610e50576001600160a01b0384165f9081526004602052604090205460ff16158015610b1e57506001600160a01b0383165f9081526004602052604090205460ff16155b610b26575f80fd5b610b526064610b4c600b54600e5411610b4157600754610b45565b6009545b8590610fc5565b9061104a565b6014549091506001600160a01b038581169116148015610b8057506013546001600160a01b03848116911614155b8015610ba457506001600160a01b0383165f9081526003602052604090205460ff16155b15610cab57600f54821115610bfb5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016103b4565b60105482610c1d856001600160a01b03165f9081526001602052604090205490565b610c2791906115a5565b1115610c755760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016103b4565b436006546003610c8591906115a5565b1115610c9657823b15610c96575f80fd5b600e8054905f610ca5836115b8565b91905055505b6014546001600160a01b03848116911614801590610ce157506001600160a01b0383165f9081526003602052604090205460ff16155b15610d605760105482610d08856001600160a01b03165f9081526001602052604090205490565b610d1291906115a5565b1115610d605760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016103b4565b6014546001600160a01b038481169116148015610d8657506001600160a01b0384163014155b15610db357610db06064610b4c600c54600e5411610da657600854610b45565b600a548590610fc5565b90505b305f90815260016020526040902054601554600160a81b900460ff16158015610de957506014546001600160a01b038581169116145b8015610dfe5750601554600160b01b900460ff165b8015610e0b575060115481115b8015610e1a5750600d54600e54115b15610e4e57610e3c610e3784610e328460125461108b565b61108b565b61109f565b478015610e4c57610e4c47610608565b505b505b8015610ec857305f90815260016020526040902054610e6f908261120f565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ebf9085815260200190565b60405180910390a35b6001600160a01b0384165f90815260016020526040902054610eea908361126d565b6001600160a01b0385165f90815260016020526040902055610f2d610f0f838361126d565b6001600160a01b0385165f908152600160205260409020549061120f565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610f76858561126d565b60405190815260200160405180910390a350505050565b5f8184841115610fb05760405162461bcd60e51b81526004016103b491906112da565b505f610fbc84866115d0565b95945050505050565b5f825f03610fd457505f610385565b5f610fdf8385611563565b905082610fec85836115e3565b146110435760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103b4565b9392505050565b5f61104383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506112ae565b5f8183116110995782611043565b50919050565b6015805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106110e5576110e5611602565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561113c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111609190611616565b8160018151811061117357611173611602565b6001600160a01b0392831660209182029290920101526013546111999130911684610864565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906111d19085905f90869030904290600401611631565b5f604051808303815f87803b1580156111e8575f80fd5b505af11580156111fa573d5f803e3d5ffd5b50506015805460ff60a81b1916905550505050565b5f8061121b83856115a5565b9050838110156110435760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103b4565b5f61104383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f8d565b5f81836112ce5760405162461bcd60e51b81526004016103b491906112da565b505f610fbc84866115e3565b5f6020808352835180828501525f5b81811015611305578581018301518582016040015282016112e9565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611339575f80fd5b50565b5f806040838503121561134d575f80fd5b823561135881611325565b946020939093013593505050565b5f805f60608486031215611378575f80fd5b833561138381611325565b9250602084013561139381611325565b929592945050506040919091013590565b5f602082840312156113b4575f80fd5b813561104381611325565b5f602082840312156113cf575f80fd5b5035919050565b5f80604083850312156113e7575f80fd5b82356113f281611325565b9150602083013561140281611325565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611452575f80fd5b81518015158114611043575f80fd5b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156114af57815f190482111561149557611495611461565b808516156114a257918102915b93841c939080029061147a565b509250929050565b5f826114c557506001610385565b816114d157505f610385565b81600181146114e757600281146114f15761150d565b6001915050610385565b60ff84111561150257611502611461565b50506001821b610385565b5060208310610133831016604e8410600b8410161715611530575081810a610385565b61153a8383611475565b805f190482111561154d5761154d611461565b029392505050565b5f61104360ff8416836114b7565b808202811582820484141761038557610385611461565b5f805f6060848603121561158c575f80fd5b8351925060208401519150604084015190509250925092565b8082018082111561038557610385611461565b5f600182016115c9576115c9611461565b5060010190565b8181038181111561038557610385611461565b5f826115fd57634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611626575f80fd5b815161104381611325565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b8181101561167f5784516001600160a01b03168352938301939183019160010161165a565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212206232d0bc05394210299c3eb948f63ed0af6f83e17179bd2f7001c50861270b0664736f6c63430008140033
Deployed Bytecode
0x608060405260043610610113575f3560e01c8063751039fc1161009d5780639e252f00116100625780639e252f00146102ca578063a9059cbb146102e9578063bf474bed14610308578063c9567bf91461031d578063dd62ed3e14610331575f80fd5b8063751039fc146102665780637d1db4a51461027a5780638da5cb5b1461028f5780638f9a55c0146102b557806395d89b411461011e575f80fd5b806318160ddd116100e357806318160ddd146101d057806323b872dd146101e4578063313ce5671461020357806370a082311461021e578063715018a614610252575f80fd5b806306fdde031461011e578063095ea7b31461015d5780630b9050891461018c5780630faee56f146101ad575f80fd5b3661011a57005b5f80fd5b348015610129575f80fd5b5060408051808201825260088152675069616f5069616f60c01b6020820152905161015491906112da565b60405180910390f35b348015610168575f80fd5b5061017c61017736600461133c565b610375565b6040519015158152602001610154565b348015610197575f80fd5b506101ab6101a636600461133c565b61038b565b005b3480156101b8575f80fd5b506101c260125481565b604051908152602001610154565b3480156101db575f80fd5b506101c2610436565b3480156101ef575f80fd5b5061017c6101fe366004611366565b610456565b34801561020e575f80fd5b5060405160098152602001610154565b348015610229575f80fd5b506101c26102383660046113a4565b6001600160a01b03165f9081526001602052604090205490565b34801561025d575f80fd5b506101ab6104bd565b348015610271575f80fd5b506101ab61052e565b348015610285575f80fd5b506101c2600f5481565b34801561029a575f80fd5b505f546040516001600160a01b039091168152602001610154565b3480156102c0575f80fd5b506101c260105481565b3480156102d5575f80fd5b506101ab6102e43660046113bf565b6105df565b3480156102f4575f80fd5b5061017c61030336600461133c565b610643565b348015610313575f80fd5b506101c260115481565b348015610328575f80fd5b506101ab61064f565b34801561033c575f80fd5b506101c261034b3660046113d6565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f610381338484610864565b5060015b92915050565b5f546001600160a01b031633146103bd5760405162461bcd60e51b81526004016103b49061140d565b60405180910390fd5b60055460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529083169063a9059cbb906044016020604051808303815f875af115801561040d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104319190611442565b505050565b5f6104436009600a611555565b61045190633b9aca00611563565b905090565b5f610462848484610987565b6104b384336104ae856040518060600160405280602881526020016116a1602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190610f8d565b610864565b5060019392505050565b5f546001600160a01b031633146104e65760405162461bcd60e51b81526004016103b49061140d565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105575760405162461bcd60e51b81526004016103b49061140d565b6105636009600a611555565b61057190633b9aca00611563565b600f556105806009600a611555565b61058e90633b9aca00611563565b6010557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105be6009600a611555565b6105cc90633b9aca00611563565b60405190815260200160405180910390a1565b5f546001600160a01b031633146106085760405162461bcd60e51b81526004016103b49061140d565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561063f573d5f803e3d5ffd5b5050565b5f610381338484610987565b5f546001600160a01b031633146106785760405162461bcd60e51b81526004016103b49061140d565b601554600160a01b900460ff16156106d25760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016103b4565b6013546106fe9030906001600160a01b03166106f06009600a611555565b6104ae90633b9aca00611563565b6013546001600160a01b031663f305d719473061072f816001600160a01b03165f9081526001602052604090205490565b5f806107425f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156107a8573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906107cd919061157a565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610822573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108469190611442565b506015805462ff00ff60a01b19166201000160a01b17905543600655565b6001600160a01b0383166108c65760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103b4565b6001600160a01b0382166109275760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103b4565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166109eb5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103b4565b6001600160a01b038216610a4d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103b4565b5f8111610aae5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016103b4565b5f80546001600160a01b03858116911614801590610ad957505f546001600160a01b03848116911614155b15610e50576001600160a01b0384165f9081526004602052604090205460ff16158015610b1e57506001600160a01b0383165f9081526004602052604090205460ff16155b610b26575f80fd5b610b526064610b4c600b54600e5411610b4157600754610b45565b6009545b8590610fc5565b9061104a565b6014549091506001600160a01b038581169116148015610b8057506013546001600160a01b03848116911614155b8015610ba457506001600160a01b0383165f9081526003602052604090205460ff16155b15610cab57600f54821115610bfb5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016103b4565b60105482610c1d856001600160a01b03165f9081526001602052604090205490565b610c2791906115a5565b1115610c755760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016103b4565b436006546003610c8591906115a5565b1115610c9657823b15610c96575f80fd5b600e8054905f610ca5836115b8565b91905055505b6014546001600160a01b03848116911614801590610ce157506001600160a01b0383165f9081526003602052604090205460ff16155b15610d605760105482610d08856001600160a01b03165f9081526001602052604090205490565b610d1291906115a5565b1115610d605760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016103b4565b6014546001600160a01b038481169116148015610d8657506001600160a01b0384163014155b15610db357610db06064610b4c600c54600e5411610da657600854610b45565b600a548590610fc5565b90505b305f90815260016020526040902054601554600160a81b900460ff16158015610de957506014546001600160a01b038581169116145b8015610dfe5750601554600160b01b900460ff165b8015610e0b575060115481115b8015610e1a5750600d54600e54115b15610e4e57610e3c610e3784610e328460125461108b565b61108b565b61109f565b478015610e4c57610e4c47610608565b505b505b8015610ec857305f90815260016020526040902054610e6f908261120f565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ebf9085815260200190565b60405180910390a35b6001600160a01b0384165f90815260016020526040902054610eea908361126d565b6001600160a01b0385165f90815260016020526040902055610f2d610f0f838361126d565b6001600160a01b0385165f908152600160205260409020549061120f565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610f76858561126d565b60405190815260200160405180910390a350505050565b5f8184841115610fb05760405162461bcd60e51b81526004016103b491906112da565b505f610fbc84866115d0565b95945050505050565b5f825f03610fd457505f610385565b5f610fdf8385611563565b905082610fec85836115e3565b146110435760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103b4565b9392505050565b5f61104383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506112ae565b5f8183116110995782611043565b50919050565b6015805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106110e5576110e5611602565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561113c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111609190611616565b8160018151811061117357611173611602565b6001600160a01b0392831660209182029290920101526013546111999130911684610864565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906111d19085905f90869030904290600401611631565b5f604051808303815f87803b1580156111e8575f80fd5b505af11580156111fa573d5f803e3d5ffd5b50506015805460ff60a81b1916905550505050565b5f8061121b83856115a5565b9050838110156110435760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103b4565b5f61104383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f8d565b5f81836112ce5760405162461bcd60e51b81526004016103b491906112da565b505f610fbc84866115e3565b5f6020808352835180828501525f5b81811015611305578581018301518582016040015282016112e9565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611339575f80fd5b50565b5f806040838503121561134d575f80fd5b823561135881611325565b946020939093013593505050565b5f805f60608486031215611378575f80fd5b833561138381611325565b9250602084013561139381611325565b929592945050506040919091013590565b5f602082840312156113b4575f80fd5b813561104381611325565b5f602082840312156113cf575f80fd5b5035919050565b5f80604083850312156113e7575f80fd5b82356113f281611325565b9150602083013561140281611325565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611452575f80fd5b81518015158114611043575f80fd5b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156114af57815f190482111561149557611495611461565b808516156114a257918102915b93841c939080029061147a565b509250929050565b5f826114c557506001610385565b816114d157505f610385565b81600181146114e757600281146114f15761150d565b6001915050610385565b60ff84111561150257611502611461565b50506001821b610385565b5060208310610133831016604e8410600b8410161715611530575081810a610385565b61153a8383611475565b805f190482111561154d5761154d611461565b029392505050565b5f61104360ff8416836114b7565b808202811582820484141761038557610385611461565b5f805f6060848603121561158c575f80fd5b8351925060208401519150604084015190509250925092565b8082018082111561038557610385611461565b5f600182016115c9576115c9611461565b5060010190565b8181038181111561038557610385611461565b5f826115fd57634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611626575f80fd5b815161104381611325565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b8181101561167f5784516001600160a01b03168352938301939183019160010161165a565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212206232d0bc05394210299c3eb948f63ed0af6f83e17179bd2f7001c50861270b0664736f6c63430008140033
Deployed Bytecode Sourcemap
3694:7897:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5822:83;;;;;;;;;;-1:-1:-1;5892:5:0;;;;;;;;;;;-1:-1:-1;;;5892:5:0;;;;5822:83;;;;5892:5;5822:83;:::i;:::-;;;;;;;;6655:161;;;;;;;;;;-1:-1:-1;6655:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6655:161:0;1023:187:1;10899:147:0;;;;;;;;;;-1:-1:-1;10899:147:0;;;;;:::i;:::-;;:::i;:::-;;4823:55;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;4823:55:0;1215:177:1;6099:95:0;;;;;;;;;;;;;:::i;6824:313::-;;;;;;;;;;-1:-1:-1;6824:313:0;;;;;:::i;:::-;;:::i;6008:83::-;;;;;;;;;;-1:-1:-1;6008:83:0;;4435:1;2000:36:1;;1988:2;1973:18;6008:83:0;1858:184:1;6202:119:0;;;;;;;;;;-1:-1:-1;6202:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6295:18:0;6268:7;6295:18;;;:9;:18;;;;;;;6202:119;2686:148;;;;;;;;;;;;;:::i;10526:159::-;;;;;;;;;;;;;:::i;4628:56::-;;;;;;;;;;;;;;;;2472:79;;;;;;;;;;-1:-1:-1;2510:7:0;2537:6;2472:79;;-1:-1:-1;;;;;2537:6:0;;;2445:51:1;;2433:2;2418:18;2472:79:0;2299:203:1;4691:58:0;;;;;;;;;;;;;;;;10793:98;;;;;;;;;;-1:-1:-1;10793:98:0;;;;;:::i;:::-;;:::i;6329:167::-;;;;;;;;;;-1:-1:-1;6329:167:0;;;;;:::i;:::-;;:::i;4756:60::-;;;;;;;;;;;;;;;;11054:495;;;;;;;;;;;;;:::i;6504:143::-;;;;;;;;;;-1:-1:-1;6504:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6612:18:0;;;6585:7;6612:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6504:143;6655:161;6730:4;6747:39;306:10;6770:7;6779:6;6747:8;:39::i;:::-;-1:-1:-1;6804:4:0;6655:161;;;;;:::o;10899:147::-;2599:6;;-1:-1:-1;;;;;2599:6:0;306:10;2599:22;2591:67;;;;-1:-1:-1;;;2591:67:0;;;;;;;:::i;:::-;;;;;;;;;11018:10:::1;::::0;10990:48:::1;::::0;-1:-1:-1;;;10990:48:0;;-1:-1:-1;;;;;11018:10:0;;::::1;10990:48;::::0;::::1;3628:51:1::0;3695:18;;;3688:34;;;10990:27:0;;::::1;::::0;::::1;::::0;3601:18:1;;10990:48:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10899:147:::0;;:::o;6099:95::-;6152:7;4494:13;4435:1;4494:2;:13;:::i;:::-;4478:29;;:13;:29;:::i;:::-;6172:14;;6099:95;:::o;6824:313::-;6922:4;6939:36;6949:6;6957:9;6968:6;6939:9;:36::i;:::-;6986:121;6995:6;306:10;7017:89;7055:6;7017:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7017:19:0;;;;;;:11;:19;;;;;;;;306:10;7017:33;;;;;;;;;;:37;:89::i;:::-;6986:8;:121::i;:::-;-1:-1:-1;7125:4:0;6824:313;;;;;:::o;2686:148::-;2599:6;;-1:-1:-1;;;;;2599:6:0;306:10;2599:22;2591:67;;;;-1:-1:-1;;;2591:67:0;;;;;;;:::i;:::-;2793:1:::1;2777:6:::0;;2756:40:::1;::::0;-1:-1:-1;;;;;2777:6:0;;::::1;::::0;2756:40:::1;::::0;2793:1;;2756:40:::1;2824:1;2807:19:::0;;-1:-1:-1;;;;;;2807:19:0::1;::::0;;2686:148::o;10526:159::-;2599:6;;-1:-1:-1;;;;;2599:6:0;306:10;2599:22;2591:67;;;;-1:-1:-1;;;2591:67:0;;;;;;;:::i;:::-;4494:13:::1;4435:1;4494:2;:13;:::i;:::-;4478:29;::::0;:13:::1;:29;:::i;:::-;10579:12;:22:::0;4494:13:::1;4435:1;4494:2;:13;:::i;:::-;4478:29;::::0;:13:::1;:29;:::i;:::-;10612:14;:22:::0;10650:27:::1;4494:13;4435:1;4494:2;:13;:::i;:::-;4478:29;::::0;:13:::1;:29;:::i;:::-;10650:27;::::0;1361:25:1;;;1349:2;1334:18;10650:27:0::1;;;;;;;10526:159::o:0;10793:98::-;2599:6;;-1:-1:-1;;;;;2599:6:0;306:10;2599:22;2591:67;;;;-1:-1:-1;;;2591:67:0;;;;;;;:::i;:::-;10856:10:::1;::::0;:27:::1;::::0;-1:-1:-1;;;;;10856:10:0;;::::1;::::0;:27;::::1;;;::::0;10876:6;;10856:10:::1;:27:::0;:10;:27;10876:6;10856:10;:27;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;10793:98:::0;:::o;6329:167::-;6407:4;6424:42;306:10;6448:9;6459:6;6424:9;:42::i;11054:495::-;2599:6;;-1:-1:-1;;;;;2599:6:0;306:10;2599:22;2591:67;;;;-1:-1:-1;;;2591:67:0;;;;;;;:::i;:::-;11118:11:::1;::::0;-1:-1:-1;;;11118:11:0;::::1;;;11117:12;11109:47;;;::::0;-1:-1:-1;;;11109:47:0;;5905:2:1;11109:47:0::1;::::0;::::1;5887:21:1::0;5944:2;5924:18;;;5917:30;5983:25;5963:18;;;5956:53;6026:18;;11109:47:0::1;5703:347:1::0;11109:47:0::1;11199:15;::::0;11167:58:::1;::::0;11184:4:::1;::::0;-1:-1:-1;;;;;11199:15:0::1;4494:13;4435:1;4494:2;:13;:::i;:::-;4478:29;::::0;:13:::1;:29;:::i;11167:58::-;11236:15;::::0;-1:-1:-1;;;;;11236:15:0::1;:31;11275:21;11306:4;11312:24;11306:4:::0;-1:-1:-1;;;;;6295:18:0;6268:7;6295:18;;;:9;:18;;;;;;;6202:119;11312:24:::1;11337:1;11339::::0;11341:7:::1;2510::::0;2537:6;-1:-1:-1;;;;;2537:6:0;;2472:79;11341:7:::1;11236:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11236:129:0;;;-1:-1:-1;;;;;6414:15:1;;;11236:129:0::1;::::0;::::1;6396:34:1::0;6446:18;;;6439:34;;;;6489:18;;;6482:34;;;;6532:18;;;6525:34;6596:15;;;6575:19;;;6568:44;11349:15:0::1;6628:19:1::0;;;6621:35;6330:19;;11236:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11383:13:0::1;::::0;11414:15:::1;::::0;11376:71:::1;::::0;-1:-1:-1;;;11376:71:0;;-1:-1:-1;;;;;11414:15:0;;::::1;11376:71;::::0;::::1;3628:51:1::0;-1:-1:-1;;3695:18:1;;;3688:34;11383:13:0;::::1;::::0;-1:-1:-1;11376:29:0::1;::::0;3601:18:1;;11376:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;11458:11:0::1;:18:::0;;-1:-1:-1;;;;11487:18:0;-1:-1:-1;;;11487:18:0;;;11529:12:::1;11516:10;:25:::0;11054:495::o;7145:335::-;-1:-1:-1;;;;;7238:19:0;;7230:68;;;;-1:-1:-1;;;7230:68:0;;7459:2:1;7230:68:0;;;7441:21:1;7498:2;7478:18;;;7471:30;7537:34;7517:18;;;7510:62;-1:-1:-1;;;7588:18:1;;;7581:34;7632:19;;7230:68:0;7257:400:1;7230:68:0;-1:-1:-1;;;;;7317:21:0;;7309:68;;;;-1:-1:-1;;;7309:68:0;;7864:2:1;7309:68:0;;;7846:21:1;7903:2;7883:18;;;7876:30;7942:34;7922:18;;;7915:62;-1:-1:-1;;;7993:18:1;;;7986:32;8035:19;;7309:68:0;7662:398:1;7309:68:0;-1:-1:-1;;;;;7388:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7440:32;;1361:25:1;;;7440:32:0;;1334:18:1;7440:32:0;;;;;;;7145:335;;;:::o;7488:2228::-;-1:-1:-1;;;;;7576:18:0;;7568:68;;;;-1:-1:-1;;;7568:68:0;;8267:2:1;7568:68:0;;;8249:21:1;8306:2;8286:18;;;8279:30;8345:34;8325:18;;;8318:62;-1:-1:-1;;;8396:18:1;;;8389:35;8441:19;;7568:68:0;8065:401:1;7568:68:0;-1:-1:-1;;;;;7655:16:0;;7647:64;;;;-1:-1:-1;;;7647:64:0;;8673:2:1;7647:64:0;;;8655:21:1;8712:2;8692:18;;;8685:30;8751:34;8731:18;;;8724:62;-1:-1:-1;;;8802:18:1;;;8795:33;8845:19;;7647:64:0;8471:399:1;7647:64:0;7739:1;7730:6;:10;7722:64;;;;-1:-1:-1;;;7722:64:0;;9077:2:1;7722:64:0;;;9059:21:1;9116:2;9096:18;;;9089:30;9155:34;9135:18;;;9128:62;-1:-1:-1;;;9206:18:1;;;9199:39;9255:19;;7722:64:0;8875:405:1;7722:64:0;7797:17;2537:6;;-1:-1:-1;;;;;7831:15:0;;;2537:6;;7831:15;;;;:32;;-1:-1:-1;2510:7:0;2537:6;-1:-1:-1;;;;;7850:13:0;;;2537:6;;7850:13;;7831:32;7827:1533;;;-1:-1:-1;;;;;7889:10:0;;;;;;:4;:10;;;;;;;;7888:11;:24;;;;-1:-1:-1;;;;;;7904:8:0;;;;;;:4;:8;;;;;;;;7903:9;7888:24;7880:33;;;;;;7940:76;8012:3;7940:67;7962:15;;7952:9;;:25;7951:55;;7992:14;;7951:55;;;7979:12;;7951:55;7940:6;;:10;:67::i;:::-;:71;;:76::i;:::-;8045:13;;7928:88;;-1:-1:-1;;;;;;8037:21:0;;;8045:13;;8037:21;:55;;;;-1:-1:-1;8076:15:0;;-1:-1:-1;;;;;8062:30:0;;;8076:15;;8062:30;;8037:55;:83;;;;-1:-1:-1;;;;;;8098:22:0;;;;;;:18;:22;;;;;;;;8096:24;8037:83;8033:436;;;8160:12;;8150:6;:22;;8142:60;;;;-1:-1:-1;;;8142:60:0;;9487:2:1;8142:60:0;;;9469:21:1;9526:2;9506:18;;;9499:30;9565:27;9545:18;;;9538:55;9610:18;;8142:60:0;9285:349:1;8142:60:0;8255:14;;8245:6;8229:13;8239:2;-1:-1:-1;;;;;6295:18:0;6268:7;6295:18;;;:9;:18;;;;;;;6202:119;8229:13;:22;;;;:::i;:::-;:40;;8221:79;;;;-1:-1:-1;;;8221:79:0;;9971:2:1;8221:79:0;;;9953:21:1;10010:2;9990:18;;;9983:30;10049:28;10029:18;;;10022:56;10095:18;;8221:79:0;9769:350:1;8221:79:0;8343:12;8325:10;;8338:1;8325:14;;;;:::i;:::-;:30;8321:103;;;9963:20;;10011:8;8380:24;;;;;;8442:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8033:436;8495:13;;-1:-1:-1;;;;;8489:19:0;;;8495:13;;8489:19;;;;:47;;-1:-1:-1;;;;;;8514:22:0;;;;;;:18;:22;;;;;;;;8512:24;8489:47;8485:167;;;8591:14;;8581:6;8565:13;8575:2;-1:-1:-1;;;;;6295:18:0;6268:7;6295:18;;;:9;:18;;;;;;;6202:119;8565:13;:22;;;;:::i;:::-;:40;;8557:79;;;;-1:-1:-1;;;8557:79:0;;9971:2:1;8557:79:0;;;9953:21:1;10010:2;9990:18;;;9983:30;10049:28;10029:18;;;10022:56;10095:18;;8557:79:0;9769:350:1;8557:79:0;8677:13;;-1:-1:-1;;;;;8671:19:0;;;8677:13;;8671:19;:43;;;;-1:-1:-1;;;;;;8694:20:0;;8709:4;8694:20;;8671:43;8668:174;;;8747:79;8822:3;8747:70;8769:16;;8759:9;;:26;8758:58;;8801:15;;8758:58;;;8787:13;;8747:6;;:10;:70::i;:79::-;8735:91;;8668:174;8907:4;8858:28;6295:18;;;:9;:18;;;;;;8933:6;;-1:-1:-1;;;8933:6:0;;;;8932:7;:32;;;;-1:-1:-1;8951:13:0;;-1:-1:-1;;;;;8943:21:0;;;8951:13;;8943:21;8932:32;:47;;;;-1:-1:-1;8968:11:0;;-1:-1:-1;;;8968:11:0;;;;8932:47;:89;;;;;9004:17;;8983:20;:38;8932:89;:121;;;;;9035:18;;9025:9;;:28;8932:121;8928:421;;;9074:67;9091:49;9095:6;9102:37;9106:20;9127:11;;9102:3;:37::i;:::-;9091:3;:49::i;:::-;9074:16;:67::i;:::-;9189:21;9232:22;;9229:105;;9279:35;9292:21;9279:12;:35::i;:::-;9055:294;8928:421;7865:1495;7827:1533;9375:11;;9372:161;;9443:4;9425:24;;;;:9;:24;;;;;;:39;;9454:9;9425:28;:39::i;:::-;9418:4;9400:24;;;;:9;:24;;;;;;;:64;;;;9482:39;;-1:-1:-1;;;;;9482:39:0;;;;;;;9511:9;1361:25:1;;1349:2;1334:18;;1215:177;9482:39:0;;;;;;;;9372:161;-1:-1:-1;;;;;9559:15:0;;;;;;:9;:15;;;;;;:27;;9579:6;9559:19;:27::i;:::-;-1:-1:-1;;;;;9543:15:0;;;;;;:9;:15;;;;;:43;9611:40;9629:21;:6;9640:9;9629:10;:21::i;:::-;-1:-1:-1;;;;;9611:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;9597:13:0;;;;;;;:9;:13;;;;;:54;;;;9667:41;;;9686:21;:6;9697:9;9686:10;:21::i;:::-;9667:41;;1361:25:1;;;1349:2;1334:18;9667:41:0;;;;;;;7557:2159;7488:2228;;;:::o;1364:190::-;1450:7;1486:12;1478:6;;;;1470:29;;;;-1:-1:-1;;;1470:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1510:9:0;1522:5;1526:1;1522;:5;:::i;:::-;1510:17;1364:190;-1:-1:-1;;;;;1364:190:0:o;1562:246::-;1620:7;1644:1;1649;1644:6;1640:47;;-1:-1:-1;1674:1:0;1667:8;;1640:47;1697:9;1709:5;1713:1;1709;:5;:::i;:::-;1697:17;-1:-1:-1;1742:1:0;1733:5;1737:1;1697:17;1733:5;:::i;:::-;:10;1725:56;;;;-1:-1:-1;;;1725:56:0;;10821:2:1;1725:56:0;;;10803:21:1;10860:2;10840:18;;;10833:30;10899:34;10879:18;;;10872:62;-1:-1:-1;;;10950:18:1;;;10943:31;10991:19;;1725:56:0;10619:397:1;1725:56:0;1799:1;1562:246;-1:-1:-1;;;1562:246:0:o;1816:132::-;1874:7;1901:39;1905:1;1908;1901:39;;;;;;;;;;;;;;;;;:3;:39::i;9726:98::-;9783:7;9810:1;9808;:3;9807:9;;9815:1;9807:9;;;-1:-1:-1;9813:1:0;9726:98;-1:-1:-1;9726:98:0:o;10035:483::-;5201:6;:13;;-1:-1:-1;;;;5201:13:0;-1:-1:-1;;;5201:13:0;;;10137:16:::1;::::0;;10151:1:::1;10137:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10137:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10137:16:0::1;10113:40;;10182:4;10164;10169:1;10164:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10164:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10208:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10208:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10164:7;;10208:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10198:4;10203:1;10198:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10198:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10273:15:::1;::::0;10241:62:::1;::::0;10258:4:::1;::::0;10273:15:::1;10291:11:::0;10241:8:::1;:62::i;:::-;10314:15;::::0;:196:::1;::::0;-1:-1:-1;;;10314:196:0;;-1:-1:-1;;;;;10314:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10395:11;;10314:15:::1;::::0;10437:4;;10464::::1;::::0;10484:15:::1;::::0;10314:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5237:6:0;:14;;-1:-1:-1;;;;5237:14:0;;;-1:-1:-1;;;;10035:483:0:o;1033:179::-;1091:7;;1123:5;1127:1;1123;:5;:::i;:::-;1111:17;;1152:1;1147;:6;;1139:46;;;;-1:-1:-1;;;1139:46:0;;12728:2:1;1139:46:0;;;12710:21:1;12767:2;12747:18;;;12740:30;12806:29;12786:18;;;12779:57;12853:18;;1139:46:0;12526:351:1;1220:136:0;1278:7;1305:43;1309:1;1312;1305:43;;;;;;;;;;;;;;;;;:3;:43::i;1956:189::-;2042:7;2077:12;2070:5;2062:28;;;;-1:-1:-1;;;2062:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2101:9:0;2113:5;2117:1;2113;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2507:180::-;2566:6;2619:2;2607:9;2598:7;2594:23;2590:32;2587:52;;;2635:1;2632;2625:12;2587:52;-1:-1:-1;2658:23:1;;2507:180;-1:-1:-1;2507:180:1:o;2692:388::-;2760:6;2768;2821:2;2809:9;2800:7;2796:23;2792:32;2789:52;;;2837:1;2834;2827:12;2789:52;2876:9;2863:23;2895:31;2920:5;2895:31;:::i;:::-;2945:5;-1:-1:-1;3002:2:1;2987:18;;2974:32;3015:33;2974:32;3015:33;:::i;:::-;3067:7;3057:17;;;2692:388;;;;;:::o;3085:356::-;3287:2;3269:21;;;3306:18;;;3299:30;3365:34;3360:2;3345:18;;3338:62;3432:2;3417:18;;3085:356::o;3733:277::-;3800:6;3853:2;3841:9;3832:7;3828:23;3824:32;3821:52;;;3869:1;3866;3859:12;3821:52;3901:9;3895:16;3954:5;3947:13;3940:21;3933:5;3930:32;3920:60;;3976:1;3973;3966:12;4015:127;4076:10;4071:3;4067:20;4064:1;4057:31;4107:4;4104:1;4097:15;4131:4;4128:1;4121:15;4147:422;4236:1;4279:5;4236:1;4293:270;4314:7;4304:8;4301:21;4293:270;;;4373:4;4369:1;4365:6;4361:17;4355:4;4352:27;4349:53;;;4382:18;;:::i;:::-;4432:7;4422:8;4418:22;4415:55;;;4452:16;;;;4415:55;4531:22;;;;4491:15;;;;4293:270;;;4297:3;4147:422;;;;;:::o;4574:806::-;4623:5;4653:8;4643:80;;-1:-1:-1;4694:1:1;4708:5;;4643:80;4742:4;4732:76;;-1:-1:-1;4779:1:1;4793:5;;4732:76;4824:4;4842:1;4837:59;;;;4910:1;4905:130;;;;4817:218;;4837:59;4867:1;4858:10;;4881:5;;;4905:130;4942:3;4932:8;4929:17;4926:43;;;4949:18;;:::i;:::-;-1:-1:-1;;5005:1:1;4991:16;;5020:5;;4817:218;;5119:2;5109:8;5106:16;5100:3;5094:4;5091:13;5087:36;5081:2;5071:8;5068:16;5063:2;5057:4;5054:12;5050:35;5047:77;5044:159;;;-1:-1:-1;5156:19:1;;;5188:5;;5044:159;5235:34;5260:8;5254:4;5235:34;:::i;:::-;5305:6;5301:1;5297:6;5293:19;5284:7;5281:32;5278:58;;;5316:18;;:::i;:::-;5354:20;;4574:806;-1:-1:-1;;;4574:806:1:o;5385:140::-;5443:5;5472:47;5513:4;5503:8;5499:19;5493:4;5472:47;:::i;5530:168::-;5603:9;;;5634;;5651:15;;;5645:22;;5631:37;5621:71;;5672:18;;:::i;6667:306::-;6755:6;6763;6771;6824:2;6812:9;6803:7;6799:23;6795:32;6792:52;;;6840:1;6837;6830:12;6792:52;6869:9;6863:16;6853:26;;6919:2;6908:9;6904:18;6898:25;6888:35;;6963:2;6952:9;6948:18;6942:25;6932:35;;6667:306;;;;;:::o;9639:125::-;9704:9;;;9725:10;;;9722:36;;;9738:18;;:::i;10124:135::-;10163:3;10184:17;;;10181:43;;10204:18;;:::i;:::-;-1:-1:-1;10251:1:1;10240:13;;10124:135::o;10264:128::-;10331:9;;;10352:11;;;10349:37;;;10366:18;;:::i;10397:217::-;10437:1;10463;10453:132;;10507:10;10502:3;10498:20;10495:1;10488:31;10542:4;10539:1;10532:15;10570:4;10567:1;10560:15;10453:132;-1:-1:-1;10599:9:1;;10397:217::o;11153:127::-;11214:10;11209:3;11205:20;11202:1;11195:31;11245:4;11242:1;11235:15;11269:4;11266:1;11259:15;11285:251;11355:6;11408:2;11396:9;11387:7;11383:23;11379:32;11376:52;;;11424:1;11421;11414:12;11376:52;11456:9;11450:16;11475:31;11500:5;11475:31;:::i;11541:980::-;11803:4;11851:3;11840:9;11836:19;11882:6;11871:9;11864:25;11908:2;11946:6;11941:2;11930:9;11926:18;11919:34;11989:3;11984:2;11973:9;11969:18;11962:31;12013:6;12048;12042:13;12079:6;12071;12064:22;12117:3;12106:9;12102:19;12095:26;;12156:2;12148:6;12144:15;12130:29;;12177:1;12187:195;12201:6;12198:1;12195:13;12187:195;;;12266:13;;-1:-1:-1;;;;;12262:39:1;12250:52;;12357:15;;;;12322:12;;;;12298:1;12216:9;12187:195;;;-1:-1:-1;;;;;;;12438:32:1;;;;12433:2;12418:18;;12411:60;-1:-1:-1;;;12502:3:1;12487:19;12480:35;12399:3;11541:980;-1:-1:-1;;;11541:980:1:o
Swarm Source
ipfs://6232d0bc05394210299c3eb948f63ed0af6f83e17179bd2f7001c50861270b06
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.