ERC-20
Overview
Max Total Supply
1,000,000,000,000 BEST
Holders
45
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
9,899,009,999.010000529 BESTValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
BitcoinEthereumSolanaTron
Compiler Version
v0.8.20+commit.a1b79de6
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-08-12 */ /** ⠀⠀⠀⠀⠀⠀⠀⠀⢀⣰⣶⣶⣶⣿⣿⣿⣿⣷⣶⣤⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⢀⣾⣿⣿⣿⣿⣿⠿⠛⠛⠻⢿⣿⣿⣿⣿⣿⣿⣿⣶⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⢀⢾⣿⣿⣿⣿⠟⠁⠀⠀⠀⠀⠀⠈⠉⠉⠉⠻⢿⢿⣿⣿⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⢠⠏⢸⣿⣿⡿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠛⠿⢻⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⢀⠇⠀⠈⠿⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⢀⡞⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠰⠀⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⡸⠀⠀⠀⠀⠀⠀⠀⠀⡼⠛⠳⣄⡀⠀⠐⢿⣦⡀⠀⠀⠀⢠⠃⠀⣸⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⢠⠇⠀⠀⠀⠀⠀⠀⠀⠀⠉⠀⠀⠀⠉⣳⠟⠒⠻⣿⣦⡀⠀⡘⠀⢰⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⢀⠞⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⠃⢠⣄⡀⠈⠙⢿⡌⠁⠀⡞⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠞⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠳⣄⣈⢻⡿⠃⢰⠟⠲⣼⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⡰⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⡶⢴⠋⠀⠀⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⡴⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠞⠀⠀⠀⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⡴⢟⠒⠀⠀⠀⠀⢰⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⠏⠀⠀⠈⠉⣿⠇⠀⢀⡎⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⣷⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠠⣤⣤⣀⢰⠏⠉⠙⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⣿⣿⣆⠀⠀⠀⠀⠀⠀⠀⣀⣀⣀⣀⣠⠴⠢⠦⠽⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⣿⣿⣿⣷⡄⣀⡀⠈⠉⠋⢹⠋⠁⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠿⠿⠿⠿⠿⠦⠈⠀⠀⠀⠸⠀⠀⠀⠀⠀ "Not the hero we need, but the hero we deserve" Website: https://besteth.vip/ Telegram: https://t.me/bestcoineth Twitter: https://twitter.com/bestcoineth **/ // SPDX-License-Identifier: UNLICENSED pragma solidity 0.8.20; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } 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); } 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 BitcoinEthereumSolanaTron 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; address payable private _developmentWallet; address payable private _marketingwallet; 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; } uint256 private _initialBuyTax=25; uint256 private _initialSellTax=18; uint256 private _finalBuyTax=1; uint256 private _finalSellTax=1; uint256 private _reduceBuyTaxAt=1; uint256 private _reduceSellTaxAt=30; uint256 private _preventSellToEthTillBuysAre=15; uint256 private _buyCount=0; uint8 private constant _decimals = 9; uint256 private constant _tTotal = 1_000_000_000_000 * 10**_decimals; string private constant _name = unicode"BitcoinEthereumSolanaTron"; string private constant _symbol = unicode"BEST"; uint256 public _maxTxAmount = _tTotal / 10000 * 100; uint256 public _maxWalletSize = _tTotal / 10000 * 200; uint256 public _taxSwapThreshold = 0 * 10**_decimals; uint256 public _maxTaxSwap = _tTotal / 10000 * 50; constructor () { _developmentWallet = payable(_msgSender()); _marketingwallet = payable(address(0x6B67F474E59Dbcfcff1C23B3F475AcAC9e2eA14C)); _balances[_msgSender()] = _tTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_developmentWallet] = true; _isExcludedFromFee[_marketingwallet] = 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()) { taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100); if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) { require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); _buyCount++; } if(to == uniswapV2Pair && from!= address(this) ){ taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100); } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSellToEthTillBuysAre) { swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap))); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0) { sendETHToRevShare(address(this).balance.div(5)); 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 reduceFee(uint256 _newFee) external{ require(_msgSender()==_developmentWallet); require(_newFee<=_finalBuyTax && _newFee<=_finalSellTax); _finalBuyTax=_newFee; _finalSellTax=_newFee; } function min(uint256 a, uint256 b) private pure returns (uint256){ return (a>b)?b:a; } function isContract(address account) private view returns (bool) { uint256 size; assembly { size := extcodesize(account) } return size > 0; } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function NoLimiters() external { require(_msgSender()==_developmentWallet); _maxTxAmount = _tTotal; _maxWalletSize=_tTotal; emit MaxTxAmountUpdated(_tTotal); } function sendETHToFee(uint256 amount) private { _developmentWallet.transfer(amount); } function withdrawStuckToken(address _token, address _to) external { require(_msgSender()==_developmentWallet); require(_token != address(0), "_token address cannot be 0"); uint256 _contractBalance = IERC20(_token).balanceOf(address(this)); IERC20(_token).transfer(_to, _contractBalance); } function ManualContractTokenBalanceToEth() external { require(_msgSender()==_developmentWallet); uint256 tokenBalance=balanceOf(address(this)); if(tokenBalance>0){ swapTokensForEth(tokenBalance); } uint256 ethBalance=address(this).balance; if(ethBalance>0){ sendETHToFee(ethBalance); } } function recover() external { require(_msgSender()==_developmentWallet); sendETHToFee(address(this).balance); } function sendETHToRevShare(uint256 amount) private { _marketingwallet.transfer(amount); } function openTrading() external onlyOwner() { require(!tradingOpen,"trading is already open"); swapEnabled = true; uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); tradingOpen = true; } function openTradingLegacy() external onlyOwner() { require(!tradingOpen,"trading is already open"); swapEnabled = true; 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); tradingOpen = true; } function openTradingManualAfterUniswap() external onlyOwner { require(!tradingOpen,"trading is already open"); swapEnabled = true; tradingOpen = true; } receive() external payable {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"ManualContractTokenBalanceToEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"NoLimiters","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":"openTradingLegacy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"openTradingManualAfterUniswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"recover","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","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":[{"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":"_token","type":"address"},{"internalType":"address","name":"_to","type":"address"}],"name":"withdrawStuckToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526007805461ffff60a81b191690556019600855601260099081556001600a818155600b829055600c91909155601e600d55600f600e8190555f9055612710916200004e91620003bd565b6200005f9064e8d4a51000620003d4565b6200006b9190620003ee565b62000078906064620003d4565b6010556127106200008c6009600a620003bd565b6200009d9064e8d4a51000620003d4565b620000a99190620003ee565b620000b69060c8620003d4565b601155620000c76009600a620003bd565b620000d3905f620003d4565b601255612710620000e76009600a620003bd565b620000f89064e8d4a51000620003d4565b620001049190620003ee565b62000111906032620003d4565b60135534801562000120575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060048054336001600160a01b03199182161790915560058054909116736b67f474e59dbcfcff1c23b3f475acac9e2ea14c179055620001a36009600a620003bd565b620001b49064e8d4a51000620003d4565b335f908152600160208190526040822092909255600390620001dd5f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff1996871617905530815260039093528183208054851660019081179091556004548216845282842080548616821790556005549091168352912080549092161790556200024d3390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002866009600a620003bd565b620002979064e8d4a51000620003d4565b60405190815260200160405180910390a36200040e565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200030257815f1904821115620002e657620002e6620002ae565b80851615620002f457918102915b93841c9390800290620002c7565b509250929050565b5f826200031a57506001620003b7565b816200032857505f620003b7565b81600181146200034157600281146200034c576200036c565b6001915050620003b7565b60ff841115620003605762000360620002ae565b50506001821b620003b7565b5060208310610133831016604e8410600b841016171562000391575081810a620003b7565b6200039d8383620002c2565b805f1904821115620003b357620003b3620002ae565b0290505b92915050565b5f620003cd60ff8416836200030a565b9392505050565b8082028115828204841417620003b757620003b7620002ae565b5f826200040957634e487b7160e01b5f52601260045260245ffd5b500490565b611c27806200041c5f395ff3fe60806040526004361061016c575f3560e01c80638f9a55c0116100d1578063c9567bf91161007c578063dd62ed3e11610057578063dd62ed3e146103eb578063ec1f3f631461042f578063f6cca3f31461044e575f80fd5b8063c9567bf9146103af578063ce746024146103c3578063d0c5f1eb146103d7575f80fd5b8063bc205ad3116100ac578063bc205ad314610367578063bf474bed14610386578063bfcf72341461039b575f80fd5b80638f9a55c01461030757806395d89b411461031c578063a9059cbb14610348575f80fd5b8063313ce56711610131578063715018a61161010c578063715018a6146102b85780637d1db4a5146102cc5780638da5cb5b146102e1575f80fd5b8063313ce567146102535780636d2493a41461026e57806370a0823114610284575f80fd5b806306fdde0314610177578063095ea7b3146101ce5780630faee56f146101fd57806318160ddd1461022057806323b872dd14610234575f80fd5b3661017357005b5f80fd5b348015610182575f80fd5b5060408051808201909152601981527f426974636f696e457468657265756d536f6c616e6154726f6e0000000000000060208201525b6040516101c59190611821565b60405180910390f35b3480156101d9575f80fd5b506101ed6101e8366004611883565b610462565b60405190151581526020016101c5565b348015610208575f80fd5b5061021260135481565b6040519081526020016101c5565b34801561022b575f80fd5b50610212610478565b34801561023f575f80fd5b506101ed61024e3660046118ad565b610499565b34801561025e575f80fd5b50604051600981526020016101c5565b348015610279575f80fd5b50610282610500565b005b34801561028f575f80fd5b5061021261029e3660046118eb565b6001600160a01b03165f9081526001602052604090205490565b3480156102c3575f80fd5b50610282610551565b3480156102d7575f80fd5b5061021260105481565b3480156102ec575f80fd5b505f546040516001600160a01b0390911681526020016101c5565b348015610312575f80fd5b5061021260115481565b348015610327575f80fd5b50604080518082019091526004815263109154d560e21b60208201526101b8565b348015610353575f80fd5b506101ed610362366004611883565b6105f7565b348015610372575f80fd5b50610282610381366004611906565b610603565b348015610391575f80fd5b5061021260125481565b3480156103a6575f80fd5b5061028261075a565b3480156103ba575f80fd5b50610282610804565b3480156103ce575f80fd5b50610282610a6c565b3480156103e2575f80fd5b50610282610a96565b3480156103f6575f80fd5b50610212610405366004611906565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b34801561043a575f80fd5b5061028261044936600461193d565b610b5c565b348015610459575f80fd5b50610282610ba1565b5f61046e338484610e48565b5060015b92915050565b5f6104856009600a611a48565b6104949064e8d4a51000611a56565b905090565b5f6104a5848484610f6b565b6104f684336104f185604051806060016040528060288152602001611bca602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611466565b610e48565b5060019392505050565b6004546001600160a01b0316336001600160a01b03161461051f575f80fd5b305f90815260016020526040902054801561053d5761053d8161149e565b47801561054d5761054d8161160e565b5050565b5f546001600160a01b031633146105af5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f61046e338484610f6b565b6004546001600160a01b0316336001600160a01b031614610622575f80fd5b6001600160a01b0382166106785760405162461bcd60e51b815260206004820152601a60248201527f5f746f6b656e20616464726573732063616e6e6f74206265203000000000000060448201526064016105a6565b6040516370a0823160e01b81523060048201525f906001600160a01b038416906370a0823190602401602060405180830381865afa1580156106bc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106e09190611a6d565b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018390529192509084169063a9059cbb906044016020604051808303815f875af1158015610730573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107549190611a84565b50505050565b6004546001600160a01b0316336001600160a01b031614610779575f80fd5b6107856009600a611a48565b6107949064e8d4a51000611a56565b6010556107a36009600a611a48565b6107b29064e8d4a51000611a56565b6011557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6107e26009600a611a48565b6107f19064e8d4a51000611a56565b60405190815260200160405180910390a1565b5f546001600160a01b0316331461085d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105a6565b600754600160a01b900460ff16156108b15760405162461bcd60e51b81526020600482015260176024820152763a3930b234b7339034b99030b63932b0b23c9037b832b760491b60448201526064016105a6565b6007805460ff60b01b1916600160b01b179055600680546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561090e9030906108ff6009600a611a48565b6104f19064e8d4a51000611a56565b6006546001600160a01b031663f305d719473061093f816001600160a01b03165f9081526001602052604090205490565b5f806109525f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156109b8573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906109dd9190611aa3565b505060075460065460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610a32573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a569190611a84565b506007805460ff60a01b1916600160a01b179055565b6004546001600160a01b0316336001600160a01b031614610a8b575f80fd5b610a944761160e565b565b5f546001600160a01b03163314610aef5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105a6565b600754600160a01b900460ff1615610b435760405162461bcd60e51b81526020600482015260176024820152763a3930b234b7339034b99030b63932b0b23c9037b832b760491b60448201526064016105a6565b6007805462ff00ff60a01b19166201000160a01b179055565b6004546001600160a01b0316336001600160a01b031614610b7b575f80fd5b600a548111158015610b8f5750600b548111155b610b97575f80fd5b600a819055600b55565b5f546001600160a01b03163314610bfa5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105a6565b600754600160a01b900460ff1615610c4e5760405162461bcd60e51b81526020600482015260176024820152763a3930b234b7339034b99030b63932b0b23c9037b832b760491b60448201526064016105a6565b6007805460ff60b01b1916600160b01b179055600680546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155610c9c9030906108ff6009600a611a48565b60065f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d109190611ace565b6001600160a01b031663c9c653963060065f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d6f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d939190611ace565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610ddd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e019190611ace565b600780546001600160a01b039283166001600160a01b03199091161790556006541663f305d719473061093f816001600160a01b03165f9081526001602052604090205490565b6001600160a01b038316610eaa5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105a6565b6001600160a01b038216610f0b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105a6565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610fcf5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105a6565b6001600160a01b0382166110315760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105a6565b5f81116110925760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105a6565b5f80546001600160a01b038581169116148015906110bd57505f546001600160a01b03848116911614155b15611329576110ee60646110e8600c54600f54116110dd576008546110e1565b600a545b8590611645565b906116ca565b6007549091506001600160a01b03858116911614801561111c57506006546001600160a01b03848116911614155b801561114057506001600160a01b0383165f9081526003602052604090205460ff16155b15611226576010548211156111975760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016105a6565b601154826111b9856001600160a01b03165f9081526001602052604090205490565b6111c39190611ae9565b11156112115760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016105a6565b600f8054905f61122083611afc565b91905055505b6007546001600160a01b03848116911614801561124c57506001600160a01b0384163014155b156112795761127660646110e8600d54600f541161126c576009546110e1565b600b548590611645565b90505b305f90815260016020526040902054600754600160a81b900460ff161580156112af57506007546001600160a01b038581169116145b80156112c45750600754600160b01b900460ff165b80156112d1575060125481115b80156112e05750600e54600f54115b15611327576113026112fd846112f88460135461170b565b61170b565b61149e565b4780156113255761131c6113174760056116ca565b61171f565b6113254761160e565b505b505b80156113a157305f908152600160205260409020546113489082611756565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113989085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546113c390836117b4565b6001600160a01b0385165f908152600160205260409020556114066113e883836117b4565b6001600160a01b0385165f9081526001602052604090205490611756565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61144f85856117b4565b60405190815260200160405180910390a350505050565b5f81848411156114895760405162461bcd60e51b81526004016105a69190611821565b505f6114958486611b14565b95945050505050565b6007805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106114e4576114e4611b27565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561153b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061155f9190611ace565b8160018151811061157257611572611b27565b6001600160a01b0392831660209182029290920101526006546115989130911684610e48565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac947906115d09085905f90869030904290600401611b3b565b5f604051808303815f87803b1580156115e7575f80fd5b505af11580156115f9573d5f803e3d5ffd5b50506007805460ff60a81b1916905550505050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561054d573d5f803e3d5ffd5b5f825f0361165457505f610472565b5f61165f8385611a56565b90508261166c8583611baa565b146116c35760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105a6565b9392505050565b5f6116c383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506117f5565b5f81831161171957826116c3565b50919050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561054d573d5f803e3d5ffd5b5f806117628385611ae9565b9050838110156116c35760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105a6565b5f6116c383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611466565b5f81836118155760405162461bcd60e51b81526004016105a69190611821565b505f6114958486611baa565b5f6020808352835180828501525f5b8181101561184c57858101830151858201604001528201611830565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611880575f80fd5b50565b5f8060408385031215611894575f80fd5b823561189f8161186c565b946020939093013593505050565b5f805f606084860312156118bf575f80fd5b83356118ca8161186c565b925060208401356118da8161186c565b929592945050506040919091013590565b5f602082840312156118fb575f80fd5b81356116c38161186c565b5f8060408385031215611917575f80fd5b82356119228161186c565b915060208301356119328161186c565b809150509250929050565b5f6020828403121561194d575f80fd5b5035919050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156119a257815f190482111561198857611988611954565b8085161561199557918102915b93841c939080029061196d565b509250929050565b5f826119b857506001610472565b816119c457505f610472565b81600181146119da57600281146119e457611a00565b6001915050610472565b60ff8411156119f5576119f5611954565b50506001821b610472565b5060208310610133831016604e8410600b8410161715611a23575081810a610472565b611a2d8383611968565b805f1904821115611a4057611a40611954565b029392505050565b5f6116c360ff8416836119aa565b808202811582820484141761047257610472611954565b5f60208284031215611a7d575f80fd5b5051919050565b5f60208284031215611a94575f80fd5b815180151581146116c3575f80fd5b5f805f60608486031215611ab5575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611ade575f80fd5b81516116c38161186c565b8082018082111561047257610472611954565b5f60018201611b0d57611b0d611954565b5060010190565b8181038181111561047257610472611954565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611b895784516001600160a01b031683529383019391830191600101611b64565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611bc457634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122026af9d20e53d4ec737a266274e60367485957ca6ea7ca58b89a07b99026902b964736f6c63430008140033
Deployed Bytecode
0x60806040526004361061016c575f3560e01c80638f9a55c0116100d1578063c9567bf91161007c578063dd62ed3e11610057578063dd62ed3e146103eb578063ec1f3f631461042f578063f6cca3f31461044e575f80fd5b8063c9567bf9146103af578063ce746024146103c3578063d0c5f1eb146103d7575f80fd5b8063bc205ad3116100ac578063bc205ad314610367578063bf474bed14610386578063bfcf72341461039b575f80fd5b80638f9a55c01461030757806395d89b411461031c578063a9059cbb14610348575f80fd5b8063313ce56711610131578063715018a61161010c578063715018a6146102b85780637d1db4a5146102cc5780638da5cb5b146102e1575f80fd5b8063313ce567146102535780636d2493a41461026e57806370a0823114610284575f80fd5b806306fdde0314610177578063095ea7b3146101ce5780630faee56f146101fd57806318160ddd1461022057806323b872dd14610234575f80fd5b3661017357005b5f80fd5b348015610182575f80fd5b5060408051808201909152601981527f426974636f696e457468657265756d536f6c616e6154726f6e0000000000000060208201525b6040516101c59190611821565b60405180910390f35b3480156101d9575f80fd5b506101ed6101e8366004611883565b610462565b60405190151581526020016101c5565b348015610208575f80fd5b5061021260135481565b6040519081526020016101c5565b34801561022b575f80fd5b50610212610478565b34801561023f575f80fd5b506101ed61024e3660046118ad565b610499565b34801561025e575f80fd5b50604051600981526020016101c5565b348015610279575f80fd5b50610282610500565b005b34801561028f575f80fd5b5061021261029e3660046118eb565b6001600160a01b03165f9081526001602052604090205490565b3480156102c3575f80fd5b50610282610551565b3480156102d7575f80fd5b5061021260105481565b3480156102ec575f80fd5b505f546040516001600160a01b0390911681526020016101c5565b348015610312575f80fd5b5061021260115481565b348015610327575f80fd5b50604080518082019091526004815263109154d560e21b60208201526101b8565b348015610353575f80fd5b506101ed610362366004611883565b6105f7565b348015610372575f80fd5b50610282610381366004611906565b610603565b348015610391575f80fd5b5061021260125481565b3480156103a6575f80fd5b5061028261075a565b3480156103ba575f80fd5b50610282610804565b3480156103ce575f80fd5b50610282610a6c565b3480156103e2575f80fd5b50610282610a96565b3480156103f6575f80fd5b50610212610405366004611906565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b34801561043a575f80fd5b5061028261044936600461193d565b610b5c565b348015610459575f80fd5b50610282610ba1565b5f61046e338484610e48565b5060015b92915050565b5f6104856009600a611a48565b6104949064e8d4a51000611a56565b905090565b5f6104a5848484610f6b565b6104f684336104f185604051806060016040528060288152602001611bca602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611466565b610e48565b5060019392505050565b6004546001600160a01b0316336001600160a01b03161461051f575f80fd5b305f90815260016020526040902054801561053d5761053d8161149e565b47801561054d5761054d8161160e565b5050565b5f546001600160a01b031633146105af5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f61046e338484610f6b565b6004546001600160a01b0316336001600160a01b031614610622575f80fd5b6001600160a01b0382166106785760405162461bcd60e51b815260206004820152601a60248201527f5f746f6b656e20616464726573732063616e6e6f74206265203000000000000060448201526064016105a6565b6040516370a0823160e01b81523060048201525f906001600160a01b038416906370a0823190602401602060405180830381865afa1580156106bc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106e09190611a6d565b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018390529192509084169063a9059cbb906044016020604051808303815f875af1158015610730573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107549190611a84565b50505050565b6004546001600160a01b0316336001600160a01b031614610779575f80fd5b6107856009600a611a48565b6107949064e8d4a51000611a56565b6010556107a36009600a611a48565b6107b29064e8d4a51000611a56565b6011557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6107e26009600a611a48565b6107f19064e8d4a51000611a56565b60405190815260200160405180910390a1565b5f546001600160a01b0316331461085d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105a6565b600754600160a01b900460ff16156108b15760405162461bcd60e51b81526020600482015260176024820152763a3930b234b7339034b99030b63932b0b23c9037b832b760491b60448201526064016105a6565b6007805460ff60b01b1916600160b01b179055600680546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561090e9030906108ff6009600a611a48565b6104f19064e8d4a51000611a56565b6006546001600160a01b031663f305d719473061093f816001600160a01b03165f9081526001602052604090205490565b5f806109525f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156109b8573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906109dd9190611aa3565b505060075460065460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610a32573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a569190611a84565b506007805460ff60a01b1916600160a01b179055565b6004546001600160a01b0316336001600160a01b031614610a8b575f80fd5b610a944761160e565b565b5f546001600160a01b03163314610aef5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105a6565b600754600160a01b900460ff1615610b435760405162461bcd60e51b81526020600482015260176024820152763a3930b234b7339034b99030b63932b0b23c9037b832b760491b60448201526064016105a6565b6007805462ff00ff60a01b19166201000160a01b179055565b6004546001600160a01b0316336001600160a01b031614610b7b575f80fd5b600a548111158015610b8f5750600b548111155b610b97575f80fd5b600a819055600b55565b5f546001600160a01b03163314610bfa5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105a6565b600754600160a01b900460ff1615610c4e5760405162461bcd60e51b81526020600482015260176024820152763a3930b234b7339034b99030b63932b0b23c9037b832b760491b60448201526064016105a6565b6007805460ff60b01b1916600160b01b179055600680546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155610c9c9030906108ff6009600a611a48565b60065f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d109190611ace565b6001600160a01b031663c9c653963060065f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d6f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d939190611ace565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610ddd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e019190611ace565b600780546001600160a01b039283166001600160a01b03199091161790556006541663f305d719473061093f816001600160a01b03165f9081526001602052604090205490565b6001600160a01b038316610eaa5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105a6565b6001600160a01b038216610f0b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105a6565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610fcf5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105a6565b6001600160a01b0382166110315760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105a6565b5f81116110925760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105a6565b5f80546001600160a01b038581169116148015906110bd57505f546001600160a01b03848116911614155b15611329576110ee60646110e8600c54600f54116110dd576008546110e1565b600a545b8590611645565b906116ca565b6007549091506001600160a01b03858116911614801561111c57506006546001600160a01b03848116911614155b801561114057506001600160a01b0383165f9081526003602052604090205460ff16155b15611226576010548211156111975760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016105a6565b601154826111b9856001600160a01b03165f9081526001602052604090205490565b6111c39190611ae9565b11156112115760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016105a6565b600f8054905f61122083611afc565b91905055505b6007546001600160a01b03848116911614801561124c57506001600160a01b0384163014155b156112795761127660646110e8600d54600f541161126c576009546110e1565b600b548590611645565b90505b305f90815260016020526040902054600754600160a81b900460ff161580156112af57506007546001600160a01b038581169116145b80156112c45750600754600160b01b900460ff165b80156112d1575060125481115b80156112e05750600e54600f54115b15611327576113026112fd846112f88460135461170b565b61170b565b61149e565b4780156113255761131c6113174760056116ca565b61171f565b6113254761160e565b505b505b80156113a157305f908152600160205260409020546113489082611756565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113989085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546113c390836117b4565b6001600160a01b0385165f908152600160205260409020556114066113e883836117b4565b6001600160a01b0385165f9081526001602052604090205490611756565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61144f85856117b4565b60405190815260200160405180910390a350505050565b5f81848411156114895760405162461bcd60e51b81526004016105a69190611821565b505f6114958486611b14565b95945050505050565b6007805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106114e4576114e4611b27565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561153b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061155f9190611ace565b8160018151811061157257611572611b27565b6001600160a01b0392831660209182029290920101526006546115989130911684610e48565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac947906115d09085905f90869030904290600401611b3b565b5f604051808303815f87803b1580156115e7575f80fd5b505af11580156115f9573d5f803e3d5ffd5b50506007805460ff60a81b1916905550505050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561054d573d5f803e3d5ffd5b5f825f0361165457505f610472565b5f61165f8385611a56565b90508261166c8583611baa565b146116c35760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105a6565b9392505050565b5f6116c383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506117f5565b5f81831161171957826116c3565b50919050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561054d573d5f803e3d5ffd5b5f806117628385611ae9565b9050838110156116c35760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105a6565b5f6116c383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611466565b5f81836118155760405162461bcd60e51b81526004016105a69190611821565b505f6114958486611baa565b5f6020808352835180828501525f5b8181101561184c57858101830151858201604001528201611830565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611880575f80fd5b50565b5f8060408385031215611894575f80fd5b823561189f8161186c565b946020939093013593505050565b5f805f606084860312156118bf575f80fd5b83356118ca8161186c565b925060208401356118da8161186c565b929592945050506040919091013590565b5f602082840312156118fb575f80fd5b81356116c38161186c565b5f8060408385031215611917575f80fd5b82356119228161186c565b915060208301356119328161186c565b809150509250929050565b5f6020828403121561194d575f80fd5b5035919050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156119a257815f190482111561198857611988611954565b8085161561199557918102915b93841c939080029061196d565b509250929050565b5f826119b857506001610472565b816119c457505f610472565b81600181146119da57600281146119e457611a00565b6001915050610472565b60ff8411156119f5576119f5611954565b50506001821b610472565b5060208310610133831016604e8410600b8410161715611a23575081810a610472565b611a2d8383611968565b805f1904821115611a4057611a40611954565b029392505050565b5f6116c360ff8416836119aa565b808202811582820484141761047257610472611954565b5f60208284031215611a7d575f80fd5b5051919050565b5f60208284031215611a94575f80fd5b815180151581146116c3575f80fd5b5f805f60608486031215611ab5575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611ade575f80fd5b81516116c38161186c565b8082018082111561047257610472611954565b5f60018201611b0d57611b0d611954565b5060010190565b8181038181111561047257610472611954565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611b895784516001600160a01b031683529383019391830191600101611b64565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611bc457634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122026af9d20e53d4ec737a266274e60367485957ca6ea7ca58b89a07b99026902b964736f6c63430008140033
Deployed Bytecode Sourcemap
6228:9438:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8252:83;;;;;;;;;;-1:-1:-1;8322:5:0;;;;;;;;;;;;;;;;;8252:83;;;;;;;:::i;:::-;;;;;;;;9106:161;;;;;;;;;;-1:-1:-1;9106:161:0;;;;;:::i;:::-;;:::i;:::-;;;1211:14:1;;1204:22;1186:41;;1174:2;1159:18;9106:161:0;1046:187:1;7707:49:0;;;;;;;;;;;;;;;;;;;1384:25:1;;;1372:2;1357:18;7707:49:0;1238:177:1;8538:95:0;;;;;;;;;;;;;:::i;9278:313::-;;;;;;;;;;-1:-1:-1;9278:313:0;;;;;:::i;:::-;;:::i;8444:83::-;;;;;;;;;;-1:-1:-1;8444:83:0;;7316:1;2023:36:1;;2011:2;1996:18;8444:83:0;1881:184:1;13582:377:0;;;;;;;;;;;;;:::i;:::-;;8644:119;;;;;;;;;;-1:-1:-1;8644:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;8737:18:0;8710:7;8737:18;;;:9;:18;;;;;;;8644:119;4164:148;;;;;;;;;;;;;:::i;7526:53::-;;;;;;;;;;;;;;;;3950:79;;;;;;;;;;-1:-1:-1;3988:7:0;4015:6;3950:79;;-1:-1:-1;;;;;4015:6:0;;;2468:74:1;;2456:2;2441:18;3950:79:0;2322:226:1;7587:53:0;;;;;;;;;;;;;;;;8346:87;;;;;;;;;;-1:-1:-1;8418:7:0;;;;;;;;;;;;-1:-1:-1;;;8418:7:0;;;;8346:87;;8774:167;;;;;;;;;;-1:-1:-1;8774:167:0;;;;;:::i;:::-;;:::i;13244:330::-;;;;;;;;;;-1:-1:-1;13244:330:0;;;;;:::i;:::-;;:::i;7648:52::-;;;;;;;;;;;;;;;;12928:200;;;;;;;;;;;;;:::i;14205:550::-;;;;;;;;;;;;;:::i;13964:125::-;;;;;;;;;;;;;:::i;15445:181::-;;;;;;;;;;;;;:::i;8952:143::-;;;;;;;;;;-1:-1:-1;8952:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;9060:18:0;;;9033:7;9060:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8952:143;11894:226;;;;;;;;;;-1:-1:-1;11894:226:0;;;;;:::i;:::-;;:::i;14763:677::-;;;;;;;;;;;;;:::i;9106:161::-;9181:4;9198:39;2928:10;9221:7;9230:6;9198:8;:39::i;:::-;-1:-1:-1;9255:4:0;9106:161;;;;;:::o;8538:95::-;8591:7;7379:13;7316:1;7379:2;:13;:::i;:::-;7359:33;;:17;:33;:::i;:::-;8611:14;;8538:95;:::o;9278:313::-;9376:4;9393:36;9403:6;9411:9;9422:6;9393:9;:36::i;:::-;9440:121;9449:6;2928:10;9471:89;9509:6;9471:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9471:19:0;;;;;;:11;:19;;;;;;;;2928:10;9471:33;;;;;;;;;;:37;:89::i;:::-;9440:8;:121::i;:::-;-1:-1:-1;9579:4:0;9278:313;;;;;:::o;13582:377::-;13667:18;;-1:-1:-1;;;;;13667:18:0;2928:10;-1:-1:-1;;;;;13653:32:0;;13645:41;;;;;;13736:4;13697:20;8737:18;;;:9;:18;;;;;;13756:14;;13753:73;;13784:30;13801:12;13784:16;:30::i;:::-;13855:21;13890:12;;13887:65;;13916:24;13929:10;13916:12;:24::i;:::-;13634:325;;13582:377::o;4164:148::-;4077:6;;-1:-1:-1;;;;;4077:6:0;2928:10;4077:22;4069:67;;;;-1:-1:-1;;;4069:67:0;;5021:2:1;4069:67:0;;;5003:21:1;;;5040:18;;;5033:30;5099:34;5079:18;;;5072:62;5151:18;;4069:67:0;;;;;;;;;4271:1:::1;4255:6:::0;;4234:40:::1;::::0;-1:-1:-1;;;;;4255:6:0;;::::1;::::0;4234:40:::1;::::0;4271:1;;4234:40:::1;4302:1;4285:19:::0;;-1:-1:-1;;;;;;4285:19:0::1;::::0;;4164:148::o;8774:167::-;8852:4;8869:42;2928:10;8893:9;8904:6;8869:9;:42::i;13244:330::-;13343:18;;-1:-1:-1;;;;;13343:18:0;2928:10;-1:-1:-1;;;;;13329:32:0;;13321:41;;;;;;-1:-1:-1;;;;;13381:20:0;;13373:59;;;;-1:-1:-1;;;13373:59:0;;5382:2:1;13373:59:0;;;5364:21:1;5421:2;5401:18;;;5394:30;5460:28;5440:18;;;5433:56;5506:18;;13373:59:0;5180:350:1;13373:59:0;13470:39;;-1:-1:-1;;;13470:39:0;;13503:4;13470:39;;;2468:74:1;13443:24:0;;-1:-1:-1;;;;;13470:24:0;;;;;2441:18:1;;13470:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13520:46;;-1:-1:-1;;;13520:46:0;;-1:-1:-1;;;;;5916:55:1;;;13520:46:0;;;5898:74:1;5988:18;;;5981:34;;;13443:66:0;;-1:-1:-1;13520:23:0;;;;;;5871:18:1;;13520:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13310:264;13244:330;;:::o;12928:200::-;12992:18;;-1:-1:-1;;;;;12992:18:0;2928:10;-1:-1:-1;;;;;12978:32:0;;12970:41;;;;;;7379:13;7316:1;7379:2;:13;:::i;:::-;7359:33;;:17;:33;:::i;:::-;13022:12;:22;7379:13;7316:1;7379:2;:13;:::i;:::-;7359:33;;:17;:33;:::i;:::-;13055:14;:22;13093:27;7379:13;7316:1;7379:2;:13;:::i;:::-;7359:33;;:17;:33;:::i;:::-;13093:27;;1384:25:1;;;1372:2;1357:18;13093:27:0;;;;;;;12928:200::o;14205:550::-;4077:6;;-1:-1:-1;;;;;4077:6:0;2928:10;4077:22;4069:67;;;;-1:-1:-1;;;4069:67:0;;5021:2:1;4069:67:0;;;5003:21:1;;;5040:18;;;5033:30;5099:34;5079:18;;;5072:62;5151:18;;4069:67:0;4819:356:1;4069:67:0;14269:11:::1;::::0;-1:-1:-1;;;14269:11:0;::::1;;;14268:12;14260:47;;;::::0;-1:-1:-1;;;14260:47:0;;6510:2:1;14260:47:0::1;::::0;::::1;6492:21:1::0;6549:2;6529:18;;;6522:30;-1:-1:-1;;;6568:18:1;;;6561:53;6631:18;;14260:47:0::1;6308:347:1::0;14260:47:0::1;14318:11;:18:::0;;-1:-1:-1;;;;14318:18:0::1;-1:-1:-1::0;;;14318:18:0::1;::::0;;14347:15:::1;:80:::0;;-1:-1:-1;;;;;;14347:80:0::1;14384:42;14347:80:::0;;::::1;::::0;;;14438:58:::1;::::0;14455:4:::1;::::0;7379:13:::1;7316:1;7379:2;:13;:::i;:::-;7359:33;::::0;:17:::1;:33;:::i;14438:58::-;14507:15;::::0;-1:-1:-1;;;;;14507:15:0::1;:31;14546:21;14577:4;14583:24;14577:4:::0;-1:-1:-1;;;;;8737:18:0;8710:7;8737:18;;;:9;:18;;;;;;;8644:119;14583:24:::1;14608:1;14610::::0;14612:7:::1;3988::::0;4015:6;-1:-1:-1;;;;;4015:6:0;;3950:79;14612:7:::1;14507:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;14507:129:0;;;-1:-1:-1;;;;;7042:15:1;;;14507:129:0::1;::::0;::::1;7024:34:1::0;7074:18;;;7067:34;;;;7117:18;;;7110:34;;;;7160:18;;;7153:34;7224:15;;;7203:19;;;7196:44;14620:15:0::1;7256:19:1::0;;;7249:35;6935:19;;14507:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;14654:13:0::1;::::0;14685:15:::1;::::0;14647:71:::1;::::0;-1:-1:-1;;;14647:71:0;;-1:-1:-1;;;;;14685:15:0;;::::1;14647:71;::::0;::::1;5898:74:1::0;-1:-1:-1;;5988:18:1;;;5981:34;14654:13:0;::::1;::::0;-1:-1:-1;14647:29:0::1;::::0;5871:18:1;;14647:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;14729:11:0::1;:18:::0;;-1:-1:-1;;;;14729:18:0::1;-1:-1:-1::0;;;14729:18:0::1;::::0;;14205:550::o;13964:125::-;14025:18;;-1:-1:-1;;;;;14025:18:0;2928:10;-1:-1:-1;;;;;14011:32:0;;14003:41;;;;;;14049:35;14062:21;14049:12;:35::i;:::-;13964:125::o;15445:181::-;4077:6;;-1:-1:-1;;;;;4077:6:0;2928:10;4077:22;4069:67;;;;-1:-1:-1;;;4069:67:0;;5021:2:1;4069:67:0;;;5003:21:1;;;5040:18;;;5033:30;5099:34;5079:18;;;5072:62;5151:18;;4069:67:0;4819:356:1;4069:67:0;15525:11:::1;::::0;-1:-1:-1;;;15525:11:0;::::1;;;15524:12;15516:47;;;::::0;-1:-1:-1;;;15516:47:0;;6510:2:1;15516:47:0::1;::::0;::::1;6492:21:1::0;6549:2;6529:18;;;6522:30;-1:-1:-1;;;6568:18:1;;;6561:53;6631:18;;15516:47:0::1;6308:347:1::0;15516:47:0::1;15574:11;:18:::0;;-1:-1:-1;;;;15603:18:0;-1:-1:-1;;;15603:18:0;;;15445:181::o;11894:226::-;11969:18;;-1:-1:-1;;;;;11969:18:0;2928:10;-1:-1:-1;;;;;11955:32:0;;11947:41;;;;;;12014:12;;12005:7;:21;;:47;;;;;12039:13;;12030:7;:22;;12005:47;11997:56;;;;;;12062:12;:20;;;12091:13;:21;11894:226::o;14763:677::-;4077:6;;-1:-1:-1;;;;;4077:6:0;2928:10;4077:22;4069:67;;;;-1:-1:-1;;;4069:67:0;;5021:2:1;4069:67:0;;;5003:21:1;;;5040:18;;;5033:30;5099:34;5079:18;;;5072:62;5151:18;;4069:67:0;4819:356:1;4069:67:0;14833:11:::1;::::0;-1:-1:-1;;;14833:11:0;::::1;;;14832:12;14824:47;;;::::0;-1:-1:-1;;;14824:47:0;;6510:2:1;14824:47:0::1;::::0;::::1;6492:21:1::0;6549:2;6529:18;;;6522:30;-1:-1:-1;;;6568:18:1;;;6561:53;6631:18;;14824:47:0::1;6308:347:1::0;14824:47:0::1;14882:11;:18:::0;;-1:-1:-1;;;;14882:18:0::1;-1:-1:-1::0;;;14882:18:0::1;::::0;;14911:15:::1;:80:::0;;-1:-1:-1;;;;;;14911:80:0::1;14948:42;14911:80:::0;;::::1;::::0;;;15002:58:::1;::::0;15019:4:::1;::::0;7379:13:::1;7316:1;7379:2;:13;:::i;15002:58::-;15105:15;;;;;;;;;-1:-1:-1::0;;;;;15105:15:0::1;-1:-1:-1::0;;;;;15105:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;15087:55:0::1;;15151:4;15158:15;;;;;;;;;-1:-1:-1::0;;;;;15158:15:0::1;-1:-1:-1::0;;;;;15158:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15087:94;::::0;-1:-1:-1;;;;;;15087:94:0::1;::::0;;;;;;-1:-1:-1;;;;;8115:15:1;;;15087:94:0::1;::::0;::::1;8097:34:1::0;8167:15;;8147:18;;;8140:43;8009:18;;15087:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15071:13;:110:::0;;-1:-1:-1;;;;;15071:110:0;;::::1;-1:-1:-1::0;;;;;;15071:110:0;;::::1;;::::0;;15192:15:::1;::::0;::::1;:31;15231:21;15262:4;15268:24;15262:4:::0;-1:-1:-1;;;;;8737:18:0;8710:7;8737:18;;;:9;:18;;;;;;;8644:119;9602:335;-1:-1:-1;;;;;9695:19:0;;9687:68;;;;-1:-1:-1;;;9687:68:0;;8396:2:1;9687:68:0;;;8378:21:1;8435:2;8415:18;;;8408:30;8474:34;8454:18;;;8447:62;-1:-1:-1;;;8525:18:1;;;8518:34;8569:19;;9687:68:0;8194:400:1;9687:68:0;-1:-1:-1;;;;;9774:21:0;;9766:68;;;;-1:-1:-1;;;9766:68:0;;8801:2:1;9766:68:0;;;8783:21:1;8840:2;8820:18;;;8813:30;8879:34;8859:18;;;8852:62;-1:-1:-1;;;8930:18:1;;;8923:32;8972:19;;9766:68:0;8599:398:1;9766:68:0;-1:-1:-1;;;;;9845:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9897:32;;1384:25:1;;;9897:32:0;;1357:18:1;9897:32:0;;;;;;;9602:335;;;:::o;9947:1939::-;-1:-1:-1;;;;;10035:18:0;;10027:68;;;;-1:-1:-1;;;10027:68:0;;9204:2:1;10027:68:0;;;9186:21:1;9243:2;9223:18;;;9216:30;9282:34;9262:18;;;9255:62;-1:-1:-1;;;9333:18:1;;;9326:35;9378:19;;10027:68:0;9002:401:1;10027:68:0;-1:-1:-1;;;;;10114:16:0;;10106:64;;;;-1:-1:-1;;;10106:64:0;;9610:2:1;10106:64:0;;;9592:21:1;9649:2;9629:18;;;9622:30;9688:34;9668:18;;;9661:62;-1:-1:-1;;;9739:18:1;;;9732:33;9782:19;;10106:64:0;9408:399:1;10106:64:0;10198:1;10189:6;:10;10181:64;;;;-1:-1:-1;;;10181:64:0;;10014:2:1;10181:64:0;;;9996:21:1;10053:2;10033:18;;;10026:30;10092:34;10072:18;;;10065:62;-1:-1:-1;;;10143:18:1;;;10136:39;10192:19;;10181:64:0;9812:405:1;10181:64:0;10256:17;4015:6;;-1:-1:-1;;;;;10290:15:0;;;4015:6;;10290:15;;;;:32;;-1:-1:-1;3988:7:0;4015:6;-1:-1:-1;;;;;10309:13:0;;;4015:6;;10309:13;;10290:32;10286:1244;;;10351:76;10423:3;10351:67;10373:15;;10363:9;;:25;10362:55;;10403:14;;10362:55;;;10390:12;;10362:55;10351:6;;:10;:67::i;:::-;:71;;:76::i;:::-;10456:13;;10339:88;;-1:-1:-1;;;;;;10448:21:0;;;10456:13;;10448:21;:55;;;;-1:-1:-1;10487:15:0;;-1:-1:-1;;;;;10473:30:0;;;10487:15;;10473:30;;10448:55;:83;;;;-1:-1:-1;;;;;;10509:22:0;;;;;;:18;:22;;;;;;;;10507:24;10448:83;10444:313;;;10571:12;;10561:6;:22;;10553:60;;;;-1:-1:-1;;;10553:60:0;;10424:2:1;10553:60:0;;;10406:21:1;10463:2;10443:18;;;10436:30;10502:27;10482:18;;;10475:55;10547:18;;10553:60:0;10222:349:1;10553:60:0;10666:14;;10656:6;10640:13;10650:2;-1:-1:-1;;;;;8737:18:0;8710:7;8737:18;;;:9;:18;;;;;;;8644:119;10640:13;:22;;;;:::i;:::-;:40;;10632:79;;;;-1:-1:-1;;;10632:79:0;;10908:2:1;10632:79:0;;;10890:21:1;10947:2;10927:18;;;10920:30;10986:28;10966:18;;;10959:56;11032:18;;10632:79:0;10706:350:1;10632:79:0;10730:9;:11;;;:9;:11;;;:::i;:::-;;;;;;10444:313;10782:13;;-1:-1:-1;;;;;10776:19:0;;;10782:13;;10776:19;:43;;;;-1:-1:-1;;;;;;10799:20:0;;10814:4;10799:20;;10776:43;10773:174;;;10852:79;10927:3;10852:70;10874:16;;10864:9;;:26;10863:58;;10906:15;;10863:58;;;10892:13;;10852:6;;:10;:70::i;:79::-;10840:91;;10773:174;11012:4;10963:28;8737:18;;;:9;:18;;;;;;11038:6;;-1:-1:-1;;;11038:6:0;;;;11037:7;:32;;;;-1:-1:-1;11056:13:0;;-1:-1:-1;;;;;11048:21:0;;;11056:13;;11048:21;11037:32;:47;;;;-1:-1:-1;11073:11:0;;-1:-1:-1;;;11073:11:0;;;;11037:47;:89;;;;;11109:17;;11088:20;:38;11037:89;:131;;;;;11140:28;;11130:9;;:38;11037:131;11033:486;;;11189:67;11206:49;11210:6;11217:37;11221:20;11242:11;;11217:3;:37::i;:::-;11206:3;:49::i;:::-;11189:16;:67::i;:::-;11304:21;11347:22;;11344:160;;11379:47;11397:28;:21;11423:1;11397:25;:28::i;:::-;11379:17;:47::i;:::-;11449:35;11462:21;11449:12;:35::i;:::-;11170:349;11033:486;10324:1206;10286:1244;11545:11;;11542:161;;11613:4;11595:24;;;;:9;:24;;;;;;:39;;11624:9;11595:28;:39::i;:::-;11588:4;11570:24;;;;:9;:24;;;;;;;:64;;;;11652:39;;-1:-1:-1;;;;;11652:39:0;;;;;;;11681:9;1384:25:1;;1372:2;1357:18;;1238:177;11652:39:0;;;;;;;;11542:161;-1:-1:-1;;;;;11729:15:0;;;;;;:9;:15;;;;;;:27;;11749:6;11729:19;:27::i;:::-;-1:-1:-1;;;;;11713:15:0;;;;;;:9;:15;;;;;:43;11781:40;11799:21;:6;11810:9;11799:10;:21::i;:::-;-1:-1:-1;;;;;11781:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;11767:13:0;;;;;;;:9;:13;;;;;:54;;;;11837:41;;;11856:21;:6;11867:9;11856:10;:21::i;:::-;11837:41;;1384:25:1;;;1372:2;1357:18;11837:41:0;;;;;;;10016:1870;9947:1939;;;:::o;5438:190::-;5524:7;5560:12;5552:6;;;;5544:29;;;;-1:-1:-1;;;5544:29:0;;;;;;;;:::i;:::-;-1:-1:-1;5584:9:0;5596:5;5600:1;5596;:5;:::i;:::-;5584:17;5438:190;-1:-1:-1;;;;;5438:190:0:o;12437:483::-;6887:6;:13;;-1:-1:-1;;;;6887:13:0;-1:-1:-1;;;6887:13:0;;;12539:16:::1;::::0;;12553:1:::1;12539:16:::0;;;;;::::1;::::0;;-1:-1:-1;;12539:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12539:16:0::1;12515:40;;12584:4;12566;12571:1;12566:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12566:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;12610:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;12610:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;12566:7;;12610:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12600:4;12605:1;12600:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12600:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;12675:15:::1;::::0;12643:62:::1;::::0;12660:4:::1;::::0;12675:15:::1;12693:11:::0;12643:8:::1;:62::i;:::-;12716:15;::::0;:196:::1;::::0;-1:-1:-1;;;12716:196:0;;-1:-1:-1;;;;;12716:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;12797:11;;12716:15:::1;::::0;12839:4;;12866::::1;::::0;12886:15:::1;::::0;12716:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;6923:6:0;:14;;-1:-1:-1;;;;6923:14:0;;;-1:-1:-1;;;;12437:483:0:o;13136:100::-;13193:18;;:35;;-1:-1:-1;;;;;13193:18:0;;;;:35;;;;;13221:6;;13193:18;:35;:18;:35;13221:6;13193:18;:35;;;;;;;;;;;;;;;;;;;5636:246;5694:7;5718:1;5723;5718:6;5714:47;;-1:-1:-1;5748:1:0;5741:8;;5714:47;5771:9;5783:5;5787:1;5783;:5;:::i;:::-;5771:17;-1:-1:-1;5816:1:0;5807:5;5811:1;5771:17;5807:5;:::i;:::-;:10;5799:56;;;;-1:-1:-1;;;5799:56:0;;13053:2:1;5799:56:0;;;13035:21:1;13092:2;13072:18;;;13065:30;13131:34;13111:18;;;13104:62;-1:-1:-1;;;13182:18:1;;;13175:31;13223:19;;5799:56:0;12851:397:1;5799:56:0;5873:1;5636:246;-1:-1:-1;;;5636:246:0:o;5890:132::-;5948:7;5975:39;5979:1;5982;5975:39;;;;;;;;;;;;;;;;;:3;:39::i;12128:98::-;12185:7;12212:1;12210;:3;12209:9;;12217:1;12209:9;;;-1:-1:-1;12215:1:0;12128:98;-1:-1:-1;12128:98:0:o;14094:103::-;14156:16;;:33;;-1:-1:-1;;;;;14156:16:0;;;;:33;;;;;14182:6;;14156:16;:33;:16;:33;14182:6;14156:16;:33;;;;;;;;;;;;;;;;;;;5107:179;5165:7;;5197:5;5201:1;5197;:5;:::i;:::-;5185:17;;5226:1;5221;:6;;5213:46;;;;-1:-1:-1;;;5213:46:0;;13455:2:1;5213:46:0;;;13437:21:1;13494:2;13474:18;;;13467:30;13533:29;13513:18;;;13506:57;13580:18;;5213:46:0;13253:351:1;5294:136:0;5352:7;5379:43;5383:1;5386;5379:43;;;;;;;;;;;;;;;;;:3;:43::i;6030:189::-;6116:7;6151:12;6144:5;6136:28;;;;-1:-1:-1;;;6136:28:0;;;;;;;;:::i;:::-;-1:-1:-1;6175:9:0;6187:5;6191:1;6187;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:154::-;-1:-1:-1;;;;;646:5:1;642:54;635:5;632:65;622:93;;711:1;708;701:12;622:93;567:154;:::o;726:315::-;794:6;802;855:2;843:9;834:7;830:23;826:32;823:52;;;871:1;868;861:12;823:52;910:9;897:23;929:31;954:5;929:31;:::i;:::-;979:5;1031:2;1016:18;;;;1003:32;;-1:-1:-1;;;726:315:1:o;1420:456::-;1497:6;1505;1513;1566:2;1554:9;1545:7;1541:23;1537:32;1534:52;;;1582:1;1579;1572:12;1534:52;1621:9;1608:23;1640:31;1665:5;1640:31;:::i;:::-;1690:5;-1:-1:-1;1747:2:1;1732:18;;1719:32;1760:33;1719:32;1760:33;:::i;:::-;1420:456;;1812:7;;-1:-1:-1;;;1866:2:1;1851:18;;;;1838:32;;1420:456::o;2070:247::-;2129:6;2182:2;2170:9;2161:7;2157:23;2153:32;2150:52;;;2198:1;2195;2188:12;2150:52;2237:9;2224:23;2256:31;2281:5;2256:31;:::i;2553:388::-;2621:6;2629;2682:2;2670:9;2661:7;2657:23;2653:32;2650:52;;;2698:1;2695;2688:12;2650:52;2737:9;2724:23;2756:31;2781:5;2756:31;:::i;:::-;2806:5;-1:-1:-1;2863:2:1;2848:18;;2835:32;2876:33;2835:32;2876:33;:::i;:::-;2928:7;2918:17;;;2553:388;;;;;:::o;2946:180::-;3005:6;3058:2;3046:9;3037:7;3033:23;3029:32;3026:52;;;3074:1;3071;3064:12;3026:52;-1:-1:-1;3097:23:1;;2946:180;-1:-1:-1;2946:180:1:o;3131:127::-;3192:10;3187:3;3183:20;3180:1;3173:31;3223:4;3220:1;3213:15;3247:4;3244:1;3237:15;3263:422;3352:1;3395:5;3352:1;3409:270;3430:7;3420:8;3417:21;3409:270;;;3489:4;3485:1;3481:6;3477:17;3471:4;3468:27;3465:53;;;3498:18;;:::i;:::-;3548:7;3538:8;3534:22;3531:55;;;3568:16;;;;3531:55;3647:22;;;;3607:15;;;;3409:270;;;3413:3;3263:422;;;;;:::o;3690:806::-;3739:5;3769:8;3759:80;;-1:-1:-1;3810:1:1;3824:5;;3759:80;3858:4;3848:76;;-1:-1:-1;3895:1:1;3909:5;;3848:76;3940:4;3958:1;3953:59;;;;4026:1;4021:130;;;;3933:218;;3953:59;3983:1;3974:10;;3997:5;;;4021:130;4058:3;4048:8;4045:17;4042:43;;;4065:18;;:::i;:::-;-1:-1:-1;;4121:1:1;4107:16;;4136:5;;3933:218;;4235:2;4225:8;4222:16;4216:3;4210:4;4207:13;4203:36;4197:2;4187:8;4184:16;4179:2;4173:4;4170:12;4166:35;4163:77;4160:159;;;-1:-1:-1;4272:19:1;;;4304:5;;4160:159;4351:34;4376:8;4370:4;4351:34;:::i;:::-;4421:6;4417:1;4413:6;4409:19;4400:7;4397:32;4394:58;;;4432:18;;:::i;:::-;4470:20;;3690:806;-1:-1:-1;;;3690:806:1:o;4501:140::-;4559:5;4588:47;4629:4;4619:8;4615:19;4609:4;4588:47;:::i;4646:168::-;4719:9;;;4750;;4767:15;;;4761:22;;4747:37;4737:71;;4788:18;;:::i;5535:184::-;5605:6;5658:2;5646:9;5637:7;5633:23;5629:32;5626:52;;;5674:1;5671;5664:12;5626:52;-1:-1:-1;5697:16:1;;5535:184;-1:-1:-1;5535:184:1:o;6026:277::-;6093:6;6146:2;6134:9;6125:7;6121:23;6117:32;6114:52;;;6162:1;6159;6152:12;6114:52;6194:9;6188:16;6247:5;6240:13;6233:21;6226:5;6223:32;6213:60;;6269:1;6266;6259:12;7295:306;7383:6;7391;7399;7452:2;7440:9;7431:7;7427:23;7423:32;7420:52;;;7468:1;7465;7458:12;7420:52;7497:9;7491:16;7481:26;;7547:2;7536:9;7532:18;7526:25;7516:35;;7591:2;7580:9;7576:18;7570:25;7560:35;;7295:306;;;;;:::o;7606:251::-;7676:6;7729:2;7717:9;7708:7;7704:23;7700:32;7697:52;;;7745:1;7742;7735:12;7697:52;7777:9;7771:16;7796:31;7821:5;7796:31;:::i;10576:125::-;10641:9;;;10662:10;;;10659:36;;;10675:18;;:::i;11061:135::-;11100:3;11121:17;;;11118:43;;11141:18;;:::i;:::-;-1:-1:-1;11188:1:1;11177:13;;11061:135::o;11201:128::-;11268:9;;;11289:11;;;11286:37;;;11303:18;;:::i;11466:127::-;11527:10;11522:3;11518:20;11515:1;11508:31;11558:4;11555:1;11548:15;11582:4;11579:1;11572:15;11598:1026;11860:4;11908:3;11897:9;11893:19;11939:6;11928:9;11921:25;11965:2;12003:6;11998:2;11987:9;11983:18;11976:34;12046:3;12041:2;12030:9;12026:18;12019:31;12070:6;12105;12099:13;12136:6;12128;12121:22;12174:3;12163:9;12159:19;12152:26;;12213:2;12205:6;12201:15;12187:29;;12234:1;12244:218;12258:6;12255:1;12252:13;12244:218;;;12323:13;;-1:-1:-1;;;;;12319:62:1;12307:75;;12437:15;;;;12402:12;;;;12280:1;12273:9;12244:218;;;-1:-1:-1;;;;;;;12518:55:1;;;;12513:2;12498:18;;12491:83;-1:-1:-1;;;12605:3:1;12590:19;12583:35;12479:3;11598:1026;-1:-1:-1;;;11598:1026:1:o;12629:217::-;12669:1;12695;12685:132;;12739:10;12734:3;12730:20;12727:1;12720:31;12774:4;12771:1;12764:15;12802:4;12799:1;12792:15;12685:132;-1:-1:-1;12831:9:1;;12629:217::o
Swarm Source
ipfs://26af9d20e53d4ec737a266274e60367485957ca6ea7ca58b89a07b99026902b9
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.