ETH Price: $3,467.53 (+6.82%)
Gas: 13 Gwei

Token

Let Him Cook (COOK)
 

Overview

Max Total Supply

100,000,000,000 COOK

Holders

146

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 8 Decimals)

Balance
0.00000002 COOK

Value
$0.00
0x09ee833daa0c5727000c6e87919b5965656488b6
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:
LetHimCook

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-06-05
*/

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

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    ) external payable returns (uint256 amountToken, uint256 amountETH, uint256 liquidity);
}

contract LetHimCook 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 = true;
    address payable private _taxWallet;

    uint256 private _initialBuyTax = 5;
    uint256 private _initialSellTax = 5;
    uint256 private _finalTax = 5;
    uint256 private _burnTax = 0;
    uint256 private _reduceBuyTaxAt = 0;
    uint256 private _reduceSellTaxAt = 0;
    uint256 private _preventSwapBefore = 80;
    uint256 private _buyCount = 0;

    uint8 private constant _decimals = 8;
    uint256 private constant _tTotal = 100_000_000_000 * 10 ** _decimals;
    string private constant _name = unicode"Let Him Cook";
    string private constant _symbol = unicode"COOK";
    uint256 public _maxTxAmount = _tTotal;
    uint256 public _maxWalletSize = _tTotal;
    uint256 public _taxSwapThreshold = 500000000 * 10 ** _decimals;
    uint256 public _maxTaxSwap = 500000000 * 10 ** _decimals;

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

    event MaxTxAmountUpdated(uint256 _maxTxAmount);

    modifier lockTheSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor() {
        _taxWallet = payable(_msgSender());
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;
        // UNCX Network Liquidity Lock Contract
        _isExcludedFromFee[0x663A5C229c09b049E36dCc11a9B0d4a8Eb9db214] = true;
        // UNCX Network Token Lock Contract
        _isExcludedFromFee[0xDba68f07d1b7Ca219f78ae8582C213d975c25cAf] = true;

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

        // MEV bots
        bots[0x6b75d8AF000000e20B7a7DDf000Ba900b4009A80] = true;
        bots[0xae2Fc483527B8EF99EB5D9B44875F005ba1FaE13] = true;

        // Uniswap Setup
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        _allowances[msg.sender][address(uniswapV2Router)] = type(uint256).max;
    }

    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");
        uint256 taxAmount = 0;
        uint256 burnAmount = amount.mul(_burnTax).div(100);
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);
            taxAmount = amount.mul((_buyCount > _reduceBuyTaxAt) ? _finalTax : _initialBuyTax).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((_buyCount > _reduceSellTaxAt) ? _finalTax : _initialSellTax).div(100);
            }

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

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

    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 (uint256 i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

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

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

    function reduceFee(uint256 _newFee) external {
        require(_msgSender() == _taxWallet);
        require(_newFee <= _finalTax);
        _finalTax = _newFee;
    }

    receive() external payable {}

    function manualSwap() external {
        require(_msgSender() == _taxWallet);
        uint256 tokenBalance = balanceOf(address(this));
        if (tokenBalance > 0) {
            swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance = address(this).balance;
        if (ethBalance > 0) {
            sendETHToFee(ethBalance);
        }
    }
}

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":"_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":[{"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":"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"},{"stateMutability":"payable","type":"receive"}]

6080604052600160065f6101000a81548160ff0219169083151502179055506005600755600560085560056009555f600a555f600b555f600c556050600d555f600e556008600a62000052919062000aa6565b64174876e80062000064919062000af6565b600f556008600a62000077919062000aa6565b64174876e80062000089919062000af6565b6010556008600a6200009c919062000aa6565b631dcd6500620000ad919062000af6565b6011556008600a620000c0919062000aa6565b631dcd6500620000d1919062000af6565b601255737a250d5630b4cf539739df2c5dacb4c659f2488d60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f6014806101000a81548160ff0219169083151502179055506001601460156101000a81548160ff02191690831515021790555034801562000168575f80fd5b505f6200017a620008e660201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35062000226620008e660201b60201c565b600660016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506008600a62000276919062000aa6565b64174876e80062000288919062000af6565b60015f6200029b620008e660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f620002ed620008ed60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f73663a5c229c09b049e36dcc11a9b0d4a8eb9db21473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f73dba68f07d1b7ca219f78ae8582c213d975c25caf73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550620004ea620008e660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6008600a62000548919062000aa6565b64174876e8006200055a919062000af6565b60405162000569919062000b51565b60405180910390a3600160045f736b75d8af000000e20b7a7ddf000ba900b4009a8073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f73ae2fc483527b8ef99eb5d9b44875f005ba1fae1373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620006ae573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620006d4919062000bd1565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200075b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000781919062000bd1565b6040518363ffffffff1660e01b8152600401620007a092919062000c12565b6020604051808303815f875af1158015620007bd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620007e3919062000bd1565b60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555062000c3d565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156200099e5780860481111562000976576200097562000914565b5b6001851615620009865780820291505b8081029050620009968562000941565b945062000956565b94509492505050565b5f82620009b8576001905062000a8a565b81620009c7575f905062000a8a565b8160018114620009e05760028114620009eb5762000a21565b600191505062000a8a565b60ff84111562000a0057620009ff62000914565b5b8360020a91508482111562000a1a5762000a1962000914565b5b5062000a8a565b5060208310610133831016604e8410600b841016171562000a5b5782820a90508381111562000a555762000a5462000914565b5b62000a8a565b62000a6a84848460016200094d565b9250905081840481111562000a845762000a8362000914565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f62000ab28262000a91565b915062000abf8362000a9a565b925062000aee7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620009a7565b905092915050565b5f62000b028262000a91565b915062000b0f8362000a91565b925082820262000b1f8162000a91565b9150828204841483151762000b395762000b3862000914565b5b5092915050565b62000b4b8162000a91565b82525050565b5f60208201905062000b665f83018462000b40565b92915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62000b9b8262000b70565b9050919050565b62000bad8162000b8f565b811462000bb8575f80fd5b50565b5f8151905062000bcb8162000ba2565b92915050565b5f6020828403121562000be95762000be862000b6c565b5b5f62000bf88482850162000bbb565b91505092915050565b62000c0c8162000b8f565b82525050565b5f60408201905062000c275f83018562000c01565b62000c36602083018462000c01565b9392505050565b612fbb8062000c4b5f395ff3fe608060405260043610610138575f3560e01c8063751039fc116100aa578063a9059cbb1161006e578063a9059cbb146103ed578063bf474bed14610429578063c876d0b914610453578063d34628cc1461047d578063dd62ed3e146104a5578063ec1f3f63146104e15761013f565b8063751039fc1461032f5780637d1db4a5146103455780638da5cb5b1461036f5780638f9a55c01461039957806395d89b41146103c35761013f565b8063313ce567116100fc578063313ce5671461023957806331c2d847146102635780633bbac5791461028b57806351bc3c85146102c757806370a08231146102dd578063715018a6146103195761013f565b806306fdde0314610143578063095ea7b31461016d5780630faee56f146101a957806318160ddd146101d357806323b872dd146101fd5761013f565b3661013f57005b5f80fd5b34801561014e575f80fd5b50610157610509565b60405161016491906120e9565b60405180910390f35b348015610178575f80fd5b50610193600480360381019061018e91906121a7565b610546565b6040516101a091906121ff565b60405180910390f35b3480156101b4575f80fd5b506101bd610563565b6040516101ca9190612227565b60405180910390f35b3480156101de575f80fd5b506101e7610569565b6040516101f49190612227565b60405180910390f35b348015610208575f80fd5b50610223600480360381019061021e9190612240565b61058d565b60405161023091906121ff565b60405180910390f35b348015610244575f80fd5b5061024d610661565b60405161025a91906122ab565b60405180910390f35b34801561026e575f80fd5b5061028960048036038101906102849190612404565b610669565b005b348015610296575f80fd5b506102b160048036038101906102ac919061244b565b61078d565b6040516102be91906121ff565b60405180910390f35b3480156102d2575f80fd5b506102db6107df565b005b3480156102e8575f80fd5b5061030360048036038101906102fe919061244b565b610877565b6040516103109190612227565b60405180910390f35b348015610324575f80fd5b5061032d6108bd565b005b34801561033a575f80fd5b50610343610a0b565b005b348015610350575f80fd5b50610359610b56565b6040516103669190612227565b60405180910390f35b34801561037a575f80fd5b50610383610b5c565b6040516103909190612485565b60405180910390f35b3480156103a4575f80fd5b506103ad610b83565b6040516103ba9190612227565b60405180910390f35b3480156103ce575f80fd5b506103d7610b89565b6040516103e491906120e9565b60405180910390f35b3480156103f8575f80fd5b50610413600480360381019061040e91906121a7565b610bc6565b60405161042091906121ff565b60405180910390f35b348015610434575f80fd5b5061043d610be3565b60405161044a9190612227565b60405180910390f35b34801561045e575f80fd5b50610467610be9565b60405161047491906121ff565b60405180910390f35b348015610488575f80fd5b506104a3600480360381019061049e9190612404565b610bfb565b005b3480156104b0575f80fd5b506104cb60048036038101906104c6919061249e565b610d20565b6040516104d89190612227565b60405180910390f35b3480156104ec575f80fd5b50610507600480360381019061050291906124dc565b610da2565b005b60606040518060400160405280600c81526020017f4c65742048696d20436f6f6b0000000000000000000000000000000000000000815250905090565b5f610559610552610e1a565b8484610e21565b6001905092915050565b60125481565b5f6008600a6105789190612663565b64174876e80061058891906126ad565b905090565b5f610599848484610fe4565b610656846105a5610e1a565b61065185604051806060016040528060288152602001612f5e6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610608610e1a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611b4c9092919063ffffffff16565b610e21565b600190509392505050565b5f6008905090565b610671610e1a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f490612738565b60405180910390fd5b5f5b8151811015610789575f60045f84848151811061071f5761071e612756565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550808061078190612783565b9150506106ff565b5050565b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610820610e1a565b73ffffffffffffffffffffffffffffffffffffffff161461083f575f80fd5b5f61084930610877565b90505f81111561085d5761085c81611bae565b5b5f4790505f8111156108735761087281611e17565b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6108c5610e1a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610951576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094890612738565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610a13610e1a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9690612738565b60405180910390fd5b6008600a610aad9190612663565b64174876e800610abd91906126ad565b600f819055506008600a610ad19190612663565b64174876e800610ae191906126ad565b6010819055505f60065f6101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6008600a610b2f9190612663565b64174876e800610b3f91906126ad565b604051610b4c9190612227565b60405180910390a1565b600f5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60606040518060400160405280600481526020017f434f4f4b00000000000000000000000000000000000000000000000000000000815250905090565b5f610bd9610bd2610e1a565b8484610fe4565b6001905092915050565b60115481565b60065f9054906101000a900460ff1681565b610c03610e1a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8690612738565b60405180910390fd5b5f5b8151811015610d1c57600160045f848481518110610cb257610cb1612756565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508080610d1490612783565b915050610c91565b5050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610de3610e1a565b73ffffffffffffffffffffffffffffffffffffffff1614610e02575f80fd5b600954811115610e10575f80fd5b8060098190555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e869061283a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610efd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef4906128c8565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610fd79190612227565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611052576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104990612956565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036110c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b7906129e4565b60405180910390fd5b5f8111611102576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f990612a72565b60405180910390fd5b5f8061112c606461111e600a5486611e8090919063ffffffff16565b611ef790919063ffffffff16565b9050611136610b5c565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141580156111a45750611174610b5c565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156117785760045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611247575060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b61124f575f80fd5b61128b606461127d600b54600e541161126a5760075461126e565b6009545b86611e8090919063ffffffff16565b611ef790919063ffffffff16565b915060065f9054906101000a900460ff16156114135760135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561134b575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611412574360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054106113cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c690612b26565b60405180910390fd5b4360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161480156114bc575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561150f575060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156115c957600f54831115611559576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155090612b8e565b60405180910390fd5b6010548361156686610877565b6115709190612bac565b11156115b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a890612c29565b60405180910390fd5b600e5f8154809291906115c390612783565b91905055505b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561165157503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b15611695576116926064611684600c54600e541161167157600854611675565b6009545b86611e8090919063ffffffff16565b611ef790919063ffffffff16565b91505b5f61169f30610877565b905060148054906101000a900460ff16158015611708575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b80156117205750601460159054906101000a900460ff165b801561172d575060115481115b801561173c5750600d54600e54115b156117765761175e6117598561175484601254611f40565b611f40565b611bae565b5f4790505f8111156117745761177347611e17565b5b505b505b6117c88360015f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611f5890919063ffffffff16565b60015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061187d611831826118238587611f5890919063ffffffff16565b611f5890919063ffffffff16565b60015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611fa190919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611932846119248789611f5890919063ffffffff16565b611f5890919063ffffffff16565b60405161193f9190612227565b60405180910390a35f821115611a465761199f8260015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611fa190919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611a3d9190612227565b60405180910390a35b5f811115611b4557611a9e8160015f8073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611fa190919063ffffffff16565b60015f8073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b3c9190612227565b60405180910390a35b5050505050565b5f838311158290611b93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b8a91906120e9565b60405180910390fd5b505f8385611ba19190612c47565b9050809150509392505050565b60016014806101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611be457611be36122c8565b5b604051908082528060200260200182016040528015611c125781602001602082028036833780820191505090505b50905030815f81518110611c2957611c28612756565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ccd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cf19190612c8e565b81600181518110611d0557611d04612756565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611d6b3060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610e21565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611dcd959493929190612db2565b5f604051808303815f87803b158015611de4575f80fd5b505af1158015611df6573d5f803e3d5ffd5b50505050505f6014806101000a81548160ff02191690831515021790555050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611e7c573d5f803e3d5ffd5b5050565b5f808303611e90575f9050611ef1565b5f8284611e9d91906126ad565b9050828482611eac9190612e37565b14611eec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ee390612ed7565b60405180910390fd5b809150505b92915050565b5f611f3883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611ffe565b905092915050565b5f818311611f4e5782611f50565b815b905092915050565b5f611f9983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611b4c565b905092915050565b5f808284611faf9190612bac565b905083811015611ff4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611feb90612f3f565b60405180910390fd5b8091505092915050565b5f8083118290612044576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161203b91906120e9565b60405180910390fd5b505f83856120529190612e37565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561209657808201518184015260208101905061207b565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6120bb8261205f565b6120c58185612069565b93506120d5818560208601612079565b6120de816120a1565b840191505092915050565b5f6020820190508181035f83015261210181846120b1565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6121438261211a565b9050919050565b61215381612139565b811461215d575f80fd5b50565b5f8135905061216e8161214a565b92915050565b5f819050919050565b61218681612174565b8114612190575f80fd5b50565b5f813590506121a18161217d565b92915050565b5f80604083850312156121bd576121bc612112565b5b5f6121ca85828601612160565b92505060206121db85828601612193565b9150509250929050565b5f8115159050919050565b6121f9816121e5565b82525050565b5f6020820190506122125f8301846121f0565b92915050565b61222181612174565b82525050565b5f60208201905061223a5f830184612218565b92915050565b5f805f6060848603121561225757612256612112565b5b5f61226486828701612160565b935050602061227586828701612160565b925050604061228686828701612193565b9150509250925092565b5f60ff82169050919050565b6122a581612290565b82525050565b5f6020820190506122be5f83018461229c565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6122fe826120a1565b810181811067ffffffffffffffff8211171561231d5761231c6122c8565b5b80604052505050565b5f61232f612109565b905061233b82826122f5565b919050565b5f67ffffffffffffffff82111561235a576123596122c8565b5b602082029050602081019050919050565b5f80fd5b5f61238161237c84612340565b612326565b905080838252602082019050602084028301858111156123a4576123a361236b565b5b835b818110156123cd57806123b98882612160565b8452602084019350506020810190506123a6565b5050509392505050565b5f82601f8301126123eb576123ea6122c4565b5b81356123fb84826020860161236f565b91505092915050565b5f6020828403121561241957612418612112565b5b5f82013567ffffffffffffffff81111561243657612435612116565b5b612442848285016123d7565b91505092915050565b5f602082840312156124605761245f612112565b5b5f61246d84828501612160565b91505092915050565b61247f81612139565b82525050565b5f6020820190506124985f830184612476565b92915050565b5f80604083850312156124b4576124b3612112565b5b5f6124c185828601612160565b92505060206124d285828601612160565b9150509250929050565b5f602082840312156124f1576124f0612112565b5b5f6124fe84828501612193565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156125895780860481111561256557612564612507565b5b60018516156125745780820291505b808102905061258285612534565b9450612549565b94509492505050565b5f826125a1576001905061265c565b816125ae575f905061265c565b81600181146125c457600281146125ce576125fd565b600191505061265c565b60ff8411156125e0576125df612507565b5b8360020a9150848211156125f7576125f6612507565b5b5061265c565b5060208310610133831016604e8410600b84101617156126325782820a90508381111561262d5761262c612507565b5b61265c565b61263f8484846001612540565b9250905081840481111561265657612655612507565b5b81810290505b9392505050565b5f61266d82612174565b915061267883612290565b92506126a57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612592565b905092915050565b5f6126b782612174565b91506126c283612174565b92508282026126d081612174565b915082820484148315176126e7576126e6612507565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612722602083612069565b915061272d826126ee565b602082019050919050565b5f6020820190508181035f83015261274f81612716565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f61278d82612174565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036127bf576127be612507565b5b600182019050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612824602483612069565b915061282f826127ca565b604082019050919050565b5f6020820190508181035f83015261285181612818565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6128b2602283612069565b91506128bd82612858565b604082019050919050565b5f6020820190508181035f8301526128df816128a6565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612940602583612069565b915061294b826128e6565b604082019050919050565b5f6020820190508181035f83015261296d81612934565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6129ce602383612069565b91506129d982612974565b604082019050919050565b5f6020820190508181035f8301526129fb816129c2565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612a5c602983612069565b9150612a6782612a02565b604082019050919050565b5f6020820190508181035f830152612a8981612a50565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b5f612b10604983612069565b9150612b1b82612a90565b606082019050919050565b5f6020820190508181035f830152612b3d81612b04565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612b78601983612069565b9150612b8382612b44565b602082019050919050565b5f6020820190508181035f830152612ba581612b6c565b9050919050565b5f612bb682612174565b9150612bc183612174565b9250828201905080821115612bd957612bd8612507565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612c13601a83612069565b9150612c1e82612bdf565b602082019050919050565b5f6020820190508181035f830152612c4081612c07565b9050919050565b5f612c5182612174565b9150612c5c83612174565b9250828203905081811115612c7457612c73612507565b5b92915050565b5f81519050612c888161214a565b92915050565b5f60208284031215612ca357612ca2612112565b5b5f612cb084828501612c7a565b91505092915050565b5f819050919050565b5f819050919050565b5f612ce5612ce0612cdb84612cb9565b612cc2565b612174565b9050919050565b612cf581612ccb565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612d2d81612139565b82525050565b5f612d3e8383612d24565b60208301905092915050565b5f602082019050919050565b5f612d6082612cfb565b612d6a8185612d05565b9350612d7583612d15565b805f5b83811015612da5578151612d8c8882612d33565b9750612d9783612d4a565b925050600181019050612d78565b5085935050505092915050565b5f60a082019050612dc55f830188612218565b612dd26020830187612cec565b8181036040830152612de48186612d56565b9050612df36060830185612476565b612e006080830184612218565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612e4182612174565b9150612e4c83612174565b925082612e5c57612e5b612e0a565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612ec1602183612069565b9150612ecc82612e67565b604082019050919050565b5f6020820190508181035f830152612eee81612eb5565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612f29601b83612069565b9150612f3482612ef5565b602082019050919050565b5f6020820190508181035f830152612f5681612f1d565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c722ada95d9e06ec876bf03f6f05642446f42ec1524836ad0f2e598d54cb949d64736f6c63430008140033

Deployed Bytecode

0x608060405260043610610138575f3560e01c8063751039fc116100aa578063a9059cbb1161006e578063a9059cbb146103ed578063bf474bed14610429578063c876d0b914610453578063d34628cc1461047d578063dd62ed3e146104a5578063ec1f3f63146104e15761013f565b8063751039fc1461032f5780637d1db4a5146103455780638da5cb5b1461036f5780638f9a55c01461039957806395d89b41146103c35761013f565b8063313ce567116100fc578063313ce5671461023957806331c2d847146102635780633bbac5791461028b57806351bc3c85146102c757806370a08231146102dd578063715018a6146103195761013f565b806306fdde0314610143578063095ea7b31461016d5780630faee56f146101a957806318160ddd146101d357806323b872dd146101fd5761013f565b3661013f57005b5f80fd5b34801561014e575f80fd5b50610157610509565b60405161016491906120e9565b60405180910390f35b348015610178575f80fd5b50610193600480360381019061018e91906121a7565b610546565b6040516101a091906121ff565b60405180910390f35b3480156101b4575f80fd5b506101bd610563565b6040516101ca9190612227565b60405180910390f35b3480156101de575f80fd5b506101e7610569565b6040516101f49190612227565b60405180910390f35b348015610208575f80fd5b50610223600480360381019061021e9190612240565b61058d565b60405161023091906121ff565b60405180910390f35b348015610244575f80fd5b5061024d610661565b60405161025a91906122ab565b60405180910390f35b34801561026e575f80fd5b5061028960048036038101906102849190612404565b610669565b005b348015610296575f80fd5b506102b160048036038101906102ac919061244b565b61078d565b6040516102be91906121ff565b60405180910390f35b3480156102d2575f80fd5b506102db6107df565b005b3480156102e8575f80fd5b5061030360048036038101906102fe919061244b565b610877565b6040516103109190612227565b60405180910390f35b348015610324575f80fd5b5061032d6108bd565b005b34801561033a575f80fd5b50610343610a0b565b005b348015610350575f80fd5b50610359610b56565b6040516103669190612227565b60405180910390f35b34801561037a575f80fd5b50610383610b5c565b6040516103909190612485565b60405180910390f35b3480156103a4575f80fd5b506103ad610b83565b6040516103ba9190612227565b60405180910390f35b3480156103ce575f80fd5b506103d7610b89565b6040516103e491906120e9565b60405180910390f35b3480156103f8575f80fd5b50610413600480360381019061040e91906121a7565b610bc6565b60405161042091906121ff565b60405180910390f35b348015610434575f80fd5b5061043d610be3565b60405161044a9190612227565b60405180910390f35b34801561045e575f80fd5b50610467610be9565b60405161047491906121ff565b60405180910390f35b348015610488575f80fd5b506104a3600480360381019061049e9190612404565b610bfb565b005b3480156104b0575f80fd5b506104cb60048036038101906104c6919061249e565b610d20565b6040516104d89190612227565b60405180910390f35b3480156104ec575f80fd5b50610507600480360381019061050291906124dc565b610da2565b005b60606040518060400160405280600c81526020017f4c65742048696d20436f6f6b0000000000000000000000000000000000000000815250905090565b5f610559610552610e1a565b8484610e21565b6001905092915050565b60125481565b5f6008600a6105789190612663565b64174876e80061058891906126ad565b905090565b5f610599848484610fe4565b610656846105a5610e1a565b61065185604051806060016040528060288152602001612f5e6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610608610e1a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611b4c9092919063ffffffff16565b610e21565b600190509392505050565b5f6008905090565b610671610e1a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f490612738565b60405180910390fd5b5f5b8151811015610789575f60045f84848151811061071f5761071e612756565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550808061078190612783565b9150506106ff565b5050565b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610820610e1a565b73ffffffffffffffffffffffffffffffffffffffff161461083f575f80fd5b5f61084930610877565b90505f81111561085d5761085c81611bae565b5b5f4790505f8111156108735761087281611e17565b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6108c5610e1a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610951576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094890612738565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610a13610e1a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9690612738565b60405180910390fd5b6008600a610aad9190612663565b64174876e800610abd91906126ad565b600f819055506008600a610ad19190612663565b64174876e800610ae191906126ad565b6010819055505f60065f6101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6008600a610b2f9190612663565b64174876e800610b3f91906126ad565b604051610b4c9190612227565b60405180910390a1565b600f5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60606040518060400160405280600481526020017f434f4f4b00000000000000000000000000000000000000000000000000000000815250905090565b5f610bd9610bd2610e1a565b8484610fe4565b6001905092915050565b60115481565b60065f9054906101000a900460ff1681565b610c03610e1a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8690612738565b60405180910390fd5b5f5b8151811015610d1c57600160045f848481518110610cb257610cb1612756565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508080610d1490612783565b915050610c91565b5050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610de3610e1a565b73ffffffffffffffffffffffffffffffffffffffff1614610e02575f80fd5b600954811115610e10575f80fd5b8060098190555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e869061283a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610efd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef4906128c8565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610fd79190612227565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611052576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104990612956565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036110c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b7906129e4565b60405180910390fd5b5f8111611102576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f990612a72565b60405180910390fd5b5f8061112c606461111e600a5486611e8090919063ffffffff16565b611ef790919063ffffffff16565b9050611136610b5c565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141580156111a45750611174610b5c565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156117785760045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611247575060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b61124f575f80fd5b61128b606461127d600b54600e541161126a5760075461126e565b6009545b86611e8090919063ffffffff16565b611ef790919063ffffffff16565b915060065f9054906101000a900460ff16156114135760135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561134b575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611412574360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054106113cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c690612b26565b60405180910390fd5b4360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161480156114bc575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561150f575060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156115c957600f54831115611559576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155090612b8e565b60405180910390fd5b6010548361156686610877565b6115709190612bac565b11156115b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a890612c29565b60405180910390fd5b600e5f8154809291906115c390612783565b91905055505b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561165157503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b15611695576116926064611684600c54600e541161167157600854611675565b6009545b86611e8090919063ffffffff16565b611ef790919063ffffffff16565b91505b5f61169f30610877565b905060148054906101000a900460ff16158015611708575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b80156117205750601460159054906101000a900460ff165b801561172d575060115481115b801561173c5750600d54600e54115b156117765761175e6117598561175484601254611f40565b611f40565b611bae565b5f4790505f8111156117745761177347611e17565b5b505b505b6117c88360015f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611f5890919063ffffffff16565b60015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061187d611831826118238587611f5890919063ffffffff16565b611f5890919063ffffffff16565b60015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611fa190919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611932846119248789611f5890919063ffffffff16565b611f5890919063ffffffff16565b60405161193f9190612227565b60405180910390a35f821115611a465761199f8260015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611fa190919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611a3d9190612227565b60405180910390a35b5f811115611b4557611a9e8160015f8073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611fa190919063ffffffff16565b60015f8073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b3c9190612227565b60405180910390a35b5050505050565b5f838311158290611b93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b8a91906120e9565b60405180910390fd5b505f8385611ba19190612c47565b9050809150509392505050565b60016014806101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611be457611be36122c8565b5b604051908082528060200260200182016040528015611c125781602001602082028036833780820191505090505b50905030815f81518110611c2957611c28612756565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ccd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cf19190612c8e565b81600181518110611d0557611d04612756565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611d6b3060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610e21565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611dcd959493929190612db2565b5f604051808303815f87803b158015611de4575f80fd5b505af1158015611df6573d5f803e3d5ffd5b50505050505f6014806101000a81548160ff02191690831515021790555050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611e7c573d5f803e3d5ffd5b5050565b5f808303611e90575f9050611ef1565b5f8284611e9d91906126ad565b9050828482611eac9190612e37565b14611eec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ee390612ed7565b60405180910390fd5b809150505b92915050565b5f611f3883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611ffe565b905092915050565b5f818311611f4e5782611f50565b815b905092915050565b5f611f9983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611b4c565b905092915050565b5f808284611faf9190612bac565b905083811015611ff4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611feb90612f3f565b60405180910390fd5b8091505092915050565b5f8083118290612044576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161203b91906120e9565b60405180910390fd5b505f83856120529190612e37565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561209657808201518184015260208101905061207b565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6120bb8261205f565b6120c58185612069565b93506120d5818560208601612079565b6120de816120a1565b840191505092915050565b5f6020820190508181035f83015261210181846120b1565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6121438261211a565b9050919050565b61215381612139565b811461215d575f80fd5b50565b5f8135905061216e8161214a565b92915050565b5f819050919050565b61218681612174565b8114612190575f80fd5b50565b5f813590506121a18161217d565b92915050565b5f80604083850312156121bd576121bc612112565b5b5f6121ca85828601612160565b92505060206121db85828601612193565b9150509250929050565b5f8115159050919050565b6121f9816121e5565b82525050565b5f6020820190506122125f8301846121f0565b92915050565b61222181612174565b82525050565b5f60208201905061223a5f830184612218565b92915050565b5f805f6060848603121561225757612256612112565b5b5f61226486828701612160565b935050602061227586828701612160565b925050604061228686828701612193565b9150509250925092565b5f60ff82169050919050565b6122a581612290565b82525050565b5f6020820190506122be5f83018461229c565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6122fe826120a1565b810181811067ffffffffffffffff8211171561231d5761231c6122c8565b5b80604052505050565b5f61232f612109565b905061233b82826122f5565b919050565b5f67ffffffffffffffff82111561235a576123596122c8565b5b602082029050602081019050919050565b5f80fd5b5f61238161237c84612340565b612326565b905080838252602082019050602084028301858111156123a4576123a361236b565b5b835b818110156123cd57806123b98882612160565b8452602084019350506020810190506123a6565b5050509392505050565b5f82601f8301126123eb576123ea6122c4565b5b81356123fb84826020860161236f565b91505092915050565b5f6020828403121561241957612418612112565b5b5f82013567ffffffffffffffff81111561243657612435612116565b5b612442848285016123d7565b91505092915050565b5f602082840312156124605761245f612112565b5b5f61246d84828501612160565b91505092915050565b61247f81612139565b82525050565b5f6020820190506124985f830184612476565b92915050565b5f80604083850312156124b4576124b3612112565b5b5f6124c185828601612160565b92505060206124d285828601612160565b9150509250929050565b5f602082840312156124f1576124f0612112565b5b5f6124fe84828501612193565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156125895780860481111561256557612564612507565b5b60018516156125745780820291505b808102905061258285612534565b9450612549565b94509492505050565b5f826125a1576001905061265c565b816125ae575f905061265c565b81600181146125c457600281146125ce576125fd565b600191505061265c565b60ff8411156125e0576125df612507565b5b8360020a9150848211156125f7576125f6612507565b5b5061265c565b5060208310610133831016604e8410600b84101617156126325782820a90508381111561262d5761262c612507565b5b61265c565b61263f8484846001612540565b9250905081840481111561265657612655612507565b5b81810290505b9392505050565b5f61266d82612174565b915061267883612290565b92506126a57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612592565b905092915050565b5f6126b782612174565b91506126c283612174565b92508282026126d081612174565b915082820484148315176126e7576126e6612507565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612722602083612069565b915061272d826126ee565b602082019050919050565b5f6020820190508181035f83015261274f81612716565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f61278d82612174565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036127bf576127be612507565b5b600182019050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612824602483612069565b915061282f826127ca565b604082019050919050565b5f6020820190508181035f83015261285181612818565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6128b2602283612069565b91506128bd82612858565b604082019050919050565b5f6020820190508181035f8301526128df816128a6565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612940602583612069565b915061294b826128e6565b604082019050919050565b5f6020820190508181035f83015261296d81612934565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6129ce602383612069565b91506129d982612974565b604082019050919050565b5f6020820190508181035f8301526129fb816129c2565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612a5c602983612069565b9150612a6782612a02565b604082019050919050565b5f6020820190508181035f830152612a8981612a50565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b5f612b10604983612069565b9150612b1b82612a90565b606082019050919050565b5f6020820190508181035f830152612b3d81612b04565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612b78601983612069565b9150612b8382612b44565b602082019050919050565b5f6020820190508181035f830152612ba581612b6c565b9050919050565b5f612bb682612174565b9150612bc183612174565b9250828201905080821115612bd957612bd8612507565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612c13601a83612069565b9150612c1e82612bdf565b602082019050919050565b5f6020820190508181035f830152612c4081612c07565b9050919050565b5f612c5182612174565b9150612c5c83612174565b9250828203905081811115612c7457612c73612507565b5b92915050565b5f81519050612c888161214a565b92915050565b5f60208284031215612ca357612ca2612112565b5b5f612cb084828501612c7a565b91505092915050565b5f819050919050565b5f819050919050565b5f612ce5612ce0612cdb84612cb9565b612cc2565b612174565b9050919050565b612cf581612ccb565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612d2d81612139565b82525050565b5f612d3e8383612d24565b60208301905092915050565b5f602082019050919050565b5f612d6082612cfb565b612d6a8185612d05565b9350612d7583612d15565b805f5b83811015612da5578151612d8c8882612d33565b9750612d9783612d4a565b925050600181019050612d78565b5085935050505092915050565b5f60a082019050612dc55f830188612218565b612dd26020830187612cec565b8181036040830152612de48186612d56565b9050612df36060830185612476565b612e006080830184612218565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612e4182612174565b9150612e4c83612174565b925082612e5c57612e5b612e0a565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612ec1602183612069565b9150612ecc82612e67565b604082019050919050565b5f6020820190508181035f830152612eee81612eb5565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612f29601b83612069565b9150612f3482612ef5565b602082019050919050565b5f6020820190508181035f830152612f5681612f1d565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c722ada95d9e06ec876bf03f6f05642446f42ec1524836ad0f2e598d54cb949d64736f6c63430008140033

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.