ETH Price: $3,605.47 (+9.22%)

Token

Shiro Neko (SHIKO)
 

Overview

Max Total Supply

1,000,000,000,000 SHIKO

Holders

87

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
urmothercunt.eth
Balance
0.410733822 SHIKO

Value
$0.00
0x1028f4509e437b5b00acf278ee4424e752ba0522
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
Shiro_Neko

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-01-20
*/

// SPDX-License-Identifier: MIT

/*

Join Our Community:
https://t.me/TheShiroNeko
https://twitter.com/ShiroNekoERC20
*/
pragma solidity ^0.8.17;

interface IERC20 {

    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

abstract contract Context {
    function _msgSender() internal view virtual returns (address payable) {
        return payable(msg.sender);
    }

    function _msgData() internal view virtual returns (bytes memory) {
        this;
        return msg.data;
    }
}

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);
    }

    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 {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);

    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IUniswapV2Router02 {
    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);

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;

    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    )
        external payable;
}

interface IUniswapV2Pair {
    function sync() external;
}

contract Shiro_Neko is Context, IERC20, Ownable {
    using SafeMath for uint256;
    IUniswapV2Router02 public uniswapV2Router;

    address public uniswapV2Pair;
    
    mapping (address => uint256) private balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;

    string private constant _name = "Shiro Neko";
    string private constant _symbol = "SHIKO";
    uint8 private constant _decimals = 9;
    uint256 private _tTotal =  1000000000000  * 10**_decimals;

    uint256 public _maxWalletAmount = 20000000000 * 10**_decimals;
    uint256 public _maxTxAmount = 20000000000 * 10**_decimals;
    uint256 public swapTokenAtAmount = 5000000000 * 10**_decimals;
    uint256 public forceSwapCount;

    address public liquidityReceiver;
    address public marketingWallet;

    struct BuyFees{
        uint256 liquidity;
        uint256 marketing;
    }

    struct SellFees{
        uint256 liquidity;
        uint256 marketing;
    }

    BuyFees public buyFee;
    SellFees public sellFee;

    uint256 private liquidityFee;
    uint256 private marketingFee;

    bool private swapping;
    uint256 public launchEpoch;
    bool public launched;
    bool stage1;
    bool stage2;
    bool stage3;

    event SwapAndLiquify(uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiquidity);

    constructor (address marketingAddress, address liquidityAddress) {
        marketingWallet = marketingAddress;
        liquidityReceiver = liquidityAddress;
        
        buyFee.liquidity = 2;
        buyFee.marketing = 8;

        sellFee.liquidity = 2;
        sellFee.marketing = 18;

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        address _uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());

        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = _uniswapV2Pair;
        
        _isExcludedFromFee[msg.sender] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[address(0x00)] = true;
        _isExcludedFromFee[address(0xdead)] = true;

        balances[_msgSender()] = _tTotal;
        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 view 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()] - 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) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] - subtractedValue);
        return true;
    }
    
    function excludeFromFees(address account, bool excluded) public onlyOwner {
        _isExcludedFromFee[address(account)] = excluded;
    }

    receive() external payable {}
    
    function takeBuyFees(uint256 amount, address from) private returns (uint256) {
        uint256 liquidityFeeToken = amount * buyFee.liquidity / 100; 
        uint256 marketingFeeTokens = amount * buyFee.marketing / 100;

        balances[address(this)] += liquidityFeeToken + marketingFeeTokens;
        emit Transfer (from, address(this), marketingFeeTokens + liquidityFeeToken);
        return (amount -liquidityFeeToken -marketingFeeTokens);
    }

    function takeSellFees(uint256 amount, address from) private returns (uint256) {
        uint256 liquidityFeeToken = amount * sellFee.liquidity / 100; 
        uint256 marketingFeeTokens = amount * sellFee.marketing / 100;

        balances[address(this)] += liquidityFeeToken + marketingFeeTokens;
        emit Transfer (from, address(this), marketingFeeTokens + liquidityFeeToken );
        return (amount -liquidityFeeToken -marketingFeeTokens);
    }

    function isExcludedFromFee(address account) public view returns(bool) {
        return _isExcludedFromFee[account];
    }

    function setWalletLimit(uint256 amountPercent) external onlyOwner {
        _maxWalletAmount = (_tTotal * amountPercent ) / 1000;
        _maxTxAmount = (_tTotal * amountPercent ) / 1000;
    }

    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");
        
        balances[from] -= amount;
        uint256 transferAmount = amount;
        
        bool takeFee;

        if(!_isExcludedFromFee[from] && !_isExcludedFromFee[to]){
            takeFee = true;
        }

        if(from == liquidityReceiver && to == uniswapV2Pair) {
            launchEpoch = block.timestamp;
            launched = true;
        }

        if(launched && block.timestamp > launchEpoch + 300 && !stage1) {
            buyFee.liquidity = 2;
            buyFee.marketing = 3;

            sellFee.liquidity = 5;
            sellFee.marketing = 10;
            stage1 = true;
        }

        if(launched && block.timestamp > launchEpoch + 600 && !stage2) {
             _maxWalletAmount = 1000000000000 * 10**_decimals;
             _maxTxAmount     = 1000000000000 * 10**_decimals;
           
            buyFee.liquidity = 1;
            buyFee.marketing = 2;

            sellFee.liquidity = 3;
            sellFee.marketing = 7;
            stage2 = true;
        }

        if(launched && block.timestamp > launchEpoch + 900 && !stage3) {
            buyFee.liquidity = 1;
            buyFee.marketing = 2;

            sellFee.liquidity = 1;
            sellFee.marketing = 2;
            stage3 = true;
        }

        if(takeFee){
            if(to != uniswapV2Pair){
                require(amount <= _maxTxAmount, "Transfer Amount exceeds the maxTxnsAmount");
                require(balanceOf(to) + amount <= _maxWalletAmount, "Transfer amount exceeds the maxWalletAmount.");
                transferAmount = takeBuyFees(amount, to);
            }

            if(from != uniswapV2Pair){
                require(amount <= _maxTxAmount, "Transfer Amount exceeds the maxTxnsAmount");
                transferAmount = takeSellFees(amount, from);
                forceSwapCount += 1;

               if (balanceOf(address(this)) >= swapTokenAtAmount && !swapping) {
                    swapping = true;
                    swapBack(swapTokenAtAmount);
                    swapping = false;
                    forceSwapCount = 0;
              }

                if (forceSwapCount > 5 && !swapping) {
                    swapping = true;
                    swapBack(balanceOf(address(this)));
                    swapping = false;
                    forceSwapCount = 0;
              }
            }

            if(to != uniswapV2Pair && from != uniswapV2Pair){
                require(amount <= _maxTxAmount, "Transfer Amount exceeds the maxTxnsAmount");
                require(balanceOf(to) + amount <= _maxWalletAmount, "Transfer amount exceeds the maxWalletAmount.");
            }
        }
        
        balances[to] += transferAmount;
        emit Transfer(from, to, transferAmount);
    }
   
    function swapBack(uint256 amount) private {
        uint256 contractBalance = amount;
        uint256 liquidityTokens = contractBalance * (buyFee.liquidity + sellFee.liquidity) / (buyFee.marketing + buyFee.liquidity + sellFee.marketing + sellFee.liquidity);
        uint256 marketingTokens = contractBalance * (buyFee.marketing + sellFee.marketing) / (buyFee.marketing + buyFee.liquidity + sellFee.marketing + sellFee.liquidity);
        uint256 totalTokensToSwap = liquidityTokens + marketingTokens;
        
        uint256 tokensForLiquidity = liquidityTokens.div(2);
        uint256 amountToSwapForETH = contractBalance.sub(tokensForLiquidity);
        uint256 initialETHBalance = address(this).balance;
        swapTokensForEth(amountToSwapForETH); 
        uint256 ethBalance = address(this).balance.sub(initialETHBalance);
        
        uint256 ethForLiquidity = ethBalance.mul(liquidityTokens).div(totalTokensToSwap);
        addLiquidity(tokensForLiquidity, ethForLiquidity);
        payable(marketingWallet).transfer(address(this).balance);
    }

    function swapTokensForEth(uint256 tokenAmount) private {
        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 addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        _approve(address(this), address(uniswapV2Router), tokenAmount);

        uniswapV2Router.addLiquidityETH {value: ethAmount} (
            address(this),
            tokenAmount,
            0,
            0,
            liquidityReceiver,
            block.timestamp
        );
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"marketingAddress","type":"address"},{"internalType":"address","name":"liquidityAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiquidity","type":"uint256"}],"name":"SwapAndLiquify","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":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletAmount","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":"buyFee","outputs":[{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"marketing","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"forceSwapCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchEpoch","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launched","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","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":"sellFee","outputs":[{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"marketing","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercent","type":"uint256"}],"name":"setWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapTokenAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126009600a620004f1565b620000239064e8d4a5100062000509565b600655620000346009600a620004f1565b62000045906404a817c80062000509565b600755620000566009600a620004f1565b62000067906404a817c80062000509565b600855620000786009600a620004f1565b620000899064012a05f20062000509565b6009553480156200009957600080fd5b506040516200204938038062002049833981016040819052620000bc9162000540565b600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600c80546001600160a01b038085166001600160a01b031992831617909255600b8054928416929091169190911790556002600d8190556008600e55600f5560126010556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d91600091839163c45a01559160048083019260209291908290030181865afa15801562000197573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001bd919062000578565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200020b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000231919062000578565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156200027f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002a5919062000578565b600180546001600160a01b038086166001600160a01b0319928316178355600280549185169190921617905533600090815260056020526040808220805460ff19908116851790915530835290822080548216841790557f05b8ccbb9d4d8fb16ea74ce3c29a41f1b461fbdaff4714a0d9a8eb05499746bc805482168417905561dead82527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba8054909116909217909155600654919250600390620003673390565b6001600160a01b03168152602081019190915260400160002055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600654604051620003ca91815260200190565b60405180910390a35050505062000596565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000433578160001904821115620004175762000417620003dc565b808516156200042557918102915b93841c9390800290620003f7565b509250929050565b6000826200044c57506001620004eb565b816200045b57506000620004eb565b81600181146200047457600281146200047f576200049f565b6001915050620004eb565b60ff841115620004935762000493620003dc565b50506001821b620004eb565b5060208310610133831016604e8410600b8410161715620004c4575081810a620004eb565b620004d08383620003f2565b8060001904821115620004e757620004e7620003dc565b0290505b92915050565b60006200050260ff8416836200043b565b9392505050565b8082028115828204841417620004eb57620004eb620003dc565b80516001600160a01b03811681146200053b57600080fd5b919050565b600080604083850312156200055457600080fd5b6200055f8362000523565b91506200056f6020840162000523565b90509250929050565b6000602082840312156200058b57600080fd5b620005028262000523565b611aa380620005a66000396000f3fe6080604052600436106101c65760003560e01c806370a08231116100f7578063a3aa748711610095578063c589829d11610064578063c589829d14610549578063dd62ed3e1461055f578063f1d5f517146105a5578063f2fde38b146105c557600080fd5b8063a3aa7487146104d3578063a457c2d7146104e9578063a9059cbb14610509578063c02466681461052957600080fd5b80637d1db4a5116100d15780637d1db4a5146104575780638091f3bf1461046d5780638da5cb5b1461048757806395d89b41146104a557600080fd5b806370a08231146103ea578063715018a61461042057806375f0a8741461043757600080fd5b80632b14ca5611610164578063470624021161013e578063470624021461036057806349bd5a5e1461037b5780635342acb41461039b5780636c0a24eb146103d457600080fd5b80632b14ca56146102f4578063313ce56714610324578063395093511461034057600080fd5b80631694505e116101a05780631694505e1461026757806318160ddd1461029f57806323b872dd146102b4578063264d26dd146102d457600080fd5b806303e403b0146101d257806306fdde03146101fb578063095ea7b31461023757600080fd5b366101cd57005b600080fd5b3480156101de57600080fd5b506101e860095481565b6040519081526020015b60405180910390f35b34801561020757600080fd5b5060408051808201909152600a815269536869726f204e656b6f60b01b60208201525b6040516101f291906115f4565b34801561024357600080fd5b5061025761025236600461165a565b6105e5565b60405190151581526020016101f2565b34801561027357600080fd5b50600154610287906001600160a01b031681565b6040516001600160a01b0390911681526020016101f2565b3480156102ab57600080fd5b506006546101e8565b3480156102c057600080fd5b506102576102cf366004611686565b6105fc565b3480156102e057600080fd5b50600b54610287906001600160a01b031681565b34801561030057600080fd5b50600f5460105461030f919082565b604080519283526020830191909152016101f2565b34801561033057600080fd5b50604051600981526020016101f2565b34801561034c57600080fd5b5061025761035b36600461165a565b61064e565b34801561036c57600080fd5b50600d54600e5461030f919082565b34801561038757600080fd5b50600254610287906001600160a01b031681565b3480156103a757600080fd5b506102576103b63660046116c7565b6001600160a01b031660009081526005602052604090205460ff1690565b3480156103e057600080fd5b506101e860075481565b3480156103f657600080fd5b506101e86104053660046116c7565b6001600160a01b031660009081526003602052604090205490565b34801561042c57600080fd5b50610435610685565b005b34801561044357600080fd5b50600c54610287906001600160a01b031681565b34801561046357600080fd5b506101e860085481565b34801561047957600080fd5b506015546102579060ff1681565b34801561049357600080fd5b506000546001600160a01b0316610287565b3480156104b157600080fd5b506040805180820190915260058152645348494b4f60d81b602082015261022a565b3480156104df57600080fd5b506101e860145481565b3480156104f557600080fd5b5061025761050436600461165a565b610702565b34801561051557600080fd5b5061025761052436600461165a565b610739565b34801561053557600080fd5b506104356105443660046116e4565b610746565b34801561055557600080fd5b506101e8600a5481565b34801561056b57600080fd5b506101e861057a366004611722565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156105b157600080fd5b506104356105c0366004611750565b61079b565b3480156105d157600080fd5b506104356105e03660046116c7565b610805565b60006105f23384846108ef565b5060015b92915050565b6000610609848484610a13565b6001600160a01b03841660009081526004602090815260408083203380855292529091205461064491869161063f90869061177f565b6108ef565b5060019392505050565b3360008181526004602090815260408083206001600160a01b038716845290915281205490916105f291859061063f908690611792565b6000546001600160a01b031633146106b85760405162461bcd60e51b81526004016106af906117a5565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b3360008181526004602090815260408083206001600160a01b038716845290915281205490916105f291859061063f90869061177f565b60006105f2338484610a13565b6000546001600160a01b031633146107705760405162461bcd60e51b81526004016106af906117a5565b6001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146107c55760405162461bcd60e51b81526004016106af906117a5565b6103e8816006546107d691906117da565b6107e091906117f1565b6007556006546103e8906107f59083906117da565b6107ff91906117f1565b60085550565b6000546001600160a01b0316331461082f5760405162461bcd60e51b81526004016106af906117a5565b6001600160a01b0381166108945760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106af565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166109515760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106af565b6001600160a01b0382166109b25760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106af565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610a775760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106af565b6001600160a01b038216610ad95760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106af565b60008111610b3b5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016106af565b6001600160a01b03831660009081526003602052604081208054839290610b6390849061177f565b90915550506001600160a01b03831660009081526005602052604081205482919060ff16158015610bad57506001600160a01b03841660009081526005602052604090205460ff16155b15610bb6575060015b600b546001600160a01b038681169116148015610be057506002546001600160a01b038581169116145b15610bf757426014556015805460ff191660011790555b60155460ff168015610c165750601454610c139061012c611792565b42115b8015610c2a5750601554610100900460ff16155b15610c53576002600d556003600e556005600f55600a6010556015805461ff0019166101001790555b60155460ff168015610c725750601454610c6f90610258611792565b42115b8015610c87575060155462010000900460ff16155b15610cee57610c986009600a6118f7565b610ca79064e8d4a510006117da565b600755610cb66009600a6118f7565b610cc59064e8d4a510006117da565b6008556001600d556002600e556003600f5560076010556015805462ff00001916620100001790555b60155460ff168015610d0d5750601454610d0a90610384611792565b42115b8015610d2357506015546301000000900460ff16155b15610d53576001600d8190556002600e819055600f919091556010556015805463ff000000191663010000001790555b8015610f91576002546001600160a01b03858116911614610de857600854831115610d905760405162461bcd60e51b81526004016106af90611906565b60075483610db3866001600160a01b031660009081526003602052604090205490565b610dbd9190611792565b1115610ddb5760405162461bcd60e51b81526004016106af9061194f565b610de58385611014565b91505b6002546001600160a01b03868116911614610ef357600854831115610e1f5760405162461bcd60e51b81526004016106af90611906565b610e2983866110eb565b91506001600a6000828254610e3e9190611792565b90915550506009543060009081526003602052604090205410158015610e67575060135460ff16155b15610e95576013805460ff19166001179055600954610e8590611122565b6013805460ff191690556000600a555b6005600a54118015610eaa575060135460ff16155b15610ef3576013805460ff19166001179055610ee3610ede306001600160a01b031660009081526003602052604090205490565b611122565b6013805460ff191690556000600a555b6002546001600160a01b03858116911614801590610f1f57506002546001600160a01b03868116911614155b15610f9157600854831115610f465760405162461bcd60e51b81526004016106af90611906565b60075483610f69866001600160a01b031660009081526003602052604090205490565b610f739190611792565b1115610f915760405162461bcd60e51b81526004016106af9061194f565b6001600160a01b03841660009081526003602052604081208054849290610fb9908490611792565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161100591815260200190565b60405180910390a35050505050565b6000806064600d600001548561102a91906117da565b61103491906117f1565b905060006064600d600101548661104b91906117da565b61105591906117f1565b90506110618183611792565b3060009081526003602052604081208054909190611080908490611792565b909155503090506001600160a01b0385167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6110bc8585611792565b60405190815260200160405180910390a3806110d8838761177f565b6110e2919061177f565b95945050505050565b6000806064600f600001548561110191906117da565b61110b91906117f1565b905060006064600f600101548661104b91906117da565b600f54601054600d54600e548493600093909290916111419190611792565b61114b9190611792565b6111559190611792565b600f54600d546111659190611792565b61116f90846117da565b61117991906117f1565b600f54601054600d54600e549394506000936111959190611792565b61119f9190611792565b6111a99190611792565b601054600e546111b99190611792565b6111c390856117da565b6111cd91906117f1565b905060006111db8284611792565b905060006111ea84600261127a565b905060006111f886836112c3565b90504761120482611305565b600061121047836112c3565b9050600061122886611222848b61145f565b9061127a565b905061123485826114e1565b600c546040516001600160a01b03909116904780156108fc02916000818181858888f1935050505015801561126d573d6000803e3d6000fd5b5050505050505050505050565b60006112bc83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611595565b9392505050565b60006112bc83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506115c3565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061133a5761133a61199b565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611393573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b791906119b1565b816001815181106113ca576113ca61199b565b6001600160a01b0392831660209182029290920101526001546113f091309116846108ef565b60015460405163791ac94760e01b81526001600160a01b039091169063791ac947906114299085906000908690309042906004016119ce565b600060405180830381600087803b15801561144357600080fd5b505af1158015611457573d6000803e3d6000fd5b505050505050565b600082600003611471575060006105f6565b600061147d83856117da565b90508261148a85836117f1565b146112bc5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106af565b6001546114f99030906001600160a01b0316846108ef565b600154600b5460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af1158015611569573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061158e9190611a3f565b5050505050565b600081836115b65760405162461bcd60e51b81526004016106af91906115f4565b5060006110e284866117f1565b600081848411156115e75760405162461bcd60e51b81526004016106af91906115f4565b5060006110e2848661177f565b600060208083528351808285015260005b8181101561162157858101830151858201604001528201611605565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461165757600080fd5b50565b6000806040838503121561166d57600080fd5b823561167881611642565b946020939093013593505050565b60008060006060848603121561169b57600080fd5b83356116a681611642565b925060208401356116b681611642565b929592945050506040919091013590565b6000602082840312156116d957600080fd5b81356112bc81611642565b600080604083850312156116f757600080fd5b823561170281611642565b91506020830135801515811461171757600080fd5b809150509250929050565b6000806040838503121561173557600080fd5b823561174081611642565b9150602083013561171781611642565b60006020828403121561176257600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b818103818111156105f6576105f6611769565b808201808211156105f6576105f6611769565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b80820281158282048414176105f6576105f6611769565b60008261180e57634e487b7160e01b600052601260045260246000fd5b500490565b600181815b8085111561184e57816000190482111561183457611834611769565b8085161561184157918102915b93841c9390800290611818565b509250929050565b600082611865575060016105f6565b81611872575060006105f6565b81600181146118885760028114611892576118ae565b60019150506105f6565b60ff8411156118a3576118a3611769565b50506001821b6105f6565b5060208310610133831016604e8410600b84101617156118d1575081810a6105f6565b6118db8383611813565b80600019048211156118ef576118ef611769565b029392505050565b60006112bc60ff841683611856565b60208082526029908201527f5472616e7366657220416d6f756e74206578636565647320746865206d6178546040820152681e1b9cd05b5bdd5b9d60ba1b606082015260800190565b6020808252602c908201527f5472616e7366657220616d6f756e74206578636565647320746865206d61785760408201526b30b63632ba20b6b7bab73a1760a11b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156119c357600080fd5b81516112bc81611642565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611a1e5784516001600160a01b0316835293830193918301916001016119f9565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611a5457600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220edd69dba939bbe2b736a4f23d2b5456ef2bdabec709732b90db73a76ed3aa66764736f6c6343000811003300000000000000000000000054a2b3c8e76a1f11d0454f356ec7c90a36e086c0000000000000000000000000f18a04d1b0e0da53bfa0d55a8b59d5e3cc925ddb

Deployed Bytecode

0x6080604052600436106101c65760003560e01c806370a08231116100f7578063a3aa748711610095578063c589829d11610064578063c589829d14610549578063dd62ed3e1461055f578063f1d5f517146105a5578063f2fde38b146105c557600080fd5b8063a3aa7487146104d3578063a457c2d7146104e9578063a9059cbb14610509578063c02466681461052957600080fd5b80637d1db4a5116100d15780637d1db4a5146104575780638091f3bf1461046d5780638da5cb5b1461048757806395d89b41146104a557600080fd5b806370a08231146103ea578063715018a61461042057806375f0a8741461043757600080fd5b80632b14ca5611610164578063470624021161013e578063470624021461036057806349bd5a5e1461037b5780635342acb41461039b5780636c0a24eb146103d457600080fd5b80632b14ca56146102f4578063313ce56714610324578063395093511461034057600080fd5b80631694505e116101a05780631694505e1461026757806318160ddd1461029f57806323b872dd146102b4578063264d26dd146102d457600080fd5b806303e403b0146101d257806306fdde03146101fb578063095ea7b31461023757600080fd5b366101cd57005b600080fd5b3480156101de57600080fd5b506101e860095481565b6040519081526020015b60405180910390f35b34801561020757600080fd5b5060408051808201909152600a815269536869726f204e656b6f60b01b60208201525b6040516101f291906115f4565b34801561024357600080fd5b5061025761025236600461165a565b6105e5565b60405190151581526020016101f2565b34801561027357600080fd5b50600154610287906001600160a01b031681565b6040516001600160a01b0390911681526020016101f2565b3480156102ab57600080fd5b506006546101e8565b3480156102c057600080fd5b506102576102cf366004611686565b6105fc565b3480156102e057600080fd5b50600b54610287906001600160a01b031681565b34801561030057600080fd5b50600f5460105461030f919082565b604080519283526020830191909152016101f2565b34801561033057600080fd5b50604051600981526020016101f2565b34801561034c57600080fd5b5061025761035b36600461165a565b61064e565b34801561036c57600080fd5b50600d54600e5461030f919082565b34801561038757600080fd5b50600254610287906001600160a01b031681565b3480156103a757600080fd5b506102576103b63660046116c7565b6001600160a01b031660009081526005602052604090205460ff1690565b3480156103e057600080fd5b506101e860075481565b3480156103f657600080fd5b506101e86104053660046116c7565b6001600160a01b031660009081526003602052604090205490565b34801561042c57600080fd5b50610435610685565b005b34801561044357600080fd5b50600c54610287906001600160a01b031681565b34801561046357600080fd5b506101e860085481565b34801561047957600080fd5b506015546102579060ff1681565b34801561049357600080fd5b506000546001600160a01b0316610287565b3480156104b157600080fd5b506040805180820190915260058152645348494b4f60d81b602082015261022a565b3480156104df57600080fd5b506101e860145481565b3480156104f557600080fd5b5061025761050436600461165a565b610702565b34801561051557600080fd5b5061025761052436600461165a565b610739565b34801561053557600080fd5b506104356105443660046116e4565b610746565b34801561055557600080fd5b506101e8600a5481565b34801561056b57600080fd5b506101e861057a366004611722565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156105b157600080fd5b506104356105c0366004611750565b61079b565b3480156105d157600080fd5b506104356105e03660046116c7565b610805565b60006105f23384846108ef565b5060015b92915050565b6000610609848484610a13565b6001600160a01b03841660009081526004602090815260408083203380855292529091205461064491869161063f90869061177f565b6108ef565b5060019392505050565b3360008181526004602090815260408083206001600160a01b038716845290915281205490916105f291859061063f908690611792565b6000546001600160a01b031633146106b85760405162461bcd60e51b81526004016106af906117a5565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b3360008181526004602090815260408083206001600160a01b038716845290915281205490916105f291859061063f90869061177f565b60006105f2338484610a13565b6000546001600160a01b031633146107705760405162461bcd60e51b81526004016106af906117a5565b6001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146107c55760405162461bcd60e51b81526004016106af906117a5565b6103e8816006546107d691906117da565b6107e091906117f1565b6007556006546103e8906107f59083906117da565b6107ff91906117f1565b60085550565b6000546001600160a01b0316331461082f5760405162461bcd60e51b81526004016106af906117a5565b6001600160a01b0381166108945760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106af565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166109515760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106af565b6001600160a01b0382166109b25760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106af565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610a775760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106af565b6001600160a01b038216610ad95760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106af565b60008111610b3b5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016106af565b6001600160a01b03831660009081526003602052604081208054839290610b6390849061177f565b90915550506001600160a01b03831660009081526005602052604081205482919060ff16158015610bad57506001600160a01b03841660009081526005602052604090205460ff16155b15610bb6575060015b600b546001600160a01b038681169116148015610be057506002546001600160a01b038581169116145b15610bf757426014556015805460ff191660011790555b60155460ff168015610c165750601454610c139061012c611792565b42115b8015610c2a5750601554610100900460ff16155b15610c53576002600d556003600e556005600f55600a6010556015805461ff0019166101001790555b60155460ff168015610c725750601454610c6f90610258611792565b42115b8015610c87575060155462010000900460ff16155b15610cee57610c986009600a6118f7565b610ca79064e8d4a510006117da565b600755610cb66009600a6118f7565b610cc59064e8d4a510006117da565b6008556001600d556002600e556003600f5560076010556015805462ff00001916620100001790555b60155460ff168015610d0d5750601454610d0a90610384611792565b42115b8015610d2357506015546301000000900460ff16155b15610d53576001600d8190556002600e819055600f919091556010556015805463ff000000191663010000001790555b8015610f91576002546001600160a01b03858116911614610de857600854831115610d905760405162461bcd60e51b81526004016106af90611906565b60075483610db3866001600160a01b031660009081526003602052604090205490565b610dbd9190611792565b1115610ddb5760405162461bcd60e51b81526004016106af9061194f565b610de58385611014565b91505b6002546001600160a01b03868116911614610ef357600854831115610e1f5760405162461bcd60e51b81526004016106af90611906565b610e2983866110eb565b91506001600a6000828254610e3e9190611792565b90915550506009543060009081526003602052604090205410158015610e67575060135460ff16155b15610e95576013805460ff19166001179055600954610e8590611122565b6013805460ff191690556000600a555b6005600a54118015610eaa575060135460ff16155b15610ef3576013805460ff19166001179055610ee3610ede306001600160a01b031660009081526003602052604090205490565b611122565b6013805460ff191690556000600a555b6002546001600160a01b03858116911614801590610f1f57506002546001600160a01b03868116911614155b15610f9157600854831115610f465760405162461bcd60e51b81526004016106af90611906565b60075483610f69866001600160a01b031660009081526003602052604090205490565b610f739190611792565b1115610f915760405162461bcd60e51b81526004016106af9061194f565b6001600160a01b03841660009081526003602052604081208054849290610fb9908490611792565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161100591815260200190565b60405180910390a35050505050565b6000806064600d600001548561102a91906117da565b61103491906117f1565b905060006064600d600101548661104b91906117da565b61105591906117f1565b90506110618183611792565b3060009081526003602052604081208054909190611080908490611792565b909155503090506001600160a01b0385167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6110bc8585611792565b60405190815260200160405180910390a3806110d8838761177f565b6110e2919061177f565b95945050505050565b6000806064600f600001548561110191906117da565b61110b91906117f1565b905060006064600f600101548661104b91906117da565b600f54601054600d54600e548493600093909290916111419190611792565b61114b9190611792565b6111559190611792565b600f54600d546111659190611792565b61116f90846117da565b61117991906117f1565b600f54601054600d54600e549394506000936111959190611792565b61119f9190611792565b6111a99190611792565b601054600e546111b99190611792565b6111c390856117da565b6111cd91906117f1565b905060006111db8284611792565b905060006111ea84600261127a565b905060006111f886836112c3565b90504761120482611305565b600061121047836112c3565b9050600061122886611222848b61145f565b9061127a565b905061123485826114e1565b600c546040516001600160a01b03909116904780156108fc02916000818181858888f1935050505015801561126d573d6000803e3d6000fd5b5050505050505050505050565b60006112bc83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611595565b9392505050565b60006112bc83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506115c3565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061133a5761133a61199b565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611393573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b791906119b1565b816001815181106113ca576113ca61199b565b6001600160a01b0392831660209182029290920101526001546113f091309116846108ef565b60015460405163791ac94760e01b81526001600160a01b039091169063791ac947906114299085906000908690309042906004016119ce565b600060405180830381600087803b15801561144357600080fd5b505af1158015611457573d6000803e3d6000fd5b505050505050565b600082600003611471575060006105f6565b600061147d83856117da565b90508261148a85836117f1565b146112bc5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106af565b6001546114f99030906001600160a01b0316846108ef565b600154600b5460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af1158015611569573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061158e9190611a3f565b5050505050565b600081836115b65760405162461bcd60e51b81526004016106af91906115f4565b5060006110e284866117f1565b600081848411156115e75760405162461bcd60e51b81526004016106af91906115f4565b5060006110e2848661177f565b600060208083528351808285015260005b8181101561162157858101830151858201604001528201611605565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461165757600080fd5b50565b6000806040838503121561166d57600080fd5b823561167881611642565b946020939093013593505050565b60008060006060848603121561169b57600080fd5b83356116a681611642565b925060208401356116b681611642565b929592945050506040919091013590565b6000602082840312156116d957600080fd5b81356112bc81611642565b600080604083850312156116f757600080fd5b823561170281611642565b91506020830135801515811461171757600080fd5b809150509250929050565b6000806040838503121561173557600080fd5b823561174081611642565b9150602083013561171781611642565b60006020828403121561176257600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b818103818111156105f6576105f6611769565b808201808211156105f6576105f6611769565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b80820281158282048414176105f6576105f6611769565b60008261180e57634e487b7160e01b600052601260045260246000fd5b500490565b600181815b8085111561184e57816000190482111561183457611834611769565b8085161561184157918102915b93841c9390800290611818565b509250929050565b600082611865575060016105f6565b81611872575060006105f6565b81600181146118885760028114611892576118ae565b60019150506105f6565b60ff8411156118a3576118a3611769565b50506001821b6105f6565b5060208310610133831016604e8410600b84101617156118d1575081810a6105f6565b6118db8383611813565b80600019048211156118ef576118ef611769565b029392505050565b60006112bc60ff841683611856565b60208082526029908201527f5472616e7366657220416d6f756e74206578636565647320746865206d6178546040820152681e1b9cd05b5bdd5b9d60ba1b606082015260800190565b6020808252602c908201527f5472616e7366657220616d6f756e74206578636565647320746865206d61785760408201526b30b63632ba20b6b7bab73a1760a11b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156119c357600080fd5b81516112bc81611642565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611a1e5784516001600160a01b0316835293830193918301916001016119f9565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611a5457600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220edd69dba939bbe2b736a4f23d2b5456ef2bdabec709732b90db73a76ed3aa66764736f6c63430008110033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

00000000000000000000000054a2b3c8e76a1f11d0454f356ec7c90a36e086c0000000000000000000000000f18a04d1b0e0da53bfa0d55a8b59d5e3cc925ddb

-----Decoded View---------------
Arg [0] : marketingAddress (address): 0x54a2B3C8e76A1f11D0454F356Ec7c90A36E086C0
Arg [1] : liquidityAddress (address): 0xF18A04D1B0E0DA53bfa0d55a8B59d5E3cc925ddB

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000054a2b3c8e76a1f11d0454f356ec7c90a36e086c0
Arg [1] : 000000000000000000000000f18a04d1b0e0da53bfa0d55a8b59d5e3cc925ddb


Deployed Bytecode Sourcemap

4738:11058:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5446:61;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;5446:61:0;;;;;;;;7143:83;;;;;;;;;;-1:-1:-1;7213:5:0;;;;;;;;;;;;-1:-1:-1;;;7213:5:0;;;;7143:83;;;;;;;:::i;7975:161::-;;;;;;;;;;-1:-1:-1;7975:161:0;;;;;:::i;:::-;;:::i;:::-;;;1370:14:1;;1363:22;1345:41;;1333:2;1318:18;7975:161:0;1205:187:1;4826:41:0;;;;;;;;;;-1:-1:-1;4826:41:0;;;;-1:-1:-1;;;;;4826:41:0;;;;;;-1:-1:-1;;;;;1587:32:1;;;1569:51;;1557:2;1542:18;4826:41:0;1397:229:1;7420:95:0;;;;;;;;;;-1:-1:-1;7500:7:0;;7420:95;;8144:266;;;;;;;;;;-1:-1:-1;8144:266:0;;;;;:::i;:::-;;:::i;5552:32::-;;;;;;;;;;-1:-1:-1;5552:32:0;;;;-1:-1:-1;;;;;5552:32:0;;;5831:23;;;;;;;;;;-1:-1:-1;5831:23:0;;;;;;;;;;;;;2474:25:1;;;2530:2;2515:18;;2508:34;;;;2447:18;5831:23:0;2300:248:1;7329:83:0;;;;;;;;;;-1:-1:-1;7329:83:0;;5240:1;2695:36:1;;2683:2;2668:18;7329:83:0;2553:184:1;8418:215:0;;;;;;;;;;-1:-1:-1;8418:215:0;;;;;:::i;:::-;;:::i;5803:21::-;;;;;;;;;;-1:-1:-1;5803:21:0;;;;;;;;;4876:28;;;;;;;;;;-1:-1:-1;4876:28:0;;;;-1:-1:-1;;;;;4876:28:0;;;9999:123;;;;;;;;;;-1:-1:-1;9999:123:0;;;;;:::i;:::-;-1:-1:-1;;;;;10087:27:0;10063:4;10087:27;;;:18;:27;;;;;;;;;9999:123;5314:61;;;;;;;;;;;;;;;;7523:118;;;;;;;;;;-1:-1:-1;7523:118:0;;;;;:::i;:::-;-1:-1:-1;;;;;7616:17:0;7589:7;7616:17;;;:8;:17;;;;;;;7523:118;3199:148;;;;;;;;;;;;;:::i;:::-;;5591:30;;;;;;;;;;-1:-1:-1;5591:30:0;;;;-1:-1:-1;;;;;5591:30:0;;;5382:57;;;;;;;;;;;;;;;;5996:20;;;;;;;;;;-1:-1:-1;5996:20:0;;;;;;;;2985:79;;;;;;;;;;-1:-1:-1;3023:7:0;3050:6;-1:-1:-1;;;;;3050:6:0;2985:79;;7234:87;;;;;;;;;;-1:-1:-1;7306:7:0;;;;;;;;;;;;-1:-1:-1;;;7306:7:0;;;;7234:87;;5963:26;;;;;;;;;;;;;;;;8641:225;;;;;;;;;;-1:-1:-1;8641:225:0;;;;;:::i;:::-;;:::i;7649:167::-;;;;;;;;;;-1:-1:-1;7649:167:0;;;;;:::i;:::-;;:::i;8878:140::-;;;;;;;;;;-1:-1:-1;8878:140:0;;;;;:::i;:::-;;:::i;5514:29::-;;;;;;;;;;;;;;;;7824:143;;;;;;;;;;-1:-1:-1;7824:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;7932:18:0;;;7905:7;7932:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7824:143;10130:196;;;;;;;;;;-1:-1:-1;10130:196:0;;;;;:::i;:::-;;:::i;3355:244::-;;;;;;;;;;-1:-1:-1;3355:244:0;;;;;:::i;:::-;;:::i;7975:161::-;8050:4;8067:39;2517:10;8090:7;8099:6;8067:8;:39::i;:::-;-1:-1:-1;8124:4:0;7975:161;;;;;:::o;8144:266::-;8242:4;8259:36;8269:6;8277:9;8288:6;8259:9;:36::i;:::-;-1:-1:-1;;;;;8337:19:0;;;;;;:11;:19;;;;;;;;2517:10;8337:33;;;;;;;;;8306:74;;8315:6;;8337:42;;8373:6;;8337:42;:::i;:::-;8306:8;:74::i;:::-;-1:-1:-1;8398:4:0;8144:266;;;;;:::o;8418:215::-;2517:10;8506:4;8555:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;8555:34:0;;;;;;;;;;8506:4;;8523:80;;8546:7;;8555:47;;8592:10;;8555:47;:::i;3199:148::-;3112:6;;-1:-1:-1;;;;;3112:6:0;2517:10;3112:22;3104:67;;;;-1:-1:-1;;;3104:67:0;;;;;;;:::i;:::-;;;;;;;;;3306:1:::1;3290:6:::0;;3269:40:::1;::::0;-1:-1:-1;;;;;3290:6:0;;::::1;::::0;3269:40:::1;::::0;3306:1;;3269:40:::1;3337:1;3320:19:::0;;-1:-1:-1;;;;;;3320:19:0::1;::::0;;3199:148::o;8641:225::-;2517:10;8734:4;8783:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;8783:34:0;;;;;;;;;;8734:4;;8751:85;;8774:7;;8783:52;;8820:15;;8783:52;:::i;7649:167::-;7727:4;7744:42;2517:10;7768:9;7779:6;7744:9;:42::i;8878:140::-;3112:6;;-1:-1:-1;;;;;3112:6:0;2517:10;3112:22;3104:67;;;;-1:-1:-1;;;3104:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8963:36:0;;;::::1;;::::0;;;:18:::1;:36;::::0;;;;:47;;-1:-1:-1;;8963:47:0::1;::::0;::::1;;::::0;;;::::1;::::0;;8878:140::o;10130:196::-;3112:6;;-1:-1:-1;;;;;3112:6:0;2517:10;3112:22;3104:67;;;;-1:-1:-1;;;3104:67:0;;;;;;;:::i;:::-;10255:4:::1;10237:13;10227:7;;:23;;;;:::i;:::-;10226:33;;;;:::i;:::-;10207:16;:52:::0;10286:7:::1;::::0;10314:4:::1;::::0;10286:23:::1;::::0;10296:13;;10286:23:::1;:::i;:::-;10285:33;;;;:::i;:::-;10270:12;:48:::0;-1:-1:-1;10130:196:0:o;3355:244::-;3112:6;;-1:-1:-1;;;;;3112:6:0;2517:10;3112:22;3104:67;;;;-1:-1:-1;;;3104:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3444:22:0;::::1;3436:73;;;::::0;-1:-1:-1;;;3436:73:0;;5346:2:1;3436:73:0::1;::::0;::::1;5328:21:1::0;5385:2;5365:18;;;5358:30;5424:34;5404:18;;;5397:62;-1:-1:-1;;;5475:18:1;;;5468:36;5521:19;;3436:73:0::1;5144:402:1::0;3436:73:0::1;3546:6;::::0;;3525:38:::1;::::0;-1:-1:-1;;;;;3525:38:0;;::::1;::::0;3546:6;::::1;::::0;3525:38:::1;::::0;::::1;3574:6;:17:::0;;-1:-1:-1;;;;;;3574:17:0::1;-1:-1:-1::0;;;;;3574:17:0;;;::::1;::::0;;;::::1;::::0;;3355:244::o;10334:337::-;-1:-1:-1;;;;;10427:19:0;;10419:68;;;;-1:-1:-1;;;10419:68:0;;5753:2:1;10419:68:0;;;5735:21:1;5792:2;5772:18;;;5765:30;5831:34;5811:18;;;5804:62;-1:-1:-1;;;5882:18:1;;;5875:34;5926:19;;10419:68:0;5551:400:1;10419:68:0;-1:-1:-1;;;;;10506:21:0;;10498:68;;;;-1:-1:-1;;;10498:68:0;;6158:2:1;10498:68:0;;;6140:21:1;6197:2;6177:18;;;6170:30;6236:34;6216:18;;;6209:62;-1:-1:-1;;;6287:18:1;;;6280:32;6329:19;;10498:68:0;5956:398:1;10498:68:0;-1:-1:-1;;;;;10579:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10631:32;;160:25:1;;;10631:32:0;;133:18:1;10631:32:0;;;;;;;10334:337;;;:::o;10679:3164::-;-1:-1:-1;;;;;10801:18:0;;10793:68;;;;-1:-1:-1;;;10793:68:0;;6561:2:1;10793:68:0;;;6543:21:1;6600:2;6580:18;;;6573:30;6639:34;6619:18;;;6612:62;-1:-1:-1;;;6690:18:1;;;6683:35;6735:19;;10793:68:0;6359:401:1;10793:68:0;-1:-1:-1;;;;;10880:16:0;;10872:64;;;;-1:-1:-1;;;10872:64:0;;6967:2:1;10872:64:0;;;6949:21:1;7006:2;6986:18;;;6979:30;7045:34;7025:18;;;7018:62;-1:-1:-1;;;7096:18:1;;;7089:33;7139:19;;10872:64:0;6765:399:1;10872:64:0;10964:1;10955:6;:10;10947:64;;;;-1:-1:-1;;;10947:64:0;;7371:2:1;10947:64:0;;;7353:21:1;7410:2;7390:18;;;7383:30;7449:34;7429:18;;;7422:62;-1:-1:-1;;;7500:18:1;;;7493:39;7549:19;;10947:64:0;7169:405:1;10947:64:0;-1:-1:-1;;;;;11032:14:0;;;;;;:8;:14;;;;;:24;;11050:6;;11032:14;:24;;11050:6;;11032:24;:::i;:::-;;;;-1:-1:-1;;;;;;;11148:24:0;;11067:22;11148:24;;;:18;:24;;;;;;11092:6;;11067:22;11148:24;;11147:25;:52;;;;-1:-1:-1;;;;;;11177:22:0;;;;;;:18;:22;;;;;;;;11176:23;11147:52;11144:97;;;-1:-1:-1;11225:4:0;11144:97;11264:17;;-1:-1:-1;;;;;11256:25:0;;;11264:17;;11256:25;:48;;;;-1:-1:-1;11291:13:0;;-1:-1:-1;;;;;11285:19:0;;;11291:13;;11285:19;11256:48;11253:139;;;11335:15;11321:11;:29;11365:8;:15;;-1:-1:-1;;11365:15:0;11376:4;11365:15;;;11253:139;11407:8;;;;:47;;;;-1:-1:-1;11437:11:0;;:17;;11451:3;11437:17;:::i;:::-;11419:15;:35;11407:47;:58;;;;-1:-1:-1;11459:6:0;;;;;;;11458:7;11407:58;11404:248;;;11501:1;11482:6;:20;11536:1;11517:16;:20;11574:1;11554:7;:21;11610:2;11590:17;:22;11627:6;:13;;-1:-1:-1;;11627:13:0;;;;;11404:248;11667:8;;;;:47;;;;-1:-1:-1;11697:11:0;;:17;;11711:3;11697:17;:::i;:::-;11679:15;:35;11667:47;:58;;;;-1:-1:-1;11719:6:0;;;;;;;11718:7;11667:58;11664:388;;;11778:13;5240:1;11778:2;:13;:::i;:::-;11762:29;;:13;:29;:::i;:::-;11743:16;:48;11842:13;5240:1;11842:2;:13;:::i;:::-;11826:29;;:13;:29;:::i;:::-;11807:12;:48;11902:1;11883:6;:20;11937:1;11918:16;:20;11975:1;11955:7;:21;12011:1;11991:17;:21;12027:6;:13;;-1:-1:-1;;12027:13:0;;;;;11664:388;12067:8;;;;:47;;;;-1:-1:-1;12097:11:0;;:17;;12111:3;12097:17;:::i;:::-;12079:15;:35;12067:47;:58;;;;-1:-1:-1;12119:6:0;;;;;;;12118:7;12067:58;12064:247;;;12161:1;12142:6;:20;;;12196:1;12177:16;:20;;;12214:7;:21;;;;12250:17;:21;12286:6;:13;;-1:-1:-1;;12286:13:0;;;;;12064:247;12326:7;12323:1412;;;12358:13;;-1:-1:-1;;;;;12352:19:0;;;12358:13;;12352:19;12349:311;;12409:12;;12399:6;:22;;12391:76;;;;-1:-1:-1;;;12391:76:0;;;;;;;:::i;:::-;12520:16;;12510:6;12494:13;12504:2;-1:-1:-1;;;;;7616:17:0;7589:7;7616:17;;;:8;:17;;;;;;;7523:118;12494:13;:22;;;;:::i;:::-;:42;;12486:99;;;;-1:-1:-1;;;12486:99:0;;;;;;;:::i;:::-;12621:23;12633:6;12641:2;12621:11;:23::i;:::-;12604:40;;12349:311;12687:13;;-1:-1:-1;;;;;12679:21:0;;;12687:13;;12679:21;12676:755;;12738:12;;12728:6;:22;;12720:76;;;;-1:-1:-1;;;12720:76:0;;;;;;;:::i;:::-;12832:26;12845:6;12853:4;12832:12;:26::i;:::-;12815:43;;12895:1;12877:14;;:19;;;;;;;:::i;:::-;;;;-1:-1:-1;;12948:17:0;;12938:4;7589:7;7616:17;;;:8;:17;;;;;;12920:45;;:58;;;;-1:-1:-1;12970:8:0;;;;12969:9;12920:58;12916:250;;;13003:8;:15;;-1:-1:-1;;13003:15:0;13014:4;13003:15;;;13050:17;;13041:27;;:8;:27::i;:::-;13091:8;:16;;-1:-1:-1;;13091:16:0;;;13102:5;13130:14;:18;12916:250;13207:1;13190:14;;:18;:31;;;;-1:-1:-1;13213:8:0;;;;13212:9;13190:31;13186:230;;;13246:8;:15;;-1:-1:-1;;13246:15:0;13257:4;13246:15;;;13284:34;13293:24;13311:4;-1:-1:-1;;;;;7616:17:0;7589:7;7616:17;;;:8;:17;;;;;;;7523:118;13293:24;13284:8;:34::i;:::-;13341:8;:16;;-1:-1:-1;;13341:16:0;;;13352:5;13380:14;:18;13186:230;13456:13;;-1:-1:-1;;;;;13450:19:0;;;13456:13;;13450:19;;;;:44;;-1:-1:-1;13481:13:0;;-1:-1:-1;;;;;13473:21:0;;;13481:13;;13473:21;;13450:44;13447:277;;;13532:12;;13522:6;:22;;13514:76;;;;-1:-1:-1;;;13514:76:0;;;;;;;:::i;:::-;13643:16;;13633:6;13617:13;13627:2;-1:-1:-1;;;;;7616:17:0;7589:7;7616:17;;;:8;:17;;;;;;;7523:118;13617:13;:22;;;;:::i;:::-;:42;;13609:99;;;;-1:-1:-1;;;13609:99:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13755:12:0;;;;;;:8;:12;;;;;:30;;13771:14;;13755:12;:30;;13771:14;;13755:30;:::i;:::-;;;;;;;;13816:2;-1:-1:-1;;;;;13801:34:0;13810:4;-1:-1:-1;;;;;13801:34:0;;13820:14;13801:34;;;;160:25:1;;148:2;133:18;;14:177;13801:34:0;;;;;;;;10782:3061;;10679:3164;;;:::o;9067:456::-;9135:7;9155:25;9211:3;9192:6;:16;;;9183:6;:25;;;;:::i;:::-;:31;;;;:::i;:::-;9155:59;;9226:26;9283:3;9264:6;:16;;;9255:6;:25;;;;:::i;:::-;:31;;;;:::i;:::-;9226:60;-1:-1:-1;9326:38:0;9226:60;9326:17;:38;:::i;:::-;9316:4;9299:23;;;;:8;:23;;;;;:65;;:23;;;:65;;;;;:::i;:::-;;;;-1:-1:-1;9404:4:0;;-1:-1:-1;;;;;;9380:70:0;;;9411:38;9432:17;9411:18;:38;:::i;:::-;9380:70;;160:25:1;;;148:2;133:18;9380:70:0;;;;;;;9496:18;9469:25;9477:17;9469:6;:25;:::i;:::-;:45;;;;:::i;:::-;9461:54;9067:456;-1:-1:-1;;;;;9067:456:0:o;9531:460::-;9600:7;9620:25;9677:3;9657:7;:17;;;9648:6;:26;;;;:::i;:::-;:32;;;;:::i;:::-;9620:60;;9692:26;9750:3;9730:7;:17;;;9721:6;:26;;;;:::i;13854:1074::-;14094:7;:17;14074;;14055:6;:16;14036;;13933:6;;13907:23;;14094:17;;14074;;14036:35;;14055:16;14036:35;:::i;:::-;:55;;;;:::i;:::-;:75;;;;:::i;:::-;14014:7;:17;13995:6;:16;:36;;14014:17;13995:36;:::i;:::-;13976:56;;:15;:56;:::i;:::-;:136;;;;:::i;:::-;14267:7;:17;14247;;14228:6;:16;14209;;13950:162;;-1:-1:-1;14123:23:0;;14209:35;;14228:16;14209:35;:::i;:::-;:55;;;;:::i;:::-;:75;;;;:::i;:::-;14187:17;;14168:16;;:36;;14187:17;14168:36;:::i;:::-;14149:56;;:15;:56;:::i;:::-;:136;;;;:::i;:::-;14123:162;-1:-1:-1;14296:25:0;14324:33;14123:162;14324:15;:33;:::i;:::-;14296:61;-1:-1:-1;14378:26:0;14407:22;:15;14427:1;14407:19;:22::i;:::-;14378:51;-1:-1:-1;14440:26:0;14469:39;:15;14378:51;14469:19;:39::i;:::-;14440:68;-1:-1:-1;14547:21:0;14579:36;14440:68;14579:16;:36::i;:::-;14627:18;14648:44;:21;14674:17;14648:25;:44::i;:::-;14627:65;-1:-1:-1;14713:23:0;14739:54;14775:17;14739:31;14627:65;14754:15;14739:14;:31::i;:::-;:35;;:54::i;:::-;14713:80;;14804:49;14817:18;14837:15;14804:12;:49::i;:::-;14872:15;;14864:56;;-1:-1:-1;;;;;14872:15:0;;;;14898:21;14864:56;;;;;14872:15;14864:56;14872:15;14864:56;14898:21;14872:15;14864:56;;;;;;;;;;;;;;;;;;;;;13896:1032;;;;;;;;;13854:1074;:::o;1651:132::-;1709:7;1736:39;1740:1;1743;1736:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1729:46;1651:132;-1:-1:-1;;;1651:132:0:o;1049:136::-;1107:7;1134:43;1138:1;1141;1134:43;;;;;;;;;;;;;;;;;:3;:43::i;14936:475::-;15026:16;;;15040:1;15026:16;;;;;;;;15002:21;;15026:16;;;;;;;;;;-1:-1:-1;15026:16:0;15002:40;;15071:4;15053;15058:1;15053:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;15053:23:0;;;:7;;;;;;;;;;:23;;;;15097:15;;:22;;;-1:-1:-1;;;15097:22:0;;;;:15;;;;;:20;;:22;;;;;15053:7;;15097:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15087:4;15092:1;15087:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;15087:32:0;;;:7;;;;;;;;;:32;15164:15;;15132:62;;15149:4;;15164:15;15182:11;15132:8;:62::i;:::-;15207:15;;:196;;-1:-1:-1;;;15207:196:0;;-1:-1:-1;;;;;15207:15:0;;;;:66;;:196;;15288:11;;15207:15;;15330:4;;15357;;15377:15;;15207:196;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14991:420;14936:475;:::o;1393:250::-;1451:7;1475:1;1480;1475:6;1471:47;;-1:-1:-1;1505:1:0;1498:8;;1471:47;1530:9;1542:5;1546:1;1542;:5;:::i;:::-;1530:17;-1:-1:-1;1575:1:0;1566:5;1570:1;1530:17;1566:5;:::i;:::-;:10;1558:56;;;;-1:-1:-1;;;1558:56:0;;11492:2:1;1558:56:0;;;11474:21:1;11531:2;11511:18;;;11504:30;11570:34;11550:18;;;11543:62;-1:-1:-1;;;11621:18:1;;;11614:31;11662:19;;1558:56:0;11290:397:1;15419:374:0;15532:15;;15500:62;;15517:4;;-1:-1:-1;;;;;15532:15:0;15550:11;15500:8;:62::i;:::-;15575:15;;15727:17;;15575:210;;-1:-1:-1;;;15575:210:0;;15649:4;15575:210;;;12033:34:1;12083:18;;;12076:34;;;15575:15:0;12126:18:1;;;12119:34;;;12169:18;;;12162:34;-1:-1:-1;;;;;15727:17:0;;;12212:19:1;;;12205:44;15759:15:0;12265:19:1;;;12258:35;15575:15:0;;;:31;;15615:9;;11967:19:1;;15575:210:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;15419:374;;:::o;1791:278::-;1877:7;1912:12;1905:5;1897:28;;;;-1:-1:-1;;;1897:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1936:9:0;1948:5;1952:1;1948;:5;:::i;1193:192::-;1279:7;1315:12;1307:6;;;;1299:29;;;;-1:-1:-1;;;1299:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1339:9:0;1351:5;1355:1;1351;:5;:::i;196:548:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;749:131::-;-1:-1:-1;;;;;824:31:1;;814:42;;804:70;;870:1;867;860:12;804:70;749:131;:::o;885:315::-;953:6;961;1014:2;1002:9;993:7;989:23;985:32;982:52;;;1030:1;1027;1020:12;982:52;1069:9;1056:23;1088:31;1113:5;1088:31;:::i;:::-;1138:5;1190:2;1175:18;;;;1162:32;;-1:-1:-1;;;885:315:1:o;1631:456::-;1708:6;1716;1724;1777:2;1765:9;1756:7;1752:23;1748:32;1745:52;;;1793:1;1790;1783:12;1745:52;1832:9;1819:23;1851:31;1876:5;1851:31;:::i;:::-;1901:5;-1:-1:-1;1958:2:1;1943:18;;1930:32;1971:33;1930:32;1971:33;:::i;:::-;1631:456;;2023:7;;-1:-1:-1;;;2077:2:1;2062:18;;;;2049:32;;1631:456::o;2742:247::-;2801:6;2854:2;2842:9;2833:7;2829:23;2825:32;2822:52;;;2870:1;2867;2860:12;2822:52;2909:9;2896:23;2928:31;2953:5;2928:31;:::i;2994:416::-;3059:6;3067;3120:2;3108:9;3099:7;3095:23;3091:32;3088:52;;;3136:1;3133;3126:12;3088:52;3175:9;3162:23;3194:31;3219:5;3194:31;:::i;:::-;3244:5;-1:-1:-1;3301:2:1;3286:18;;3273:32;3343:15;;3336:23;3324:36;;3314:64;;3374:1;3371;3364:12;3314:64;3397:7;3387:17;;;2994:416;;;;;:::o;3415:388::-;3483:6;3491;3544:2;3532:9;3523:7;3519:23;3515:32;3512:52;;;3560:1;3557;3550:12;3512:52;3599:9;3586:23;3618:31;3643:5;3618:31;:::i;:::-;3668:5;-1:-1:-1;3725:2:1;3710:18;;3697:32;3738:33;3697:32;3738:33;:::i;3808:180::-;3867:6;3920:2;3908:9;3899:7;3895:23;3891:32;3888:52;;;3936:1;3933;3926:12;3888:52;-1:-1:-1;3959:23:1;;3808:180;-1:-1:-1;3808:180:1:o;3993:127::-;4054:10;4049:3;4045:20;4042:1;4035:31;4085:4;4082:1;4075:15;4109:4;4106:1;4099:15;4125:128;4192:9;;;4213:11;;;4210:37;;;4227:18;;:::i;4258:125::-;4323:9;;;4344:10;;;4341:36;;;4357:18;;:::i;4388:356::-;4590:2;4572:21;;;4609:18;;;4602:30;4668:34;4663:2;4648:18;;4641:62;4735:2;4720:18;;4388:356::o;4749:168::-;4822:9;;;4853;;4870:15;;;4864:22;;4850:37;4840:71;;4891:18;;:::i;4922:217::-;4962:1;4988;4978:132;;5032:10;5027:3;5023:20;5020:1;5013:31;5067:4;5064:1;5057:15;5095:4;5092:1;5085:15;4978:132;-1:-1:-1;5124:9:1;;4922:217::o;7579:422::-;7668:1;7711:5;7668:1;7725:270;7746:7;7736:8;7733:21;7725:270;;;7805:4;7801:1;7797:6;7793:17;7787:4;7784:27;7781:53;;;7814:18;;:::i;:::-;7864:7;7854:8;7850:22;7847:55;;;7884:16;;;;7847:55;7963:22;;;;7923:15;;;;7725:270;;;7729:3;7579:422;;;;;:::o;8006:806::-;8055:5;8085:8;8075:80;;-1:-1:-1;8126:1:1;8140:5;;8075:80;8174:4;8164:76;;-1:-1:-1;8211:1:1;8225:5;;8164:76;8256:4;8274:1;8269:59;;;;8342:1;8337:130;;;;8249:218;;8269:59;8299:1;8290:10;;8313:5;;;8337:130;8374:3;8364:8;8361:17;8358:43;;;8381:18;;:::i;:::-;-1:-1:-1;;8437:1:1;8423:16;;8452:5;;8249:218;;8551:2;8541:8;8538:16;8532:3;8526:4;8523:13;8519:36;8513:2;8503:8;8500:16;8495:2;8489:4;8486:12;8482:35;8479:77;8476:159;;;-1:-1:-1;8588:19:1;;;8620:5;;8476:159;8667:34;8692:8;8686:4;8667:34;:::i;:::-;8737:6;8733:1;8729:6;8725:19;8716:7;8713:32;8710:58;;;8748:18;;:::i;:::-;8786:20;;8006:806;-1:-1:-1;;;8006:806:1:o;8817:140::-;8875:5;8904:47;8945:4;8935:8;8931:19;8925:4;8904:47;:::i;8962:405::-;9164:2;9146:21;;;9203:2;9183:18;;;9176:30;9242:34;9237:2;9222:18;;9215:62;-1:-1:-1;;;9308:2:1;9293:18;;9286:39;9357:3;9342:19;;8962:405::o;9372:408::-;9574:2;9556:21;;;9613:2;9593:18;;;9586:30;9652:34;9647:2;9632:18;;9625:62;-1:-1:-1;;;9718:2:1;9703:18;;9696:42;9770:3;9755:19;;9372:408::o;9917:127::-;9978:10;9973:3;9969:20;9966:1;9959:31;10009:4;10006:1;9999:15;10033:4;10030:1;10023:15;10049:251;10119:6;10172:2;10160:9;10151:7;10147:23;10143:32;10140:52;;;10188:1;10185;10178:12;10140:52;10220:9;10214:16;10239:31;10264:5;10239:31;:::i;10305:980::-;10567:4;10615:3;10604:9;10600:19;10646:6;10635:9;10628:25;10672:2;10710:6;10705:2;10694:9;10690:18;10683:34;10753:3;10748:2;10737:9;10733:18;10726:31;10777:6;10812;10806:13;10843:6;10835;10828:22;10881:3;10870:9;10866:19;10859:26;;10920:2;10912:6;10908:15;10894:29;;10941:1;10951:195;10965:6;10962:1;10959:13;10951:195;;;11030:13;;-1:-1:-1;;;;;11026:39:1;11014:52;;11121:15;;;;11086:12;;;;11062:1;10980:9;10951:195;;;-1:-1:-1;;;;;;;11202:32:1;;;;11197:2;11182:18;;11175:60;-1:-1:-1;;;11266:3:1;11251:19;11244:35;11163:3;10305:980;-1:-1:-1;;;10305:980:1:o;12304:306::-;12392:6;12400;12408;12461:2;12449:9;12440:7;12436:23;12432:32;12429:52;;;12477:1;12474;12467:12;12429:52;12506:9;12500:16;12490:26;;12556:2;12545:9;12541:18;12535:25;12525:35;;12600:2;12589:9;12585:18;12579:25;12569:35;;12304:306;;;;;:::o

Swarm Source

ipfs://edd69dba939bbe2b736a4f23d2b5456ef2bdabec709732b90db73a76ed3aa667
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.