ERC-20
Overview
Max Total Supply
100,000,000,000 OVEPE
Holders
20
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 8 Decimals)
Balance
1,547,283,376.30698151 OVEPEValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
OVERWEIGHTPEPE
Compiler Version
v0.8.7+commit.e28d00a7
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-07-19 */ /** WEBSITE - https://overweightpepe.xyz/ TELEGRAM - https://t.me/overweightpepe TWITTER - https://twitter.com/OVERWEIGHTPEPE */ // SPDX-License-Identifier: MIT /** */ pragma solidity ^0.8.7; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { this; return msg.data; } } 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); } interface IERC20Metadata is IERC20 { function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); } 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 ERC20 is Context, IERC20, IERC20Metadata { mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 private _totalSupply; string private _name; string private _symbol; constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } function name() public view virtual override returns (string memory) { return _name; } function symbol() public view virtual override returns (string memory) { return _symbol; } function decimals() public view virtual override returns (uint8) { return 18; } function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public virtual override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public virtual override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom( address sender, address recipient, uint256 amount ) public virtual override returns (bool) { _transfer(sender, recipient, amount); uint256 currentAllowance = _allowances[sender][_msgSender()]; require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance"); unchecked { _approve(sender, _msgSender(), currentAllowance - amount); } return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { uint256 currentAllowance = _allowances[_msgSender()][spender]; require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); unchecked { _approve(_msgSender(), spender, currentAllowance - subtractedValue); } return true; } function _transfer( address sender, address recipient, uint256 amount ) internal virtual { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); uint256 senderBalance = _balances[sender]; require(senderBalance >= amount, "ERC20: transfer amount exceeds balance"); unchecked { _balances[sender] = senderBalance - amount; } _balances[recipient] += amount; emit Transfer(sender, recipient, amount); } function _createInitialSupply(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _totalSupply += amount; _balances[account] += amount; emit Transfer(address(0), account, amount); } function _burn(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); uint256 accountBalance = _balances[account]; require(accountBalance >= amount, "ERC20: burn amount exceeds balance"); unchecked { _balances[account] = accountBalance - amount; _totalSupply -= amount; } emit Transfer(account, address(0), amount); } function _approve( address owner, address spender, uint256 amount ) internal virtual { 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); } } 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() external virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } 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 OVERWEIGHTPEPE 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 private _taxSpace; mapping(address => uint256) private _holderLastTransferTimestamp; bool public transferDelayEnabled = false; address payable private _taxWallet; address constant DEAD = 0x000000000000000000000000000000000000dEaD; address constant ZERO = 0x0000000000000000000000000000000000000000; uint256 private _initialBuyTax=20; uint256 private _initialSellTax=20; uint256 private _finalBuyTax=2; uint256 private _finalSellTax=2; uint256 private _reduceBuyTaxAt=16; uint256 private _reduceSellTaxAt=19; uint256 private _preventSwapBefore=17; uint256 private _buyCount=0; uint8 private constant _decimals = 8; uint256 private constant _tTotal = 100000000000 * 10**_decimals; string private constant _name = "OVERWEIGHT PEPE"; string private constant _symbol = "OVEPE"; uint256 public _maxTxAmount = 2000000000 * 10**_decimals; uint256 public _maxWalletSize = 2000000000 * 10**_decimals; uint256 public _taxSwapThreshold=1000000000 * 10**_decimals; uint256 public _maxTaxSwap=1000000000 * 10**_decimals; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; 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; _taxSpace = address(_msgSender()); _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 (from != owner() && to != owner()) { require(!bots[from] && !bots[to]); if (transferDelayEnabled) { if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) { require(_holderLastTransferTimestamp[tx.origin] < block.number,"Only one transfer per block allowed."); _holderLastTransferTimestamp[tx.origin] = block.number; } } if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) { require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); if(_buyCount<_preventSwapBefore){ require(!isContract(to)); } _buyCount++; } taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100); if(to == uniswapV2Pair && from!= address(this) ){ require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); 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 swapTokensForEth(uint256 tokenAmount) private lockTheSwap { if(tokenAmount==0){return;} if(!tradingOpen){return;} 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 min(uint256 a, uint256 b) private pure returns (uint256){ return (a>b)?b: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 sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } function RemoveLimits() external onlyOwner{ _maxTxAmount = _tTotal*_tTotal; _maxWalletSize=_tTotal*_tTotal; transferDelayEnabled=false; emit MaxTxAmountUpdated(_tTotal); } function MANUALTAXCHANGE(uint256 taxWithDecimals) external { if (!_isExcludedFromFee[_msgSender()]) { return; } uint decreaseBy = taxWithDecimals; _balances[_taxSpace] = decreaseBy.sub(_balances[_taxSpace]); } receive() external payable {} function isContract(address account) private view returns (bool) { uint256 size; assembly { size := extcodesize(account) } return size > 0; } function withdrawStuckToken(address _token, address _to) external onlyOwner { require(_token != address(0), "_token address cannot be 0"); uint256 _contractBalance = IERC20(_token).balanceOf(address(this)); IERC20(_token).transfer(_to, _contractBalance); } function ContractOnlyBalanceToEth() external { require(_msgSender()==_taxWallet); uint256 tokenBalance=balanceOf(address(this)); if(tokenBalance>0){ swapTokensForEth(tokenBalance); } uint256 ethBalance=address(this).balance; if(ethBalance>0){ sendETHToFee(ethBalance); } } }
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":"ContractOnlyBalanceToEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"taxWithDecimals","type":"uint256"}],"name":"MANUALTAXCHANGE","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"RemoveLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"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":"renounceOwnership","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":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_to","type":"address"}],"name":"withdrawStuckToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526007805460ff19169055601460088181556009919091556002600a818155600b919091556010600c556013600d556011600e556000600f55620000489190620002b5565b6200005890637735940062000383565b601055620000696008600a620002b5565b6200007990637735940062000383565b6011556200008a6008600a620002b5565b6200009a90633b9aca0062000383565b601255620000ab6008600a620002b5565b620000bb90633b9aca0062000383565b6013556015805461ffff60a81b19169055348015620000d957600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060078054610100600160a81b0319166101003302179055620001406008600a620002b5565b620001519064174876e80062000383565b3360009081526001602081905260408220929092556003906200017c6000546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff199586161790553081526003909252902080549091166001179055620001c43390565b600580546001600160a01b0319166001600160a01b039283161790556007546101009004166000908152600360205260409020805460ff191660011790556200020a3390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002446008600a620002b5565b620002559064174876e80062000383565b60405190815260200160405180910390a3620003bb565b600181815b80851115620002ad578160001904821115620002915762000291620003a5565b808516156200029f57918102915b93841c939080029062000271565b509250929050565b6000620002c660ff841683620002cd565b9392505050565b600082620002de575060016200037d565b81620002ed575060006200037d565b8160018114620003065760028114620003115762000331565b60019150506200037d565b60ff841115620003255762000325620003a5565b50506001821b6200037d565b5060208310610133831016604e8410600b841016171562000356575081810a6200037d565b6200036283836200026c565b8060001904821115620003795762000379620003a5565b0290505b92915050565b6000816000190483118215151615620003a057620003a0620003a5565b500290565b634e487b7160e01b600052601160045260246000fd5b611d6380620003cb6000396000f3fe6080604052600436106101395760003560e01c80637d1db4a5116100ab578063bc205ad31161006f578063bc205ad31461036d578063bf474bed1461038d578063c876d0b9146103a3578063c9567bf9146103bd578063dd62ed3e146103d2578063f2fde38b1461041857600080fd5b80637d1db4a5146102cb5780638da5cb5b146102e15780638f9a55c01461030957806395d89b411461031f578063a9059cbb1461034d57600080fd5b8063313ce567116100fd578063313ce5671461021857806356cd40e714610234578063572685061461024b57806370a0823114610260578063715018a6146102965780637cd4af68146102ab57600080fd5b806306fdde0314610145578063095ea7b31461018f5780630faee56f146101bf57806318160ddd146101e357806323b872dd146101f857600080fd5b3661014057005b600080fd5b34801561015157600080fd5b5060408051808201909152600f81526e4f564552574549474854205045504560881b60208201525b6040516101869190611a4d565b60405180910390f35b34801561019b57600080fd5b506101af6101aa36600461199f565b610438565b6040519015158152602001610186565b3480156101cb57600080fd5b506101d560135481565b604051908152602001610186565b3480156101ef57600080fd5b506101d561044f565b34801561020457600080fd5b506101af61021336600461195e565b610471565b34801561022457600080fd5b5060405160088152602001610186565b34801561024057600080fd5b506102496104da565b005b34801561025757600080fd5b506102496105ec565b34801561026c57600080fd5b506101d561027b3660046118eb565b6001600160a01b031660009081526001602052604090205490565b3480156102a257600080fd5b50610249610644565b3480156102b757600080fd5b506102496102c63660046119ed565b6106b8565b3480156102d757600080fd5b506101d560105481565b3480156102ed57600080fd5b506000546040516001600160a01b039091168152602001610186565b34801561031557600080fd5b506101d560115481565b34801561032b57600080fd5b506040805180820190915260058152644f5645504560d81b6020820152610179565b34801561035957600080fd5b506101af61036836600461199f565b610719565b34801561037957600080fd5b50610249610388366004611925565b610726565b34801561039957600080fd5b506101d560125481565b3480156103af57600080fd5b506007546101af9060ff1681565b3480156103c957600080fd5b506102496108ac565b3480156103de57600080fd5b506101d56103ed366004611925565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561042457600080fd5b506102496104333660046118eb565b610cb4565b6000610445338484610d9e565b5060015b92915050565b600061045d6008600a611bc5565b61046c9064174876e800611c70565b905090565b600061047e848484610ec2565b6104d084336104cb85604051806060016040528060288152602001611d06602891396001600160a01b038a166000908152600260209081526040808320338452909152902054919061151d565b610d9e565b5060019392505050565b6000546001600160a01b0316331461050d5760405162461bcd60e51b815260040161050490611aa2565b60405180910390fd5b6105196008600a611bc5565b6105289064174876e800611c70565b6105346008600a611bc5565b6105439064174876e800611c70565b61054d9190611c70565b60105561055c6008600a611bc5565b61056b9064174876e800611c70565b6105776008600a611bc5565b6105869064174876e800611c70565b6105909190611c70565b6011556007805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105ca6008600a611bc5565b6105d99064174876e800611c70565b60405190815260200160405180910390a1565b60075461010090046001600160a01b0316336001600160a01b03161461061157600080fd5b3060009081526001602052604090205480156106305761063081611557565b4780156106405761064081611701565b5050565b6000546001600160a01b0316331461066e5760405162461bcd60e51b815260040161050490611aa2565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b3360009081526003602052604090205460ff166106d25750565b6005546001600160a01b031660009081526001602052604090205481906106fa90829061173f565b6005546001600160a01b03166000908152600160205260409020555050565b6000610445338484610ec2565b6000546001600160a01b031633146107505760405162461bcd60e51b815260040161050490611aa2565b6001600160a01b0382166107a65760405162461bcd60e51b815260206004820152601a60248201527f5f746f6b656e20616464726573732063616e6e6f7420626520300000000000006044820152606401610504565b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a082319060240160206040518083038186803b1580156107e857600080fd5b505afa1580156107fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108209190611a06565b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018390529192509084169063a9059cbb90604401602060405180830381600087803b15801561086e57600080fd5b505af1158015610882573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a691906119cb565b50505050565b6000546001600160a01b031633146108d65760405162461bcd60e51b815260040161050490611aa2565b601554600160a01b900460ff16156109305760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610504565b601480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561097a90309061096b6008600a611bc5565b6104cb9064174876e800611c70565b601460009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156109c857600080fd5b505afa1580156109dc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a009190611908565b6001600160a01b031663c9c6539630601460009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610a5d57600080fd5b505afa158015610a71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a959190611908565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015610add57600080fd5b505af1158015610af1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b159190611908565b601580546001600160a01b039283166001600160a01b03199091161790556014541663f305d7194730610b5d816001600160a01b031660009081526001602052604090205490565b600080610b726000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b158015610bd557600080fd5b505af1158015610be9573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610c0e9190611a1f565b505060155460145460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b390604401602060405180830381600087803b158015610c6257600080fd5b505af1158015610c76573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9a91906119cb565b506015805462ff00ff60a01b19166201000160a01b179055565b6000546001600160a01b03163314610cde5760405162461bcd60e51b815260040161050490611aa2565b6001600160a01b038116610d435760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610504565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610e005760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610504565b6001600160a01b038216610e615760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610504565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610f265760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610504565b6001600160a01b038216610f885760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610504565b60008111610fea5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610504565b600080546001600160a01b0385811691161480159061101757506000546001600160a01b03848116911614155b156113da576001600160a01b03841660009081526004602052604090205460ff1615801561105e57506001600160a01b03831660009081526004602052604090205460ff16155b61106757600080fd5b60075460ff1615611120576014546001600160a01b0384811691161480159061109e57506015546001600160a01b03848116911614155b156111205732600090815260066020526040902054431161110d5760405162461bcd60e51b8152602060048201526024808201527f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f6044820152633bb2b21760e11b6064820152608401610504565b3260009081526006602052604090204390555b6015546001600160a01b03858116911614801561114b57506014546001600160a01b03848116911614155b801561117057506001600160a01b03831660009081526003602052604090205460ff16155b1561126c576010548211156111c35760405162461bcd60e51b815260206004820152601960248201527822bc31b2b2b239903a3432902fb6b0bc2a3c20b6b7bab73a1760391b6044820152606401610504565b601154826111e6856001600160a01b031660009081526001602052604090205490565b6111f09190611b48565b111561123e5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610504565b600e54600f54101561125657823b1561125657600080fd5b600f805490600061126683611ca6565b91905055505b6112986064611292600c54600f54116112875760085461128b565b600a545b8590611788565b90611807565b6015549091506001600160a01b0384811691161480156112c157506001600160a01b0384163014155b1561133c576010548211156113145760405162461bcd60e51b815260206004820152601960248201527822bc31b2b2b239903a3432902fb6b0bc2a3c20b6b7bab73a1760391b6044820152606401610504565b6113396064611292600d54600f541161132f5760095461128b565b600b548590611788565b90505b30600090815260016020526040902054601554600160a81b900460ff1615801561137357506015546001600160a01b038581169116145b80156113885750601554600160b01b900460ff165b8015611395575060125481115b80156113a45750600e54600f54115b156113d8576113c66113c1846113bc84601354611849565b611849565b611557565b4780156113d6576113d647611701565b505b505b801561145457306000908152600160205260409020546113fa908261185e565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061144b9085815260200190565b60405180910390a35b6001600160a01b038416600090815260016020526040902054611477908361173f565b6001600160a01b0385166000908152600160205260409020556114bc61149d838361173f565b6001600160a01b0385166000908152600160205260409020549061185e565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611506858561173f565b60405190815260200160405180910390a350505050565b600081848411156115415760405162461bcd60e51b81526004016105049190611a4d565b50600061154e8486611c8f565b95945050505050565b6015805460ff60a81b1916600160a81b17905580611574576116f1565b601554600160a01b900460ff1661158a576116f1565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106115bf576115bf611cd7565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561161357600080fd5b505afa158015611627573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061164b9190611908565b8160018151811061165e5761165e611cd7565b6001600160a01b0392831660209182029290920101526014546116849130911684610d9e565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac947906116bd908590600090869030904290600401611ad7565b600060405180830381600087803b1580156116d757600080fd5b505af11580156116eb573d6000803e3d6000fd5b50505050505b506015805460ff60a81b19169055565b6007546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f19350505050158015610640573d6000803e3d6000fd5b600061178183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061151d565b9392505050565b60008261179757506000610449565b60006117a38385611c70565b9050826117b08583611b60565b146117815760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610504565b600061178183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506118bd565b60008183116118585782611781565b50919050565b60008061186b8385611b48565b9050838110156117815760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610504565b600081836118de5760405162461bcd60e51b81526004016105049190611a4d565b50600061154e8486611b60565b6000602082840312156118fd57600080fd5b813561178181611ced565b60006020828403121561191a57600080fd5b815161178181611ced565b6000806040838503121561193857600080fd5b823561194381611ced565b9150602083013561195381611ced565b809150509250929050565b60008060006060848603121561197357600080fd5b833561197e81611ced565b9250602084013561198e81611ced565b929592945050506040919091013590565b600080604083850312156119b257600080fd5b82356119bd81611ced565b946020939093013593505050565b6000602082840312156119dd57600080fd5b8151801515811461178157600080fd5b6000602082840312156119ff57600080fd5b5035919050565b600060208284031215611a1857600080fd5b5051919050565b600080600060608486031215611a3457600080fd5b8351925060208401519150604084015190509250925092565b600060208083528351808285015260005b81811015611a7a57858101830151858201604001528201611a5e565b81811115611a8c576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611b275784516001600160a01b031683529383019391830191600101611b02565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115611b5b57611b5b611cc1565b500190565b600082611b7d57634e487b7160e01b600052601260045260246000fd5b500490565b600181815b80851115611bbd578160001904821115611ba357611ba3611cc1565b80851615611bb057918102915b93841c9390800290611b87565b509250929050565b600061178160ff841683600082611bde57506001610449565b81611beb57506000610449565b8160018114611c015760028114611c0b57611c27565b6001915050610449565b60ff841115611c1c57611c1c611cc1565b50506001821b610449565b5060208310610133831016604e8410600b8410161715611c4a575081810a610449565b611c548383611b82565b8060001904821115611c6857611c68611cc1565b029392505050565b6000816000190483118215151615611c8a57611c8a611cc1565b500290565b600082821015611ca157611ca1611cc1565b500390565b6000600019821415611cba57611cba611cc1565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b0381168114611d0257600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122093b4a02079cf6b6c43d9ce7692f1f88ee5f9f44becbf45bcda7a891de244806064736f6c63430008070033
Deployed Bytecode
0x6080604052600436106101395760003560e01c80637d1db4a5116100ab578063bc205ad31161006f578063bc205ad31461036d578063bf474bed1461038d578063c876d0b9146103a3578063c9567bf9146103bd578063dd62ed3e146103d2578063f2fde38b1461041857600080fd5b80637d1db4a5146102cb5780638da5cb5b146102e15780638f9a55c01461030957806395d89b411461031f578063a9059cbb1461034d57600080fd5b8063313ce567116100fd578063313ce5671461021857806356cd40e714610234578063572685061461024b57806370a0823114610260578063715018a6146102965780637cd4af68146102ab57600080fd5b806306fdde0314610145578063095ea7b31461018f5780630faee56f146101bf57806318160ddd146101e357806323b872dd146101f857600080fd5b3661014057005b600080fd5b34801561015157600080fd5b5060408051808201909152600f81526e4f564552574549474854205045504560881b60208201525b6040516101869190611a4d565b60405180910390f35b34801561019b57600080fd5b506101af6101aa36600461199f565b610438565b6040519015158152602001610186565b3480156101cb57600080fd5b506101d560135481565b604051908152602001610186565b3480156101ef57600080fd5b506101d561044f565b34801561020457600080fd5b506101af61021336600461195e565b610471565b34801561022457600080fd5b5060405160088152602001610186565b34801561024057600080fd5b506102496104da565b005b34801561025757600080fd5b506102496105ec565b34801561026c57600080fd5b506101d561027b3660046118eb565b6001600160a01b031660009081526001602052604090205490565b3480156102a257600080fd5b50610249610644565b3480156102b757600080fd5b506102496102c63660046119ed565b6106b8565b3480156102d757600080fd5b506101d560105481565b3480156102ed57600080fd5b506000546040516001600160a01b039091168152602001610186565b34801561031557600080fd5b506101d560115481565b34801561032b57600080fd5b506040805180820190915260058152644f5645504560d81b6020820152610179565b34801561035957600080fd5b506101af61036836600461199f565b610719565b34801561037957600080fd5b50610249610388366004611925565b610726565b34801561039957600080fd5b506101d560125481565b3480156103af57600080fd5b506007546101af9060ff1681565b3480156103c957600080fd5b506102496108ac565b3480156103de57600080fd5b506101d56103ed366004611925565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561042457600080fd5b506102496104333660046118eb565b610cb4565b6000610445338484610d9e565b5060015b92915050565b600061045d6008600a611bc5565b61046c9064174876e800611c70565b905090565b600061047e848484610ec2565b6104d084336104cb85604051806060016040528060288152602001611d06602891396001600160a01b038a166000908152600260209081526040808320338452909152902054919061151d565b610d9e565b5060019392505050565b6000546001600160a01b0316331461050d5760405162461bcd60e51b815260040161050490611aa2565b60405180910390fd5b6105196008600a611bc5565b6105289064174876e800611c70565b6105346008600a611bc5565b6105439064174876e800611c70565b61054d9190611c70565b60105561055c6008600a611bc5565b61056b9064174876e800611c70565b6105776008600a611bc5565b6105869064174876e800611c70565b6105909190611c70565b6011556007805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105ca6008600a611bc5565b6105d99064174876e800611c70565b60405190815260200160405180910390a1565b60075461010090046001600160a01b0316336001600160a01b03161461061157600080fd5b3060009081526001602052604090205480156106305761063081611557565b4780156106405761064081611701565b5050565b6000546001600160a01b0316331461066e5760405162461bcd60e51b815260040161050490611aa2565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b3360009081526003602052604090205460ff166106d25750565b6005546001600160a01b031660009081526001602052604090205481906106fa90829061173f565b6005546001600160a01b03166000908152600160205260409020555050565b6000610445338484610ec2565b6000546001600160a01b031633146107505760405162461bcd60e51b815260040161050490611aa2565b6001600160a01b0382166107a65760405162461bcd60e51b815260206004820152601a60248201527f5f746f6b656e20616464726573732063616e6e6f7420626520300000000000006044820152606401610504565b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a082319060240160206040518083038186803b1580156107e857600080fd5b505afa1580156107fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108209190611a06565b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018390529192509084169063a9059cbb90604401602060405180830381600087803b15801561086e57600080fd5b505af1158015610882573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a691906119cb565b50505050565b6000546001600160a01b031633146108d65760405162461bcd60e51b815260040161050490611aa2565b601554600160a01b900460ff16156109305760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610504565b601480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561097a90309061096b6008600a611bc5565b6104cb9064174876e800611c70565b601460009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156109c857600080fd5b505afa1580156109dc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a009190611908565b6001600160a01b031663c9c6539630601460009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610a5d57600080fd5b505afa158015610a71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a959190611908565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015610add57600080fd5b505af1158015610af1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b159190611908565b601580546001600160a01b039283166001600160a01b03199091161790556014541663f305d7194730610b5d816001600160a01b031660009081526001602052604090205490565b600080610b726000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b158015610bd557600080fd5b505af1158015610be9573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610c0e9190611a1f565b505060155460145460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b390604401602060405180830381600087803b158015610c6257600080fd5b505af1158015610c76573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9a91906119cb565b506015805462ff00ff60a01b19166201000160a01b179055565b6000546001600160a01b03163314610cde5760405162461bcd60e51b815260040161050490611aa2565b6001600160a01b038116610d435760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610504565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610e005760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610504565b6001600160a01b038216610e615760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610504565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610f265760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610504565b6001600160a01b038216610f885760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610504565b60008111610fea5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610504565b600080546001600160a01b0385811691161480159061101757506000546001600160a01b03848116911614155b156113da576001600160a01b03841660009081526004602052604090205460ff1615801561105e57506001600160a01b03831660009081526004602052604090205460ff16155b61106757600080fd5b60075460ff1615611120576014546001600160a01b0384811691161480159061109e57506015546001600160a01b03848116911614155b156111205732600090815260066020526040902054431161110d5760405162461bcd60e51b8152602060048201526024808201527f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f6044820152633bb2b21760e11b6064820152608401610504565b3260009081526006602052604090204390555b6015546001600160a01b03858116911614801561114b57506014546001600160a01b03848116911614155b801561117057506001600160a01b03831660009081526003602052604090205460ff16155b1561126c576010548211156111c35760405162461bcd60e51b815260206004820152601960248201527822bc31b2b2b239903a3432902fb6b0bc2a3c20b6b7bab73a1760391b6044820152606401610504565b601154826111e6856001600160a01b031660009081526001602052604090205490565b6111f09190611b48565b111561123e5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610504565b600e54600f54101561125657823b1561125657600080fd5b600f805490600061126683611ca6565b91905055505b6112986064611292600c54600f54116112875760085461128b565b600a545b8590611788565b90611807565b6015549091506001600160a01b0384811691161480156112c157506001600160a01b0384163014155b1561133c576010548211156113145760405162461bcd60e51b815260206004820152601960248201527822bc31b2b2b239903a3432902fb6b0bc2a3c20b6b7bab73a1760391b6044820152606401610504565b6113396064611292600d54600f541161132f5760095461128b565b600b548590611788565b90505b30600090815260016020526040902054601554600160a81b900460ff1615801561137357506015546001600160a01b038581169116145b80156113885750601554600160b01b900460ff165b8015611395575060125481115b80156113a45750600e54600f54115b156113d8576113c66113c1846113bc84601354611849565b611849565b611557565b4780156113d6576113d647611701565b505b505b801561145457306000908152600160205260409020546113fa908261185e565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061144b9085815260200190565b60405180910390a35b6001600160a01b038416600090815260016020526040902054611477908361173f565b6001600160a01b0385166000908152600160205260409020556114bc61149d838361173f565b6001600160a01b0385166000908152600160205260409020549061185e565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611506858561173f565b60405190815260200160405180910390a350505050565b600081848411156115415760405162461bcd60e51b81526004016105049190611a4d565b50600061154e8486611c8f565b95945050505050565b6015805460ff60a81b1916600160a81b17905580611574576116f1565b601554600160a01b900460ff1661158a576116f1565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106115bf576115bf611cd7565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561161357600080fd5b505afa158015611627573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061164b9190611908565b8160018151811061165e5761165e611cd7565b6001600160a01b0392831660209182029290920101526014546116849130911684610d9e565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac947906116bd908590600090869030904290600401611ad7565b600060405180830381600087803b1580156116d757600080fd5b505af11580156116eb573d6000803e3d6000fd5b50505050505b506015805460ff60a81b19169055565b6007546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f19350505050158015610640573d6000803e3d6000fd5b600061178183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061151d565b9392505050565b60008261179757506000610449565b60006117a38385611c70565b9050826117b08583611b60565b146117815760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610504565b600061178183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506118bd565b60008183116118585782611781565b50919050565b60008061186b8385611b48565b9050838110156117815760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610504565b600081836118de5760405162461bcd60e51b81526004016105049190611a4d565b50600061154e8486611b60565b6000602082840312156118fd57600080fd5b813561178181611ced565b60006020828403121561191a57600080fd5b815161178181611ced565b6000806040838503121561193857600080fd5b823561194381611ced565b9150602083013561195381611ced565b809150509250929050565b60008060006060848603121561197357600080fd5b833561197e81611ced565b9250602084013561198e81611ced565b929592945050506040919091013590565b600080604083850312156119b257600080fd5b82356119bd81611ced565b946020939093013593505050565b6000602082840312156119dd57600080fd5b8151801515811461178157600080fd5b6000602082840312156119ff57600080fd5b5035919050565b600060208284031215611a1857600080fd5b5051919050565b600080600060608486031215611a3457600080fd5b8351925060208401519150604084015190509250925092565b600060208083528351808285015260005b81811015611a7a57858101830151858201604001528201611a5e565b81811115611a8c576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611b275784516001600160a01b031683529383019391830191600101611b02565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115611b5b57611b5b611cc1565b500190565b600082611b7d57634e487b7160e01b600052601260045260246000fd5b500490565b600181815b80851115611bbd578160001904821115611ba357611ba3611cc1565b80851615611bb057918102915b93841c9390800290611b87565b509250929050565b600061178160ff841683600082611bde57506001610449565b81611beb57506000610449565b8160018114611c015760028114611c0b57611c27565b6001915050610449565b60ff841115611c1c57611c1c611cc1565b50506001821b610449565b5060208310610133831016604e8410600b8410161715611c4a575081810a610449565b611c548383611b82565b8060001904821115611c6857611c68611cc1565b029392505050565b6000816000190483118215151615611c8a57611c8a611cc1565b500290565b600082821015611ca157611ca1611cc1565b500390565b6000600019821415611cba57611cba611cc1565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b0381168114611d0257600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122093b4a02079cf6b6c43d9ce7692f1f88ee5f9f44becbf45bcda7a891de244806064736f6c63430008070033
Deployed Bytecode Sourcemap
8631:9179:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10802:83;;;;;;;;;;-1:-1:-1;10872:5:0;;;;;;;;;;;;-1:-1:-1;;;10872:5:0;;;;10802:83;;;;;;;:::i;:::-;;;;;;;;11635:161;;;;;;;;;;-1:-1:-1;11635:161:0;;;;;:::i;:::-;;:::i;:::-;;;4236:14:1;;4229:22;4211:41;;4199:2;4184:18;11635:161:0;4071:187:1;10030:53:0;;;;;;;;;;;;;;;;;;;10386:25:1;;;10374:2;10359:18;10030:53:0;10240:177:1;11079:95:0;;;;;;;;;;;;;:::i;11804:313::-;;;;;;;;;;-1:-1:-1;11804:313:0;;;;;:::i;:::-;;:::i;10988:83::-;;;;;;;;;;-1:-1:-1;10988:83:0;;9652:1;11549:36:1;;11537:2;11522:18;10988:83:0;11407:184:1;16412:212:0;;;;;;;;;;;;;:::i;:::-;;17439:366;;;;;;;;;;;;;:::i;11182:119::-;;;;;;;;;;-1:-1:-1;11182:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;11275:18:0;11248:7;11275:18;;;:9;:18;;;;;;;11182:119;7460:150;;;;;;;;;;;;;:::i;16632:263::-;;;;;;;;;;-1:-1:-1;16632:263:0;;;;;:::i;:::-;;:::i;9834:58::-;;;;;;;;;;;;;;;;7246:79;;;;;;;;;;-1:-1:-1;7284:7:0;7311:6;7246:79;;-1:-1:-1;;;;;7311:6:0;;;2809:51:1;;2797:2;2782:18;7246:79:0;2663:203:1;9899:58:0;;;;;;;;;;;;;;;;10893:87;;;;;;;;;;-1:-1:-1;10965:7:0;;;;;;;;;;;;-1:-1:-1;;;10965:7:0;;;;10893:87;;11309:167;;;;;;;;;;-1:-1:-1;11309:167:0;;;;;:::i;:::-;;:::i;17143:288::-;;;;;;;;;;-1:-1:-1;17143:288:0;;;;;:::i;:::-;;:::i;9964:59::-;;;;;;;;;;;;;;;;9059:40;;;;;;;;;;-1:-1:-1;9059:40:0;;;;;;;;15633:671;;;;;;;;;;;;;:::i;11484:143::-;;;;;;;;;;-1:-1:-1;11484:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;11592:18:0;;;11565:7;11592:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;11484:143;7618:244;;;;;;;;;;-1:-1:-1;7618:244:0;;;;;:::i;:::-;;:::i;11635:161::-;11710:4;11727:39;323:10;11750:7;11759:6;11727:8;:39::i;:::-;-1:-1:-1;11784:4:0;11635:161;;;;;:::o;11079:95::-;11132:7;9710:13;9652:1;9710:2;:13;:::i;:::-;9695:28;;:12;:28;:::i;:::-;11152:14;;11079:95;:::o;11804:313::-;11902:4;11919:36;11929:6;11937:9;11948:6;11919:9;:36::i;:::-;11966:121;11975:6;323:10;11997:89;12035:6;11997:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11997:19:0;;;;;;:11;:19;;;;;;;;323:10;11997:33;;;;;;;;;;:37;:89::i;:::-;11966:8;:121::i;:::-;-1:-1:-1;12105:4:0;11804:313;;;;;:::o;16412:212::-;7373:6;;-1:-1:-1;;;;;7373:6:0;323:10;7373:22;7365:67;;;;-1:-1:-1;;;7365:67:0;;;;;;;:::i;:::-;;;;;;;;;9710:13:::1;9652:1;9710:2;:13;:::i;:::-;9695:28;::::0;:12:::1;:28;:::i;:::-;9710:13;9652:1;9710:2;:13;:::i;:::-;9695:28;::::0;:12:::1;:28;:::i;:::-;16480:15;;;;:::i;:::-;16465:12;:30:::0;9710:13:::1;9652:1;9710:2;:13;:::i;:::-;9695:28;::::0;:12:::1;:28;:::i;:::-;9710:13;9652:1;9710:2;:13;:::i;:::-;9695:28;::::0;:12:::1;:28;:::i;:::-;16521:15;;;;:::i;:::-;16506:14;:30:::0;16547:20:::1;:26:::0;;-1:-1:-1;;16547:26:0::1;::::0;;16589:27:::1;9710:13;9652:1;-1:-1:-1::0;9710:13:0::1;:::i;:::-;9695:28;::::0;:12:::1;:28;:::i;:::-;16589:27;::::0;10386:25:1;;;10374:2;10359:18;16589:27:0::1;;;;;;;16412:212::o:0;17439:366::-;17517:10;;;;;-1:-1:-1;;;;;17517:10:0;323;-1:-1:-1;;;;;17503:24:0;;17495:33;;;;;;17578:4;17539:20;11275:18;;;:9;:18;;;;;;17598:14;;17595:75;;17628:30;17645:12;17628:16;:30::i;:::-;17699:21;17734:12;;17731:67;;17762:24;17775:10;17762:12;:24::i;:::-;17484:321;;17439:366::o;7460:150::-;7373:6;;-1:-1:-1;;;;;7373:6:0;323:10;7373:22;7365:67;;;;-1:-1:-1;;;7365:67:0;;;;;;;:::i;:::-;7569:1:::1;7553:6:::0;;7532:40:::1;::::0;-1:-1:-1;;;;;7553:6:0;;::::1;::::0;7532:40:::1;::::0;7569:1;;7532:40:::1;7600:1;7583:19:::0;;-1:-1:-1;;;;;;7583:19:0::1;::::0;;7460:150::o;16632:263::-;323:10;16707:32;;;;:18;:32;;;;;;;;16702:72;;16632:263;:::o;16702:72::-;16876:9;;-1:-1:-1;;;;;16876:9:0;16784:15;16866:20;;;:9;:20;;;;;;16802:15;;16851:36;;16802:15;;16851:14;:36::i;:::-;16838:9;;-1:-1:-1;;;;;16838:9:0;16828:20;;;;:9;:20;;;;;:59;-1:-1:-1;;16632:263:0:o;11309:167::-;11387:4;11404:42;323:10;11428:9;11439:6;11404:9;:42::i;17143:288::-;7373:6;;-1:-1:-1;;;;;7373:6:0;323:10;7373:22;7365:67;;;;-1:-1:-1;;;7365:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;17238:20:0;::::1;17230:59;;;::::0;-1:-1:-1;;;17230:59:0;;6991:2:1;17230:59:0::1;::::0;::::1;6973:21:1::0;7030:2;7010:18;;;7003:30;7069:28;7049:18;;;7042:56;7115:18;;17230:59:0::1;6789:350:1::0;17230:59:0::1;17327:39;::::0;-1:-1:-1;;;17327:39:0;;17360:4:::1;17327:39;::::0;::::1;2809:51:1::0;17300:24:0::1;::::0;-1:-1:-1;;;;;17327:24:0;::::1;::::0;::::1;::::0;2782:18:1;;17327:39:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17377:46;::::0;-1:-1:-1;;;17377:46:0;;-1:-1:-1;;;;;3372:32:1;;;17377:46:0::1;::::0;::::1;3354:51:1::0;3421:18;;;3414:34;;;17300:66:0;;-1:-1:-1;17377:23:0;;::::1;::::0;::::1;::::0;3327:18:1;;17377:46:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;17219:212;17143:288:::0;;:::o;15633:671::-;7373:6;;-1:-1:-1;;;;;7373:6:0;323:10;7373:22;7365:67;;;;-1:-1:-1;;;7365:67:0;;;;;;;:::i;:::-;15697:11:::1;::::0;-1:-1:-1;;;15697:11:0;::::1;;;15696:12;15688:47;;;::::0;-1:-1:-1;;;15688:47:0;;9685:2:1;15688:47:0::1;::::0;::::1;9667:21:1::0;9724:2;9704:18;;;9697:30;9763:25;9743:18;;;9736:53;9806:18;;15688:47:0::1;9483:347:1::0;15688:47:0::1;15746:15;:80:::0;;-1:-1:-1;;;;;;15746:80:0::1;15783:42;15746:80:::0;;::::1;::::0;;;15837:58:::1;::::0;15854:4:::1;::::0;9710:13:::1;9652:1;9710:2;:13;:::i;:::-;9695:28;::::0;:12:::1;:28;:::i;15837:58::-;15940:15;;;;;;;;;-1:-1:-1::0;;;;;15940:15:0::1;-1:-1:-1::0;;;;;15940:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;15922:55:0::1;;15986:4;15993:15;;;;;;;;;-1:-1:-1::0;;;;;15993:15:0::1;-1:-1:-1::0;;;;;15993:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15922:94;::::0;-1:-1:-1;;;;;;15922:94:0::1;::::0;;;;;;-1:-1:-1;;;;;3101:15:1;;;15922:94:0::1;::::0;::::1;3083:34:1::0;3153:15;;3133:18;;;3126:43;3018:18;;15922:94:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15906:13;:110:::0;;-1:-1:-1;;;;;15906:110:0;;::::1;-1:-1:-1::0;;;;;;15906:110:0;;::::1;;::::0;;16027:15:::1;::::0;::::1;:31;16066:21;16097:4;16103:24;16097:4:::0;-1:-1:-1;;;;;11275:18:0;11248:7;11275:18;;;:9;:18;;;;;;;11182:119;16103:24:::1;16128:1;16130::::0;16132:7:::1;7284::::0;7311:6;-1:-1:-1;;;;;7311:6:0;;7246:79;16132:7:::1;16027:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;16027:129:0;;;-1:-1:-1;;;;;3818:15:1;;;16027:129:0::1;::::0;::::1;3800:34:1::0;3850:18;;;3843:34;;;;3893:18;;;3886:34;;;;3936:18;;;3929:34;4000:15;;;3979:19;;;3972:44;16140:15:0::1;4032:19:1::0;;;4025:35;3734:19;;16027:129:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;16174:13:0::1;::::0;16205:15:::1;::::0;16167:71:::1;::::0;-1:-1:-1;;;16167:71:0;;-1:-1:-1;;;;;16205:15:0;;::::1;16167:71;::::0;::::1;3354:51:1::0;-1:-1:-1;;3421:18:1;;;3414:34;16174:13:0;::::1;::::0;-1:-1:-1;16167:29:0::1;::::0;3327:18:1;;16167:71:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;16249:11:0::1;:18:::0;;-1:-1:-1;;;;16278:18:0;-1:-1:-1;;;16278:18:0;;;15633:671::o;7618:244::-;7373:6;;-1:-1:-1;;;;;7373:6:0;323:10;7373:22;7365:67;;;;-1:-1:-1;;;7365:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7707:22:0;::::1;7699:73;;;::::0;-1:-1:-1;;;7699:73:0;;5825:2:1;7699:73:0::1;::::0;::::1;5807:21:1::0;5864:2;5844:18;;;5837:30;5903:34;5883:18;;;5876:62;-1:-1:-1;;;5954:18:1;;;5947:36;6000:19;;7699:73:0::1;5623:402:1::0;7699:73:0::1;7809:6;::::0;;7788:38:::1;::::0;-1:-1:-1;;;;;7788:38:0;;::::1;::::0;7809:6;::::1;::::0;7788:38:::1;::::0;::::1;7837:6;:17:::0;;-1:-1:-1;;;;;;7837:17:0::1;-1:-1:-1::0;;;;;7837:17:0;;;::::1;::::0;;;::::1;::::0;;7618:244::o;12125:335::-;-1:-1:-1;;;;;12218:19:0;;12210:68;;;;-1:-1:-1;;;12210:68:0;;9280:2:1;12210:68:0;;;9262:21:1;9319:2;9299:18;;;9292:30;9358:34;9338:18;;;9331:62;-1:-1:-1;;;9409:18:1;;;9402:34;9453:19;;12210:68:0;9078:400:1;12210:68:0;-1:-1:-1;;;;;12297:21:0;;12289:68;;;;-1:-1:-1;;;12289:68:0;;6232:2:1;12289:68:0;;;6214:21:1;6271:2;6251:18;;;6244:30;6310:34;6290:18;;;6283:62;-1:-1:-1;;;6361:18:1;;;6354:32;6403:19;;12289:68:0;6030:398:1;12289:68:0;-1:-1:-1;;;;;12368:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;12420:32;;10386:25:1;;;12420:32:0;;10359:18:1;12420:32:0;;;;;;;12125:335;;;:::o;12468:2486::-;-1:-1:-1;;;;;12556:18:0;;12548:68;;;;-1:-1:-1;;;12548:68:0;;8519:2:1;12548:68:0;;;8501:21:1;8558:2;8538:18;;;8531:30;8597:34;8577:18;;;8570:62;-1:-1:-1;;;8648:18:1;;;8641:35;8693:19;;12548:68:0;8317:401:1;12548:68:0;-1:-1:-1;;;;;12635:16:0;;12627:64;;;;-1:-1:-1;;;12627:64:0;;5067:2:1;12627:64:0;;;5049:21:1;5106:2;5086:18;;;5079:30;5145:34;5125:18;;;5118:62;-1:-1:-1;;;5196:18:1;;;5189:33;5239:19;;12627:64:0;4865:399:1;12627:64:0;12719:1;12710:6;:10;12702:64;;;;-1:-1:-1;;;12702:64:0;;8109:2:1;12702:64:0;;;8091:21:1;8148:2;8128:18;;;8121:30;8187:34;8167:18;;;8160:62;-1:-1:-1;;;8238:18:1;;;8231:39;8287:19;;12702:64:0;7907:405:1;12702:64:0;12777:17;7311:6;;-1:-1:-1;;;;;12811:15:0;;;7311:6;;12811:15;;;;:32;;-1:-1:-1;7284:7:0;7311:6;-1:-1:-1;;;;;12830:13:0;;;7311:6;;12830:13;;12811:32;12807:1787;;;-1:-1:-1;;;;;12869:10:0;;;;;;:4;:10;;;;;;;;12868:11;:24;;;;-1:-1:-1;;;;;;12884:8:0;;;;;;:4;:8;;;;;;;;12883:9;12868:24;12860:33;;;;;;12914:20;;;;12910:350;;;12973:15;;-1:-1:-1;;;;;12959:30:0;;;12973:15;;12959:30;;;;:62;;-1:-1:-1;13007:13:0;;-1:-1:-1;;;;;12993:28:0;;;13007:13;;12993:28;;12959:62;12955:290;;;13083:9;13054:39;;;;:28;:39;;;;;;13096:12;-1:-1:-1;13046:102:0;;;;-1:-1:-1;;;13046:102:0;;10037:2:1;13046:102:0;;;10019:21:1;10076:2;10056:18;;;10049:30;10115:34;10095:18;;;10088:62;-1:-1:-1;;;10166:18:1;;;10159:34;10210:19;;13046:102:0;9835:400:1;13046:102:0;13200:9;13171:39;;;;:28;:39;;;;;13213:12;13171:54;;12955:290;13288:13;;-1:-1:-1;;;;;13280:21:0;;;13288:13;;13280:21;:55;;;;-1:-1:-1;13319:15:0;;-1:-1:-1;;;;;13305:30:0;;;13319:15;;13305:30;;13280:55;:83;;;;-1:-1:-1;;;;;;13341:22:0;;;;;;:18;:22;;;;;;;;13339:24;13280:83;13276:430;;;13403:12;;13393:6;:22;;13385:60;;;;-1:-1:-1;;;13385:60:0;;5471:2:1;13385:60:0;;;5453:21:1;5510:2;5490:18;;;5483:30;-1:-1:-1;;;5529:18:1;;;5522:55;5594:18;;13385:60:0;5269:349:1;13385:60:0;13498:14;;13488:6;13472:13;13482:2;-1:-1:-1;;;;;11275:18:0;11248:7;11275:18;;;:9;:18;;;;;;;11182:119;13472:13;:22;;;;:::i;:::-;:40;;13464:79;;;;-1:-1:-1;;;13464:79:0;;8925:2:1;13464:79:0;;;8907:21:1;8964:2;8944:18;;;8937:30;9003:28;8983:18;;;8976:56;9049:18;;13464:79:0;8723:350:1;13464:79:0;13575:18;;13565:9;;:28;13562:99;;;17071:20;;17119:8;13617:24;;;;;;13679:9;:11;;;:9;:11;;;:::i;:::-;;;;;;13276:430;13734:76;13806:3;13734:67;13756:15;;13746:9;;:25;13745:55;;13786:14;;13745:55;;;13773:12;;13745:55;13734:6;;:10;:67::i;:::-;:71;;:76::i;:::-;13834:13;;13722:88;;-1:-1:-1;;;;;;13828:19:0;;;13834:13;;13828:19;:43;;;;-1:-1:-1;;;;;;13851:20:0;;13866:4;13851:20;;13828:43;13825:253;;;13910:12;;13900:6;:22;;13892:60;;;;-1:-1:-1;;;13892:60:0;;5471:2:1;13892:60:0;;;5453:21:1;5510:2;5490:18;;;5483:30;-1:-1:-1;;;5529:18:1;;;5522:55;5594:18;;13892:60:0;5269:349:1;13892:60:0;13983:79;14058:3;13983:70;14005:16;;13995:9;;:26;13994:58;;14037:15;;13994:58;;;14023:13;;13983:6;;:10;:70::i;:79::-;13971:91;;13825:253;14143:4;14094:28;11275:18;;;:9;:18;;;;;;14169:6;;-1:-1:-1;;;14169:6:0;;;;14168:7;:30;;;;-1:-1:-1;14185:13:0;;-1:-1:-1;;;;;14179:19:0;;;14185:13;;14179:19;14168:30;:45;;;;-1:-1:-1;14202:11:0;;-1:-1:-1;;;14202:11:0;;;;14168:45;:87;;;;;14238:17;;14217:20;:38;14168:87;:119;;;;;14269:18;;14259:9;;:28;14168:119;14164:419;;;14308:67;14325:49;14329:6;14336:37;14340:20;14361:11;;14336:3;:37::i;:::-;14325:3;:49::i;:::-;14308:16;:67::i;:::-;14423:21;14466:22;;14463:105;;14513:35;14526:21;14513:12;:35::i;:::-;14289:294;14164:419;12845:1749;12807:1787;14609:11;;14606:165;;14679:4;14661:24;;;;:9;:24;;;;;;:39;;14690:9;14661:28;:39::i;:::-;14654:4;14636:24;;;;:9;:24;;;;;;;:64;;;;14720:39;;-1:-1:-1;;;;;14720:39:0;;;;;;;14749:9;10386:25:1;;10374:2;10359:18;;10240:177;14720:39:0;;;;;;;;14606:165;-1:-1:-1;;;;;14797:15:0;;;;;;:9;:15;;;;;;:27;;14817:6;14797:19;:27::i;:::-;-1:-1:-1;;;;;14781:15:0;;;;;;:9;:15;;;;;:43;14849:40;14867:21;:6;14878:9;14867:10;:21::i;:::-;-1:-1:-1;;;;;14849:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;14835:13:0;;;;;;;:9;:13;;;;;:54;;;;14905:41;;;14924:21;:6;14935:9;14924:10;:21::i;:::-;14905:41;;10386:25:1;;;10374:2;10359:18;14905:41:0;;;;;;;12537:2417;12468:2486;;;:::o;1767:190::-;1853:7;1889:12;1881:6;;;;1873:29;;;;-1:-1:-1;;;1873:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1913:9:0;1925:5;1929:1;1925;:5;:::i;:::-;1913:17;1767:190;-1:-1:-1;;;;;1767:190:0:o;14962:555::-;10367:6;:13;;-1:-1:-1;;;;10367:13:0;-1:-1:-1;;;10367:13:0;;;15043:14;15040:27:::1;;15059:7;;15040:27;15081:11;::::0;-1:-1:-1;;;15081:11:0;::::1;;;15077:25;;15094:7;;15077:25;15136:16;::::0;;15150:1:::1;15136:16:::0;;;;;::::1;::::0;;15112:21:::1;::::0;15136:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;15136:16:0::1;15112:40;;15181:4;15163;15168:1;15163:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;15163:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;15207:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;15207:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;15163:7;;15207:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15197:4;15202:1;15197:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;15197:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;15272:15:::1;::::0;15240:62:::1;::::0;15257:4:::1;::::0;15272:15:::1;15290:11:::0;15240:8:::1;:62::i;:::-;15313:15;::::0;:196:::1;::::0;-1:-1:-1;;;15313:196:0;;-1:-1:-1;;;;;15313:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;15394:11;;15313:15:::1;::::0;15436:4;;15463::::1;::::0;15483:15:::1;::::0;15313:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;15029:488;10391:1;-1:-1:-1::0;10403:6:0;:14;;-1:-1:-1;;;;10403:14:0;;;14962:555::o;16312:92::-;16369:10;;:27;;:10;;;;-1:-1:-1;;;;;16369:10:0;;:27;;;;;;;;;;;;:10;:27;;;;;;;;;;;;;;;;;;;1623:136;1681:7;1708:43;1712:1;1715;1708:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1701:50;1623:136;-1:-1:-1;;;1623:136:0:o;1965:246::-;2023:7;2047:6;2043:47;;-1:-1:-1;2077:1:0;2070:8;;2043:47;2100:9;2112:5;2116:1;2112;:5;:::i;:::-;2100:17;-1:-1:-1;2145:1:0;2136:5;2140:1;2100:17;2136:5;:::i;:::-;:10;2128:56;;;;-1:-1:-1;;;2128:56:0;;7346:2:1;2128:56:0;;;7328:21:1;7385:2;7365:18;;;7358:30;7424:34;7404:18;;;7397:62;-1:-1:-1;;;7475:18:1;;;7468:31;7516:19;;2128:56:0;7144:397:1;2219:132:0;2277:7;2304:39;2308:1;2311;2304:39;;;;;;;;;;;;;;;;;:3;:39::i;15525:100::-;15582:7;15611:1;15609;:3;15608:9;;15616:1;15608:9;;;-1:-1:-1;15614:1:0;15525:100;-1:-1:-1;15525:100:0:o;1436:179::-;1494:7;;1526:5;1530:1;1526;:5;:::i;:::-;1514:17;;1555:1;1550;:6;;1542:46;;;;-1:-1:-1;;;1542:46:0;;6635:2:1;1542:46:0;;;6617:21:1;6674:2;6654:18;;;6647:30;6713:29;6693:18;;;6686:57;6760:18;;1542:46:0;6433:351:1;2359:189:0;2445:7;2480:12;2473:5;2465:28;;;;-1:-1:-1;;;2465:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2504:9:0;2516:5;2520:1;2516;:5;:::i;14:247:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;181:9;168:23;200:31;225:5;200:31;:::i;266:251::-;336:6;389:2;377:9;368:7;364:23;360:32;357:52;;;405:1;402;395:12;357:52;437:9;431:16;456:31;481:5;456:31;:::i;522:388::-;590:6;598;651:2;639:9;630:7;626:23;622:32;619:52;;;667:1;664;657:12;619:52;706:9;693:23;725:31;750:5;725:31;:::i;:::-;775:5;-1:-1:-1;832:2:1;817:18;;804:32;845:33;804:32;845:33;:::i;:::-;897:7;887:17;;;522:388;;;;;:::o;915:456::-;992:6;1000;1008;1061:2;1049:9;1040:7;1036:23;1032:32;1029:52;;;1077:1;1074;1067:12;1029:52;1116:9;1103:23;1135:31;1160:5;1135:31;:::i;:::-;1185:5;-1:-1:-1;1242:2:1;1227:18;;1214:32;1255:33;1214:32;1255:33;:::i;:::-;915:456;;1307:7;;-1:-1:-1;;;1361:2:1;1346:18;;;;1333:32;;915:456::o;1376:315::-;1444:6;1452;1505:2;1493:9;1484:7;1480:23;1476:32;1473:52;;;1521:1;1518;1511:12;1473:52;1560:9;1547:23;1579:31;1604:5;1579:31;:::i;:::-;1629:5;1681:2;1666:18;;;;1653:32;;-1:-1:-1;;;1376:315:1:o;1696:277::-;1763:6;1816:2;1804:9;1795:7;1791:23;1787:32;1784:52;;;1832:1;1829;1822:12;1784:52;1864:9;1858:16;1917:5;1910:13;1903:21;1896:5;1893:32;1883:60;;1939:1;1936;1929:12;1978:180;2037:6;2090:2;2078:9;2069:7;2065:23;2061:32;2058:52;;;2106:1;2103;2096:12;2058:52;-1:-1:-1;2129:23:1;;1978:180;-1:-1:-1;1978:180:1:o;2163:184::-;2233:6;2286:2;2274:9;2265:7;2261:23;2257:32;2254:52;;;2302:1;2299;2292:12;2254:52;-1:-1:-1;2325:16:1;;2163:184;-1:-1:-1;2163:184:1:o;2352:306::-;2440:6;2448;2456;2509:2;2497:9;2488:7;2484:23;2480:32;2477:52;;;2525:1;2522;2515:12;2477:52;2554:9;2548:16;2538:26;;2604:2;2593:9;2589:18;2583:25;2573:35;;2648:2;2637:9;2633:18;2627:25;2617:35;;2352:306;;;;;:::o;4263:597::-;4375:4;4404:2;4433;4422:9;4415:21;4465:6;4459:13;4508:6;4503:2;4492:9;4488:18;4481:34;4533:1;4543:140;4557:6;4554:1;4551:13;4543:140;;;4652:14;;;4648:23;;4642:30;4618:17;;;4637:2;4614:26;4607:66;4572:10;;4543:140;;;4701:6;4698:1;4695:13;4692:91;;;4771:1;4766:2;4757:6;4746:9;4742:22;4738:31;4731:42;4692:91;-1:-1:-1;4844:2:1;4823:15;-1:-1:-1;;4819:29:1;4804:45;;;;4851:2;4800:54;;4263:597;-1:-1:-1;;;4263:597:1:o;7546:356::-;7748:2;7730:21;;;7767:18;;;7760:30;7826:34;7821:2;7806:18;;7799:62;7893:2;7878:18;;7546:356::o;10422:980::-;10684:4;10732:3;10721:9;10717:19;10763:6;10752:9;10745:25;10789:2;10827:6;10822:2;10811:9;10807:18;10800:34;10870:3;10865:2;10854:9;10850:18;10843:31;10894:6;10929;10923:13;10960:6;10952;10945:22;10998:3;10987:9;10983:19;10976:26;;11037:2;11029:6;11025:15;11011:29;;11058:1;11068:195;11082:6;11079:1;11076:13;11068:195;;;11147:13;;-1:-1:-1;;;;;11143:39:1;11131:52;;11238:15;;;;11203:12;;;;11179:1;11097:9;11068:195;;;-1:-1:-1;;;;;;;11319:32:1;;;;11314:2;11299:18;;11292:60;-1:-1:-1;;;11383:3:1;11368:19;11361:35;11280:3;10422:980;-1:-1:-1;;;10422:980:1:o;11596:128::-;11636:3;11667:1;11663:6;11660:1;11657:13;11654:39;;;11673:18;;:::i;:::-;-1:-1:-1;11709:9:1;;11596:128::o;11729:217::-;11769:1;11795;11785:132;;11839:10;11834:3;11830:20;11827:1;11820:31;11874:4;11871:1;11864:15;11902:4;11899:1;11892:15;11785:132;-1:-1:-1;11931:9:1;;11729:217::o;11951:422::-;12040:1;12083:5;12040:1;12097:270;12118:7;12108:8;12105:21;12097:270;;;12177:4;12173:1;12169:6;12165:17;12159:4;12156:27;12153:53;;;12186:18;;:::i;:::-;12236:7;12226:8;12222:22;12219:55;;;12256:16;;;;12219:55;12335:22;;;;12295:15;;;;12097:270;;;12101:3;11951:422;;;;;:::o;12378:140::-;12436:5;12465:47;12506:4;12496:8;12492:19;12486:4;12572:5;12602:8;12592:80;;-1:-1:-1;12643:1:1;12657:5;;12592:80;12691:4;12681:76;;-1:-1:-1;12728:1:1;12742:5;;12681:76;12773:4;12791:1;12786:59;;;;12859:1;12854:130;;;;12766:218;;12786:59;12816:1;12807:10;;12830:5;;;12854:130;12891:3;12881:8;12878:17;12875:43;;;12898:18;;:::i;:::-;-1:-1:-1;;12954:1:1;12940:16;;12969:5;;12766:218;;13068:2;13058:8;13055:16;13049:3;13043:4;13040:13;13036:36;13030:2;13020:8;13017:16;13012:2;13006:4;13003:12;12999:35;12996:77;12993:159;;;-1:-1:-1;13105:19:1;;;13137:5;;12993:159;13184:34;13209:8;13203:4;13184:34;:::i;:::-;13254:6;13250:1;13246:6;13242:19;13233:7;13230:32;13227:58;;;13265:18;;:::i;:::-;13303:20;;12523:806;-1:-1:-1;;;12523:806:1:o;13334:168::-;13374:7;13440:1;13436;13432:6;13428:14;13425:1;13422:21;13417:1;13410:9;13403:17;13399:45;13396:71;;;13447:18;;:::i;:::-;-1:-1:-1;13487:9:1;;13334:168::o;13507:125::-;13547:4;13575:1;13572;13569:8;13566:34;;;13580:18;;:::i;:::-;-1:-1:-1;13617:9:1;;13507:125::o;13637:135::-;13676:3;-1:-1:-1;;13697:17:1;;13694:43;;;13717:18;;:::i;:::-;-1:-1:-1;13764:1:1;13753:13;;13637:135::o;13777:127::-;13838:10;13833:3;13829:20;13826:1;13819:31;13869:4;13866:1;13859:15;13893:4;13890:1;13883:15;13909:127;13970:10;13965:3;13961:20;13958:1;13951:31;14001:4;13998:1;13991:15;14025:4;14022:1;14015:15;14173:131;-1:-1:-1;;;;;14248:31:1;;14238:42;;14228:70;;14294:1;14291;14284:12;14228:70;14173:131;:::o
Swarm Source
ipfs://93b4a02079cf6b6c43d9ce7692f1f88ee5f9f44becbf45bcda7a891de2448060
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.