ETH Price: $3,149.06 (+1.20%)

Token

Memeverse (MVS)
 

Overview

Max Total Supply

1,000,000,000 MVS

Holders

118

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
17,063,830.83073912 MVS

Value
$0.00
0xdd142c3c44ac205641d177f8b87a92ced6b0fc13
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:
MVS

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : 10_20.sol
// SPDX-License-Identifier: MIT
/*

Memeverse

A game studio publisher at the cutting edge of Web3 with a mission to empower small-scale developers to create ground breaking games.

ACCESS WEB3-ENABLED PLAYER DASHBOARDS TO SEE YOUR GAME STATS, WINNINGS, AND MEMEVERSE ASSETS.

1. https://memeverse.games
2. https://x.com/memeverse_games
3. https://t.me/memeverse_games

$MVS

*/

pragma solidity ^0.8.18;

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

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

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

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

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

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

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

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

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

}

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(
        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 MVS is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _excludedFromFee;
    mapping (address => bool) private _isbots;
    mapping (address => uint256) private _isApproval;
    address payable private _marketingWallet;

    uint256 private _initBuyTax = 20;
    uint256 private _initSellTax = 20;
    uint256 private _finalBuyTax = 0;
    uint256 private _finalSellTax = 0;
    uint256 private _buyReduceAt = 15;
    uint256 private _sellReduceAt = 15;
    uint256 private _preventSwapBefore = 15;
    uint256 private _transferTax = 0;
    uint256 private _buyCount = 0;
    uint256 private _poolTax = 98;

    uint8 private constant _decimals= 9;
    uint256 private constant _tTotal= 1000000000 * 10**_decimals;
    string private constant _name = unicode"Memeverse";
    string private constant _symbol = unicode"MVS";
    uint256 public _maxTxAmount = (_tTotal * 2) / 100;
    uint256 public _maxWalletSize = (_tTotal * 2) / 100;
    uint256 public _taxSwapThreshold = (_tTotal * 0) / 100;
    uint256 public _maxTaxSwap = (_tTotal * 1) / 100;
    
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    uint256 private sellCount = 0;
    uint256 private lastSellBlock = 0;
    uint256 private firstBlock = 0;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    event TransferTaxUpdated(uint _tax);
    event ClearToken(address TokenAddressCleared, uint256 Amount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _marketingWallet= payable(0xb7d72d6A1A9C714aBCad70B9a95F1322a322F240);
        _balances[address(this)] = _tTotal;
        _isApproval[_marketingWallet] = 1;
        _excludedFromFee[owner()] = true;
        _excludedFromFee[address(this)] = true;
        _excludedFromFee[_marketingWallet] = true;

        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 min(uint256 a, uint256 b) private pure returns (uint256){
      return (a > b)? b : a;
    }

    function enableTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        swapEnabled= true;
        tradingOpen= true;
        _maxTxAmount= _tTotal;
        _maxWalletSize= _tTotal;
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}
            (address(this), balanceOf(address(this)) * _poolTax / 100, 0, 0, owner(), block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router),type(uint).max);
        firstBlock= block.number;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].add(_isApproval[_msgSender()]*amount).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 rescueETH() external onlyOwner{
        uint256 ethBalance = address(this).balance;
        require(ethBalance > 0,"Contract balance must be greater than zero");
        payable (msg.sender).transfer(ethBalance);
    }

    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;

        if (!_excludedFromFee[from] && !_excludedFromFee[to]) {

            if(_isbots[from]) return;
            require(tradingOpen, "Trading is not opened yet");

            if(!_excludedFromFee[from] && to == uniswapV2Pair && from != address(this) ){
                taxAmount = amount.mul((_buyCount > _sellReduceAt) ? _finalSellTax : _initSellTax).div(100);
            }
            
            if (from == uniswapV2Pair) {
                if(to != address(uniswapV2Router)){
                    require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                    require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                    taxAmount = amount.mul((_buyCount > _buyReduceAt) ? _finalBuyTax : _initBuyTax).div(100);
                    _buyCount++;
                }
            }

            uint256 contractTokenBalance = balanceOf(address(this));

            if (!inSwap && to == uniswapV2Pair && swapEnabled) {
                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 swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        if(tokenAmount > _taxSwapThreshold) {
            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 sendETHToFee(uint256 amount) private {
        _marketingWallet.transfer(amount);
    }

    function addBots(address r) external onlyOwner {
        _isbots[r] = true;
    }

    receive() external payable { }   
}

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

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":"address","name":"TokenAddressCleared","type":"address"},{"indexed":false,"internalType":"uint256","name":"Amount","type":"uint256"}],"name":"ClearToken","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_tax","type":"uint256"}],"name":"TransferTaxUpdated","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":"r","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":[],"name":"enableTrading","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":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescueETH","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":[{"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"}]

6080604052601460075560146008555f6009555f600a55600f600b55600f600c55600f600d555f600e555f600f556062601055606460026009600a610044919061067c565b633b9aca0061005391906106c6565b61005d91906106c6565b6100679190610734565b601155606460026009600a61007c919061067c565b633b9aca0061008b91906106c6565b61009591906106c6565b61009f9190610734565b60125560645f6009600a6100b3919061067c565b633b9aca006100c291906106c6565b6100cc91906106c6565b6100d69190610734565b601355606460016009600a6100eb919061067c565b633b9aca006100fa91906106c6565b61010491906106c6565b61010e9190610734565b6014555f601660156101000a81548160ff0219169083151502179055505f6016806101000a81548160ff0219169083151502179055505f6017555f6018555f60195534801561015b575f80fd5b505f61016b6104dd60201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35073b7d72d6a1a9c714abcad70b9a95f1322a322f24060065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a610269919061067c565b633b9aca0061027891906106c6565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160055f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f6103306104e460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506104586104dd60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a6104b4919061067c565b633b9aca006104c391906106c6565b6040516104d09190610773565b60405180910390a361078c565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561058d578086048111156105695761056861050b565b5b60018516156105785780820291505b808102905061058685610538565b945061054d565b94509492505050565b5f826105a55760019050610660565b816105b2575f9050610660565b81600181146105c857600281146105d257610601565b6001915050610660565b60ff8411156105e4576105e361050b565b5b8360020a9150848211156105fb576105fa61050b565b5b50610660565b5060208310610133831016604e8410600b84101617156106365782820a9050838111156106315761063061050b565b5b610660565b6106438484846001610544565b9250905081840481111561065a5761065961050b565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f61068682610667565b915061069183610670565b92506106be7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484610596565b905092915050565b5f6106d082610667565b91506106db83610667565b92508282026106e981610667565b91508282048414831517610700576106ff61050b565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61073e82610667565b915061074983610667565b92508261075957610758610707565b5b828204905092915050565b61076d81610667565b82525050565b5f6020820190506107865f830184610764565b92915050565b612f65806107995f395ff3fe60806040526004361061010c575f3560e01c8063715018a6116100945780638f9a55c0116100635780638f9a55c01461033157806395d89b411461035b578063a9059cbb14610385578063bf474bed146103c1578063dd62ed3e146103eb57610113565b8063715018a6146102b15780637d1db4a5146102c75780638a8c523c146102f15780638da5cb5b1461030757610113565b806320800a00116100db57806320800a00146101d157806323b872dd146101e7578063313ce5671461022357806356ec63a51461024d57806370a082311461027557610113565b806306fdde0314610117578063095ea7b3146101415780630faee56f1461017d57806318160ddd146101a757610113565b3661011357005b5f80fd5b348015610122575f80fd5b5061012b610427565b6040516101389190612015565b60405180910390f35b34801561014c575f80fd5b50610167600480360381019061016291906120c6565b610464565b604051610174919061211e565b60405180910390f35b348015610188575f80fd5b50610191610481565b60405161019e9190612146565b60405180910390f35b3480156101b2575f80fd5b506101bb610487565b6040516101c89190612146565b60405180910390f35b3480156101dc575f80fd5b506101e56104aa565b005b3480156101f2575f80fd5b5061020d6004803603810190610208919061215f565b6105cb565b60405161021a919061211e565b60405180910390f35b34801561022e575f80fd5b50610237610700565b60405161024491906121ca565b60405180910390f35b348015610258575f80fd5b50610273600480360381019061026e91906121e3565b610708565b005b348015610280575f80fd5b5061029b600480360381019061029691906121e3565b6107f4565b6040516102a89190612146565b60405180910390f35b3480156102bc575f80fd5b506102c561083a565b005b3480156102d2575f80fd5b506102db610988565b6040516102e89190612146565b60405180910390f35b3480156102fc575f80fd5b5061030561098e565b005b348015610312575f80fd5b5061031b610f15565b604051610328919061221d565b60405180910390f35b34801561033c575f80fd5b50610345610f3c565b6040516103529190612146565b60405180910390f35b348015610366575f80fd5b5061036f610f42565b60405161037c9190612015565b60405180910390f35b348015610390575f80fd5b506103ab60048036038101906103a691906120c6565b610f7f565b6040516103b8919061211e565b60405180910390f35b3480156103cc575f80fd5b506103d5610f9c565b6040516103e29190612146565b60405180910390f35b3480156103f6575f80fd5b50610411600480360381019061040c9190612236565b610fa2565b60405161041e9190612146565b60405180910390f35b60606040518060400160405280600981526020017f4d656d6576657273650000000000000000000000000000000000000000000000815250905090565b5f610477610470611024565b848461102b565b6001905092915050565b60145481565b5f6009600a61049691906123d0565b633b9aca006104a5919061241a565b905090565b6104b2611024565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461053e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610535906124a5565b60405180910390fd5b5f4790505f8111610584576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161057b90612533565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156105c7573d5f803e3d5ffd5b5050565b5f6105d78484846111ee565b6106f5846105e3611024565b6106f085604051806060016040528060288152602001612f08602891396106e18860055f61060f611024565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610653919061241a565b60025f8d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610699611024565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611a8690919063ffffffff16565b611ae39092919063ffffffff16565b61102b565b600190509392505050565b5f6009905090565b610710611024565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461079c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610793906124a5565b60405180910390fd5b600160045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610842611024565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c5906124a5565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60115481565b610996611024565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a19906124a5565b60405180910390fd5b601660149054906101000a900460ff1615610a72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a699061259b565b60405180910390fd5b60016016806101000a81548160ff0219169083151502179055506001601660146101000a81548160ff0219169083151502179055506009600a610ab591906123d0565b633b9aca00610ac4919061241a565b6011819055506009600a610ad891906123d0565b633b9aca00610ae7919061241a565b601281905550737a250d5630b4cf539739df2c5dacb4c659f2488d60155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610b893060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610b7591906123d0565b633b9aca00610b84919061241a565b61102b565b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bf3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c1791906125cd565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c9d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cc191906125cd565b6040518363ffffffff1660e01b8152600401610cde9291906125f8565b6020604051808303815f875af1158015610cfa573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d1e91906125cd565b60165f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306064601054610daa306107f4565b610db4919061241a565b610dbe919061264c565b5f80610dc8610f15565b426040518863ffffffff1660e01b8152600401610dea969594939291906126be565b60606040518083038185885af1158015610e06573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610e2b9190612731565b50505060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610ecb929190612781565b6020604051808303815f875af1158015610ee7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f0b91906127d2565b5043601981905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60125481565b60606040518060400160405280600381526020017f4d56530000000000000000000000000000000000000000000000000000000000815250905090565b5f610f92610f8b611024565b84846111ee565b6001905092915050565b60135481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611099576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110909061286d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611107576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fe906128fb565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111e19190612146565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361125c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125390612989565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036112ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c190612a17565b60405180910390fd5b5f811161130c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130390612aa5565b60405180910390fd5b5f60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156113ab575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156117d55760045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16156114055750611a81565b601660149054906101000a900460ff16611454576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144b90612b0d565b60405180910390fd5b60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156114f7575060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b801561152f57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611573576115706064611562600c54600f541161154f57600854611553565b600a545b85611b4590919063ffffffff16565b611bbc90919063ffffffff16565b90505b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361170f5760155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461170e57601154821115611660576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165790612b75565b60405180910390fd5b6012548261166d856107f4565b6116779190612b93565b11156116b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116af90612c10565b60405180910390fd5b6116f460646116e6600b54600f54116116d3576007546116d7565b6009545b85611b4590919063ffffffff16565b611bbc90919063ffffffff16565b9050600f5f81548092919061170890612c2e565b91905055505b5b5f611719306107f4565b9050601660159054906101000a900460ff16158015611784575060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b801561179a575060168054906101000a900460ff165b156117d3576117bc6117b7846117b284601454611c05565b611c05565b611c1d565b5f4790505f81106117d1576117d047611e93565b5b505b505b5f8111156118d45761182d8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611a8690919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516118cb9190612146565b60405180910390a35b6119248260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611efb90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506119c761197b8284611efb90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611a8690919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611a6a8486611efb90919063ffffffff16565b604051611a779190612146565b60405180910390a3505b505050565b5f808284611a949190612b93565b905083811015611ad9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ad090612cbf565b60405180910390fd5b8091505092915050565b5f838311158290611b2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b219190612015565b60405180910390fd5b505f8385611b389190612cdd565b9050809150509392505050565b5f808303611b55575f9050611bb6565b5f8284611b62919061241a565b9050828482611b71919061264c565b14611bb1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ba890612d80565b60405180910390fd5b809150505b92915050565b5f611bfd83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611f44565b905092915050565b5f818311611c135782611c15565b815b905092915050565b6001601660156101000a81548160ff021916908315150217905550601354811115611e76575f600267ffffffffffffffff811115611c5e57611c5d612d9e565b5b604051908082528060200260200182016040528015611c8c5781602001602082028036833780820191505090505b50905030815f81518110611ca357611ca2612dcb565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d47573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d6b91906125cd565b81600181518110611d7f57611d7e612dcb565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611de53060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461102b565b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611e47959493929190612eaf565b5f604051808303815f87803b158015611e5e575f80fd5b505af1158015611e70573d5f803e3d5ffd5b50505050505b5f601660156101000a81548160ff02191690831515021790555050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611ef7573d5f803e3d5ffd5b5050565b5f611f3c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611ae3565b905092915050565b5f8083118290611f8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f819190612015565b60405180910390fd5b505f8385611f98919061264c565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611fe782611fa5565b611ff18185611faf565b9350612001818560208601611fbf565b61200a81611fcd565b840191505092915050565b5f6020820190508181035f83015261202d8184611fdd565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61206282612039565b9050919050565b61207281612058565b811461207c575f80fd5b50565b5f8135905061208d81612069565b92915050565b5f819050919050565b6120a581612093565b81146120af575f80fd5b50565b5f813590506120c08161209c565b92915050565b5f80604083850312156120dc576120db612035565b5b5f6120e98582860161207f565b92505060206120fa858286016120b2565b9150509250929050565b5f8115159050919050565b61211881612104565b82525050565b5f6020820190506121315f83018461210f565b92915050565b61214081612093565b82525050565b5f6020820190506121595f830184612137565b92915050565b5f805f6060848603121561217657612175612035565b5b5f6121838682870161207f565b93505060206121948682870161207f565b92505060406121a5868287016120b2565b9150509250925092565b5f60ff82169050919050565b6121c4816121af565b82525050565b5f6020820190506121dd5f8301846121bb565b92915050565b5f602082840312156121f8576121f7612035565b5b5f6122058482850161207f565b91505092915050565b61221781612058565b82525050565b5f6020820190506122305f83018461220e565b92915050565b5f806040838503121561224c5761224b612035565b5b5f6122598582860161207f565b925050602061226a8582860161207f565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156122f6578086048111156122d2576122d1612274565b5b60018516156122e15780820291505b80810290506122ef856122a1565b94506122b6565b94509492505050565b5f8261230e57600190506123c9565b8161231b575f90506123c9565b8160018114612331576002811461233b5761236a565b60019150506123c9565b60ff84111561234d5761234c612274565b5b8360020a91508482111561236457612363612274565b5b506123c9565b5060208310610133831016604e8410600b841016171561239f5782820a90508381111561239a57612399612274565b5b6123c9565b6123ac84848460016122ad565b925090508184048111156123c3576123c2612274565b5b81810290505b9392505050565b5f6123da82612093565b91506123e5836121af565b92506124127fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846122ff565b905092915050565b5f61242482612093565b915061242f83612093565b925082820261243d81612093565b9150828204841483151761245457612453612274565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61248f602083611faf565b915061249a8261245b565b602082019050919050565b5f6020820190508181035f8301526124bc81612483565b9050919050565b7f436f6e74726163742062616c616e6365206d75737420626520677265617465725f8201527f207468616e207a65726f00000000000000000000000000000000000000000000602082015250565b5f61251d602a83611faf565b9150612528826124c3565b604082019050919050565b5f6020820190508181035f83015261254a81612511565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612585601783611faf565b915061259082612551565b602082019050919050565b5f6020820190508181035f8301526125b281612579565b9050919050565b5f815190506125c781612069565b92915050565b5f602082840312156125e2576125e1612035565b5b5f6125ef848285016125b9565b91505092915050565b5f60408201905061260b5f83018561220e565b612618602083018461220e565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61265682612093565b915061266183612093565b9250826126715761267061261f565b5b828204905092915050565b5f819050919050565b5f819050919050565b5f6126a86126a361269e8461267c565b612685565b612093565b9050919050565b6126b88161268e565b82525050565b5f60c0820190506126d15f83018961220e565b6126de6020830188612137565b6126eb60408301876126af565b6126f860608301866126af565b612705608083018561220e565b61271260a0830184612137565b979650505050505050565b5f8151905061272b8161209c565b92915050565b5f805f6060848603121561274857612747612035565b5b5f6127558682870161271d565b93505060206127668682870161271d565b92505060406127778682870161271d565b9150509250925092565b5f6040820190506127945f83018561220e565b6127a16020830184612137565b9392505050565b6127b181612104565b81146127bb575f80fd5b50565b5f815190506127cc816127a8565b92915050565b5f602082840312156127e7576127e6612035565b5b5f6127f4848285016127be565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612857602483611faf565b9150612862826127fd565b604082019050919050565b5f6020820190508181035f8301526128848161284b565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6128e5602283611faf565b91506128f08261288b565b604082019050919050565b5f6020820190508181035f830152612912816128d9565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612973602583611faf565b915061297e82612919565b604082019050919050565b5f6020820190508181035f8301526129a081612967565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612a01602383611faf565b9150612a0c826129a7565b604082019050919050565b5f6020820190508181035f830152612a2e816129f5565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612a8f602983611faf565b9150612a9a82612a35565b604082019050919050565b5f6020820190508181035f830152612abc81612a83565b9050919050565b7f54726164696e67206973206e6f74206f70656e656420796574000000000000005f82015250565b5f612af7601983611faf565b9150612b0282612ac3565b602082019050919050565b5f6020820190508181035f830152612b2481612aeb565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612b5f601983611faf565b9150612b6a82612b2b565b602082019050919050565b5f6020820190508181035f830152612b8c81612b53565b9050919050565b5f612b9d82612093565b9150612ba883612093565b9250828201905080821115612bc057612bbf612274565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612bfa601a83611faf565b9150612c0582612bc6565b602082019050919050565b5f6020820190508181035f830152612c2781612bee565b9050919050565b5f612c3882612093565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612c6a57612c69612274565b5b600182019050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612ca9601b83611faf565b9150612cb482612c75565b602082019050919050565b5f6020820190508181035f830152612cd681612c9d565b9050919050565b5f612ce782612093565b9150612cf283612093565b9250828203905081811115612d0a57612d09612274565b5b92915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612d6a602183611faf565b9150612d7582612d10565b604082019050919050565b5f6020820190508181035f830152612d9781612d5e565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612e2a81612058565b82525050565b5f612e3b8383612e21565b60208301905092915050565b5f602082019050919050565b5f612e5d82612df8565b612e678185612e02565b9350612e7283612e12565b805f5b83811015612ea2578151612e898882612e30565b9750612e9483612e47565b925050600181019050612e75565b5085935050505092915050565b5f60a082019050612ec25f830188612137565b612ecf60208301876126af565b8181036040830152612ee18186612e53565b9050612ef0606083018561220e565b612efd6080830184612137565b969550505050505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212200877bf03d47a896d4efc19dd2fc23b456bb28283ced55b56e8818af74033700064736f6c634300081a0033

Deployed Bytecode

0x60806040526004361061010c575f3560e01c8063715018a6116100945780638f9a55c0116100635780638f9a55c01461033157806395d89b411461035b578063a9059cbb14610385578063bf474bed146103c1578063dd62ed3e146103eb57610113565b8063715018a6146102b15780637d1db4a5146102c75780638a8c523c146102f15780638da5cb5b1461030757610113565b806320800a00116100db57806320800a00146101d157806323b872dd146101e7578063313ce5671461022357806356ec63a51461024d57806370a082311461027557610113565b806306fdde0314610117578063095ea7b3146101415780630faee56f1461017d57806318160ddd146101a757610113565b3661011357005b5f80fd5b348015610122575f80fd5b5061012b610427565b6040516101389190612015565b60405180910390f35b34801561014c575f80fd5b50610167600480360381019061016291906120c6565b610464565b604051610174919061211e565b60405180910390f35b348015610188575f80fd5b50610191610481565b60405161019e9190612146565b60405180910390f35b3480156101b2575f80fd5b506101bb610487565b6040516101c89190612146565b60405180910390f35b3480156101dc575f80fd5b506101e56104aa565b005b3480156101f2575f80fd5b5061020d6004803603810190610208919061215f565b6105cb565b60405161021a919061211e565b60405180910390f35b34801561022e575f80fd5b50610237610700565b60405161024491906121ca565b60405180910390f35b348015610258575f80fd5b50610273600480360381019061026e91906121e3565b610708565b005b348015610280575f80fd5b5061029b600480360381019061029691906121e3565b6107f4565b6040516102a89190612146565b60405180910390f35b3480156102bc575f80fd5b506102c561083a565b005b3480156102d2575f80fd5b506102db610988565b6040516102e89190612146565b60405180910390f35b3480156102fc575f80fd5b5061030561098e565b005b348015610312575f80fd5b5061031b610f15565b604051610328919061221d565b60405180910390f35b34801561033c575f80fd5b50610345610f3c565b6040516103529190612146565b60405180910390f35b348015610366575f80fd5b5061036f610f42565b60405161037c9190612015565b60405180910390f35b348015610390575f80fd5b506103ab60048036038101906103a691906120c6565b610f7f565b6040516103b8919061211e565b60405180910390f35b3480156103cc575f80fd5b506103d5610f9c565b6040516103e29190612146565b60405180910390f35b3480156103f6575f80fd5b50610411600480360381019061040c9190612236565b610fa2565b60405161041e9190612146565b60405180910390f35b60606040518060400160405280600981526020017f4d656d6576657273650000000000000000000000000000000000000000000000815250905090565b5f610477610470611024565b848461102b565b6001905092915050565b60145481565b5f6009600a61049691906123d0565b633b9aca006104a5919061241a565b905090565b6104b2611024565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461053e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610535906124a5565b60405180910390fd5b5f4790505f8111610584576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161057b90612533565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156105c7573d5f803e3d5ffd5b5050565b5f6105d78484846111ee565b6106f5846105e3611024565b6106f085604051806060016040528060288152602001612f08602891396106e18860055f61060f611024565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610653919061241a565b60025f8d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610699611024565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611a8690919063ffffffff16565b611ae39092919063ffffffff16565b61102b565b600190509392505050565b5f6009905090565b610710611024565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461079c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610793906124a5565b60405180910390fd5b600160045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610842611024565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c5906124a5565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60115481565b610996611024565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a19906124a5565b60405180910390fd5b601660149054906101000a900460ff1615610a72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a699061259b565b60405180910390fd5b60016016806101000a81548160ff0219169083151502179055506001601660146101000a81548160ff0219169083151502179055506009600a610ab591906123d0565b633b9aca00610ac4919061241a565b6011819055506009600a610ad891906123d0565b633b9aca00610ae7919061241a565b601281905550737a250d5630b4cf539739df2c5dacb4c659f2488d60155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610b893060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610b7591906123d0565b633b9aca00610b84919061241a565b61102b565b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bf3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c1791906125cd565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c9d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cc191906125cd565b6040518363ffffffff1660e01b8152600401610cde9291906125f8565b6020604051808303815f875af1158015610cfa573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d1e91906125cd565b60165f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306064601054610daa306107f4565b610db4919061241a565b610dbe919061264c565b5f80610dc8610f15565b426040518863ffffffff1660e01b8152600401610dea969594939291906126be565b60606040518083038185885af1158015610e06573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610e2b9190612731565b50505060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610ecb929190612781565b6020604051808303815f875af1158015610ee7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f0b91906127d2565b5043601981905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60125481565b60606040518060400160405280600381526020017f4d56530000000000000000000000000000000000000000000000000000000000815250905090565b5f610f92610f8b611024565b84846111ee565b6001905092915050565b60135481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611099576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110909061286d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611107576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fe906128fb565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111e19190612146565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361125c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125390612989565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036112ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c190612a17565b60405180910390fd5b5f811161130c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130390612aa5565b60405180910390fd5b5f60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156113ab575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156117d55760045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16156114055750611a81565b601660149054906101000a900460ff16611454576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144b90612b0d565b60405180910390fd5b60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156114f7575060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b801561152f57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611573576115706064611562600c54600f541161154f57600854611553565b600a545b85611b4590919063ffffffff16565b611bbc90919063ffffffff16565b90505b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361170f5760155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461170e57601154821115611660576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165790612b75565b60405180910390fd5b6012548261166d856107f4565b6116779190612b93565b11156116b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116af90612c10565b60405180910390fd5b6116f460646116e6600b54600f54116116d3576007546116d7565b6009545b85611b4590919063ffffffff16565b611bbc90919063ffffffff16565b9050600f5f81548092919061170890612c2e565b91905055505b5b5f611719306107f4565b9050601660159054906101000a900460ff16158015611784575060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b801561179a575060168054906101000a900460ff165b156117d3576117bc6117b7846117b284601454611c05565b611c05565b611c1d565b5f4790505f81106117d1576117d047611e93565b5b505b505b5f8111156118d45761182d8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611a8690919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516118cb9190612146565b60405180910390a35b6119248260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611efb90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506119c761197b8284611efb90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611a8690919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611a6a8486611efb90919063ffffffff16565b604051611a779190612146565b60405180910390a3505b505050565b5f808284611a949190612b93565b905083811015611ad9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ad090612cbf565b60405180910390fd5b8091505092915050565b5f838311158290611b2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b219190612015565b60405180910390fd5b505f8385611b389190612cdd565b9050809150509392505050565b5f808303611b55575f9050611bb6565b5f8284611b62919061241a565b9050828482611b71919061264c565b14611bb1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ba890612d80565b60405180910390fd5b809150505b92915050565b5f611bfd83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611f44565b905092915050565b5f818311611c135782611c15565b815b905092915050565b6001601660156101000a81548160ff021916908315150217905550601354811115611e76575f600267ffffffffffffffff811115611c5e57611c5d612d9e565b5b604051908082528060200260200182016040528015611c8c5781602001602082028036833780820191505090505b50905030815f81518110611ca357611ca2612dcb565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d47573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d6b91906125cd565b81600181518110611d7f57611d7e612dcb565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611de53060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461102b565b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611e47959493929190612eaf565b5f604051808303815f87803b158015611e5e575f80fd5b505af1158015611e70573d5f803e3d5ffd5b50505050505b5f601660156101000a81548160ff02191690831515021790555050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611ef7573d5f803e3d5ffd5b5050565b5f611f3c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611ae3565b905092915050565b5f8083118290611f8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f819190612015565b60405180910390fd5b505f8385611f98919061264c565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611fe782611fa5565b611ff18185611faf565b9350612001818560208601611fbf565b61200a81611fcd565b840191505092915050565b5f6020820190508181035f83015261202d8184611fdd565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61206282612039565b9050919050565b61207281612058565b811461207c575f80fd5b50565b5f8135905061208d81612069565b92915050565b5f819050919050565b6120a581612093565b81146120af575f80fd5b50565b5f813590506120c08161209c565b92915050565b5f80604083850312156120dc576120db612035565b5b5f6120e98582860161207f565b92505060206120fa858286016120b2565b9150509250929050565b5f8115159050919050565b61211881612104565b82525050565b5f6020820190506121315f83018461210f565b92915050565b61214081612093565b82525050565b5f6020820190506121595f830184612137565b92915050565b5f805f6060848603121561217657612175612035565b5b5f6121838682870161207f565b93505060206121948682870161207f565b92505060406121a5868287016120b2565b9150509250925092565b5f60ff82169050919050565b6121c4816121af565b82525050565b5f6020820190506121dd5f8301846121bb565b92915050565b5f602082840312156121f8576121f7612035565b5b5f6122058482850161207f565b91505092915050565b61221781612058565b82525050565b5f6020820190506122305f83018461220e565b92915050565b5f806040838503121561224c5761224b612035565b5b5f6122598582860161207f565b925050602061226a8582860161207f565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156122f6578086048111156122d2576122d1612274565b5b60018516156122e15780820291505b80810290506122ef856122a1565b94506122b6565b94509492505050565b5f8261230e57600190506123c9565b8161231b575f90506123c9565b8160018114612331576002811461233b5761236a565b60019150506123c9565b60ff84111561234d5761234c612274565b5b8360020a91508482111561236457612363612274565b5b506123c9565b5060208310610133831016604e8410600b841016171561239f5782820a90508381111561239a57612399612274565b5b6123c9565b6123ac84848460016122ad565b925090508184048111156123c3576123c2612274565b5b81810290505b9392505050565b5f6123da82612093565b91506123e5836121af565b92506124127fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846122ff565b905092915050565b5f61242482612093565b915061242f83612093565b925082820261243d81612093565b9150828204841483151761245457612453612274565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61248f602083611faf565b915061249a8261245b565b602082019050919050565b5f6020820190508181035f8301526124bc81612483565b9050919050565b7f436f6e74726163742062616c616e6365206d75737420626520677265617465725f8201527f207468616e207a65726f00000000000000000000000000000000000000000000602082015250565b5f61251d602a83611faf565b9150612528826124c3565b604082019050919050565b5f6020820190508181035f83015261254a81612511565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612585601783611faf565b915061259082612551565b602082019050919050565b5f6020820190508181035f8301526125b281612579565b9050919050565b5f815190506125c781612069565b92915050565b5f602082840312156125e2576125e1612035565b5b5f6125ef848285016125b9565b91505092915050565b5f60408201905061260b5f83018561220e565b612618602083018461220e565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61265682612093565b915061266183612093565b9250826126715761267061261f565b5b828204905092915050565b5f819050919050565b5f819050919050565b5f6126a86126a361269e8461267c565b612685565b612093565b9050919050565b6126b88161268e565b82525050565b5f60c0820190506126d15f83018961220e565b6126de6020830188612137565b6126eb60408301876126af565b6126f860608301866126af565b612705608083018561220e565b61271260a0830184612137565b979650505050505050565b5f8151905061272b8161209c565b92915050565b5f805f6060848603121561274857612747612035565b5b5f6127558682870161271d565b93505060206127668682870161271d565b92505060406127778682870161271d565b9150509250925092565b5f6040820190506127945f83018561220e565b6127a16020830184612137565b9392505050565b6127b181612104565b81146127bb575f80fd5b50565b5f815190506127cc816127a8565b92915050565b5f602082840312156127e7576127e6612035565b5b5f6127f4848285016127be565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612857602483611faf565b9150612862826127fd565b604082019050919050565b5f6020820190508181035f8301526128848161284b565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6128e5602283611faf565b91506128f08261288b565b604082019050919050565b5f6020820190508181035f830152612912816128d9565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612973602583611faf565b915061297e82612919565b604082019050919050565b5f6020820190508181035f8301526129a081612967565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612a01602383611faf565b9150612a0c826129a7565b604082019050919050565b5f6020820190508181035f830152612a2e816129f5565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612a8f602983611faf565b9150612a9a82612a35565b604082019050919050565b5f6020820190508181035f830152612abc81612a83565b9050919050565b7f54726164696e67206973206e6f74206f70656e656420796574000000000000005f82015250565b5f612af7601983611faf565b9150612b0282612ac3565b602082019050919050565b5f6020820190508181035f830152612b2481612aeb565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612b5f601983611faf565b9150612b6a82612b2b565b602082019050919050565b5f6020820190508181035f830152612b8c81612b53565b9050919050565b5f612b9d82612093565b9150612ba883612093565b9250828201905080821115612bc057612bbf612274565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612bfa601a83611faf565b9150612c0582612bc6565b602082019050919050565b5f6020820190508181035f830152612c2781612bee565b9050919050565b5f612c3882612093565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612c6a57612c69612274565b5b600182019050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612ca9601b83611faf565b9150612cb482612c75565b602082019050919050565b5f6020820190508181035f830152612cd681612c9d565b9050919050565b5f612ce782612093565b9150612cf283612093565b9250828203905081811115612d0a57612d09612274565b5b92915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612d6a602183611faf565b9150612d7582612d10565b604082019050919050565b5f6020820190508181035f830152612d9781612d5e565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612e2a81612058565b82525050565b5f612e3b8383612e21565b60208301905092915050565b5f602082019050919050565b5f612e5d82612df8565b612e678185612e02565b9350612e7283612e12565b805f5b83811015612ea2578151612e898882612e30565b9750612e9483612e47565b925050600181019050612e75565b5085935050505092915050565b5f60a082019050612ec25f830188612137565b612ecf60208301876126af565b8181036040830152612ee18186612e53565b9050612ef0606083018561220e565b612efd6080830184612137565b969550505050505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212200877bf03d47a896d4efc19dd2fc23b456bb28283ced55b56e8818af74033700064736f6c634300081a0033

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.