ETH Price: $2,881.71 (-9.37%)
Gas: 18 Gwei

Token

๐ŸŽฐ๐Ÿถ๐Ÿฑ๐Ÿฐ๐ŸฆŠ๐Ÿป๐Ÿผ๐Ÿจ๐Ÿฏ๐Ÿฆ๐Ÿฎ๐Ÿท๐Ÿฝ๐Ÿธ๐Ÿต๐Ÿ”๐Ÿง๐Ÿฆ๐Ÿค๐Ÿฆ…๐Ÿฆ‰๐Ÿฆ‡๐Ÿบ๐Ÿ—๐Ÿด... (Memeslot)
 

Overview

Max Total Supply

420,690,000,000 Memeslot

Holders

15

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0 Memeslot

Value
$0.00
0x936de57598ca9af233f7c198b7286f104b30cc97
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:
Memeslot

Compiler Version
v0.8.10+commit.fc410830

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : Memes.sol
// SPDX-License-Identifier: UNLICENSED

/*
    Telegram: https://t.me/memeslot_portal
    Twitter: https://twitter.com/0xmemeslot
    Website: https://www.0xmemeslot.com/
*/

pragma solidity 0.8.10;

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

interface IERC20 {
    function totalSupply() external view returns (uint256);

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

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

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

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

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

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

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

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

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

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

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

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

}

contract Ownable is Context {
    address private _owner;

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

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

}

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

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

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

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

contract Memeslot is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    mapping(address => bool) private bots;
    mapping(address => uint256) private _holderLastTransferTimestamp;
    bool public transferDelayEnabled = false;
    address payable private _taxWallet;

    uint256 public _finalBuyTax = 20;
    uint256 public _finalSellTax = 20;

    uint256 private _preventSwapBefore = 0;

    uint256 private _buyCount = 0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 420690000000 * 10 ** _decimals;
    string private constant _name = unicode"🎰🐶🐱🐰🦊🐻🐼🐨🐯🦁🐮🐷🐽🐸🐵🐔🐧🐦🐤🦅🦉🦇🐺🐗🐴🦄🐝🐛🪱🦋🐌🐞🐜🪰🪲🕷🦂🐢🐍🦎🦖🦕🐙🦑🦐🦞🦀🐡🐠🐟🐬🐳🐋🐊🐅🐆🦓🦍🦧🦣🐘🦛🦏🐪🐫🦒🦘🦬🐃🐂🐄🐎🐖🐏🐑🦙🐐🦌🐕🐩🦮🐕โ€🦺🐈🐈โ€โฌ›🐓🦤🦚🦜🦢🦩🕊🐇🦝🦨🦡🦫🦦🦥🐁🐀🐿🦔🐾🐉🐲";
    string private constant _symbol = unicode"Memeslot";

    uint256 public _maxTxAmount = (_tTotal * 20) / 1000;
    uint256 public _maxWalletSize = (_tTotal * 100) / 1000;
    uint256 public _taxSwapThreshold = (_tTotal * 2) / 1000;
    uint256 public _maxTaxSwap = (_tTotal * 10) / 1000;

    IUniswapV2Router02 private uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    address public uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;

    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _taxWallet = payable(0x48401874b8C83FA743014E4755f8d20377d2A4cE);
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;

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

        emit Transfer(address(0), _msgSender(), _tTotal);
    }

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

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

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

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

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

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

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

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

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        require(_isExcludedFromFee[from] || _isExcludedFromFee[to] || tradingOpen, "trading not live");

        uint256 taxAmount = 0;
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);
            taxAmount = amount.mul(_finalBuyTax).div(100);

            if (transferDelayEnabled) {
                if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) {
                    require(
                        _holderLastTransferTimestamp[tx.origin] <
                        block.number,
                        "_transfer:: Transfer Delay enabled.  Only one purchase per block allowed."
                    );
                    _holderLastTransferTimestamp[tx.origin] = block.number;
                }
            }

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to]) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                _buyCount++;
            }

            if (to == uniswapV2Pair && from != address(this)) {
                taxAmount = amount.mul(_finalSellTax).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance > _taxSwapThreshold) {
                swapTokensForEth(min(amount, min(contractTokenBalance, _maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        if (taxAmount > 0) {
            _balances[address(this)] = _balances[address(this)].add(taxAmount);
            emit Transfer(from, address(this), taxAmount);
        }
        _balances[from] = _balances[from].sub(amount);
        _balances[to] = _balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }


    function min(uint256 a, uint256 b) private pure returns (uint256){
        return (a > b) ? b : a;
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function removeLimits() external onlyOwner {
        _maxTxAmount = _tTotal;
        _maxWalletSize = _tTotal;
        transferDelayEnabled = false;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }

    function addBots(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

    function delBots(address[] memory notbot) public onlyOwner {
        for (uint i = 0; i < notbot.length; i++) {
            bots[notbot[i]] = false;
        }
    }

    function isBot(address a) public view returns (bool){
        return bots[a];
    }

    function openTrading() external onlyOwner() {
        require(!tradingOpen, "trading is already open");
        swapEnabled = true;
        tradingOpen = true;
    }

    function getPair() public onlyOwner {
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).getPair(address(this), uniswapV2Router.WETH());
        if (uniswapV2Pair == address(0)) {
            uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        }
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }

    function reduceFee(uint256 _newFee) public onlyOwner {
        _finalBuyTax = _newFee;
        _finalSellTax = _newFee;
    }

    receive() external payable {}

    function manualSwap() public onlyOwner {
        uint256 tokenBalance = balanceOf(address(this));
        if (tokenBalance > 0) {
            swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance = address(this).balance;
        if (ethBalance > 0) {
            sendETHToFee(ethBalance);
        }
    }
}

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

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_finalBuyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_finalSellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"addBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"delBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526000600660006101000a81548160ff0219169083151502179055506014600755601460085560006009556000600a556103e860146009600a62000048919062000918565b6461f313f8806200005a919062000969565b62000066919062000969565b620000729190620009f9565b600b556103e860646009600a6200008a919062000918565b6461f313f8806200009c919062000969565b620000a8919062000969565b620000b49190620009f9565b600c556103e860026009600a620000cc919062000918565b6461f313f880620000de919062000969565b620000ea919062000969565b620000f69190620009f9565b600d556103e8600a6009600a6200010e919062000918565b6461f313f88062000120919062000969565b6200012c919062000969565b620001389190620009f9565b600e55737a250d5630b4cf539739df2c5dacb4c659f2488d600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000601060156101000a81548160ff0219169083151502179055506000601060166101000a81548160ff021916908315150217905550348015620001d357600080fd5b506000620001e66200057a60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3507348401874b8c83fa743014e4755f8d20377d2a4ce600660016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a620002e9919062000918565b6461f313f880620002fb919062000969565b600160006200030f6200057a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160036000620003636200058260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620004dc30600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a620004be919062000918565b6461f313f880620004d0919062000969565b620005ab60201b60201c565b620004ec6200057a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a6200054b919062000918565b6461f313f8806200055d919062000969565b6040516200056c919062000a42565b60405180910390a362000ba0565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156200061e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620006159062000ae6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000691576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620006889062000b7e565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405162000771919062000a42565b60405180910390a3505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200080c57808604811115620007e457620007e36200077e565b5b6001851615620007f45780820291505b80810290506200080485620007ad565b9450620007c4565b94509492505050565b600082620008275760019050620008fa565b81620008375760009050620008fa565b81600181146200085057600281146200085b5762000891565b6001915050620008fa565b60ff84111562000870576200086f6200077e565b5b8360020a9150848211156200088a57620008896200077e565b5b50620008fa565b5060208310610133831016604e8410600b8410161715620008cb5782820a905083811115620008c557620008c46200077e565b5b620008fa565b620008da8484846001620007ba565b92509050818404811115620008f457620008f36200077e565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620009258262000901565b915062000932836200090b565b9250620009617fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000815565b905092915050565b6000620009768262000901565b9150620009838362000901565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620009bf57620009be6200077e565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000a068262000901565b915062000a138362000901565b92508262000a265762000a25620009ca565b5b828204905092915050565b62000a3c8162000901565b82525050565b600060208201905062000a59600083018462000a31565b92915050565b600082825260208201905092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600062000ace60248362000a5f565b915062000adb8262000a70565b604082019050919050565b6000602082019050818103600083015262000b018162000abf565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600062000b6660228362000a5f565b915062000b738262000b08565b604082019050919050565b6000602082019050818103600083015262000b998162000b57565b9050919050565b613bf78062000bb06000396000f3fe6080604052600436106101a05760003560e01c8063751039fc116100ec578063bf474bed1161008a578063c9567bf911610064578063c9567bf914610591578063d34628cc146105a8578063dd62ed3e146105d1578063ec1f3f631461060e576101a7565b8063bf474bed14610524578063c1f1b1b51461054f578063c876d0b914610566576101a7565b80638f9a55c0116100c65780638f9a55c01461046657806395d89b4114610491578063a9059cbb146104bc578063baeb7a7d146104f9576101a7565b8063751039fc146103f95780637d1db4a5146104105780638da5cb5b1461043b576101a7565b806331c2d8471161015957806349bd5a5e1161013357806349bd5a5e1461036357806351bc3c851461038e57806370a08231146103a5578063715018a6146103e2576101a7565b806331c2d847146102d25780633bbac579146102fb5780633ef9472114610338576101a7565b806306fdde03146101ac578063095ea7b3146101d75780630faee56f1461021457806318160ddd1461023f57806323b872dd1461026a578063313ce567146102a7576101a7565b366101a757005b600080fd5b3480156101b857600080fd5b506101c1610637565b6040516101ce9190612940565b60405180910390f35b3480156101e357600080fd5b506101fe60048036038101906101f99190612a0a565b61065a565b60405161020b9190612a65565b60405180910390f35b34801561022057600080fd5b50610229610678565b6040516102369190612a8f565b60405180910390f35b34801561024b57600080fd5b5061025461067e565b6040516102619190612a8f565b60405180910390f35b34801561027657600080fd5b50610291600480360381019061028c9190612aaa565b6106a3565b60405161029e9190612a65565b60405180910390f35b3480156102b357600080fd5b506102bc61077c565b6040516102c99190612b19565b60405180910390f35b3480156102de57600080fd5b506102f960048036038101906102f49190612c7c565b610785565b005b34801561030757600080fd5b50610322600480360381019061031d9190612cc5565b6108af565b60405161032f9190612a65565b60405180910390f35b34801561034457600080fd5b5061034d610905565b60405161035a9190612a8f565b60405180910390f35b34801561036f57600080fd5b5061037861090b565b6040516103859190612d01565b60405180910390f35b34801561039a57600080fd5b506103a3610931565b005b3480156103b157600080fd5b506103cc60048036038101906103c79190612cc5565b610a02565b6040516103d99190612a8f565b60405180910390f35b3480156103ee57600080fd5b506103f7610a4b565b005b34801561040557600080fd5b5061040e610b9e565b005b34801561041c57600080fd5b50610425610cec565b6040516104329190612a8f565b60405180910390f35b34801561044757600080fd5b50610450610cf2565b60405161045d9190612d01565b60405180910390f35b34801561047257600080fd5b5061047b610d1b565b6040516104889190612a8f565b60405180910390f35b34801561049d57600080fd5b506104a6610d21565b6040516104b39190612940565b60405180910390f35b3480156104c857600080fd5b506104e360048036038101906104de9190612a0a565b610d5e565b6040516104f09190612a65565b60405180910390f35b34801561050557600080fd5b5061050e610d7c565b60405161051b9190612a8f565b60405180910390f35b34801561053057600080fd5b50610539610d82565b6040516105469190612a8f565b60405180910390f35b34801561055b57600080fd5b50610564610d88565b005b34801561057257600080fd5b5061057b611314565b6040516105889190612a65565b60405180910390f35b34801561059d57600080fd5b506105a6611327565b005b3480156105b457600080fd5b506105cf60048036038101906105ca9190612c7c565b611444565b005b3480156105dd57600080fd5b506105f860048036038101906105f39190612d1c565b61156e565b6040516106059190612a8f565b60405180910390f35b34801561061a57600080fd5b5061063560048036038101906106309190612d5c565b6115f5565b005b6060604051806101e001604052806101b18152602001613a116101b19139905090565b600061066e61066761169b565b84846116a3565b6001905092915050565b600e5481565b60006009600a61068e9190612eeb565b6461f313f88061069e9190612f36565b905090565b60006106b084848461186e565b610771846106bc61169b565b61076c856040518060600160405280602881526020016139e960289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061072261169b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123759092919063ffffffff16565b6116a3565b600190509392505050565b60006009905090565b61078d61169b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461081a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081190612fdc565b60405180910390fd5b60005b81518110156108ab5760006004600084848151811061083f5761083e612ffc565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806108a39061302b565b91505061081d565b5050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60085481565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61093961169b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109bd90612fdc565b60405180910390fd5b60006109d130610a02565b905060008111156109e6576109e5816123d9565b5b600047905060008111156109fe576109fd81612652565b5b5050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610a5361169b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ae0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad790612fdc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610ba661169b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2a90612fdc565b60405180910390fd5b6009600a610c419190612eeb565b6461f313f880610c519190612f36565b600b819055506009600a610c659190612eeb565b6461f313f880610c759190612f36565b600c819055506000600660006101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610cc59190612eeb565b6461f313f880610cd59190612f36565b604051610ce29190612a8f565b60405180910390a1565b600b5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600c5481565b60606040518060400160405280600881526020017f4d656d65736c6f74000000000000000000000000000000000000000000000000815250905090565b6000610d72610d6b61169b565b848461186e565b6001905092915050565b60075481565b600d5481565b610d9061169b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1490612fdc565b60405180910390fd5b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e8a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eae9190613089565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f5b9190613089565b6040518363ffffffff1660e01b8152600401610f789291906130b6565b602060405180830381865afa158015610f95573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb99190613089565b601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff16601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561122f57600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e19190613089565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561116a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061118e9190613089565b6040518363ffffffff1660e01b81526004016111ab9291906130b6565b6020604051808303816000875af11580156111ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ee9190613089565b601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016112ce9291906130df565b6020604051808303816000875af11580156112ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113119190613134565b50565b600660009054906101000a900460ff1681565b61132f61169b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b390612fdc565b60405180910390fd5b601060149054906101000a900460ff161561140c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611403906131ad565b60405180910390fd5b6001601060166101000a81548160ff0219169083151502179055506001601060146101000a81548160ff021916908315150217905550565b61144c61169b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d090612fdc565b60405180910390fd5b60005b815181101561156a576001600460008484815181106114fe576114fd612ffc565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806115629061302b565b9150506114dc565b5050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6115fd61169b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461168a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168190612fdc565b60405180910390fd5b806007819055508060088190555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611713576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170a9061323f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611783576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177a906132d1565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516118619190612a8f565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156118de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118d590613363565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561194e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611945906133f5565b60405180910390fd5b60008111611991576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161198890613487565b60405180910390fd5b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611a325750600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611a495750601060149054906101000a900460ff165b611a88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a7f906134f3565b60405180910390fd5b6000611a92610cf2565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611b005750611ad0610cf2565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156120b857600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611ba95750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611bb257600080fd5b611bda6064611bcc600754856126be90919063ffffffff16565b61273990919063ffffffff16565b9050600660009054906101000a900460ff1615611d6957600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611c9d5750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611d685743600560003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611d23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1a906135ab565b60405180910390fd5b43600560003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611e145750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611e6a5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611f2557600b54821115611eb4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eab90613617565b60405180910390fd5b600c5482611ec185610a02565b611ecb9190613637565b1115611f0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f03906136d9565b60405180910390fd5b600a6000815480929190611f1f9061302b565b91905055505b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611fae57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611fde57611fdb6064611fcd600854856126be90919063ffffffff16565b61273990919063ffffffff16565b90505b6000611fe930610a02565b9050601060159054906101000a900460ff161580156120555750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b801561206d5750601060169054906101000a900460ff165b801561207a5750600d5481115b156120b65761209c6120978461209284600e54612783565b612783565b6123d9565b600047905060008111156120b4576120b347612652565b5b505b505b60008111156121bc5761211381600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461279c90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516121b39190612a8f565b60405180910390a35b61220e82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127fa90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506122b561226782846127fa90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461279c90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61235a84866127fa90919063ffffffff16565b6040516123679190612a8f565b60405180910390a350505050565b60008383111582906123bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123b49190612940565b60405180910390fd5b50600083856123cc91906136f9565b9050809150509392505050565b6001601060156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561241157612410612b39565b5b60405190808252806020026020018201604052801561243f5781602001602082028036833780820191505090505b509050308160008151811061245757612456612ffc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156124fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125229190613089565b8160018151811061253657612535612ffc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061259d30600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846116a3565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612601959493929190613830565b600060405180830381600087803b15801561261b57600080fd5b505af115801561262f573d6000803e3d6000fd5b50505050506000601060156101000a81548160ff02191690831515021790555050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156126ba573d6000803e3d6000fd5b5050565b6000808314156126d15760009050612733565b600082846126df9190612f36565b90508284826126ee91906138b9565b1461272e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127259061395c565b60405180910390fd5b809150505b92915050565b600061277b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612844565b905092915050565b60008183116127925782612794565b815b905092915050565b60008082846127ab9190613637565b9050838110156127f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127e7906139c8565b60405180910390fd5b8091505092915050565b600061283c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612375565b905092915050565b6000808311829061288b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128829190612940565b60405180910390fd5b506000838561289a91906138b9565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156128e15780820151818401526020810190506128c6565b838111156128f0576000848401525b50505050565b6000601f19601f8301169050919050565b6000612912826128a7565b61291c81856128b2565b935061292c8185602086016128c3565b612935816128f6565b840191505092915050565b6000602082019050818103600083015261295a8184612907565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006129a182612976565b9050919050565b6129b181612996565b81146129bc57600080fd5b50565b6000813590506129ce816129a8565b92915050565b6000819050919050565b6129e7816129d4565b81146129f257600080fd5b50565b600081359050612a04816129de565b92915050565b60008060408385031215612a2157612a2061296c565b5b6000612a2f858286016129bf565b9250506020612a40858286016129f5565b9150509250929050565b60008115159050919050565b612a5f81612a4a565b82525050565b6000602082019050612a7a6000830184612a56565b92915050565b612a89816129d4565b82525050565b6000602082019050612aa46000830184612a80565b92915050565b600080600060608486031215612ac357612ac261296c565b5b6000612ad1868287016129bf565b9350506020612ae2868287016129bf565b9250506040612af3868287016129f5565b9150509250925092565b600060ff82169050919050565b612b1381612afd565b82525050565b6000602082019050612b2e6000830184612b0a565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612b71826128f6565b810181811067ffffffffffffffff82111715612b9057612b8f612b39565b5b80604052505050565b6000612ba3612962565b9050612baf8282612b68565b919050565b600067ffffffffffffffff821115612bcf57612bce612b39565b5b602082029050602081019050919050565b600080fd5b6000612bf8612bf384612bb4565b612b99565b90508083825260208201905060208402830185811115612c1b57612c1a612be0565b5b835b81811015612c445780612c3088826129bf565b845260208401935050602081019050612c1d565b5050509392505050565b600082601f830112612c6357612c62612b34565b5b8135612c73848260208601612be5565b91505092915050565b600060208284031215612c9257612c9161296c565b5b600082013567ffffffffffffffff811115612cb057612caf612971565b5b612cbc84828501612c4e565b91505092915050565b600060208284031215612cdb57612cda61296c565b5b6000612ce9848285016129bf565b91505092915050565b612cfb81612996565b82525050565b6000602082019050612d166000830184612cf2565b92915050565b60008060408385031215612d3357612d3261296c565b5b6000612d41858286016129bf565b9250506020612d52858286016129bf565b9150509250929050565b600060208284031215612d7257612d7161296c565b5b6000612d80848285016129f5565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115612e0f57808604811115612deb57612dea612d89565b5b6001851615612dfa5780820291505b8081029050612e0885612db8565b9450612dcf565b94509492505050565b600082612e285760019050612ee4565b81612e365760009050612ee4565b8160018114612e4c5760028114612e5657612e85565b6001915050612ee4565b60ff841115612e6857612e67612d89565b5b8360020a915084821115612e7f57612e7e612d89565b5b50612ee4565b5060208310610133831016604e8410600b8410161715612eba5782820a905083811115612eb557612eb4612d89565b5b612ee4565b612ec78484846001612dc5565b92509050818404811115612ede57612edd612d89565b5b81810290505b9392505050565b6000612ef6826129d4565b9150612f0183612afd565b9250612f2e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612e18565b905092915050565b6000612f41826129d4565b9150612f4c836129d4565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612f8557612f84612d89565b5b828202905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612fc66020836128b2565b9150612fd182612f90565b602082019050919050565b60006020820190508181036000830152612ff581612fb9565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000613036826129d4565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561306957613068612d89565b5b600182019050919050565b600081519050613083816129a8565b92915050565b60006020828403121561309f5761309e61296c565b5b60006130ad84828501613074565b91505092915050565b60006040820190506130cb6000830185612cf2565b6130d86020830184612cf2565b9392505050565b60006040820190506130f46000830185612cf2565b6131016020830184612a80565b9392505050565b61311181612a4a565b811461311c57600080fd5b50565b60008151905061312e81613108565b92915050565b60006020828403121561314a5761314961296c565b5b60006131588482850161311f565b91505092915050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b60006131976017836128b2565b91506131a282613161565b602082019050919050565b600060208201905081810360008301526131c68161318a565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006132296024836128b2565b9150613234826131cd565b604082019050919050565b600060208201905081810360008301526132588161321c565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006132bb6022836128b2565b91506132c68261325f565b604082019050919050565b600060208201905081810360008301526132ea816132ae565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061334d6025836128b2565b9150613358826132f1565b604082019050919050565b6000602082019050818103600083015261337c81613340565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006133df6023836128b2565b91506133ea82613383565b604082019050919050565b6000602082019050818103600083015261340e816133d2565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006134716029836128b2565b915061347c82613415565b604082019050919050565b600060208201905081810360008301526134a081613464565b9050919050565b7f74726164696e67206e6f74206c69766500000000000000000000000000000000600082015250565b60006134dd6010836128b2565b91506134e8826134a7565b602082019050919050565b6000602082019050818103600083015261350c816134d0565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60008201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b60006135956049836128b2565b91506135a082613513565b606082019050919050565b600060208201905081810360008301526135c481613588565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b60006136016019836128b2565b915061360c826135cb565b602082019050919050565b60006020820190508181036000830152613630816135f4565b9050919050565b6000613642826129d4565b915061364d836129d4565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561368257613681612d89565b5b828201905092915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b60006136c3601a836128b2565b91506136ce8261368d565b602082019050919050565b600060208201905081810360008301526136f2816136b6565b9050919050565b6000613704826129d4565b915061370f836129d4565b92508282101561372257613721612d89565b5b828203905092915050565b6000819050919050565b6000819050919050565b600061375c6137576137528461372d565b613737565b6129d4565b9050919050565b61376c81613741565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6137a781612996565b82525050565b60006137b9838361379e565b60208301905092915050565b6000602082019050919050565b60006137dd82613772565b6137e7818561377d565b93506137f28361378e565b8060005b8381101561382357815161380a88826137ad565b9750613815836137c5565b9250506001810190506137f6565b5085935050505092915050565b600060a0820190506138456000830188612a80565b6138526020830187613763565b818103604083015261386481866137d2565b90506138736060830185612cf2565b6138806080830184612a80565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006138c4826129d4565b91506138cf836129d4565b9250826138df576138de61388a565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006139466021836128b2565b9150613951826138ea565b604082019050919050565b6000602082019050818103600083015261397581613939565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006139b2601b836128b2565b91506139bd8261397c565b602082019050919050565b600060208201905081810360008301526139e1816139a5565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365f09f8eb0f09f90b6f09f90b1f09f90b0f09fa68af09f90bbf09f90bcf09f90a8f09f90aff09fa681f09f90aef09f90b7f09f90bdf09f90b8f09f90b5f09f9094f09f90a7f09f90a6f09f90a4f09fa685f09fa689f09fa687f09f90baf09f9097f09f90b4f09fa684f09f909df09f909bf09faab1f09fa68bf09f908cf09f909ef09f909cf09faab0f09faab2f09f95b7f09fa682f09f90a2f09f908df09fa68ef09fa696f09fa695f09f9099f09fa691f09fa690f09fa69ef09fa680f09f90a1f09f90a0f09f909ff09f90acf09f90b3f09f908bf09f908af09f9085f09f9086f09fa693f09fa68df09fa6a7f09fa6a3f09f9098f09fa69bf09fa68ff09f90aaf09f90abf09fa692f09fa698f09fa6acf09f9083f09f9082f09f9084f09f908ef09f9096f09f908ff09f9091f09fa699f09f9090f09fa68cf09f9095f09f90a9f09fa6aef09f9095e2808df09fa6baf09f9088f09f9088e2808de2ac9bf09f9093f09fa6a4f09fa69af09fa69cf09fa6a2f09fa6a9f09f958af09f9087f09fa69df09fa6a8f09fa6a1f09fa6abf09fa6a6f09fa6a5f09f9081f09f9080f09f90bff09fa694f09f90bef09f9089f09f90b2a264697066735822122013152c9b52e4686f92112ce1d237ba79a2bbc640cac27d2e490c982f4419903664736f6c634300080a0033

Deployed Bytecode

0x6080604052600436106101a05760003560e01c8063751039fc116100ec578063bf474bed1161008a578063c9567bf911610064578063c9567bf914610591578063d34628cc146105a8578063dd62ed3e146105d1578063ec1f3f631461060e576101a7565b8063bf474bed14610524578063c1f1b1b51461054f578063c876d0b914610566576101a7565b80638f9a55c0116100c65780638f9a55c01461046657806395d89b4114610491578063a9059cbb146104bc578063baeb7a7d146104f9576101a7565b8063751039fc146103f95780637d1db4a5146104105780638da5cb5b1461043b576101a7565b806331c2d8471161015957806349bd5a5e1161013357806349bd5a5e1461036357806351bc3c851461038e57806370a08231146103a5578063715018a6146103e2576101a7565b806331c2d847146102d25780633bbac579146102fb5780633ef9472114610338576101a7565b806306fdde03146101ac578063095ea7b3146101d75780630faee56f1461021457806318160ddd1461023f57806323b872dd1461026a578063313ce567146102a7576101a7565b366101a757005b600080fd5b3480156101b857600080fd5b506101c1610637565b6040516101ce9190612940565b60405180910390f35b3480156101e357600080fd5b506101fe60048036038101906101f99190612a0a565b61065a565b60405161020b9190612a65565b60405180910390f35b34801561022057600080fd5b50610229610678565b6040516102369190612a8f565b60405180910390f35b34801561024b57600080fd5b5061025461067e565b6040516102619190612a8f565b60405180910390f35b34801561027657600080fd5b50610291600480360381019061028c9190612aaa565b6106a3565b60405161029e9190612a65565b60405180910390f35b3480156102b357600080fd5b506102bc61077c565b6040516102c99190612b19565b60405180910390f35b3480156102de57600080fd5b506102f960048036038101906102f49190612c7c565b610785565b005b34801561030757600080fd5b50610322600480360381019061031d9190612cc5565b6108af565b60405161032f9190612a65565b60405180910390f35b34801561034457600080fd5b5061034d610905565b60405161035a9190612a8f565b60405180910390f35b34801561036f57600080fd5b5061037861090b565b6040516103859190612d01565b60405180910390f35b34801561039a57600080fd5b506103a3610931565b005b3480156103b157600080fd5b506103cc60048036038101906103c79190612cc5565b610a02565b6040516103d99190612a8f565b60405180910390f35b3480156103ee57600080fd5b506103f7610a4b565b005b34801561040557600080fd5b5061040e610b9e565b005b34801561041c57600080fd5b50610425610cec565b6040516104329190612a8f565b60405180910390f35b34801561044757600080fd5b50610450610cf2565b60405161045d9190612d01565b60405180910390f35b34801561047257600080fd5b5061047b610d1b565b6040516104889190612a8f565b60405180910390f35b34801561049d57600080fd5b506104a6610d21565b6040516104b39190612940565b60405180910390f35b3480156104c857600080fd5b506104e360048036038101906104de9190612a0a565b610d5e565b6040516104f09190612a65565b60405180910390f35b34801561050557600080fd5b5061050e610d7c565b60405161051b9190612a8f565b60405180910390f35b34801561053057600080fd5b50610539610d82565b6040516105469190612a8f565b60405180910390f35b34801561055b57600080fd5b50610564610d88565b005b34801561057257600080fd5b5061057b611314565b6040516105889190612a65565b60405180910390f35b34801561059d57600080fd5b506105a6611327565b005b3480156105b457600080fd5b506105cf60048036038101906105ca9190612c7c565b611444565b005b3480156105dd57600080fd5b506105f860048036038101906105f39190612d1c565b61156e565b6040516106059190612a8f565b60405180910390f35b34801561061a57600080fd5b5061063560048036038101906106309190612d5c565b6115f5565b005b6060604051806101e001604052806101b18152602001613a116101b19139905090565b600061066e61066761169b565b84846116a3565b6001905092915050565b600e5481565b60006009600a61068e9190612eeb565b6461f313f88061069e9190612f36565b905090565b60006106b084848461186e565b610771846106bc61169b565b61076c856040518060600160405280602881526020016139e960289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061072261169b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123759092919063ffffffff16565b6116a3565b600190509392505050565b60006009905090565b61078d61169b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461081a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081190612fdc565b60405180910390fd5b60005b81518110156108ab5760006004600084848151811061083f5761083e612ffc565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806108a39061302b565b91505061081d565b5050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60085481565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61093961169b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109bd90612fdc565b60405180910390fd5b60006109d130610a02565b905060008111156109e6576109e5816123d9565b5b600047905060008111156109fe576109fd81612652565b5b5050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610a5361169b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ae0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad790612fdc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610ba661169b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2a90612fdc565b60405180910390fd5b6009600a610c419190612eeb565b6461f313f880610c519190612f36565b600b819055506009600a610c659190612eeb565b6461f313f880610c759190612f36565b600c819055506000600660006101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610cc59190612eeb565b6461f313f880610cd59190612f36565b604051610ce29190612a8f565b60405180910390a1565b600b5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600c5481565b60606040518060400160405280600881526020017f4d656d65736c6f74000000000000000000000000000000000000000000000000815250905090565b6000610d72610d6b61169b565b848461186e565b6001905092915050565b60075481565b600d5481565b610d9061169b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1490612fdc565b60405180910390fd5b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e8a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eae9190613089565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f5b9190613089565b6040518363ffffffff1660e01b8152600401610f789291906130b6565b602060405180830381865afa158015610f95573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb99190613089565b601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff16601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561122f57600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e19190613089565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561116a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061118e9190613089565b6040518363ffffffff1660e01b81526004016111ab9291906130b6565b6020604051808303816000875af11580156111ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ee9190613089565b601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016112ce9291906130df565b6020604051808303816000875af11580156112ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113119190613134565b50565b600660009054906101000a900460ff1681565b61132f61169b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b390612fdc565b60405180910390fd5b601060149054906101000a900460ff161561140c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611403906131ad565b60405180910390fd5b6001601060166101000a81548160ff0219169083151502179055506001601060146101000a81548160ff021916908315150217905550565b61144c61169b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d090612fdc565b60405180910390fd5b60005b815181101561156a576001600460008484815181106114fe576114fd612ffc565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806115629061302b565b9150506114dc565b5050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6115fd61169b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461168a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168190612fdc565b60405180910390fd5b806007819055508060088190555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611713576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170a9061323f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611783576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177a906132d1565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516118619190612a8f565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156118de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118d590613363565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561194e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611945906133f5565b60405180910390fd5b60008111611991576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161198890613487565b60405180910390fd5b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611a325750600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611a495750601060149054906101000a900460ff165b611a88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a7f906134f3565b60405180910390fd5b6000611a92610cf2565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611b005750611ad0610cf2565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156120b857600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611ba95750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611bb257600080fd5b611bda6064611bcc600754856126be90919063ffffffff16565b61273990919063ffffffff16565b9050600660009054906101000a900460ff1615611d6957600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611c9d5750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611d685743600560003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611d23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1a906135ab565b60405180910390fd5b43600560003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611e145750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611e6a5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611f2557600b54821115611eb4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eab90613617565b60405180910390fd5b600c5482611ec185610a02565b611ecb9190613637565b1115611f0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f03906136d9565b60405180910390fd5b600a6000815480929190611f1f9061302b565b91905055505b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611fae57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611fde57611fdb6064611fcd600854856126be90919063ffffffff16565b61273990919063ffffffff16565b90505b6000611fe930610a02565b9050601060159054906101000a900460ff161580156120555750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b801561206d5750601060169054906101000a900460ff165b801561207a5750600d5481115b156120b65761209c6120978461209284600e54612783565b612783565b6123d9565b600047905060008111156120b4576120b347612652565b5b505b505b60008111156121bc5761211381600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461279c90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516121b39190612a8f565b60405180910390a35b61220e82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127fa90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506122b561226782846127fa90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461279c90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61235a84866127fa90919063ffffffff16565b6040516123679190612a8f565b60405180910390a350505050565b60008383111582906123bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123b49190612940565b60405180910390fd5b50600083856123cc91906136f9565b9050809150509392505050565b6001601060156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561241157612410612b39565b5b60405190808252806020026020018201604052801561243f5781602001602082028036833780820191505090505b509050308160008151811061245757612456612ffc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156124fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125229190613089565b8160018151811061253657612535612ffc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061259d30600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846116a3565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612601959493929190613830565b600060405180830381600087803b15801561261b57600080fd5b505af115801561262f573d6000803e3d6000fd5b50505050506000601060156101000a81548160ff02191690831515021790555050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156126ba573d6000803e3d6000fd5b5050565b6000808314156126d15760009050612733565b600082846126df9190612f36565b90508284826126ee91906138b9565b1461272e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127259061395c565b60405180910390fd5b809150505b92915050565b600061277b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612844565b905092915050565b60008183116127925782612794565b815b905092915050565b60008082846127ab9190613637565b9050838110156127f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127e7906139c8565b60405180910390fd5b8091505092915050565b600061283c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612375565b905092915050565b6000808311829061288b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128829190612940565b60405180910390fd5b506000838561289a91906138b9565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156128e15780820151818401526020810190506128c6565b838111156128f0576000848401525b50505050565b6000601f19601f8301169050919050565b6000612912826128a7565b61291c81856128b2565b935061292c8185602086016128c3565b612935816128f6565b840191505092915050565b6000602082019050818103600083015261295a8184612907565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006129a182612976565b9050919050565b6129b181612996565b81146129bc57600080fd5b50565b6000813590506129ce816129a8565b92915050565b6000819050919050565b6129e7816129d4565b81146129f257600080fd5b50565b600081359050612a04816129de565b92915050565b60008060408385031215612a2157612a2061296c565b5b6000612a2f858286016129bf565b9250506020612a40858286016129f5565b9150509250929050565b60008115159050919050565b612a5f81612a4a565b82525050565b6000602082019050612a7a6000830184612a56565b92915050565b612a89816129d4565b82525050565b6000602082019050612aa46000830184612a80565b92915050565b600080600060608486031215612ac357612ac261296c565b5b6000612ad1868287016129bf565b9350506020612ae2868287016129bf565b9250506040612af3868287016129f5565b9150509250925092565b600060ff82169050919050565b612b1381612afd565b82525050565b6000602082019050612b2e6000830184612b0a565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612b71826128f6565b810181811067ffffffffffffffff82111715612b9057612b8f612b39565b5b80604052505050565b6000612ba3612962565b9050612baf8282612b68565b919050565b600067ffffffffffffffff821115612bcf57612bce612b39565b5b602082029050602081019050919050565b600080fd5b6000612bf8612bf384612bb4565b612b99565b90508083825260208201905060208402830185811115612c1b57612c1a612be0565b5b835b81811015612c445780612c3088826129bf565b845260208401935050602081019050612c1d565b5050509392505050565b600082601f830112612c6357612c62612b34565b5b8135612c73848260208601612be5565b91505092915050565b600060208284031215612c9257612c9161296c565b5b600082013567ffffffffffffffff811115612cb057612caf612971565b5b612cbc84828501612c4e565b91505092915050565b600060208284031215612cdb57612cda61296c565b5b6000612ce9848285016129bf565b91505092915050565b612cfb81612996565b82525050565b6000602082019050612d166000830184612cf2565b92915050565b60008060408385031215612d3357612d3261296c565b5b6000612d41858286016129bf565b9250506020612d52858286016129bf565b9150509250929050565b600060208284031215612d7257612d7161296c565b5b6000612d80848285016129f5565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115612e0f57808604811115612deb57612dea612d89565b5b6001851615612dfa5780820291505b8081029050612e0885612db8565b9450612dcf565b94509492505050565b600082612e285760019050612ee4565b81612e365760009050612ee4565b8160018114612e4c5760028114612e5657612e85565b6001915050612ee4565b60ff841115612e6857612e67612d89565b5b8360020a915084821115612e7f57612e7e612d89565b5b50612ee4565b5060208310610133831016604e8410600b8410161715612eba5782820a905083811115612eb557612eb4612d89565b5b612ee4565b612ec78484846001612dc5565b92509050818404811115612ede57612edd612d89565b5b81810290505b9392505050565b6000612ef6826129d4565b9150612f0183612afd565b9250612f2e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612e18565b905092915050565b6000612f41826129d4565b9150612f4c836129d4565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612f8557612f84612d89565b5b828202905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612fc66020836128b2565b9150612fd182612f90565b602082019050919050565b60006020820190508181036000830152612ff581612fb9565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000613036826129d4565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561306957613068612d89565b5b600182019050919050565b600081519050613083816129a8565b92915050565b60006020828403121561309f5761309e61296c565b5b60006130ad84828501613074565b91505092915050565b60006040820190506130cb6000830185612cf2565b6130d86020830184612cf2565b9392505050565b60006040820190506130f46000830185612cf2565b6131016020830184612a80565b9392505050565b61311181612a4a565b811461311c57600080fd5b50565b60008151905061312e81613108565b92915050565b60006020828403121561314a5761314961296c565b5b60006131588482850161311f565b91505092915050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b60006131976017836128b2565b91506131a282613161565b602082019050919050565b600060208201905081810360008301526131c68161318a565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006132296024836128b2565b9150613234826131cd565b604082019050919050565b600060208201905081810360008301526132588161321c565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006132bb6022836128b2565b91506132c68261325f565b604082019050919050565b600060208201905081810360008301526132ea816132ae565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061334d6025836128b2565b9150613358826132f1565b604082019050919050565b6000602082019050818103600083015261337c81613340565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006133df6023836128b2565b91506133ea82613383565b604082019050919050565b6000602082019050818103600083015261340e816133d2565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006134716029836128b2565b915061347c82613415565b604082019050919050565b600060208201905081810360008301526134a081613464565b9050919050565b7f74726164696e67206e6f74206c69766500000000000000000000000000000000600082015250565b60006134dd6010836128b2565b91506134e8826134a7565b602082019050919050565b6000602082019050818103600083015261350c816134d0565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60008201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b60006135956049836128b2565b91506135a082613513565b606082019050919050565b600060208201905081810360008301526135c481613588565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b60006136016019836128b2565b915061360c826135cb565b602082019050919050565b60006020820190508181036000830152613630816135f4565b9050919050565b6000613642826129d4565b915061364d836129d4565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561368257613681612d89565b5b828201905092915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b60006136c3601a836128b2565b91506136ce8261368d565b602082019050919050565b600060208201905081810360008301526136f2816136b6565b9050919050565b6000613704826129d4565b915061370f836129d4565b92508282101561372257613721612d89565b5b828203905092915050565b6000819050919050565b6000819050919050565b600061375c6137576137528461372d565b613737565b6129d4565b9050919050565b61376c81613741565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6137a781612996565b82525050565b60006137b9838361379e565b60208301905092915050565b6000602082019050919050565b60006137dd82613772565b6137e7818561377d565b93506137f28361378e565b8060005b8381101561382357815161380a88826137ad565b9750613815836137c5565b9250506001810190506137f6565b5085935050505092915050565b600060a0820190506138456000830188612a80565b6138526020830187613763565b818103604083015261386481866137d2565b90506138736060830185612cf2565b6138806080830184612a80565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006138c4826129d4565b91506138cf836129d4565b9250826138df576138de61388a565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006139466021836128b2565b9150613951826138ea565b604082019050919050565b6000602082019050818103600083015261397581613939565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006139b2601b836128b2565b91506139bd8261397c565b602082019050919050565b600060208201905081810360008301526139e1816139a5565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365f09f8eb0f09f90b6f09f90b1f09f90b0f09fa68af09f90bbf09f90bcf09f90a8f09f90aff09fa681f09f90aef09f90b7f09f90bdf09f90b8f09f90b5f09f9094f09f90a7f09f90a6f09f90a4f09fa685f09fa689f09fa687f09f90baf09f9097f09f90b4f09fa684f09f909df09f909bf09faab1f09fa68bf09f908cf09f909ef09f909cf09faab0f09faab2f09f95b7f09fa682f09f90a2f09f908df09fa68ef09fa696f09fa695f09f9099f09fa691f09fa690f09fa69ef09fa680f09f90a1f09f90a0f09f909ff09f90acf09f90b3f09f908bf09f908af09f9085f09f9086f09fa693f09fa68df09fa6a7f09fa6a3f09f9098f09fa69bf09fa68ff09f90aaf09f90abf09fa692f09fa698f09fa6acf09f9083f09f9082f09f9084f09f908ef09f9096f09f908ff09f9091f09fa699f09f9090f09fa68cf09f9095f09f90a9f09fa6aef09f9095e2808df09fa6baf09f9088f09f9088e2808de2ac9bf09f9093f09fa6a4f09fa69af09fa69cf09fa6a2f09fa6a9f09f958af09f9087f09fa69df09fa6a8f09fa6a1f09fa6abf09fa6a6f09fa6a5f09f9081f09f9080f09f90bff09fa694f09f90bef09f9089f09f90b2a264697066735822122013152c9b52e4686f92112ce1d237ba79a2bbc640cac27d2e490c982f4419903664736f6c634300080a0033

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.