ETH Price: $2,679.65 (-0.77%)

Token

Print The Meme (MEMEP)
 

Overview

Max Total Supply

69,696,969 MEMEP

Holders

28

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
1,198,787.54 MEMEP

Value
$0.00
0x772f0bb499ad06490f988359b5a1df96ac32b9e2
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:
MEMEP

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : MemeP.sol
// SPDX-License-Identifier: Unlicensed
//
// https://twitter.com/meme_printer69
// https://t.me/thememeprinter
// https://www.memeprinter.xyz/

pragma solidity 0.8.19;


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) {
        // Solidity only automatically asserts when dividing by 0
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }
}
/**
 * ERC20 standard interface.
 */
interface IERC20 {
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    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);
}

/**
 * Allows for contract ownership along with multi-address authorization
 */
abstract contract Auth {
    address internal owner;

    constructor(address _owner) {
        owner = _owner;
    }

    /**
     * Function modifier to require caller to be contract deployer
     */
    modifier onlyOwner() {
        require(isOwner(msg.sender), "!Owner"); _;
    }

    /**
     * Check if address is owner
     */
    function isOwner(address account) public view returns (bool) {
        return account == owner;
    }

    /**
     * Transfer ownership to new address. Caller must be deployer. Leaves old deployer authorized
     */
    function transferOwnership(address payable adr) public onlyOwner {
        owner = adr;
        emit OwnershipTransferred(adr);
    }

    event OwnershipTransferred(address owner);
}

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

interface IDEXRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);

    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);

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

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

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

interface IDividendDistributor {
    function setShare(address shareholder, uint256 amount) external;
    function deposit(uint256 amount) external;
    function claimDividend(address shareholder) external;
    function getDividendsClaimedOf (address shareholder) external returns (uint256);
}

contract DividendDistributor is IDividendDistributor {
    using SafeMath for uint256;

    address public _token;
    address public _owner;

    address public immutable TOKEN = address(0xb131f4A55907B10d1F0A50d8ab8FA09EC342cd74); //UNI TO CHANGE ADD MEME ADDR


    struct Share {
        uint256 amount;
        uint256 totalExcluded;
        uint256 totalClaimed;
    }

    address[] private shareholders;
    mapping (address => uint256) private shareholderIndexes;

    mapping (address => Share) public shares;

    uint256 public totalShares;
    uint256 public totalDividends;
    uint256 public totalClaimed;
    uint256 public dividendsPerShare;
    uint256 private dividendsPerShareAccuracyFactor = 10 ** 36;

    modifier onlyToken() {
        require(msg.sender == _token); _;
    }
    
    modifier onlyOwner() {
        require(msg.sender == _owner); _;
    }

    constructor (address owner) {
        _token = msg.sender;
        _owner = owner;
    }

    receive() external payable { }

    function setShare(address shareholder, uint256 amount) external override onlyToken {
        if(shares[shareholder].amount > 0){
            distributeDividend(shareholder);
        }

        if(amount > 0 && shares[shareholder].amount == 0){
            addShareholder(shareholder);
        }else if(amount == 0 && shares[shareholder].amount > 0){
            removeShareholder(shareholder);
        }

        totalShares = totalShares.sub(shares[shareholder].amount).add(amount);
        shares[shareholder].amount = amount;
        shares[shareholder].totalExcluded = getCumulativeDividends(shares[shareholder].amount);
    }

    function deposit(uint256 amount) external override onlyToken {
        
        if (amount > 0) {        
            totalDividends = totalDividends.add(amount);
            dividendsPerShare = dividendsPerShare.add(dividendsPerShareAccuracyFactor.mul(amount).div(totalShares));
        }
    }

    function distributeDividend(address shareholder) internal {
        if(shares[shareholder].amount == 0){ return; }

        uint256 amount = getClaimableDividendOf(shareholder);
        if(amount > 0){
            totalClaimed = totalClaimed.add(amount);
            shares[shareholder].totalClaimed = shares[shareholder].totalClaimed.add(amount);
            shares[shareholder].totalExcluded = getCumulativeDividends(shares[shareholder].amount);
            IERC20(TOKEN).transfer(shareholder, amount);
        }
    }

    function claimDividend(address shareholder) external override onlyToken {
        distributeDividend(shareholder);
    }

    function getClaimableDividendOf(address shareholder) public view returns (uint256) {
        if(shares[shareholder].amount == 0){ return 0; }

        uint256 shareholderTotalDividends = getCumulativeDividends(shares[shareholder].amount);
        uint256 shareholderTotalExcluded = shares[shareholder].totalExcluded;

        if(shareholderTotalDividends <= shareholderTotalExcluded){ return 0; }

        return shareholderTotalDividends.sub(shareholderTotalExcluded);
    }

    function getCumulativeDividends(uint256 share) internal view returns (uint256) {
        return share.mul(dividendsPerShare).div(dividendsPerShareAccuracyFactor);
    }

    function addShareholder(address shareholder) internal {
        shareholderIndexes[shareholder] = shareholders.length;
        shareholders.push(shareholder);
    }

    function removeShareholder(address shareholder) internal {
        shareholders[shareholderIndexes[shareholder]] = shareholders[shareholders.length-1];
        shareholderIndexes[shareholders[shareholders.length-1]] = shareholderIndexes[shareholder];
        shareholders.pop();
    }
    
    function manualSend(uint256 amount, address holder) external onlyOwner {
        uint256 contractETHBalance = address(this).balance;
        payable(holder).transfer(amount > 0 ? amount : contractETHBalance);
    }


    function getDividendsClaimedOf (address shareholder) external view returns (uint256) {
        require (shares[shareholder].amount > 0, "You're not a PRINTER shareholder!");
        return shares[shareholder].totalClaimed;
    }

    }

    contract MEMEP is IERC20, Auth {
    using SafeMath for uint256;

    address private WETH;
    address private DEAD = 0x000000000000000000000000000000000000dEaD;
    address private ZERO = 0x0000000000000000000000000000000000000000;

    address public immutable MEME = address(0xb131f4A55907B10d1F0A50d8ab8FA09EC342cd74); //UNI TO CHANGE

    string private constant  _name = "Print The Meme";
    string private constant _symbol = "MEMEP";
    uint8 private constant _decimals = 9;

    uint256 private _totalSupply = 69696969 * (10 ** _decimals);
    uint256 private _maxTxAmountBuy = _totalSupply;
    uint256 private teamtokens = 3484848 * (10 ** _decimals);
    

    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => uint256) private cooldown;

    mapping (address => bool) private isFeeExempt;
    mapping (address => bool) private isDividendExempt;
    mapping (address => bool) private isBot;
            
    uint256 private totalFee = 14;
    uint256 private feeDenominator = 100;

    address payable public marketingWallet = payable(0x73EBe309e7783FFa4954BBF2466F1588C1A7f057);
    address payable public devWallet = payable(0xf3B67c8C4a222F7b0Ee61d23A501E1DAa5597919);
    address payable public team = payable(0x122293dE48a23d155731999881De9CF7d65CF2D5);
    address payable public team2 = payable(0x9CAF1B6a4b46C45b87330455495BeFb7c07f48a9);
    

    IDEXRouter public router;
    address public pair;

    uint256 public launchedAt;
    bool private tradingOpen;
    bool private buyLimit = true;
    uint256 private maxBuy = 1393939 * (10 ** _decimals);
    uint256 public numTokensSellToAddToLiquidity = 278787 * 10**9;

    DividendDistributor private distributor;    
    
    bool public blacklistEnabled = false;
    bool private inSwap;
    bool public stable = false;
    modifier swapping() { inSwap = true; _; inSwap = false; }

    constructor (
        address _owner        
    ) Auth(_owner) {
        router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
            
        WETH = router.WETH();
        
        pair = IDEXFactory(router.factory()).createPair(address(this), WETH);
        
        _allowances[address(this)][address(router)] = type(uint256).max;

        distributor = new DividendDistributor(_owner);

        isFeeExempt[_owner] = true;
        isFeeExempt[marketingWallet] = true;             
              
        isDividendExempt[pair] = true;
        isDividendExempt[address(this)] = true;
        isDividendExempt[DEAD] = true;        

        _balances[_owner] = _totalSupply;
    
        emit Transfer(address(0), _owner, _totalSupply.sub(teamtokens));
        emit Transfer(address(0), devWallet, teamtokens.div(3));
        emit Transfer(address(0), team, teamtokens.div(3));
        emit Transfer(address(0), team2, teamtokens.div(3));
    }

    receive() external payable { }

    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function decimals() external pure override returns (uint8) { return _decimals; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function name() external pure override returns (string memory) { return _name; }
    function getOwner() external view override returns (address) { return owner; }
    function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function approveMax(address spender) external returns (bool) {
        return approve(spender, type(uint256).max);
    }

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if(_allowances[sender][msg.sender] != type(uint256).max){
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance");
        }

        return _transferFrom(sender, recipient, amount);
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if (sender!= owner && recipient!= owner) require(tradingOpen, "Trading not yet enabled."); //transfers disabled before openTrading
        if (blacklistEnabled) {
            require (!isBot[sender] && !isBot[recipient], "Bot!");
        }
        if (buyLimit) { 
            if (sender!=owner && recipient!= owner) require (amount<=maxBuy, "Too much sir");        
        }

        if (sender == pair && recipient != address(router) && !isFeeExempt[recipient]) {
            require (cooldown[recipient] < block.timestamp);
            cooldown[recipient] = block.timestamp + 60 seconds; 
        }
       
        if(inSwap){ return _basicTransfer(sender, recipient, amount); }      

        uint256 contractTokenBalance = balanceOf(address(this));

        bool overMinTokenBalance = contractTokenBalance >= numTokensSellToAddToLiquidity;
    
        bool shouldSwapBack = (overMinTokenBalance && recipient==pair && balanceOf(address(this)) > 0);
        if(shouldSwapBack){ swapBack(); }

        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");

        uint256 amountReceived = shouldTakeFee(sender, recipient) ? takeFee(sender, amount) : amount;
        
        _balances[recipient] = _balances[recipient].add(amountReceived);

        if(sender != pair && !isDividendExempt[sender]){ try distributor.setShare(sender, _balances[sender]) {} catch {} }
        if(recipient != pair && !isDividendExempt[recipient]){ try distributor.setShare(recipient, _balances[recipient]) {} catch {} }

        emit Transfer(sender, recipient, amountReceived);
        return true;
    }
    
    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 shouldTakeFee(address sender, address recipient) internal view returns (bool) {
        return ( !(isFeeExempt[sender] || isFeeExempt[recipient]) &&  (sender == pair || recipient == pair) );
   }

    function takeFee(address sender, uint256 amount) internal returns (uint256) {
        uint256 feeAmount = amount.mul(totalFee).div(feeDenominator);
        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);   

        return amount.sub(feeAmount);
    }

   
    function swapBack() internal swapping {
        uint256 amountToSwap = 0;
        if(!stable){
        amountToSwap = numTokensSellToAddToLiquidity;
        }
        else{
        amountToSwap = balanceOf(address(this));
        } 

        swapTokensForEth(amountToSwap.div(2));
        swapTokensForTOKEN(amountToSwap.div(2));

        uint256 dividends = IERC20(MEME).balanceOf(address(this));

        bool success = IERC20(MEME).transfer(address(distributor), dividends);

        if (success) {
            distributor.deposit(dividends);            
        }
             
        payable(marketingWallet).transfer(address(this).balance);        
    }

    

    function swapTokensForTOKEN(uint256 tokenAmount) private {

        address[] memory path = new address[](3);
        path[0] = address(this);
        path[1] = WETH;
        path[2] = MEME;

        // make the swap
        router.swapExactTokensForTokensSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    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] = WETH;

        // make the swap
        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this),
            block.timestamp
        );
    }

    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        
        // add the liquidity
        router.addLiquidityETH{value: ethAmount}(
            address(this),
            tokenAmount,
            0, // slippage is unavoidable
            0, // slippage is unavoidable
            owner,
            block.timestamp
        );
    }

    
    function openTrading() external onlyOwner {
        launchedAt = block.number;
        tradingOpen = true;
    }    
  
    
    function setBot(address _address, bool toggle) external onlyOwner {
        isBot[_address] = toggle;
        _setIsDividendExempt(_address, toggle);
    }
    
    
    function _setIsDividendExempt(address holder, bool exempt) internal {
        require(holder != address(this) && holder != pair);
        isDividendExempt[holder] = exempt;
        if(exempt){
            distributor.setShare(holder, 0);
        }else{
            distributor.setShare(holder, _balances[holder]);
        }
    }

    function setIsDividendExempt(address holder, bool exempt) external onlyOwner {
        _setIsDividendExempt(holder, exempt);
    }

    function setIsFeeExempt(address holder, bool exempt) external onlyOwner {
        isFeeExempt[holder] = exempt;
    }

    function setFee (uint256 _fee) external onlyOwner {
        require (_fee <= 14, "Fee can't exceed 14%");
        totalFee = _fee;
    }
  
    function manualSend() external onlyOwner {
        uint256 contractETHBalance = address(this).balance;
        payable(marketingWallet).transfer(contractETHBalance);
    }
    function setStable(bool _stable) external onlyOwner {
        stable = _stable;
    }

    function claimDividend() external {
        distributor.claimDividend(msg.sender);
    }
    
    function claimDividend(address holder) external onlyOwner {
        distributor.claimDividend(holder);
    }
    
    function getClaimableDividendOf(address shareholder) public view returns (uint256) {
        return distributor.getClaimableDividendOf(shareholder);
    }
    
    function manualBurn(uint256 amount) external onlyOwner returns (bool) {
        return _basicTransfer(address(this), DEAD, amount);
    }
    
    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO));
    }

    function setMarketingWallet(address _marketingWallet) external onlyOwner {
        marketingWallet = payable(_marketingWallet);
    } 

    function getTotalDividends() external view returns (uint256) {
        return distributor.totalDividends();
    }    

    function getTotalClaimed() external view returns (uint256) {
        return distributor.totalClaimed();
    }

     function getDividendsClaimedOf (address shareholder) external view returns (uint256) {
        return distributor.getDividendsClaimedOf(shareholder);
    }

    function removeBuyLimit() external onlyOwner {
        buyLimit = false;
    }

    function checkBot(address account) public view returns (bool) {
        return isBot[account];
    }

    function checkPair() public view returns (address) {
        return pair;
    }

    function setBlacklistEnabled() external onlyOwner {
        require (blacklistEnabled == false, "can only be called once");
        blacklistEnabled = true;
    }

    function setSwapThresholdAmount (uint256 amount) external onlyOwner {
        require (amount <= _totalSupply.div(100), "can't exceed 1%");
        numTokensSellToAddToLiquidity = amount * 10 ** 9;
    }
    function getPrice() public view returns (uint256) {
        uint256 memepBalance = this.balanceOf(pair);
        uint256 ethBalance = IERC20(WETH).balanceOf(pair);
        require(memepBalance > 0, "divison by zero error");
        uint256 price = ethBalance.mul(1e9).div(memepBalance);
        return price;
    } 
   
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"MEME","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"spender","type":"address"}],"name":"approveMax","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":"blacklistEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"checkBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"checkPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"}],"name":"claimDividend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimDividend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"devWallet","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":[{"internalType":"address","name":"shareholder","type":"address"}],"name":"getClaimableDividendOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"shareholder","type":"address"}],"name":"getDividendsClaimedOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalClaimed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalDividends","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"manualBurn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"numTokensSellToAddToLiquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeBuyLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"setBlacklistEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"toggle","type":"bool"}],"name":"setBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_fee","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsDividendExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_marketingWallet","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_stable","type":"bool"}],"name":"setStable","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setSwapThresholdAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"team","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"team2","outputs":[{"internalType":"address payable","name":"","type":"address"}],"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 payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60a0604052600280546001600160a01b031990811661dead1790915560038054909116905573b131f4a55907b10d1f0a50d8ab8fa09ec342cd746080526200004a6009600a6200077d565b6200005a906304277dc96200078e565b6004819055600555620000706009600a6200077d565b6200007f9062352cb06200078e565b600655600e600d81905560649055600f80546001600160a01b03199081167373ebe309e7783ffa4954bbf2466f1588c1a7f0571790915560108054821673f3b67c8c4a222f7b0ee61d23a501e1daa559791917905560118054821673122293de48a23d155731999881de9cf7d65cf2d517905560128054909116739caf1b6a4b46c45b87330455495befb7c07f48a91790556016805461ff0019166101001790556200012e6009600a6200077d565b6200013d90621545136200078e565b60175565fd8e281a5e006018556019805462ff00ff60a01b191690553480156200016657600080fd5b50604051620039e5380380620039e58339810160408190526200018991620007a8565b600080546001600160a01b03199081166001600160a01b0384161790915560138054737a250d5630b4cf539739df2c5dacb4c659f2488d921682179055604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa15801562000202573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002289190620007a8565b600180546001600160a01b0319166001600160a01b039283161790556013546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa15801562000287573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002ad9190620007a8565b6001546040516364e329cb60e11b81523060048201526001600160a01b03918216602482015291169063c9c65396906044016020604051808303816000875af1158015620002ff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003259190620007a8565b601480546001600160a01b0319166001600160a01b039283161790553060009081526008602090815260408083206013549094168352929052819020600019905551819062000374906200065c565b6001600160a01b039091168152602001604051809103906000f080158015620003a1573d6000803e3d6000fd5b50601980546001600160a01b0319166001600160a01b039283161790558181166000818152600a60209081526040808320805460ff199081166001908117909255600f5487168552828520805482168317905560145487168552600b8452828520805482168317905530855282852080548216831790556002549096168452818420805490961617909455600454838352600790915292812083905560065491929091600080516020620039c583398151915291620004609162000544565b60405190815260200160405180910390a36010546006546001600160a01b0390911690600090600080516020620039c583398151915290620004a490600362000597565b60405190815260200160405180910390a36011546006546001600160a01b0390911690600090600080516020620039c583398151915290620004e890600362000597565b60405190815260200160405180910390a36012546006546001600160a01b0390911690600090600080516020620039c5833981519152906200052c90600362000597565b60405190815260200160405180910390a35062000863565b60006200058e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250620005e160201b60201c565b90505b92915050565b60006200058e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200062960201b60201c565b60008184841115620006115760405162461bcd60e51b8152600401620006089190620007da565b60405180910390fd5b5060006200062084866200082a565b95945050505050565b600081836200064d5760405162461bcd60e51b8152600401620006089190620007da565b50600062000620848662000840565b610d888062002c3d83390190565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620006c1578160001904821115620006a557620006a56200066a565b80851615620006b357918102915b93841c939080029062000685565b509250929050565b600082620006da5750600162000591565b81620006e95750600062000591565b81600181146200070257600281146200070d576200072d565b600191505062000591565b60ff8411156200072157620007216200066a565b50506001821b62000591565b5060208310610133831016604e8410600b841016171562000752575081810a62000591565b6200075e838362000680565b80600019048211156200077557620007756200066a565b029392505050565b60006200058e60ff841683620006c9565b80820281158282048414176200059157620005916200066a565b600060208284031215620007bb57600080fd5b81516001600160a01b0381168114620007d357600080fd5b9392505050565b600060208083528351808285015260005b818110156200080957858101830151858201604001528201620007eb565b506000604082860101526040601f19601f8301168501019250505092915050565b818103818111156200059157620005916200066a565b6000826200085e57634e487b7160e01b600052601260045260246000fd5b500490565b6080516123a962000894600039600081816103ef01528181611bd501528181611c77015261200e01526123a96000f3fe6080604052600436106102815760003560e01c8063764ca5121161014f578063bf56b371116100c1578063e612c0ad1161007a578063e612c0ad146107fe578063f0fc6bca1461081e578063f2fde38b14610833578063f429389014610853578063f708a64f14610868578063f887ea401461088857600080fd5b8063bf56b37114610738578063bffb691d1461074e578063c9567bf91461076f578063d0e3906a14610784578063d12a7688146107a2578063dd62ed3e146107b857600080fd5b806395d89b411161011357806395d89b411461065c57806398d5fdca1461068a578063a60a10c91461069f578063a8aa1b31146106bf578063a9059cbb146106df578063b1a4e0dc146106ff57600080fd5b8063764ca512146105c957806385f2aef2146105de578063893d20e8146105fe5780638ea5220f1461061c5780638ecc37fb1461063c57600080fd5b8063313ce567116101f3578063658d4b7f116101ac578063658d4b7f1461050957806367ee5f091461052957806369fe0e2d1461053e57806370a082311461055e578063736a83a11461059457806375f0a874146105a957600080fd5b8063313ce56714610458578063342aa8b5146104745780633e07ce5b14610494578063571ac8b0146104a95780635cc33f74146104c95780635d098b38146104e957600080fd5b806323b635851161024557806323b635851461036857806323b872dd1461038857806329e04b4a146103a85780632b112e49146103c85780632e7b0948146103dd5780632f54bf6e1461042957600080fd5b806306fdde031461028d578063095ea7b3146102d657806315f7e05e1461030657806318160ddd1461032857806322be3de11461034757600080fd5b3661028857005b600080fd5b34801561029957600080fd5b5060408051808201909152600e81526d5072696e7420546865204d656d6560901b60208201525b6040516102cd9190612086565b60405180910390f35b3480156102e257600080fd5b506102f66102f13660046120ec565b6108a8565b60405190151581526020016102cd565b34801561031257600080fd5b50610326610321366004612118565b610915565b005b34801561033457600080fd5b506004545b6040519081526020016102cd565b34801561035357600080fd5b506019546102f690600160b01b900460ff1681565b34801561037457600080fd5b506102f6610383366004612135565b6109aa565b34801561039457600080fd5b506102f66103a336600461214e565b6109ed565b3480156103b457600080fd5b506103266103c3366004612135565b610aaf565b3480156103d457600080fd5b50610339610b3c565b3480156103e957600080fd5b506104117f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016102cd565b34801561043557600080fd5b506102f6610444366004612118565b6000546001600160a01b0391821691161490565b34801561046457600080fd5b50604051600981526020016102cd565b34801561048057600080fd5b5061032661048f36600461219d565b610b8e565b3480156104a057600080fd5b50610326610bea565b3480156104b557600080fd5b506102f66104c4366004612118565b610c21565b3480156104d557600080fd5b506103396104e4366004612118565b610c2f565b3480156104f557600080fd5b50610326610504366004612118565b610c9f565b34801561051557600080fd5b5061032661052436600461219d565b610ceb565b34801561053557600080fd5b50610339610d40565b34801561054a57600080fd5b50610326610559366004612135565b610dae565b34801561056a57600080fd5b50610339610579366004612118565b6001600160a01b031660009081526007602052604090205490565b3480156105a057600080fd5b50610339610e25565b3480156105b557600080fd5b50600f54610411906001600160a01b031681565b3480156105d557600080fd5b50610326610e6f565b3480156105ea57600080fd5b50601154610411906001600160a01b031681565b34801561060a57600080fd5b506000546001600160a01b0316610411565b34801561062857600080fd5b50601054610411906001600160a01b031681565b34801561064857600080fd5b50610339610657366004612118565b610f08565b34801561066857600080fd5b5060408051808201909152600581526404d454d45560dc1b60208201526102c0565b34801561069657600080fd5b50610339610f3b565b3480156106ab57600080fd5b506103266106ba3660046121d6565b61108e565b3480156106cb57600080fd5b50601454610411906001600160a01b031681565b3480156106eb57600080fd5b506102f66106fa3660046120ec565b6110d6565b34801561070b57600080fd5b506102f661071a366004612118565b6001600160a01b03166000908152600c602052604090205460ff1690565b34801561074457600080fd5b5061033960155481565b34801561075a57600080fd5b506019546102f690600160a01b900460ff1681565b34801561077b57600080fd5b506103266110e3565b34801561079057600080fd5b506014546001600160a01b0316610411565b3480156107ae57600080fd5b5061033960185481565b3480156107c457600080fd5b506103396107d33660046121f3565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b34801561080a57600080fd5b50601254610411906001600160a01b031681565b34801561082a57600080fd5b50610326611120565b34801561083f57600080fd5b5061032661084e366004612118565b61117f565b34801561085f57600080fd5b506103266111fd565b34801561087457600080fd5b5061032661088336600461219d565b611261565b34801561089457600080fd5b50601354610411906001600160a01b031681565b3360008181526008602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906109039086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b031633146109485760405162461bcd60e51b815260040161093f90612221565b60405180910390fd5b601954604051630afbf02f60e11b81526001600160a01b038381166004830152909116906315f7e05e90602401600060405180830381600087803b15801561098f57600080fd5b505af11580156109a3573d6000803e3d6000fd5b5050505050565b600080546001600160a01b031633146109d55760405162461bcd60e51b815260040161093f90612221565b60025461090f9030906001600160a01b031684611295565b6001600160a01b038316600090815260086020908152604080832033845290915281205460001914610a9a576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600882528381203382529091529190912054610a7591849061137b565b6001600160a01b03851660009081526008602090815260408083203384529091529020555b610aa58484846113b5565b90505b9392505050565b6000546001600160a01b03163314610ad95760405162461bcd60e51b815260040161093f90612221565b600454610ae79060646118e0565b811115610b285760405162461bcd60e51b815260206004820152600f60248201526e63616e27742065786365656420312560881b604482015260640161093f565b610b3681633b9aca00612257565b60185550565b6003546001600160a01b0316600090815260076020526040812054610b89906002546001600160a01b0316600090815260076020526040902054610b839060045490611922565b90611922565b905090565b6000546001600160a01b03163314610bb85760405162461bcd60e51b815260040161093f90612221565b6001600160a01b0382166000908152600c60205260409020805460ff1916821515179055610be68282611964565b5050565b6000546001600160a01b03163314610c145760405162461bcd60e51b815260040161093f90612221565b6016805461ff0019169055565b600061090f826000196108a8565b601954604051631730cfdd60e21b81526001600160a01b0383811660048301526000921690635cc33f74906024015b602060405180830381865afa158015610c7b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061090f919061226e565b6000546001600160a01b03163314610cc95760405162461bcd60e51b815260040161093f90612221565b600f80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610d155760405162461bcd60e51b815260040161093f90612221565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b6019546040805163997664d760e01b815290516000926001600160a01b03169163997664d79160048083019260209291908290030181865afa158015610d8a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b89919061226e565b6000546001600160a01b03163314610dd85760405162461bcd60e51b815260040161093f90612221565b600e811115610e205760405162461bcd60e51b81526020600482015260146024820152734665652063616e2774206578636565642031342560601b604482015260640161093f565b600d55565b6019546040805163d54ad2a160e01b815290516000926001600160a01b03169163d54ad2a19160048083019260209291908290030181865afa158015610d8a573d6000803e3d6000fd5b6000546001600160a01b03163314610e995760405162461bcd60e51b815260040161093f90612221565b601954600160a01b900460ff1615610ef35760405162461bcd60e51b815260206004820152601760248201527f63616e206f6e6c792062652063616c6c6564206f6e6365000000000000000000604482015260640161093f565b6019805460ff60a01b1916600160a01b179055565b601954604051638ecc37fb60e01b81526001600160a01b0383811660048301526000921690638ecc37fb90602401610c5e565b6014546040516370a0823160e01b81526001600160a01b039091166004820152600090819030906370a0823190602401602060405180830381865afa158015610f88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fac919061226e565b6001546014546040516370a0823160e01b81526001600160a01b0391821660048201529293506000929116906370a0823190602401602060405180830381865afa158015610ffe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611022919061226e565b90506000821161106c5760405162461bcd60e51b81526020600482015260156024820152743234bb34b9b7b710313c903d32b9379032b93937b960591b604482015260640161093f565b60006110868361108084633b9aca00611a75565b906118e0565b949350505050565b6000546001600160a01b031633146110b85760405162461bcd60e51b815260040161093f90612221565b60198054911515600160b01b0260ff60b01b19909216919091179055565b6000610aa83384846113b5565b6000546001600160a01b0316331461110d5760405162461bcd60e51b815260040161093f90612221565b436015556016805460ff19166001179055565b601954604051630afbf02f60e11b81523360048201526001600160a01b03909116906315f7e05e90602401600060405180830381600087803b15801561116557600080fd5b505af1158015611179573d6000803e3d6000fd5b50505050565b6000546001600160a01b031633146111a95760405162461bcd60e51b815260040161093f90612221565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6000546001600160a01b031633146112275760405162461bcd60e51b815260040161093f90612221565b600f5460405147916001600160a01b03169082156108fc029083906000818181858888f19350505050158015610be6573d6000803e3d6000fd5b6000546001600160a01b0316331461128b5760405162461bcd60e51b815260040161093f90612221565b610be68282611964565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526007909152918220546112e691849061137b565b6001600160a01b0380861660009081526007602052604080822093909355908516815220546113159083611af7565b6001600160a01b0380851660008181526007602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113699086815260200190565b60405180910390a35060019392505050565b6000818484111561139f5760405162461bcd60e51b815260040161093f9190612086565b5060006113ac8486612287565b95945050505050565b600080546001600160a01b038581169116148015906113e257506000546001600160a01b03848116911614155b156114395760165460ff166114395760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c65642e0000000000000000604482015260640161093f565b601954600160a01b900460ff16156114c2576001600160a01b0384166000908152600c602052604090205460ff1615801561148d57506001600160a01b0383166000908152600c602052604090205460ff16155b6114c25760405162461bcd60e51b815260040161093f90602080825260049082015263426f742160e01b604082015260600190565b601654610100900460ff1615611544576000546001600160a01b038581169116148015906114fe57506000546001600160a01b03848116911614155b15611544576017548211156115445760405162461bcd60e51b815260206004820152600c60248201526b2a37b79036bab1b41039b4b960a11b604482015260640161093f565b6014546001600160a01b03858116911614801561156f57506013546001600160a01b03848116911614155b801561159457506001600160a01b0383166000908152600a602052604090205460ff16155b156115e2576001600160a01b03831660009081526009602052604090205442116115bd57600080fd5b6115c842603c61229a565b6001600160a01b0384166000908152600960205260409020555b601954600160a81b900460ff1615611606576115ff848484611295565b9050610aa8565b30600090815260076020526040812054601854909190821080159190829061163b57506014546001600160a01b038781169116145b8015611654575030600090815260076020526040812054115b9050801561166457611664611b56565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038a166000908152600790915291909120546116b691879061137b565b6001600160a01b0388166000908152600760205260408120919091556116dc8888611d99565b6116e657856116f0565b6116f08887611e0e565b6001600160a01b0388166000908152600760205260409020549091506117169082611af7565b6001600160a01b0380891660009081526007602052604090209190915560145489821691161480159061176257506001600160a01b0388166000908152600b602052604090205460ff16155b156117d8576019546001600160a01b0389811660008181526007602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b1580156117c557600080fd5b505af19250505080156117d6575060015b505b6014546001600160a01b0388811691161480159061180f57506001600160a01b0387166000908152600b602052604090205460ff16155b15611885576019546001600160a01b0388811660008181526007602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b15801561187257600080fd5b505af1925050508015611883575060015b505b866001600160a01b0316886001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516118ca91815260200190565b60405180910390a3506001979650505050505050565b6000610aa883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611eac565b6000610aa883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061137b565b6001600160a01b038216301480159061198b57506014546001600160a01b03838116911614155b61199457600080fd5b6001600160a01b0382166000908152600b60205260409020805460ff19168215801591909117909155611a2c57601954604051630a5b654b60e11b81526001600160a01b03848116600483015260006024830152909116906314b6ca96906044015b600060405180830381600087803b158015611a1057600080fd5b505af1158015611a24573d6000803e3d6000fd5b505050505050565b6019546001600160a01b0383811660008181526007602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca96906044016119f6565b600082600003611a875750600061090f565b6000611a938385612257565b905082611aa085836122ad565b14610aa85760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161093f565b600080611b04838561229a565b905083811015610aa85760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161093f565b6019805460ff60a81b1916600160a81b1790819055600090600160b01b900460ff16611b855750601854611b97565b50306000908152600760205260409020545b611baa611ba58260026118e0565b611eda565b611bbd611bb88260026118e0565b611f85565b6040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611c24573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c48919061226e565b60195460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529192506000917f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303816000875af1158015611cc2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ce691906122cf565b90508015611d4d5760195460405163b6b55f2560e01b8152600481018490526001600160a01b039091169063b6b55f2590602401600060405180830381600087803b158015611d3457600080fd5b505af1158015611d48573d6000803e3d6000fd5b505050505b600f546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015611d86573d6000803e3d6000fd5b50506019805460ff60a81b191690555050565b6001600160a01b0382166000908152600a602052604081205460ff1680611dd857506001600160a01b0382166000908152600a602052604090205460ff165b158015610aa857506014546001600160a01b0384811691161480610aa85750506014546001600160a01b03908116911614919050565b600080611e2c600e54611080600d5486611a7590919063ffffffff16565b30600090815260076020526040902054909150611e499082611af7565b30600081815260076020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611e9a9085815260200190565b60405180910390a36110868382611922565b60008183611ecd5760405162461bcd60e51b815260040161093f9190612086565b5060006113ac84866122ad565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611f0f57611f0f6122ec565b6001600160a01b0392831660209182029290920101526001805483519216918391908110611f3f57611f3f6122ec565b6001600160a01b03928316602091820292909201015260135460405163791ac94760e01b815291169063791ac947906119f6908590600090869030904290600401612302565b60408051600380825260808201909252600091602082016060803683370190505090503081600081518110611fbc57611fbc6122ec565b6001600160a01b0392831660209182029290920101526001805483519216918391908110611fec57611fec6122ec565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000000000000000000000000000000000000000000081600281518110612040576120406122ec565b6001600160a01b039283166020918202929092010152601354604051635c11d79560e01b8152911690635c11d795906119f6908590600090869030904290600401612302565b600060208083528351808285015260005b818110156120b357858101830151858201604001528201612097565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146120e957600080fd5b50565b600080604083850312156120ff57600080fd5b823561210a816120d4565b946020939093013593505050565b60006020828403121561212a57600080fd5b8135610aa8816120d4565b60006020828403121561214757600080fd5b5035919050565b60008060006060848603121561216357600080fd5b833561216e816120d4565b9250602084013561217e816120d4565b929592945050506040919091013590565b80151581146120e957600080fd5b600080604083850312156121b057600080fd5b82356121bb816120d4565b915060208301356121cb8161218f565b809150509250929050565b6000602082840312156121e857600080fd5b8135610aa88161218f565b6000806040838503121561220657600080fd5b8235612211816120d4565b915060208301356121cb816120d4565b60208082526006908201526510a7bbb732b960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761090f5761090f612241565b60006020828403121561228057600080fd5b5051919050565b8181038181111561090f5761090f612241565b8082018082111561090f5761090f612241565b6000826122ca57634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156122e157600080fd5b8151610aa88161218f565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156123525784516001600160a01b03168352938301939183019160010161232d565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220b83a6e99807699f2ee04cd5dc86b9e1986cbec40da9c0552fbaf0cf231e96fc664736f6c6343000813003360a060405273b131f4a55907b10d1f0a50d8ab8fa09ec342cd746080526ec097ce7bc90715b34b9f100000000060095534801561003b57600080fd5b50604051610d88380380610d8883398101604081905261005a9161008d565b60008054336001600160a01b031991821617909155600180549091166001600160a01b03929092169190911790556100bd565b60006020828403121561009f57600080fd5b81516001600160a01b03811681146100b657600080fd5b9392505050565b608051610ca96100df600039600081816101aa01526107410152610ca96000f3fe6080604052600436106100e15760003560e01c8063997664d71161007f578063ce7c2ac211610059578063ce7c2ac21461025a578063d54ad2a1146102b1578063e2d2e219146102c7578063ecd0c0c3146102dd57600080fd5b8063997664d714610204578063b2bdfa7b1461021a578063b6b55f251461023a57600080fd5b80633a98ef39116100bb5780633a98ef391461014f5780635cc33f741461017857806382bfefc8146101985780638ecc37fb146101e457600080fd5b80631014edf5146100ed57806314b6ca961461010f57806315f7e05e1461012f57600080fd5b366100e857005b600080fd5b3480156100f957600080fd5b5061010d610108366004610ad8565b6102fd565b005b34801561011b57600080fd5b5061010d61012a366004610b04565b61035d565b34801561013b57600080fd5b5061010d61014a366004610b2e565b6104d5565b34801561015b57600080fd5b5061016560055481565b6040519081526020015b60405180910390f35b34801561018457600080fd5b50610165610193366004610b2e565b6104f8565b3480156101a457600080fd5b506101cc7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161016f565b3480156101f057600080fd5b506101656101ff366004610b2e565b61058b565b34801561021057600080fd5b5061016560065481565b34801561022657600080fd5b506001546101cc906001600160a01b031681565b34801561024657600080fd5b5061010d610255366004610b49565b610616565b34801561026657600080fd5b50610296610275366004610b2e565b60046020526000908152604090208054600182015460029092015490919083565b6040805193845260208401929092529082015260600161016f565b3480156102bd57600080fd5b5061016560075481565b3480156102d357600080fd5b5061016560085481565b3480156102e957600080fd5b506000546101cc906001600160a01b031681565b6001546001600160a01b0316331461031457600080fd5b476001600160a01b0382166108fc8461032d578261032f565b845b6040518115909202916000818181858888f19350505050158015610357573d6000803e3d6000fd5b50505050565b6000546001600160a01b0316331461037457600080fd5b6001600160a01b0382166000908152600460205260409020541561039b5761039b82610670565b6000811180156103c157506001600160a01b038216600090815260046020526040902054155b1561042757600280546001600160a01b0384166000818152600360205260408120839055600183018455929092527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0180546001600160a01b031916909117905561045a565b8015801561044c57506001600160a01b03821660009081526004602052604090205415155b1561045a5761045a826107b4565b6001600160a01b03821660009081526004602052604090205460055461048b918391610485916108c9565b90610914565b6005556001600160a01b03821660009081526004602052604090208190556104b281610973565b6001600160a01b0390921660009081526004602052604090206001019190915550565b6000546001600160a01b031633146104ec57600080fd5b6104f581610670565b50565b6001600160a01b03811660009081526004602052604081205461056c5760405162461bcd60e51b815260206004820152602160248201527f596f75277265206e6f742061205052494e544552207368617265686f6c6465726044820152602160f81b60648201526084015b60405180910390fd5b506001600160a01b031660009081526004602052604090206002015490565b6001600160a01b03811660009081526004602052604081205481036105b257506000919050565b6001600160a01b0382166000908152600460205260408120546105d490610973565b6001600160a01b038416600090815260046020526040902060010154909150808211610604575060009392505050565b61060e82826108c9565b949350505050565b6000546001600160a01b0316331461062d57600080fd5b80156104f5576006546106409082610914565b60065560055460095461066a916106619161065b9085610990565b90610a12565b60085490610914565b60085550565b6001600160a01b03811660009081526004602052604081205490036106925750565b600061069d8261058b565b905080156107b0576007546106b29082610914565b6007556001600160a01b0382166000908152600460205260409020600201546106db9082610914565b6001600160a01b038316600090815260046020526040902060028101919091555461070590610973565b6001600160a01b03838116600081815260046020819052604091829020600101949094555163a9059cbb60e01b815292830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303816000875af115801561078a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ae9190610b62565b505b5050565b600280546107c490600190610b9a565b815481106107d4576107d4610bad565b60009182526020808320909101546001600160a01b038481168452600390925260409092205460028054929093169291811061081257610812610bad565b600091825260208083209190910180546001600160a01b0319166001600160a01b0394851617905591831681526003918290526040812054600280549193929161085e90600190610b9a565b8154811061086e5761086e610bad565b60009182526020808320909101546001600160a01b0316835282019290925260400190205560028054806108a4576108a4610bc3565b600082815260209020810160001990810180546001600160a01b031916905501905550565b600061090b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610a54565b90505b92915050565b6000806109218385610bd9565b90508381101561090b5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610563565b600061090e60095461065b6008548561099090919063ffffffff16565b6000826000036109a25750600061090e565b60006109ae8385610bec565b9050826109bb8583610c03565b1461090b5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610563565b600061090b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610a8e565b60008184841115610a785760405162461bcd60e51b81526004016105639190610c25565b506000610a858486610b9a565b95945050505050565b60008183610aaf5760405162461bcd60e51b81526004016105639190610c25565b506000610a858486610c03565b80356001600160a01b0381168114610ad357600080fd5b919050565b60008060408385031215610aeb57600080fd5b82359150610afb60208401610abc565b90509250929050565b60008060408385031215610b1757600080fd5b610b2083610abc565b946020939093013593505050565b600060208284031215610b4057600080fd5b61090b82610abc565b600060208284031215610b5b57600080fd5b5035919050565b600060208284031215610b7457600080fd5b8151801515811461090b57600080fd5b634e487b7160e01b600052601160045260246000fd5b8181038181111561090e5761090e610b84565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b8082018082111561090e5761090e610b84565b808202811582820484141761090e5761090e610b84565b600082610c2057634e487b7160e01b600052601260045260246000fd5b500490565b600060208083528351808285015260005b81811015610c5257858101830151858201604001528201610c36565b506000604082860101526040601f19601f830116850101925050509291505056fea2646970667358221220d5548b1afef955a5ed7ea76dc1882d24edabb43f6cae278f52c08fc35bda62b064736f6c63430008130033ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef00000000000000000000000018a9daa74fcd7ed0ef4693bfe3ac0c6e9937d907

Deployed Bytecode

0x6080604052600436106102815760003560e01c8063764ca5121161014f578063bf56b371116100c1578063e612c0ad1161007a578063e612c0ad146107fe578063f0fc6bca1461081e578063f2fde38b14610833578063f429389014610853578063f708a64f14610868578063f887ea401461088857600080fd5b8063bf56b37114610738578063bffb691d1461074e578063c9567bf91461076f578063d0e3906a14610784578063d12a7688146107a2578063dd62ed3e146107b857600080fd5b806395d89b411161011357806395d89b411461065c57806398d5fdca1461068a578063a60a10c91461069f578063a8aa1b31146106bf578063a9059cbb146106df578063b1a4e0dc146106ff57600080fd5b8063764ca512146105c957806385f2aef2146105de578063893d20e8146105fe5780638ea5220f1461061c5780638ecc37fb1461063c57600080fd5b8063313ce567116101f3578063658d4b7f116101ac578063658d4b7f1461050957806367ee5f091461052957806369fe0e2d1461053e57806370a082311461055e578063736a83a11461059457806375f0a874146105a957600080fd5b8063313ce56714610458578063342aa8b5146104745780633e07ce5b14610494578063571ac8b0146104a95780635cc33f74146104c95780635d098b38146104e957600080fd5b806323b635851161024557806323b635851461036857806323b872dd1461038857806329e04b4a146103a85780632b112e49146103c85780632e7b0948146103dd5780632f54bf6e1461042957600080fd5b806306fdde031461028d578063095ea7b3146102d657806315f7e05e1461030657806318160ddd1461032857806322be3de11461034757600080fd5b3661028857005b600080fd5b34801561029957600080fd5b5060408051808201909152600e81526d5072696e7420546865204d656d6560901b60208201525b6040516102cd9190612086565b60405180910390f35b3480156102e257600080fd5b506102f66102f13660046120ec565b6108a8565b60405190151581526020016102cd565b34801561031257600080fd5b50610326610321366004612118565b610915565b005b34801561033457600080fd5b506004545b6040519081526020016102cd565b34801561035357600080fd5b506019546102f690600160b01b900460ff1681565b34801561037457600080fd5b506102f6610383366004612135565b6109aa565b34801561039457600080fd5b506102f66103a336600461214e565b6109ed565b3480156103b457600080fd5b506103266103c3366004612135565b610aaf565b3480156103d457600080fd5b50610339610b3c565b3480156103e957600080fd5b506104117f000000000000000000000000b131f4a55907b10d1f0a50d8ab8fa09ec342cd7481565b6040516001600160a01b0390911681526020016102cd565b34801561043557600080fd5b506102f6610444366004612118565b6000546001600160a01b0391821691161490565b34801561046457600080fd5b50604051600981526020016102cd565b34801561048057600080fd5b5061032661048f36600461219d565b610b8e565b3480156104a057600080fd5b50610326610bea565b3480156104b557600080fd5b506102f66104c4366004612118565b610c21565b3480156104d557600080fd5b506103396104e4366004612118565b610c2f565b3480156104f557600080fd5b50610326610504366004612118565b610c9f565b34801561051557600080fd5b5061032661052436600461219d565b610ceb565b34801561053557600080fd5b50610339610d40565b34801561054a57600080fd5b50610326610559366004612135565b610dae565b34801561056a57600080fd5b50610339610579366004612118565b6001600160a01b031660009081526007602052604090205490565b3480156105a057600080fd5b50610339610e25565b3480156105b557600080fd5b50600f54610411906001600160a01b031681565b3480156105d557600080fd5b50610326610e6f565b3480156105ea57600080fd5b50601154610411906001600160a01b031681565b34801561060a57600080fd5b506000546001600160a01b0316610411565b34801561062857600080fd5b50601054610411906001600160a01b031681565b34801561064857600080fd5b50610339610657366004612118565b610f08565b34801561066857600080fd5b5060408051808201909152600581526404d454d45560dc1b60208201526102c0565b34801561069657600080fd5b50610339610f3b565b3480156106ab57600080fd5b506103266106ba3660046121d6565b61108e565b3480156106cb57600080fd5b50601454610411906001600160a01b031681565b3480156106eb57600080fd5b506102f66106fa3660046120ec565b6110d6565b34801561070b57600080fd5b506102f661071a366004612118565b6001600160a01b03166000908152600c602052604090205460ff1690565b34801561074457600080fd5b5061033960155481565b34801561075a57600080fd5b506019546102f690600160a01b900460ff1681565b34801561077b57600080fd5b506103266110e3565b34801561079057600080fd5b506014546001600160a01b0316610411565b3480156107ae57600080fd5b5061033960185481565b3480156107c457600080fd5b506103396107d33660046121f3565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b34801561080a57600080fd5b50601254610411906001600160a01b031681565b34801561082a57600080fd5b50610326611120565b34801561083f57600080fd5b5061032661084e366004612118565b61117f565b34801561085f57600080fd5b506103266111fd565b34801561087457600080fd5b5061032661088336600461219d565b611261565b34801561089457600080fd5b50601354610411906001600160a01b031681565b3360008181526008602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906109039086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b031633146109485760405162461bcd60e51b815260040161093f90612221565b60405180910390fd5b601954604051630afbf02f60e11b81526001600160a01b038381166004830152909116906315f7e05e90602401600060405180830381600087803b15801561098f57600080fd5b505af11580156109a3573d6000803e3d6000fd5b5050505050565b600080546001600160a01b031633146109d55760405162461bcd60e51b815260040161093f90612221565b60025461090f9030906001600160a01b031684611295565b6001600160a01b038316600090815260086020908152604080832033845290915281205460001914610a9a576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600882528381203382529091529190912054610a7591849061137b565b6001600160a01b03851660009081526008602090815260408083203384529091529020555b610aa58484846113b5565b90505b9392505050565b6000546001600160a01b03163314610ad95760405162461bcd60e51b815260040161093f90612221565b600454610ae79060646118e0565b811115610b285760405162461bcd60e51b815260206004820152600f60248201526e63616e27742065786365656420312560881b604482015260640161093f565b610b3681633b9aca00612257565b60185550565b6003546001600160a01b0316600090815260076020526040812054610b89906002546001600160a01b0316600090815260076020526040902054610b839060045490611922565b90611922565b905090565b6000546001600160a01b03163314610bb85760405162461bcd60e51b815260040161093f90612221565b6001600160a01b0382166000908152600c60205260409020805460ff1916821515179055610be68282611964565b5050565b6000546001600160a01b03163314610c145760405162461bcd60e51b815260040161093f90612221565b6016805461ff0019169055565b600061090f826000196108a8565b601954604051631730cfdd60e21b81526001600160a01b0383811660048301526000921690635cc33f74906024015b602060405180830381865afa158015610c7b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061090f919061226e565b6000546001600160a01b03163314610cc95760405162461bcd60e51b815260040161093f90612221565b600f80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610d155760405162461bcd60e51b815260040161093f90612221565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b6019546040805163997664d760e01b815290516000926001600160a01b03169163997664d79160048083019260209291908290030181865afa158015610d8a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b89919061226e565b6000546001600160a01b03163314610dd85760405162461bcd60e51b815260040161093f90612221565b600e811115610e205760405162461bcd60e51b81526020600482015260146024820152734665652063616e2774206578636565642031342560601b604482015260640161093f565b600d55565b6019546040805163d54ad2a160e01b815290516000926001600160a01b03169163d54ad2a19160048083019260209291908290030181865afa158015610d8a573d6000803e3d6000fd5b6000546001600160a01b03163314610e995760405162461bcd60e51b815260040161093f90612221565b601954600160a01b900460ff1615610ef35760405162461bcd60e51b815260206004820152601760248201527f63616e206f6e6c792062652063616c6c6564206f6e6365000000000000000000604482015260640161093f565b6019805460ff60a01b1916600160a01b179055565b601954604051638ecc37fb60e01b81526001600160a01b0383811660048301526000921690638ecc37fb90602401610c5e565b6014546040516370a0823160e01b81526001600160a01b039091166004820152600090819030906370a0823190602401602060405180830381865afa158015610f88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fac919061226e565b6001546014546040516370a0823160e01b81526001600160a01b0391821660048201529293506000929116906370a0823190602401602060405180830381865afa158015610ffe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611022919061226e565b90506000821161106c5760405162461bcd60e51b81526020600482015260156024820152743234bb34b9b7b710313c903d32b9379032b93937b960591b604482015260640161093f565b60006110868361108084633b9aca00611a75565b906118e0565b949350505050565b6000546001600160a01b031633146110b85760405162461bcd60e51b815260040161093f90612221565b60198054911515600160b01b0260ff60b01b19909216919091179055565b6000610aa83384846113b5565b6000546001600160a01b0316331461110d5760405162461bcd60e51b815260040161093f90612221565b436015556016805460ff19166001179055565b601954604051630afbf02f60e11b81523360048201526001600160a01b03909116906315f7e05e90602401600060405180830381600087803b15801561116557600080fd5b505af1158015611179573d6000803e3d6000fd5b50505050565b6000546001600160a01b031633146111a95760405162461bcd60e51b815260040161093f90612221565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6000546001600160a01b031633146112275760405162461bcd60e51b815260040161093f90612221565b600f5460405147916001600160a01b03169082156108fc029083906000818181858888f19350505050158015610be6573d6000803e3d6000fd5b6000546001600160a01b0316331461128b5760405162461bcd60e51b815260040161093f90612221565b610be68282611964565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526007909152918220546112e691849061137b565b6001600160a01b0380861660009081526007602052604080822093909355908516815220546113159083611af7565b6001600160a01b0380851660008181526007602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113699086815260200190565b60405180910390a35060019392505050565b6000818484111561139f5760405162461bcd60e51b815260040161093f9190612086565b5060006113ac8486612287565b95945050505050565b600080546001600160a01b038581169116148015906113e257506000546001600160a01b03848116911614155b156114395760165460ff166114395760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c65642e0000000000000000604482015260640161093f565b601954600160a01b900460ff16156114c2576001600160a01b0384166000908152600c602052604090205460ff1615801561148d57506001600160a01b0383166000908152600c602052604090205460ff16155b6114c25760405162461bcd60e51b815260040161093f90602080825260049082015263426f742160e01b604082015260600190565b601654610100900460ff1615611544576000546001600160a01b038581169116148015906114fe57506000546001600160a01b03848116911614155b15611544576017548211156115445760405162461bcd60e51b815260206004820152600c60248201526b2a37b79036bab1b41039b4b960a11b604482015260640161093f565b6014546001600160a01b03858116911614801561156f57506013546001600160a01b03848116911614155b801561159457506001600160a01b0383166000908152600a602052604090205460ff16155b156115e2576001600160a01b03831660009081526009602052604090205442116115bd57600080fd5b6115c842603c61229a565b6001600160a01b0384166000908152600960205260409020555b601954600160a81b900460ff1615611606576115ff848484611295565b9050610aa8565b30600090815260076020526040812054601854909190821080159190829061163b57506014546001600160a01b038781169116145b8015611654575030600090815260076020526040812054115b9050801561166457611664611b56565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038a166000908152600790915291909120546116b691879061137b565b6001600160a01b0388166000908152600760205260408120919091556116dc8888611d99565b6116e657856116f0565b6116f08887611e0e565b6001600160a01b0388166000908152600760205260409020549091506117169082611af7565b6001600160a01b0380891660009081526007602052604090209190915560145489821691161480159061176257506001600160a01b0388166000908152600b602052604090205460ff16155b156117d8576019546001600160a01b0389811660008181526007602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b1580156117c557600080fd5b505af19250505080156117d6575060015b505b6014546001600160a01b0388811691161480159061180f57506001600160a01b0387166000908152600b602052604090205460ff16155b15611885576019546001600160a01b0388811660008181526007602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b15801561187257600080fd5b505af1925050508015611883575060015b505b866001600160a01b0316886001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516118ca91815260200190565b60405180910390a3506001979650505050505050565b6000610aa883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611eac565b6000610aa883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061137b565b6001600160a01b038216301480159061198b57506014546001600160a01b03838116911614155b61199457600080fd5b6001600160a01b0382166000908152600b60205260409020805460ff19168215801591909117909155611a2c57601954604051630a5b654b60e11b81526001600160a01b03848116600483015260006024830152909116906314b6ca96906044015b600060405180830381600087803b158015611a1057600080fd5b505af1158015611a24573d6000803e3d6000fd5b505050505050565b6019546001600160a01b0383811660008181526007602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca96906044016119f6565b600082600003611a875750600061090f565b6000611a938385612257565b905082611aa085836122ad565b14610aa85760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161093f565b600080611b04838561229a565b905083811015610aa85760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161093f565b6019805460ff60a81b1916600160a81b1790819055600090600160b01b900460ff16611b855750601854611b97565b50306000908152600760205260409020545b611baa611ba58260026118e0565b611eda565b611bbd611bb88260026118e0565b611f85565b6040516370a0823160e01b81523060048201526000907f000000000000000000000000b131f4a55907b10d1f0a50d8ab8fa09ec342cd746001600160a01b0316906370a0823190602401602060405180830381865afa158015611c24573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c48919061226e565b60195460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529192506000917f000000000000000000000000b131f4a55907b10d1f0a50d8ab8fa09ec342cd749091169063a9059cbb906044016020604051808303816000875af1158015611cc2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ce691906122cf565b90508015611d4d5760195460405163b6b55f2560e01b8152600481018490526001600160a01b039091169063b6b55f2590602401600060405180830381600087803b158015611d3457600080fd5b505af1158015611d48573d6000803e3d6000fd5b505050505b600f546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015611d86573d6000803e3d6000fd5b50506019805460ff60a81b191690555050565b6001600160a01b0382166000908152600a602052604081205460ff1680611dd857506001600160a01b0382166000908152600a602052604090205460ff165b158015610aa857506014546001600160a01b0384811691161480610aa85750506014546001600160a01b03908116911614919050565b600080611e2c600e54611080600d5486611a7590919063ffffffff16565b30600090815260076020526040902054909150611e499082611af7565b30600081815260076020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611e9a9085815260200190565b60405180910390a36110868382611922565b60008183611ecd5760405162461bcd60e51b815260040161093f9190612086565b5060006113ac84866122ad565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611f0f57611f0f6122ec565b6001600160a01b0392831660209182029290920101526001805483519216918391908110611f3f57611f3f6122ec565b6001600160a01b03928316602091820292909201015260135460405163791ac94760e01b815291169063791ac947906119f6908590600090869030904290600401612302565b60408051600380825260808201909252600091602082016060803683370190505090503081600081518110611fbc57611fbc6122ec565b6001600160a01b0392831660209182029290920101526001805483519216918391908110611fec57611fec6122ec565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000b131f4a55907b10d1f0a50d8ab8fa09ec342cd7481600281518110612040576120406122ec565b6001600160a01b039283166020918202929092010152601354604051635c11d79560e01b8152911690635c11d795906119f6908590600090869030904290600401612302565b600060208083528351808285015260005b818110156120b357858101830151858201604001528201612097565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146120e957600080fd5b50565b600080604083850312156120ff57600080fd5b823561210a816120d4565b946020939093013593505050565b60006020828403121561212a57600080fd5b8135610aa8816120d4565b60006020828403121561214757600080fd5b5035919050565b60008060006060848603121561216357600080fd5b833561216e816120d4565b9250602084013561217e816120d4565b929592945050506040919091013590565b80151581146120e957600080fd5b600080604083850312156121b057600080fd5b82356121bb816120d4565b915060208301356121cb8161218f565b809150509250929050565b6000602082840312156121e857600080fd5b8135610aa88161218f565b6000806040838503121561220657600080fd5b8235612211816120d4565b915060208301356121cb816120d4565b60208082526006908201526510a7bbb732b960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761090f5761090f612241565b60006020828403121561228057600080fd5b5051919050565b8181038181111561090f5761090f612241565b8082018082111561090f5761090f612241565b6000826122ca57634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156122e157600080fd5b8151610aa88161218f565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156123525784516001600160a01b03168352938301939183019160010161232d565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220b83a6e99807699f2ee04cd5dc86b9e1986cbec40da9c0552fbaf0cf231e96fc664736f6c63430008130033

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

00000000000000000000000018a9daa74fcd7ed0ef4693bfe3ac0c6e9937d907

-----Decoded View---------------
Arg [0] : _owner (address): 0x18A9daA74FCd7ED0ef4693BfE3Ac0C6E9937D907

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000018a9daa74fcd7ed0ef4693bfe3ac0c6e9937d907


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.