ERC-20
MEME
Overview
Max Total Supply
10,000,042 MARVIN
Holders
118 (0.00%)
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
2,042,331.889698002821626377 MARVINValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
MarvinTheRobot
Compiler Version
v0.8.27+commit.40a35a09
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-10-23 */ /* Marvin, a manically depressed robot, decides cryptocurrency might be just the thing to distract him from his existential dread. TG: http://t.me/marvinandroidtoken Web: https://marvinandroid.ai/ X: https://x.com/marvin42android */ // SPDX-License-Identifier: MIT pragma solidity 0.8.27; 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); } 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 MarvinTheRobot 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; /* Start and end tax rates */ uint256 private _buyTax = 40; uint256 private _sellTax = 40; uint8 private constant _decimals = 18; uint256 private constant _tTotal = 10000042000000000000000000; string private constant _name = unicode"Marvin The Robot"; string private constant _symbol = unicode"MARVIN"; uint256 public _maxTxAmount = (_tTotal * 2) / 100; uint256 public _maxWalletSize = (_tTotal * 2) / 100; uint256 public _taxSwapThreshold = (_tTotal * 1) / 100; uint256 public _maxTaxSwap = (_tTotal * 1) / 100; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; event MaxTxAmountUpdated(uint _maxTxAmount); event ClearToken(address TokenAddressCleared, uint256 Amount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _taxWallet = payable(0xc077B0e10fd13508102561C143a3168EfAAc1D29); _balances[_msgSender()] = _tTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_taxWallet] = true; 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 (swapEnabled && from != owner() && to != owner()) { require(!bots[from] && !bots[to]); taxAmount = amount.mul(_buyTax).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(to == uniswapV2Pair && from!= address(this) ){ taxAmount = amount.mul(_sellTax).div(100); } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance > _taxSwapThreshold) { 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 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 addBots(address[] memory bots_) public onlyOwner { for (uint i = 0; i < bots_.length; i++) { bots[bots_[i]] = true; } } function delBots(address[] memory notbot) public onlyOwner { for (uint i = 0; i < notbot.length; i++) { bots[notbot[i]] = false; } } function isBot(address a) public view returns (bool){ return bots[a]; } function openTrading() external onlyOwner() { require(!tradingOpen,"trading is already open"); uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); 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; } function reduceFee(uint256 _newBuyFee, uint256 _newSellFee) external { require(_msgSender() == _taxWallet); require(_newBuyFee <= _buyTax && _newSellFee <= _sellTax); _buyTax = _newBuyFee; _sellTax = _newSellFee; } receive() external payable {} function manualSwap() external { require(_msgSender() == _taxWallet); uint256 tokenBalance = balanceOf(address(this)); if(tokenBalance > 0) { swapTokensForEth(tokenBalance); } uint256 ethBalance = address(this).balance; if(ethBalance > 0) { sendETHToFee(ethBalance); } } function rescueTokens(address tokenAddress, uint256 tokens) external returns (bool success) { require(_msgSender() == _taxWallet); if(tokens == 0){ tokens = IERC20(tokenAddress).balanceOf(address(this)); } emit ClearToken(tokenAddress,tokens); return IERC20(tokenAddress).transfer(_taxWallet, tokens); } function rescueEth() external { require(_msgSender() == _taxWallet); uint256 ethBalance = address(this).balance; require(ethBalance > 0, "Contract balance must be greater than zero"); sendETHToFee(ethBalance); } } /* FortXAI */
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":"address","name":"TokenAddressCleared","type":"address"},{"indexed":false,"internalType":"uint256","name":"Amount","type":"uint256"}],"name":"ClearToken","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":"bots_","type":"address[]"}],"name":"addBots","outputs":[],"stateMutability":"nonpayable","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":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"delBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","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":[{"internalType":"uint256","name":"_newBuyFee","type":"uint256"},{"internalType":"uint256","name":"_newSellFee","type":"uint256"}],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescueEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"rescueTokens","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"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
60806040526028600681905560075560646100266a0845975cf1fac1c06800006002610235565b610030919061025e565b600855606461004b6a0845975cf1fac1c06800006002610235565b610055919061025e565b60095560646100706a0845975cf1fac1c06800006001610235565b61007a919061025e565b600a5560646100956a0845975cf1fac1c06800006001610235565b61009f919061025e565b600b55600d805461ffff60a81b191690553480156100bb575f5ffd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600580546001600160a01b03191673c077b0e10fd13508102561c143a3168efaac1d291790556a0845975cf1fac1c068000060015f6101383390565b6001600160a01b03166001600160a01b031681526020019081526020015f2081905550600160035f61016e61022760201b60201c565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff1996871617905530815260039093528183208054851660019081179091556005549091168352912080549092161790556101cb3390565b6001600160a01b03165f6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6a0845975cf1fac1c068000060405161021a91815260200190565b60405180910390a361027d565b5f546001600160a01b031690565b808202811582820484141761025857634e487b7160e01b5f52601160045260245ffd5b92915050565b5f8261027857634e487b7160e01b5f52601260045260245ffd5b500490565b611ada8061028a5f395ff3fe60806040526004361061014a575f3560e01c806372333356116100b3578063a9059cbb1161006d578063a9059cbb146103cc578063bf474bed146103eb578063c9567bf914610400578063ce31a06b14610414578063d34628cc14610428578063dd62ed3e14610447575f5ffd5b8063723333561461031b578063751039fc1461033a5780637d1db4a51461034e5780638da5cb5b146103635780638f9a55c01461038957806395d89b411461039e575f5ffd5b806331c2d8471161010457806331c2d847146102485780633bbac5791461026957806351bc3c85146102a057806357376198146102b457806370a08231146102d3578063715018a614610307575f5ffd5b806306fdde0314610155578063095ea7b31461019f5780630faee56f146101ce57806318160ddd146101f157806323b872dd1461020e578063313ce5671461022d575f5ffd5b3661015157005b5f5ffd5b348015610160575f5ffd5b5060408051808201909152601081526f13585c9d9a5b88151a1948149bd89bdd60821b60208201525b60405161019691906116c5565b60405180910390f35b3480156101aa575f5ffd5b506101be6101b936600461171e565b61048b565b6040519015158152602001610196565b3480156101d9575f5ffd5b506101e3600b5481565b604051908152602001610196565b3480156101fc575f5ffd5b506a0845975cf1fac1c06800006101e3565b348015610219575f5ffd5b506101be610228366004611748565b6104a1565b348015610238575f5ffd5b5060405160128152602001610196565b348015610253575f5ffd5b5061026761026236600461179a565b610508565b005b348015610274575f5ffd5b506101be610283366004611865565b6001600160a01b03165f9081526004602052604090205460ff1690565b3480156102ab575f5ffd5b50610267610598565b3480156102bf575f5ffd5b506101be6102ce36600461171e565b6105e5565b3480156102de575f5ffd5b506101e36102ed366004611865565b6001600160a01b03165f9081526001602052604090205490565b348015610312575f5ffd5b50610267610733565b348015610326575f5ffd5b50610267610335366004611880565b6107a4565b348015610345575f5ffd5b506102676107ea565b348015610359575f5ffd5b506101e360085481565b34801561036e575f5ffd5b505f546040516001600160a01b039091168152602001610196565b348015610394575f5ffd5b506101e360095481565b3480156103a9575f5ffd5b5060408051808201909152600681526526a0a92b24a760d11b6020820152610189565b3480156103d7575f5ffd5b506101be6103e636600461171e565b61085e565b3480156103f6575f5ffd5b506101e3600a5481565b34801561040b575f5ffd5b5061026761086a565b34801561041f575f5ffd5b50610267610c0a565b348015610433575f5ffd5b5061026761044236600461179a565b610c96565b348015610452575f5ffd5b506101e36104613660046118a0565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f610497338484610d1a565b5060015b92915050565b5f6104ad848484610e3d565b6104fe84336104f985604051806060016040528060288152602001611a7d602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611348565b610d1a565b5060019392505050565b5f546001600160a01b0316331461053a5760405162461bcd60e51b8152600401610531906118d7565b60405180910390fd5b5f5b8151811015610594575f60045f84848151811061055b5761055b61190c565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff191691151591909117905560010161053c565b5050565b6005546001600160a01b0316336001600160a01b0316146105b7575f5ffd5b305f9081526001602052604090205480156105d5576105d581611380565b47801561059457610594816114f0565b6005545f906001600160a01b0316336001600160a01b031614610606575f5ffd5b815f03610676576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa15801561064f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106739190611920565b91505b604080516001600160a01b0385168152602081018490527fda2bc2bedd1f85b5a59d5dbbd6684ff877ef916994a16ec08813101e99ace65f910160405180910390a160055460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018490529084169063a9059cbb906044016020604051808303815f875af1158015610708573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061072c9190611937565b9392505050565b5f546001600160a01b0316331461075c5760405162461bcd60e51b8152600401610531906118d7565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b6005546001600160a01b0316336001600160a01b0316146107c3575f5ffd5b60065482111580156107d757506007548111155b6107df575f5ffd5b600691909155600755565b5f546001600160a01b031633146108135760405162461bcd60e51b8152600401610531906118d7565b6a0845975cf1fac1c0680000600881905560098190556040519081527f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf9060200160405180910390a1565b5f610497338484610e3d565b5f546001600160a01b031633146108935760405162461bcd60e51b8152600401610531906118d7565b600d54600160a01b900460ff16156108ed5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610531565b600c80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561092d9030906a0845975cf1fac1c0680000610d1a565b600c5f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561097d573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a19190611956565b6001600160a01b031663c9c6539630600c5f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a00573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a249190611956565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610a6e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a929190611956565b600d80546001600160a01b039283166001600160a01b0319909116179055600c541663f305d7194730610ad9816001600160a01b03165f9081526001602052604090205490565b5f5f610aec5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610b52573d5f5f3e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610b779190611971565b5050600d54600c5460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610bcc573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bf09190611937565b50600d805462ff00ff60a01b19166201000160a01b179055565b6005546001600160a01b0316336001600160a01b031614610c29575f5ffd5b4780610c8a5760405162461bcd60e51b815260206004820152602a60248201527f436f6e74726163742062616c616e6365206d7573742062652067726561746572604482015269207468616e207a65726f60b01b6064820152608401610531565b610c93816114f0565b50565b5f546001600160a01b03163314610cbf5760405162461bcd60e51b8152600401610531906118d7565b5f5b815181101561059457600160045f848481518110610ce157610ce161190c565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610cc1565b6001600160a01b038316610d7c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610531565b6001600160a01b038216610ddd5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610531565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ea15760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610531565b6001600160a01b038216610f035760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610531565b5f8111610f645760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610531565b600d545f90600160b01b900460ff168015610f8c57505f546001600160a01b03858116911614155b8015610fa557505f546001600160a01b03848116911614155b1561120b576001600160a01b0384165f9081526004602052604090205460ff16158015610fea57506001600160a01b0383165f9081526004602052604090205460ff16155b610ff2575f5ffd5b611012606461100c6006548561152790919063ffffffff16565b906115a5565b600d549091506001600160a01b0385811691161480156110405750600c546001600160a01b03848116911614155b801561106457506001600160a01b0383165f9081526003602052604090205460ff16155b15611135576008548211156110bb5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610531565b600954826110dd856001600160a01b03165f9081526001602052604090205490565b6110e791906119b0565b11156111355760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610531565b600d546001600160a01b03848116911614801561115b57506001600160a01b0384163014155b1561117d5761117a606461100c6007548561152790919063ffffffff16565b90505b305f90815260016020526040902054600d54600160a81b900460ff161580156111b35750600d546001600160a01b038581169116145b80156111c85750600d54600160b01b900460ff165b80156111d55750600a5481115b15611209576111f76111f2846111ed84600b546115e6565b6115e6565b611380565b47801561120757611207476114f0565b505b505b801561128357305f9081526001602052604090205461122a90826115fa565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061127a9085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546112a59083611658565b6001600160a01b0385165f908152600160205260409020556112e86112ca8383611658565b6001600160a01b0385165f90815260016020526040902054906115fa565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6113318585611658565b60405190815260200160405180910390a350505050565b5f818484111561136b5760405162461bcd60e51b815260040161053191906116c5565b505f61137784866119c3565b95945050505050565b600d805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106113c6576113c661190c565b6001600160a01b03928316602091820292909201810191909152600c54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561141d573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114419190611956565b816001815181106114545761145461190c565b6001600160a01b039283166020918202929092010152600c5461147a9130911684610d1a565b600c5460405163791ac94760e01b81526001600160a01b039091169063791ac947906114b29085905f908690309042906004016119d6565b5f604051808303815f87803b1580156114c9575f5ffd5b505af11580156114db573d5f5f3e3d5ffd5b5050600d805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610594573d5f5f3e3d5ffd5b5f825f0361153657505f61049b565b5f6115418385611a46565b90508261154e8583611a5d565b1461072c5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610531565b5f61072c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611699565b5f8183116115f4578261072c565b50919050565b5f8061160683856119b0565b90508381101561072c5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610531565b5f61072c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611348565b5f81836116b95760405162461bcd60e51b815260040161053191906116c5565b505f6113778486611a5d565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114610c93575f5ffd5b8035611719816116fa565b919050565b5f5f6040838503121561172f575f5ffd5b823561173a816116fa565b946020939093013593505050565b5f5f5f6060848603121561175a575f5ffd5b8335611765816116fa565b92506020840135611775816116fa565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f602082840312156117aa575f5ffd5b813567ffffffffffffffff8111156117c0575f5ffd5b8201601f810184136117d0575f5ffd5b803567ffffffffffffffff8111156117ea576117ea611786565b8060051b604051601f19603f830116810181811067ffffffffffffffff8211171561181757611817611786565b604052918252602081840181019290810187841115611834575f5ffd5b6020850194505b8385101561185a5761184c8561170e565b81526020948501940161183b565b509695505050505050565b5f60208284031215611875575f5ffd5b813561072c816116fa565b5f5f60408385031215611891575f5ffd5b50508035926020909101359150565b5f5f604083850312156118b1575f5ffd5b82356118bc816116fa565b915060208301356118cc816116fa565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611930575f5ffd5b5051919050565b5f60208284031215611947575f5ffd5b8151801515811461072c575f5ffd5b5f60208284031215611966575f5ffd5b815161072c816116fa565b5f5f5f60608486031215611983575f5ffd5b5050815160208301516040909301519094929350919050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561049b5761049b61199c565b8181038181111561049b5761049b61199c565b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b81811015611a265783516001600160a01b03168352602093840193909201916001016119ff565b50506001600160a01b039590951660608401525050608001529392505050565b808202811582820484141761049b5761049b61199c565b5f82611a7757634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220cda00c37f8757b2a3fd6c31965962473d07ff4400ab267e2f7be8f968dc314fa64736f6c634300081b0033
Deployed Bytecode
0x60806040526004361061014a575f3560e01c806372333356116100b3578063a9059cbb1161006d578063a9059cbb146103cc578063bf474bed146103eb578063c9567bf914610400578063ce31a06b14610414578063d34628cc14610428578063dd62ed3e14610447575f5ffd5b8063723333561461031b578063751039fc1461033a5780637d1db4a51461034e5780638da5cb5b146103635780638f9a55c01461038957806395d89b411461039e575f5ffd5b806331c2d8471161010457806331c2d847146102485780633bbac5791461026957806351bc3c85146102a057806357376198146102b457806370a08231146102d3578063715018a614610307575f5ffd5b806306fdde0314610155578063095ea7b31461019f5780630faee56f146101ce57806318160ddd146101f157806323b872dd1461020e578063313ce5671461022d575f5ffd5b3661015157005b5f5ffd5b348015610160575f5ffd5b5060408051808201909152601081526f13585c9d9a5b88151a1948149bd89bdd60821b60208201525b60405161019691906116c5565b60405180910390f35b3480156101aa575f5ffd5b506101be6101b936600461171e565b61048b565b6040519015158152602001610196565b3480156101d9575f5ffd5b506101e3600b5481565b604051908152602001610196565b3480156101fc575f5ffd5b506a0845975cf1fac1c06800006101e3565b348015610219575f5ffd5b506101be610228366004611748565b6104a1565b348015610238575f5ffd5b5060405160128152602001610196565b348015610253575f5ffd5b5061026761026236600461179a565b610508565b005b348015610274575f5ffd5b506101be610283366004611865565b6001600160a01b03165f9081526004602052604090205460ff1690565b3480156102ab575f5ffd5b50610267610598565b3480156102bf575f5ffd5b506101be6102ce36600461171e565b6105e5565b3480156102de575f5ffd5b506101e36102ed366004611865565b6001600160a01b03165f9081526001602052604090205490565b348015610312575f5ffd5b50610267610733565b348015610326575f5ffd5b50610267610335366004611880565b6107a4565b348015610345575f5ffd5b506102676107ea565b348015610359575f5ffd5b506101e360085481565b34801561036e575f5ffd5b505f546040516001600160a01b039091168152602001610196565b348015610394575f5ffd5b506101e360095481565b3480156103a9575f5ffd5b5060408051808201909152600681526526a0a92b24a760d11b6020820152610189565b3480156103d7575f5ffd5b506101be6103e636600461171e565b61085e565b3480156103f6575f5ffd5b506101e3600a5481565b34801561040b575f5ffd5b5061026761086a565b34801561041f575f5ffd5b50610267610c0a565b348015610433575f5ffd5b5061026761044236600461179a565b610c96565b348015610452575f5ffd5b506101e36104613660046118a0565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f610497338484610d1a565b5060015b92915050565b5f6104ad848484610e3d565b6104fe84336104f985604051806060016040528060288152602001611a7d602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611348565b610d1a565b5060019392505050565b5f546001600160a01b0316331461053a5760405162461bcd60e51b8152600401610531906118d7565b60405180910390fd5b5f5b8151811015610594575f60045f84848151811061055b5761055b61190c565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff191691151591909117905560010161053c565b5050565b6005546001600160a01b0316336001600160a01b0316146105b7575f5ffd5b305f9081526001602052604090205480156105d5576105d581611380565b47801561059457610594816114f0565b6005545f906001600160a01b0316336001600160a01b031614610606575f5ffd5b815f03610676576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa15801561064f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106739190611920565b91505b604080516001600160a01b0385168152602081018490527fda2bc2bedd1f85b5a59d5dbbd6684ff877ef916994a16ec08813101e99ace65f910160405180910390a160055460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018490529084169063a9059cbb906044016020604051808303815f875af1158015610708573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061072c9190611937565b9392505050565b5f546001600160a01b0316331461075c5760405162461bcd60e51b8152600401610531906118d7565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b6005546001600160a01b0316336001600160a01b0316146107c3575f5ffd5b60065482111580156107d757506007548111155b6107df575f5ffd5b600691909155600755565b5f546001600160a01b031633146108135760405162461bcd60e51b8152600401610531906118d7565b6a0845975cf1fac1c0680000600881905560098190556040519081527f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf9060200160405180910390a1565b5f610497338484610e3d565b5f546001600160a01b031633146108935760405162461bcd60e51b8152600401610531906118d7565b600d54600160a01b900460ff16156108ed5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610531565b600c80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561092d9030906a0845975cf1fac1c0680000610d1a565b600c5f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561097d573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a19190611956565b6001600160a01b031663c9c6539630600c5f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a00573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a249190611956565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610a6e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a929190611956565b600d80546001600160a01b039283166001600160a01b0319909116179055600c541663f305d7194730610ad9816001600160a01b03165f9081526001602052604090205490565b5f5f610aec5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610b52573d5f5f3e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610b779190611971565b5050600d54600c5460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610bcc573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bf09190611937565b50600d805462ff00ff60a01b19166201000160a01b179055565b6005546001600160a01b0316336001600160a01b031614610c29575f5ffd5b4780610c8a5760405162461bcd60e51b815260206004820152602a60248201527f436f6e74726163742062616c616e6365206d7573742062652067726561746572604482015269207468616e207a65726f60b01b6064820152608401610531565b610c93816114f0565b50565b5f546001600160a01b03163314610cbf5760405162461bcd60e51b8152600401610531906118d7565b5f5b815181101561059457600160045f848481518110610ce157610ce161190c565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610cc1565b6001600160a01b038316610d7c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610531565b6001600160a01b038216610ddd5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610531565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ea15760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610531565b6001600160a01b038216610f035760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610531565b5f8111610f645760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610531565b600d545f90600160b01b900460ff168015610f8c57505f546001600160a01b03858116911614155b8015610fa557505f546001600160a01b03848116911614155b1561120b576001600160a01b0384165f9081526004602052604090205460ff16158015610fea57506001600160a01b0383165f9081526004602052604090205460ff16155b610ff2575f5ffd5b611012606461100c6006548561152790919063ffffffff16565b906115a5565b600d549091506001600160a01b0385811691161480156110405750600c546001600160a01b03848116911614155b801561106457506001600160a01b0383165f9081526003602052604090205460ff16155b15611135576008548211156110bb5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610531565b600954826110dd856001600160a01b03165f9081526001602052604090205490565b6110e791906119b0565b11156111355760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610531565b600d546001600160a01b03848116911614801561115b57506001600160a01b0384163014155b1561117d5761117a606461100c6007548561152790919063ffffffff16565b90505b305f90815260016020526040902054600d54600160a81b900460ff161580156111b35750600d546001600160a01b038581169116145b80156111c85750600d54600160b01b900460ff165b80156111d55750600a5481115b15611209576111f76111f2846111ed84600b546115e6565b6115e6565b611380565b47801561120757611207476114f0565b505b505b801561128357305f9081526001602052604090205461122a90826115fa565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061127a9085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546112a59083611658565b6001600160a01b0385165f908152600160205260409020556112e86112ca8383611658565b6001600160a01b0385165f90815260016020526040902054906115fa565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6113318585611658565b60405190815260200160405180910390a350505050565b5f818484111561136b5760405162461bcd60e51b815260040161053191906116c5565b505f61137784866119c3565b95945050505050565b600d805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106113c6576113c661190c565b6001600160a01b03928316602091820292909201810191909152600c54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561141d573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114419190611956565b816001815181106114545761145461190c565b6001600160a01b039283166020918202929092010152600c5461147a9130911684610d1a565b600c5460405163791ac94760e01b81526001600160a01b039091169063791ac947906114b29085905f908690309042906004016119d6565b5f604051808303815f87803b1580156114c9575f5ffd5b505af11580156114db573d5f5f3e3d5ffd5b5050600d805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610594573d5f5f3e3d5ffd5b5f825f0361153657505f61049b565b5f6115418385611a46565b90508261154e8583611a5d565b1461072c5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610531565b5f61072c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611699565b5f8183116115f4578261072c565b50919050565b5f8061160683856119b0565b90508381101561072c5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610531565b5f61072c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611348565b5f81836116b95760405162461bcd60e51b815260040161053191906116c5565b505f6113778486611a5d565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114610c93575f5ffd5b8035611719816116fa565b919050565b5f5f6040838503121561172f575f5ffd5b823561173a816116fa565b946020939093013593505050565b5f5f5f6060848603121561175a575f5ffd5b8335611765816116fa565b92506020840135611775816116fa565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f602082840312156117aa575f5ffd5b813567ffffffffffffffff8111156117c0575f5ffd5b8201601f810184136117d0575f5ffd5b803567ffffffffffffffff8111156117ea576117ea611786565b8060051b604051601f19603f830116810181811067ffffffffffffffff8211171561181757611817611786565b604052918252602081840181019290810187841115611834575f5ffd5b6020850194505b8385101561185a5761184c8561170e565b81526020948501940161183b565b509695505050505050565b5f60208284031215611875575f5ffd5b813561072c816116fa565b5f5f60408385031215611891575f5ffd5b50508035926020909101359150565b5f5f604083850312156118b1575f5ffd5b82356118bc816116fa565b915060208301356118cc816116fa565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611930575f5ffd5b5051919050565b5f60208284031215611947575f5ffd5b8151801515811461072c575f5ffd5b5f60208284031215611966575f5ffd5b815161072c816116fa565b5f5f5f60608486031215611983575f5ffd5b5050815160208301516040909301519094929350919050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561049b5761049b61199c565b8181038181111561049b5761049b61199c565b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b81811015611a265783516001600160a01b03168352602093840193909201916001016119ff565b50506001600160a01b039590951660608401525050608001529392505050565b808202811582820484141761049b5761049b61199c565b5f82611a7757634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220cda00c37f8757b2a3fd6c31965962473d07ff4400ab267e2f7be8f968dc314fa64736f6c634300081b0033
Deployed Bytecode Sourcemap
3718:8443:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5418:83;;;;;;;;;;-1:-1:-1;5488:5:0;;;;;;;;;;;;-1:-1:-1;;;5488:5:0;;;;5418:83;;;;;;;:::i;:::-;;;;;;;;6251:161;;;;;;;;;;-1:-1:-1;6251:161:0;;;;;:::i;:::-;;:::i;:::-;;;1249:14:1;;1242:22;1224:41;;1212:2;1197:18;6251:161:0;1084:187:1;4601:48:0;;;;;;;;;;;;;;;;;;;1422:25:1;;;1410:2;1395:18;4601:48:0;1276:177:1;5695:95:0;;;;;;;;;;-1:-1:-1;4273:26:0;5695:95;;6420:313;;;;;;;;;;-1:-1:-1;6420:313:0;;;;;:::i;:::-;;:::i;5604:83::-;;;;;;;;;;-1:-1:-1;5604:83:0;;4229:2;2113:36:1;;2101:2;2086:18;5604:83:0;1971:184:1;9924:162:0;;;;;;;;;;-1:-1:-1;9924:162:0;;;;;:::i;:::-;;:::i;:::-;;10094:83;;;;;;;;;;-1:-1:-1;10094:83:0;;;;;:::i;:::-;-1:-1:-1;;;;;10162:7:0;10141:4;10162:7;;;:4;:7;;;;;;;;;10094:83;11156:360;;;;;;;;;;;;;:::i;11524:370::-;;;;;;;;;;-1:-1:-1;11524:370:0;;;;;:::i;:::-;;:::i;5798:119::-;;;;;;;;;;-1:-1:-1;5798:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5891:18:0;5864:7;5891:18;;;:9;:18;;;;;;;5798:119;2799:148;;;;;;;;;;;;;:::i;10864:247::-;;;;;;;;;;-1:-1:-1;10864:247:0;;;;;:::i;:::-;;:::i;9482:162::-;;;;;;;;;;;;;:::i;4426:49::-;;;;;;;;;;;;;;;;2585:79;;;;;;;;;;-1:-1:-1;2623:7:0;2650:6;2585:79;;-1:-1:-1;;;;;2650:6:0;;;4173:51:1;;4161:2;4146:18;2585:79:0;4027:203:1;4482:51:0;;;;;;;;;;;;;;;;5509:87;;;;;;;;;;-1:-1:-1;5581:7:0;;;;;;;;;;;;-1:-1:-1;;;5581:7:0;;;;5509:87;;5925:167;;;;;;;;;;-1:-1:-1;5925:167:0;;;;;:::i;:::-;;:::i;4540:54::-;;;;;;;;;;;;;;;;10185:671;;;;;;;;;;;;;:::i;11902:254::-;;;;;;;;;;;;;:::i;9752:164::-;;;;;;;;;;-1:-1:-1;9752:164:0;;;;;:::i;:::-;;:::i;6100:143::-;;;;;;;;;;-1:-1:-1;6100:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6208:18:0;;;6181:7;6208:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6100:143;6251:161;6326:4;6343:39;420:10;6366:7;6375:6;6343:8;:39::i;:::-;-1:-1:-1;6400:4:0;6251:161;;;;;:::o;6420:313::-;6518:4;6535:36;6545:6;6553:9;6564:6;6535:9;:36::i;:::-;6582:121;6591:6;420:10;6613:89;6651:6;6613:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6613:19:0;;;;;;:11;:19;;;;;;;;420:10;6613:33;;;;;;;;;;:37;:89::i;:::-;6582:8;:121::i;:::-;-1:-1:-1;6721:4:0;6420:313;;;;;:::o;9924:162::-;2712:6;;-1:-1:-1;;;;;2712:6:0;420:10;2712:22;2704:67;;;;-1:-1:-1;;;2704:67:0;;;;;;;:::i;:::-;;;;;;;;;9997:6:::1;9992:87;10013:6;:13;10009:1;:17;9992:87;;;10064:5;10046:4;:15;10051:6;10058:1;10051:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;10046:15:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;10046:15:0;:23;;-1:-1:-1;;10046:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;10028:3:0::1;9992:87;;;;9924:162:::0;:::o;11156:360::-;11222:10;;-1:-1:-1;;;;;11222:10:0;420;-1:-1:-1;;;;;11206:26:0;;11198:35;;;;;;11285:4;11244:20;5891:18;;;:9;:18;;;;;;11305:16;;11302:76;;11336:30;11353:12;11336:16;:30::i;:::-;11409:21;11444:14;;11441:68;;11473:24;11486:10;11473:12;:24::i;11524:370::-;11651:10;;11602:12;;-1:-1:-1;;;;;11651:10:0;420;-1:-1:-1;;;;;11635:26:0;;11627:35;;;;;;11678:6;11688:1;11678:11;11675:96;;11714:45;;-1:-1:-1;;;11714:45:0;;11753:4;11714:45;;;4173:51:1;-1:-1:-1;;;;;11714:30:0;;;;;4146:18:1;;11714:45:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11705:54;;11675:96;11788:31;;;-1:-1:-1;;;;;5548:32:1;;5530:51;;5612:2;5597:18;;5590:34;;;11788:31:0;;5503:18:1;11788:31:0;;;;;;;11867:10;;11837:49;;-1:-1:-1;;;11837:49:0;;-1:-1:-1;;;;;11867:10:0;;;11837:49;;;5530:51:1;5597:18;;;5590:34;;;11837:29:0;;;;;;5503:18:1;;11837:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11830:56;11524:370;-1:-1:-1;;;11524:370:0:o;2799:148::-;2712:6;;-1:-1:-1;;;;;2712:6:0;420:10;2712:22;2704:67;;;;-1:-1:-1;;;2704:67:0;;;;;;;:::i;:::-;2906:1:::1;2890:6:::0;;2869:40:::1;::::0;-1:-1:-1;;;;;2890:6:0;;::::1;::::0;2869:40:::1;::::0;2906:1;;2869:40:::1;2937:1;2920:19:::0;;-1:-1:-1;;;;;;2920:19:0::1;::::0;;2799:148::o;10864:247::-;10966:10;;-1:-1:-1;;;;;10966:10:0;420;-1:-1:-1;;;;;10950:26:0;;10942:35;;;;;;11008:7;;10994:10;:21;;:48;;;;;11034:8;;11019:11;:23;;10994:48;10986:57;;;;;;11052:7;:20;;;;11081:8;:22;10864:247::o;9482:162::-;2712:6;;-1:-1:-1;;;;;2712:6:0;420:10;2712:22;2704:67;;;;-1:-1:-1;;;2704:67:0;;;;;;;:::i;:::-;4273:26:::1;9536:12;:22:::0;;;9569:14:::1;:24:::0;;;9609:27:::1;::::0;1422:25:1;;;9609:27:0::1;::::0;1410:2:1;1395:18;9609:27:0::1;;;;;;;9482:162::o:0;5925:167::-;6003:4;6020:42;420:10;6044:9;6055:6;6020:9;:42::i;10185:671::-;2712:6;;-1:-1:-1;;;;;2712:6:0;420:10;2712:22;2704:67;;;;-1:-1:-1;;;2704:67:0;;;;;;;:::i;:::-;10249:11:::1;::::0;-1:-1:-1;;;10249:11:0;::::1;;;10248:12;10240:47;;;::::0;-1:-1:-1;;;10240:47:0;;6406:2:1;10240:47:0::1;::::0;::::1;6388:21:1::0;6445:2;6425:18;;;6418:30;6484:25;6464:18;;;6457:53;6527:18;;10240:47:0::1;6204:347:1::0;10240:47:0::1;10298:15;:80:::0;;-1:-1:-1;;;;;;10298:80:0::1;10335:42;10298:80:::0;;::::1;::::0;;;10389:58:::1;::::0;10406:4:::1;::::0;4273:26:::1;10389:8;:58::i;:::-;10492:15;;;;;;;;;-1:-1:-1::0;;;;;10492:15:0::1;-1:-1:-1::0;;;;;10492:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10474:55:0::1;;10538:4;10545:15;;;;;;;;;-1:-1:-1::0;;;;;10545:15:0::1;-1:-1:-1::0;;;;;10545:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10474:94;::::0;-1:-1:-1;;;;;;10474:94:0::1;::::0;;;;;;-1:-1:-1;;;;;7004:32:1;;;10474:94:0::1;::::0;::::1;6986:51:1::0;7073:32;;7053:18;;;7046:60;6959:18;;10474:94:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10458:13;:110:::0;;-1:-1:-1;;;;;10458:110:0;;::::1;-1:-1:-1::0;;;;;;10458:110:0;;::::1;;::::0;;10579:15:::1;::::0;::::1;:31;10618:21;10649:4;10655:24;10649:4:::0;-1:-1:-1;;;;;5891:18:0;5864:7;5891:18;;;:9;:18;;;;;;;5798:119;10655:24:::1;10680:1;10682;10684:7;2623::::0;2650:6;-1:-1:-1;;;;;2650:6:0;;2585:79;10684:7:::1;10579:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;10579:129:0;;;-1:-1:-1;;;;;7438:32:1;;;10579:129:0::1;::::0;::::1;7420:51:1::0;7487:18;;;7480:34;;;;7530:18;;;7523:34;;;;7573:18;;;7566:34;7637:32;;;7616:19;;;7609:61;10692:15:0::1;7686:19:1::0;;;7679:35;7392:19;;10579:129:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;10726:13:0::1;::::0;10757:15:::1;::::0;10719:71:::1;::::0;-1:-1:-1;;;10719:71:0;;-1:-1:-1;;;;;10757:15:0;;::::1;10719:71;::::0;::::1;5530:51:1::0;-1:-1:-1;;5597:18:1;;;5590:34;10726:13:0;::::1;::::0;-1:-1:-1;10719:29:0::1;::::0;5503:18:1;;10719:71:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;10801:11:0::1;:18:::0;;-1:-1:-1;;;;10830:18:0;-1:-1:-1;;;10830:18:0;;;10185:671::o;11902:254::-;11967:10;;-1:-1:-1;;;;;11967:10:0;420;-1:-1:-1;;;;;11951:26:0;;11943:35;;;;;;12012:21;12052:14;12044:69;;;;-1:-1:-1;;;12044:69:0;;8388:2:1;12044:69:0;;;8370:21:1;8427:2;8407:18;;;8400:30;8466:34;8446:18;;;8439:62;-1:-1:-1;;;8517:18:1;;;8510:40;8567:19;;12044:69:0;8186:406:1;12044:69:0;12124:24;12137:10;12124:12;:24::i;:::-;11932:224;11902:254::o;9752:164::-;2712:6;;-1:-1:-1;;;;;2712:6:0;420:10;2712:22;2704:67;;;;-1:-1:-1;;;2704:67:0;;;;;;;:::i;:::-;9826:6:::1;9821:88;9842:5;:12;9838:1;:16;9821:88;;;9893:4;9876;:14;9881:5;9887:1;9881:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;9876:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;9876:14:0;:21;;-1:-1:-1;;9876:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;9856:3:0::1;9821:88;;6741:335:::0;-1:-1:-1;;;;;6834:19:0;;6826:68;;;;-1:-1:-1;;;6826:68:0;;8799:2:1;6826:68:0;;;8781:21:1;8838:2;8818:18;;;8811:30;8877:34;8857:18;;;8850:62;-1:-1:-1;;;8928:18:1;;;8921:34;8972:19;;6826:68:0;8597:400:1;6826:68:0;-1:-1:-1;;;;;6913:21:0;;6905:68;;;;-1:-1:-1;;;6905:68:0;;9204:2:1;6905:68:0;;;9186:21:1;9243:2;9223:18;;;9216:30;9282:34;9262:18;;;9255:62;-1:-1:-1;;;9333:18:1;;;9326:32;9375:19;;6905:68:0;9002:398:1;6905:68:0;-1:-1:-1;;;;;6984:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7036:32;;1422:25:1;;;7036:32:0;;1395:18:1;7036:32:0;;;;;;;6741:335;;;:::o;7084:1791::-;-1:-1:-1;;;;;7172:18:0;;7164:68;;;;-1:-1:-1;;;7164:68:0;;9607:2:1;7164:68:0;;;9589:21:1;9646:2;9626:18;;;9619:30;9685:34;9665:18;;;9658:62;-1:-1:-1;;;9736:18:1;;;9729:35;9781:19;;7164:68:0;9405:401:1;7164:68:0;-1:-1:-1;;;;;7251:16:0;;7243:64;;;;-1:-1:-1;;;7243:64:0;;10013:2:1;7243:64:0;;;9995:21:1;10052:2;10032:18;;;10025:30;10091:34;10071:18;;;10064:62;-1:-1:-1;;;10142:18:1;;;10135:33;10185:19;;7243:64:0;9811:399:1;7243:64:0;7335:1;7326:6;:10;7318:64;;;;-1:-1:-1;;;7318:64:0;;10417:2:1;7318:64:0;;;10399:21:1;10456:2;10436:18;;;10429:30;10495:34;10475:18;;;10468:62;-1:-1:-1;;;10546:18:1;;;10539:39;10595:19;;7318:64:0;10215:405:1;7318:64:0;7429:11;;7393:17;;-1:-1:-1;;;7429:11:0;;;;:30;;;;-1:-1:-1;2623:7:0;2650:6;-1:-1:-1;;;;;7444:15:0;;;2650:6;;7444:15;;7429:30;:47;;;;-1:-1:-1;2623:7:0;2650:6;-1:-1:-1;;;;;7463:13:0;;;2650:6;;7463:13;;7429:47;7425:1085;;;-1:-1:-1;;;;;7502:10:0;;;;;;:4;:10;;;;;;;;7501:11;:24;;;;-1:-1:-1;;;;;;7517:8:0;;;;;;:4;:8;;;;;;;;7516:9;7501:24;7493:33;;;;;;7553:28;7577:3;7553:19;7564:7;;7553:6;:10;;:19;;;;:::i;:::-;:23;;:28::i;:::-;7610:13;;7541:40;;-1:-1:-1;;;;;;7602:21:0;;;7610:13;;7602:21;:55;;;;-1:-1:-1;7641:15:0;;-1:-1:-1;;;;;7627:30:0;;;7641:15;;7627:30;;7602:55;:83;;;;-1:-1:-1;;;;;;7663:22:0;;;;;;:18;:22;;;;;;;;7661:24;7602:83;7598:283;;;7725:12;;7715:6;:22;;7707:60;;;;-1:-1:-1;;;7707:60:0;;10827:2:1;7707:60:0;;;10809:21:1;10866:2;10846:18;;;10839:30;10905:27;10885:18;;;10878:55;10950:18;;7707:60:0;10625:349:1;7707:60:0;7820:14;;7810:6;7794:13;7804:2;-1:-1:-1;;;;;5891:18:0;5864:7;5891:18;;;:9;:18;;;;;;;5798:119;7794:13;:22;;;;:::i;:::-;:40;;7786:79;;;;-1:-1:-1;;;7786:79:0;;11443:2:1;7786:79:0;;;11425:21:1;11482:2;11462:18;;;11455:30;11521:28;11501:18;;;11494:56;11567:18;;7786:79:0;11241:350:1;7786:79:0;7906:13;;-1:-1:-1;;;;;7900:19:0;;;7906:13;;7900:19;:43;;;;-1:-1:-1;;;;;;7923:20:0;;7938:4;7923:20;;7900:43;7897:124;;;7976:29;8001:3;7976:20;7987:8;;7976:6;:10;;:20;;;;:::i;:29::-;7964:41;;7897:124;8086:4;8037:28;5891:18;;;:9;:18;;;;;;8112:6;;-1:-1:-1;;;8112:6:0;;;;8111:7;:30;;;;-1:-1:-1;8128:13:0;;-1:-1:-1;;;;;8122:19:0;;;8128:13;;8122:19;8111:30;:45;;;;-1:-1:-1;8145:11:0;;-1:-1:-1;;;8145:11:0;;;;8111:45;:89;;;;;8183:17;;8160:20;:40;8111:89;8107:392;;;8221:69;8238:51;8242:6;8250:38;8254:20;8276:11;;8250:3;:38::i;:::-;8238:3;:51::i;:::-;8221:16;:69::i;:::-;8338:21;8382:22;;8378:106;;8429:35;8442:21;8429:12;:35::i;:::-;8202:297;8107:392;7478:1032;7425:1085;8525:13;;8522:166;;8597:4;8579:24;;;;:9;:24;;;;;;:39;;8608:9;8579:28;:39::i;:::-;8570:4;8552:24;;;;:9;:24;;;;;;;:66;;;;8636:40;;-1:-1:-1;;;;;8636:40:0;;;;;;;8666:9;1422:25:1;;1410:2;1395:18;;1276:177;8636:40:0;;;;;;;;8522:166;-1:-1:-1;;;;;8716:15:0;;;;;;:9;:15;;;;;;:27;;8736:6;8716:19;:27::i;:::-;-1:-1:-1;;;;;8698:15:0;;;;;;:9;:15;;;;;:45;8770:40;8788:21;:6;8799:9;8788:10;:21::i;:::-;-1:-1:-1;;;;;8770:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;8754:13:0;;;;;;;:9;:13;;;;;:56;;;;8826:41;;;8845:21;:6;8856:9;8845:10;:21::i;:::-;8826:41;;1422:25:1;;;1410:2;1395:18;8826:41:0;;;;;;;7153:1722;7084:1791;;;:::o;1477:190::-;1563:7;1599:12;1591:6;;;;1583:29;;;;-1:-1:-1;;;1583:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1623:9:0;1635:5;1639:1;1635;:5;:::i;:::-;1623:17;1477:190;-1:-1:-1;;;;;1477:190:0:o;8991:483::-;4997:6;:13;;-1:-1:-1;;;;4997:13:0;-1:-1:-1;;;4997:13:0;;;9093:16:::1;::::0;;9107:1:::1;9093:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9093:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9093:16:0::1;9069:40;;9138:4;9120;9125:1;9120:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9120:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9164:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;9164:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;9120:7;;9164:22;;;;;:15;:22:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9154:4;9159:1;9154:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9154:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;9229:15:::1;::::0;9197:62:::1;::::0;9214:4:::1;::::0;9229:15:::1;9247:11:::0;9197:8:::1;:62::i;:::-;9270:15;::::0;:196:::1;::::0;-1:-1:-1;;;9270:196:0;;-1:-1:-1;;;;;9270:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;9351:11;;9270:15:::1;::::0;9393:4;;9420::::1;::::0;9440:15:::1;::::0;9270:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;5033:6:0;:14;;-1:-1:-1;;;;5033:14:0;;;-1:-1:-1;;;;8991:483:0:o;9652:92::-;9709:10;;:27;;-1:-1:-1;;;;;9709:10:0;;;;:27;;;;;9729:6;;9709:10;:27;:10;:27;9729:6;9709:10;:27;;;;;;;;;;;;;;;;;;;1675:246;1733:7;1757:1;1762;1757:6;1753:47;;-1:-1:-1;1787:1:0;1780:8;;1753:47;1810:9;1822:5;1826:1;1822;:5;:::i;:::-;1810:17;-1:-1:-1;1855:1:0;1846:5;1850:1;1810:17;1846:5;:::i;:::-;:10;1838:56;;;;-1:-1:-1;;;1838:56:0;;13290:2:1;1838:56:0;;;13272:21:1;13329:2;13309:18;;;13302:30;13368:34;13348:18;;;13341:62;-1:-1:-1;;;13419:18:1;;;13412:31;13460:19;;1838:56:0;13088:397:1;1929:132:0;1987:7;2014:39;2018:1;2021;2014:39;;;;;;;;;;;;;;;;;:3;:39::i;8885:98::-;8942:7;8969:1;8967;:3;8966:9;;8974:1;8966:9;;;-1:-1:-1;8972:1:0;8885:98;-1:-1:-1;8885:98:0:o;1146:179::-;1204:7;;1236:5;1240:1;1236;:5;:::i;:::-;1224:17;;1265:1;1260;:6;;1252:46;;;;-1:-1:-1;;;1252:46:0;;13692:2:1;1252:46:0;;;13674:21:1;13731:2;13711:18;;;13704:30;13770:29;13750:18;;;13743:57;13817:18;;1252:46:0;13490:351:1;1333:136:0;1391:7;1418:43;1422:1;1425;1418:43;;;;;;;;;;;;;;;;;:3;:43::i;2069:189::-;2155:7;2190:12;2183:5;2175:28;;;;-1:-1:-1;;;2175:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2214:9:0;2226:5;2230:1;2226;:5;:::i;14:418:1:-;163:2;152:9;145:21;126:4;195:6;189:13;238:6;233:2;222:9;218:18;211:34;297:6;292:2;284:6;280:15;275:2;264:9;260:18;254:50;353:1;348:2;339:6;328:9;324:22;320:31;313:42;423:2;416;412:7;407:2;399:6;395:15;391:29;380:9;376:45;372:54;364:62;;;14:418;;;;:::o;437:131::-;-1:-1:-1;;;;;512:31:1;;502:42;;492:70;;558:1;555;548:12;573:134;641:20;;670:31;641:20;670:31;:::i;:::-;573:134;;;:::o;712:367::-;780:6;788;841:2;829:9;820:7;816:23;812:32;809:52;;;857:1;854;847:12;809:52;896:9;883:23;915:31;940:5;915:31;:::i;:::-;965:5;1043:2;1028:18;;;;1015:32;;-1:-1:-1;;;712:367:1:o;1458:508::-;1535:6;1543;1551;1604:2;1592:9;1583:7;1579:23;1575:32;1572:52;;;1620:1;1617;1610:12;1572:52;1659:9;1646:23;1678:31;1703:5;1678:31;:::i;:::-;1728:5;-1:-1:-1;1785:2:1;1770:18;;1757:32;1798:33;1757:32;1798:33;:::i;:::-;1458:508;;1850:7;;-1:-1:-1;;;1930:2:1;1915:18;;;;1902:32;;1458:508::o;2160:127::-;2221:10;2216:3;2212:20;2209:1;2202:31;2252:4;2249:1;2242:15;2276:4;2273:1;2266:15;2292:1127;2376:6;2429:2;2417:9;2408:7;2404:23;2400:32;2397:52;;;2445:1;2442;2435:12;2397:52;2485:9;2472:23;2518:18;2510:6;2507:30;2504:50;;;2550:1;2547;2540:12;2504:50;2573:22;;2626:4;2618:13;;2614:27;-1:-1:-1;2604:55:1;;2655:1;2652;2645:12;2604:55;2695:2;2682:16;2721:18;2713:6;2710:30;2707:56;;;2743:18;;:::i;:::-;2789:6;2786:1;2782:14;2825:2;2819:9;2888:2;2884:7;2879:2;2875;2871:11;2867:25;2859:6;2855:38;2959:6;2947:10;2944:22;2923:18;2911:10;2908:34;2905:62;2902:88;;;2970:18;;:::i;:::-;3006:2;2999:22;3056;;;3106:2;3136:11;;;3132:20;;;3056:22;3094:15;;3164:19;;;3161:39;;;3196:1;3193;3186:12;3161:39;3228:2;3224;3220:11;3209:22;;3240:148;3256:6;3251:3;3248:15;3240:148;;;3322:23;3341:3;3322:23;:::i;:::-;3310:36;;3375:2;3273:12;;;;3366;3240:148;;;-1:-1:-1;3407:6:1;2292:1127;-1:-1:-1;;;;;;2292:1127:1:o;3424:247::-;3483:6;3536:2;3524:9;3515:7;3511:23;3507:32;3504:52;;;3552:1;3549;3542:12;3504:52;3591:9;3578:23;3610:31;3635:5;3610:31;:::i;3676:346::-;3744:6;3752;3805:2;3793:9;3784:7;3780:23;3776:32;3773:52;;;3821:1;3818;3811:12;3773:52;-1:-1:-1;;3866:23:1;;;3986:2;3971:18;;;3958:32;;-1:-1:-1;3676:346:1:o;4235:388::-;4303:6;4311;4364:2;4352:9;4343:7;4339:23;4335:32;4332:52;;;4380:1;4377;4370:12;4332:52;4419:9;4406:23;4438:31;4463:5;4438:31;:::i;:::-;4488:5;-1:-1:-1;4545:2:1;4530:18;;4517:32;4558:33;4517:32;4558:33;:::i;:::-;4610:7;4600:17;;;4235:388;;;;;:::o;4628:356::-;4830:2;4812:21;;;4849:18;;;4842:30;4908:34;4903:2;4888:18;;4881:62;4975:2;4960:18;;4628:356::o;4989:127::-;5050:10;5045:3;5041:20;5038:1;5031:31;5081:4;5078:1;5071:15;5105:4;5102:1;5095:15;5121:230;5191:6;5244:2;5232:9;5223:7;5219:23;5215:32;5212:52;;;5260:1;5257;5250:12;5212:52;-1:-1:-1;5305:16:1;;5121:230;-1:-1:-1;5121:230:1:o;5922:277::-;5989:6;6042:2;6030:9;6021:7;6017:23;6013:32;6010:52;;;6058:1;6055;6048:12;6010:52;6090:9;6084:16;6143:5;6136:13;6129:21;6122:5;6119:32;6109:60;;6165:1;6162;6155:12;6556:251;6626:6;6679:2;6667:9;6658:7;6654:23;6650:32;6647:52;;;6695:1;6692;6685:12;6647:52;6727:9;6721:16;6746:31;6771:5;6746:31;:::i;7725:456::-;7813:6;7821;7829;7882:2;7870:9;7861:7;7857:23;7853:32;7850:52;;;7898:1;7895;7888:12;7850:52;-1:-1:-1;;7943:16:1;;8049:2;8034:18;;8028:25;8145:2;8130:18;;;8124:25;7943:16;;8028:25;;-1:-1:-1;8124:25:1;7725:456;-1:-1:-1;7725:456:1:o;10979:127::-;11040:10;11035:3;11031:20;11028:1;11021:31;11071:4;11068:1;11061:15;11095:4;11092:1;11085:15;11111:125;11176:9;;;11197:10;;;11194:36;;;11210:18;;:::i;11596:128::-;11663:9;;;11684:11;;;11681:37;;;11698:18;;:::i;11729:959::-;11991:4;12039:3;12028:9;12024:19;12070:6;12059:9;12052:25;12113:6;12108:2;12097:9;12093:18;12086:34;12156:3;12151:2;12140:9;12136:18;12129:31;12180:6;12215;12209:13;12246:6;12238;12231:22;12284:3;12273:9;12269:19;12262:26;;12323:2;12315:6;12311:15;12297:29;;12344:1;12354:195;12368:6;12365:1;12362:13;12354:195;;;12433:13;;-1:-1:-1;;;;;12429:39:1;12417:52;;12498:2;12524:15;;;;12489:12;;;;12465:1;12383:9;12354:195;;;-1:-1:-1;;;;;;;12605:32:1;;;;12600:2;12585:18;;12578:60;-1:-1:-1;;12669:3:1;12654:19;12647:35;12566:3;11729:959;-1:-1:-1;;;11729:959:1:o;12693:168::-;12766:9;;;12797;;12814:15;;;12808:22;;12794:37;12784:71;;12835:18;;:::i;12866:217::-;12906:1;12932;12922:132;;12976:10;12971:3;12967:20;12964:1;12957:31;13011:4;13008:1;13001:15;13039:4;13036:1;13029:15;12922:132;-1:-1:-1;13068:9:1;;12866:217::o
Swarm Source
ipfs://cda00c37f8757b2a3fd6c31965962473d07ff4400ab267e2f7be8f968dc314fa
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.