ETH Price: $3,748.64 (+4.68%)

Token

ERC-20: METH HEADS (mETH)
 

Overview

Max Total Supply

1,000,000,000 mETH

Holders

40

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
5,000,000 mETH

Value
$0.00
0x4Cebb7dfC26fC1374AEaB9e7752b27FD84fcaC62
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:
mETH

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : mETH2.sol
// SPDX-License-Identifier: MIT   
/*
 -- WEBSITE: http://methheads.club/
 -- TELEGRAM: https://t.me/methheadstoken
 -- X: https://twitter.com/methheads_eth
*/
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);
}
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 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);
    }
    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 mETH is Context, IERC20, Ownable {
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    address public constant deadWallet = 0x000000000000000000000000000000000000dEaD;
    address payable private MarketWallet;
    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1000000000 * 10**_decimals; 
    string private constant _name = "METH HEADS";
    string private constant _symbol = "mETH";
    uint256 private _minSwapTokens = 1000000 * 10**_decimals; 
    uint256 private _maxSwapTokens = 20000000 * 10**_decimals;
    uint256 public maxTxAmount = 20000000 * 10**_decimals; 
    uint256 private buyTaxes = 20;
    uint256 private sellTaxes = 30;
    uint256 private _Buys_In=0;
   
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool public tradeEnable = false;
    bool private _SwapBackEnable = false;
    bool private inSwap = false;
    
    //Event
    event FeesRecieverUpdated(address indexed _newWallet);
    event ExcludeFromFeeUpdated(address indexed account);
    event includeFromFeeUpdated(address indexed account);
    event SwapBackSettingUpdated(bool indexed state);
    event ERC20TokensRecovered(uint256 indexed _amount);
    event TradingOpenUpdated();
    event ETHBalanceRecovered();
    
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor () {
    if (block.chainid == 56){
     uniswapV2Router = IUniswapV2Router02(0x10ED43C718714eb63d5aA57B78B54704E256024E); // PCS BSC Mainnet Router
     }
    else if(block.chainid == 1 || block.chainid == 5){
          uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); // Uniswap ETH Mainnet Router
      }
    else if(block.chainid == 42161){
           uniswapV2Router = IUniswapV2Router02(0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506); // Sushi Arbitrum Mainnet Router
      }
    else  if (block.chainid == 97){
     uniswapV2Router = IUniswapV2Router02(0xD99D1c33F9fC3444f8101754aBC46c52416550D1); // PCS BSC Testnet Router
     }
    else {
         revert("Wrong Chain Id");
        }
    uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        
         MarketWallet = payable(0x725186260275DeA781996337F386B931A52B881c);
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[_msgSender()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[MarketWallet] = true;
        _isExcludedFromFee[deadWallet] = 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 min(uint256 a, uint256 b) private pure returns (uint256) {
        return (a > b) ? b : a;
    }
    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }
    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }
    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }
    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), currentAllowance - amount);
        return true;
    }
    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 feesum=0;

        if (!_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
            require(tradeEnable, "Trading not enabled");       
               feesum = amount * (buyTaxes) / (100);
        }
        
         if (_isExcludedFromFee[from] || _isExcludedFromFee[to]) {
            feesum = 0;
        } 
        
          if (from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to]) {
             require(amount <= maxTxAmount, "Exceeds the _maxTxAmount.");
             require(balanceOf(to) + amount <= maxTxAmount, "Exceeds the maxWalletSize.");
              _Buys_In++;
          } 
        
          if (from != uniswapV2Pair && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
             require(amount <= maxTxAmount, "Exceeds the _maxTxAmount.");
          }
        
          if (to == uniswapV2Pair && from != address(this) && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
                   feesum = amount * (sellTaxes) / (100);
                
                } 
             uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && from != uniswapV2Pair && _SwapBackEnable && contractTokenBalance > _minSwapTokens && _Buys_In > 1) {
                 swapTokensForEth(min(amount, min(contractTokenBalance, _maxSwapTokens)));
               uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        _balances[from] = _balances[from] - amount; 
        _balances[to] = _balances[to] + (amount - (feesum));
        emit Transfer(from, to, amount - (feesum));
         if(feesum > 0){
          _balances[address(this)] = _balances[address(this)] + (feesum);
          emit Transfer(from, address(this),feesum);
        }
    }
 
    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        require(tokenAmount > 0, "amount must be greeter than 0");
        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 {
       require(amount > 0, "amount must be greeter than 0");
        MarketWallet.transfer(amount);
    }
  
    function SetFee(uint256 _buyFee, uint256 _sellFee) external onlyOwner {
        require(_buyFee <= 30 && _sellFee <= 60, "revert wrong fee settings");
        buyTaxes = _buyFee;
        sellTaxes = _sellFee;
    }
   
   function removeMaxTxLimit() external onlyOwner {
    maxTxAmount = _tTotal;}
   
   function setSwapBackSetting(bool state) external onlyOwner {
    _SwapBackEnable = state;
    emit SwapBackSettingUpdated(state);}
   
   function setMarketWallet(address payable _newWallet) external onlyOwner {
       require(_newWallet != address(this), "CA will not be the Fee Reciever");
       require(_newWallet != address(0), "0 addy will not be the fee Reciever");
       MarketWallet = _newWallet;
      _isExcludedFromFee[_newWallet] = true;
    emit FeesRecieverUpdated(_newWallet);
    }
    
    function addWhitelistWallet(address account) external onlyOwner {
      require(_isExcludedFromFee[account] != true,"Account is already excluded");
       _isExcludedFromFee[account] = true;
    emit ExcludeFromFeeUpdated(account);
   }
   
    function removeWhitelistWallet(address account) external onlyOwner {
         require(_isExcludedFromFee[account] != false, "Account is already included");
        _isExcludedFromFee[account] = false;
     emit includeFromFeeUpdated(account);
    }
    
    function enableTrading() external onlyOwner() {
        require(!tradeEnable,"trading is already open");
        _SwapBackEnable = true;
         tradeEnable = true;
       emit TradingOpenUpdated();
    }
    
    receive() external payable {}
   
    
    function recoverERC20FromContract(address _tokenAddy, uint256 _amount) external onlyOwner {
        require(_tokenAddy != address(this), "Owner can't claim contract's balance of its own tokens");
        require(_amount > 0, "Amount should be greater than zero");
        require(_amount <= IERC20(_tokenAddy).balanceOf(address(this)), "Insufficient Amount");
        IERC20(_tokenAddy).transfer(MarketWallet, _amount);
      emit ERC20TokensRecovered(_amount); 
    }
   
    function recoverETHfromContract() external {
        uint256 contractETHBalance = address(this).balance;
        require(contractETHBalance > 0, "Amount should be greater than zero");
        require(contractETHBalance <= address(this).balance, "Insufficient Amount");
        payable(address(MarketWallet)).transfer(contractETHBalance);
      emit ETHBalanceRecovered();
    }
}

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":"uint256","name":"_amount","type":"uint256"}],"name":"ERC20TokensRecovered","type":"event"},{"anonymous":false,"inputs":[],"name":"ETHBalanceRecovered","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"ExcludeFromFeeUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_newWallet","type":"address"}],"name":"FeesRecieverUpdated","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":"bool","name":"state","type":"bool"}],"name":"SwapBackSettingUpdated","type":"event"},{"anonymous":false,"inputs":[],"name":"TradingOpenUpdated","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":true,"internalType":"address","name":"account","type":"address"}],"name":"includeFromFeeUpdated","type":"event"},{"inputs":[{"internalType":"uint256","name":"_buyFee","type":"uint256"},{"internalType":"uint256","name":"_sellFee","type":"uint256"}],"name":"SetFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"addWhitelistWallet","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":"deadWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenAddy","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"recoverERC20FromContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"recoverETHfromContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeMaxTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"removeWhitelistWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_newWallet","type":"address"}],"name":"setMarketWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"state","type":"bool"}],"name":"setSwapBackSetting","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":[],"name":"tradeEnable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526009600a620000149190620009ee565b620f424062000024919062000a3f565b6005556009600a620000379190620009ee565b6301312d0062000048919062000a3f565b6006556009600a6200005b9190620009ee565b6301312d006200006c919062000a3f565b6007556014600855601e6009556000600a556000600c60146101000a81548160ff0219169083151502179055506000600c60156101000a81548160ff0219169083151502179055506000600c60166101000a81548160ff021916908315150217905550348015620000dc57600080fd5b506000620000ef6200084c60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35060384603620001f1577310ed43c718714eb63d5aa57b78b54704e256024e600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200036b565b6001461480620002015750600546145b156200026257737a250d5630b4cf539739df2c5dacb4c659f2488d600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200036a565b61a4b14603620002c757731b02da8cb0d097eb8d57a175b88c7d8b47997506600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000369565b606146036200032b5773d99d1c33f9fc3444f8101754abc46c52416550d1600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000368565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200035f9062000aeb565b60405180910390fd5b5b5b5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620003d9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003ff919062000b77565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000489573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004af919062000b77565b6040518363ffffffff1660e01b8152600401620004ce92919062000bba565b6020604051808303816000875af1158015620004ee573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000514919062000b77565b600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073725186260275dea781996337f386b931a52b881c600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a620005b99190620009ee565b633b9aca00620005ca919062000a3f565b60016000620005de6200084c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160036000620006326200084c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016003600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620007bf6200084c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a6200081e9190620009ee565b633b9aca006200082f919062000a3f565b6040516200083e919062000bf8565b60405180910390a362000c15565b600033905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620008e257808604811115620008ba57620008b962000854565b5b6001851615620008ca5780820291505b8081029050620008da8562000883565b94506200089a565b94509492505050565b600082620008fd5760019050620009d0565b816200090d5760009050620009d0565b8160018114620009265760028114620009315762000967565b6001915050620009d0565b60ff84111562000946576200094562000854565b5b8360020a91508482111562000960576200095f62000854565b5b50620009d0565b5060208310610133831016604e8410600b8410161715620009a15782820a9050838111156200099b576200099a62000854565b5b620009d0565b620009b0848484600162000890565b92509050818404811115620009ca57620009c962000854565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620009fb82620009d7565b915062000a0883620009e1565b925062000a377fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620008eb565b905092915050565b600062000a4c82620009d7565b915062000a5983620009d7565b925082820262000a6981620009d7565b9150828204841483151762000a835762000a8262000854565b5b5092915050565b600082825260208201905092915050565b7f57726f6e6720436861696e204964000000000000000000000000000000000000600082015250565b600062000ad3600e8362000a8a565b915062000ae08262000a9b565b602082019050919050565b6000602082019050818103600083015262000b068162000ac4565b9050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000b3f8262000b12565b9050919050565b62000b518162000b32565b811462000b5d57600080fd5b50565b60008151905062000b718162000b46565b92915050565b60006020828403121562000b905762000b8f62000b0d565b5b600062000ba08482850162000b60565b91505092915050565b62000bb48162000b32565b82525050565b600060408201905062000bd1600083018562000ba9565b62000be0602083018462000ba9565b9392505050565b62000bf281620009d7565b82525050565b600060208201905062000c0f600083018462000be7565b92915050565b613de38062000c256000396000f3fe60806040526004361061014f5760003560e01c80638a8c523c116100b6578063ce831ed51161006f578063ce831ed514610465578063dcb1c2e51461047c578063dd62ed3e146104a5578063f0f56b6a146104e2578063f2fde38b1461050b578063f87dc2c61461053457610156565b80638a8c523c146103675780638c0b5e221461037e5780638da5cb5b146103a957806395d89b41146103d4578063a9059cbb146103ff578063ade4cffe1461043c57610156565b80634415fb61116101085780634415fb611461027f57806354332266146102965780636dff2eeb146102bf57806370a08231146102e8578063715018a61461032557806385141a771461033c57610156565b8063032dc6a21461015b57806306fdde0314610184578063095ea7b3146101af57806318160ddd146101ec57806323b872dd14610217578063313ce5671461025457610156565b3661015657005b600080fd5b34801561016757600080fd5b50610182600480360381019061017d9190612982565b61055f565b005b34801561019057600080fd5b50610199610657565b6040516101a69190612a52565b60405180910390f35b3480156101bb57600080fd5b506101d660048036038101906101d19190612ad2565b610694565b6040516101e39190612b2d565b60405180910390f35b3480156101f857600080fd5b506102016106b2565b60405161020e9190612b57565b60405180910390f35b34801561022357600080fd5b5061023e60048036038101906102399190612b72565b6106d6565b60405161024b9190612b2d565b60405180910390f35b34801561026057600080fd5b506102696107d6565b6040516102769190612be1565b60405180910390f35b34801561028b57600080fd5b506102946107df565b005b3480156102a257600080fd5b506102bd60048036038101906102b89190612c3a565b610899565b005b3480156102cb57600080fd5b506102e660048036038101906102e19190612ad2565b610aea565b005b3480156102f457600080fd5b5061030f600480360381019061030a9190612c67565b610dbe565b60405161031c9190612b57565b60405180910390f35b34801561033157600080fd5b5061033a610e07565b005b34801561034857600080fd5b50610351610f5a565b60405161035e9190612ca3565b60405180910390f35b34801561037357600080fd5b5061037c610f60565b005b34801561038a57600080fd5b506103936110a9565b6040516103a09190612b57565b60405180910390f35b3480156103b557600080fd5b506103be6110af565b6040516103cb9190612ca3565b60405180910390f35b3480156103e057600080fd5b506103e96110d8565b6040516103f69190612a52565b60405180910390f35b34801561040b57600080fd5b5061042660048036038101906104219190612ad2565b611115565b6040516104339190612b2d565b60405180910390f35b34801561044857600080fd5b50610463600480360381019061045e9190612c67565b611133565b005b34801561047157600080fd5b5061047a6112f9565b005b34801561048857600080fd5b506104a3600480360381019061049e9190612c67565b61141c565b005b3480156104b157600080fd5b506104cc60048036038101906104c79190612cbe565b6115e2565b6040516104d99190612b57565b60405180910390f35b3480156104ee57600080fd5b5061050960048036038101906105049190612d2a565b611669565b005b34801561051757600080fd5b50610532600480360381019061052d9190612c67565b61174a565b005b34801561054057600080fd5b5061054961185a565b6040516105569190612b2d565b60405180910390f35b61056761186d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105eb90612da3565b60405180910390fd5b601e82111580156106065750603c8111155b610645576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161063c90612e0f565b60405180910390fd5b81600881905550806009819055505050565b60606040518060400160405280600a81526020017f4d45544820484541445300000000000000000000000000000000000000000000815250905090565b60006106a86106a161186d565b8484611875565b6001905092915050565b60006009600a6106c29190612f91565b633b9aca006106d19190612fdc565b905090565b600080600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061072261186d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156107a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161079990613090565b60405180910390fd5b6107ad858585611a3e565b6107ca856107b961186d565b85846107c591906130b0565b611875565b60019150509392505050565b60006009905090565b6107e761186d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610874576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086b90612da3565b60405180910390fd5b6009600a6108829190612f91565b633b9aca006108919190612fdc565b600781905550565b6108a161186d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461092e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092590612da3565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361099c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099390613130565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610a0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a02906131c2565b60405180910390fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f6867e944970fe7ede3b1a987e85026d725a5faa1e05cc2f89ec2a7a27701c3f560405160405180910390a250565b610af261186d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7690612da3565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610bed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be490613254565b60405180910390fd5b60008111610c30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c27906132e6565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610c699190612ca3565b602060405180830381865afa158015610c86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610caa919061331b565b811115610cec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce390613394565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401610d49929190613413565b6020604051808303816000875af1158015610d68573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8c9190613451565b50807fc3cafad8c1a78aa542c18679d54d2e14cf1f08b516ac12071dcf9fd2d3701c2260405160405180910390a25050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610e0f61186d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9390612da3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61dead81565b610f6861186d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ff5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fec90612da3565b60405180910390fd5b600c60149054906101000a900460ff1615611045576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103c906134ca565b60405180910390fd5b6001600c60156101000a81548160ff0219169083151502179055506001600c60146101000a81548160ff0219169083151502179055507f0d151bf744092c3011c9f50766da412cca73acdbcaa74b879a5858adc258f93560405160405180910390a1565b60075481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f6d45544800000000000000000000000000000000000000000000000000000000815250905090565b600061112961112261186d565b8484611a3e565b6001905092915050565b61113b61186d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111bf90612da3565b60405180910390fd5b60011515600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615150361125b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125290613536565b60405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f7168e8adb718597b3ac83e2dfe415bea8ebaabb57fe933ffac2e0ed93b80718e60405160405180910390a250565b600047905060008111611341576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611338906132e6565b60405180910390fd5b47811115611384576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137b90613394565b60405180910390fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156113ec573d6000803e3d6000fd5b507fc680f238873c988c7dc872ec40caca9d70edfe000c3d44a1b9410684db93767560405160405180910390a150565b61142461186d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a890612da3565b60405180910390fd5b60001515600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151503611544576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153b906135a2565b60405180910390fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167fdff643e1b752e1138794c958b6f565e4f003ba18d45383a40b582de82ced091e60405160405180910390a250565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61167161186d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f590612da3565b60405180910390fd5b80600c60156101000a81548160ff0219169083151502179055508015157f3a9ce3b0c56e8f872f7647ac57385353c6cc3474ddf4b76a77ffbb8ad1fb0ccb60405160405180910390a250565b61175261186d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146117df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d690612da3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361184e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161184590613634565b60405180910390fd5b611857816124ff565b50565b600c60149054906101000a900460ff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036118e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118db906136c6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611953576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194a90613758565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611a319190612b57565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611aad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aa4906137ea565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611b1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b139061387c565b60405180910390fd5b60008111611b5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b569061390e565b60405180910390fd5b6000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611c055750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611c7657600c60149054906101000a900460ff16611c59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c509061397a565b60405180910390fd5b606460085483611c699190612fdc565b611c7391906139c9565b90505b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611d175750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611d2157600090505b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611dcc5750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611e225750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611edd57600754821115611e6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6390613a46565b60405180910390fd5b60075482611e7985610dbe565b611e839190613a66565b1115611ec4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ebb90613ae6565b60405180910390fd5b600a6000815480929190611ed790613b06565b91905055505b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611f855750600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611fdb5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561202657600754821115612025576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161201c90613a46565b60405180910390fd5b5b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156120af57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156121055750600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561215b5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561217d576064600954836121709190612fdc565b61217a91906139c9565b90505b600061218830610dbe565b9050600c60169054906101000a900460ff161580156121f55750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b801561220d5750600c60159054906101000a900460ff165b801561221a575060055481115b801561222857506001600a54115b156122645761224a61224584612240846006546125c3565b6125c3565b6125dc565b600047905060008111156122625761226147612898565b5b505b82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122af91906130b0565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081836122fe91906130b0565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123489190613a66565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84866123e691906130b0565b6040516123f39190612b57565b60405180910390a360008211156124f85781600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461244f9190613a66565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516124ef9190612b57565b60405180910390a35b5050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008183116125d257826125d4565b815b905092915050565b6001600c60166101000a81548160ff0219169083151502179055506000811161263a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161263190613b9a565b60405180910390fd5b6000600267ffffffffffffffff81111561265757612656613bba565b5b6040519080825280602002602001820160405280156126855781602001602082028036833780820191505090505b509050308160008151811061269d5761269c613be9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612744573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127689190613c2d565b8160018151811061277c5761277b613be9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506127e330600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611875565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612847959493929190613d53565b600060405180830381600087803b15801561286157600080fd5b505af1158015612875573d6000803e3d6000fd5b50505050506000600c60166101000a81548160ff02191690831515021790555050565b600081116128db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128d290613b9a565b60405180910390fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612943573d6000803e3d6000fd5b5050565b600080fd5b6000819050919050565b61295f8161294c565b811461296a57600080fd5b50565b60008135905061297c81612956565b92915050565b6000806040838503121561299957612998612947565b5b60006129a78582860161296d565b92505060206129b88582860161296d565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b60005b838110156129fc5780820151818401526020810190506129e1565b60008484015250505050565b6000601f19601f8301169050919050565b6000612a24826129c2565b612a2e81856129cd565b9350612a3e8185602086016129de565b612a4781612a08565b840191505092915050565b60006020820190508181036000830152612a6c8184612a19565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612a9f82612a74565b9050919050565b612aaf81612a94565b8114612aba57600080fd5b50565b600081359050612acc81612aa6565b92915050565b60008060408385031215612ae957612ae8612947565b5b6000612af785828601612abd565b9250506020612b088582860161296d565b9150509250929050565b60008115159050919050565b612b2781612b12565b82525050565b6000602082019050612b426000830184612b1e565b92915050565b612b518161294c565b82525050565b6000602082019050612b6c6000830184612b48565b92915050565b600080600060608486031215612b8b57612b8a612947565b5b6000612b9986828701612abd565b9350506020612baa86828701612abd565b9250506040612bbb8682870161296d565b9150509250925092565b600060ff82169050919050565b612bdb81612bc5565b82525050565b6000602082019050612bf66000830184612bd2565b92915050565b6000612c0782612a74565b9050919050565b612c1781612bfc565b8114612c2257600080fd5b50565b600081359050612c3481612c0e565b92915050565b600060208284031215612c5057612c4f612947565b5b6000612c5e84828501612c25565b91505092915050565b600060208284031215612c7d57612c7c612947565b5b6000612c8b84828501612abd565b91505092915050565b612c9d81612a94565b82525050565b6000602082019050612cb86000830184612c94565b92915050565b60008060408385031215612cd557612cd4612947565b5b6000612ce385828601612abd565b9250506020612cf485828601612abd565b9150509250929050565b612d0781612b12565b8114612d1257600080fd5b50565b600081359050612d2481612cfe565b92915050565b600060208284031215612d4057612d3f612947565b5b6000612d4e84828501612d15565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612d8d6020836129cd565b9150612d9882612d57565b602082019050919050565b60006020820190508181036000830152612dbc81612d80565b9050919050565b7f7265766572742077726f6e67206665652073657474696e677300000000000000600082015250565b6000612df96019836129cd565b9150612e0482612dc3565b602082019050919050565b60006020820190508181036000830152612e2881612dec565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115612eb557808604811115612e9157612e90612e2f565b5b6001851615612ea05780820291505b8081029050612eae85612e5e565b9450612e75565b94509492505050565b600082612ece5760019050612f8a565b81612edc5760009050612f8a565b8160018114612ef25760028114612efc57612f2b565b6001915050612f8a565b60ff841115612f0e57612f0d612e2f565b5b8360020a915084821115612f2557612f24612e2f565b5b50612f8a565b5060208310610133831016604e8410600b8410161715612f605782820a905083811115612f5b57612f5a612e2f565b5b612f8a565b612f6d8484846001612e6b565b92509050818404811115612f8457612f83612e2f565b5b81810290505b9392505050565b6000612f9c8261294c565b9150612fa783612bc5565b9250612fd47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612ebe565b905092915050565b6000612fe78261294c565b9150612ff28361294c565b92508282026130008161294c565b9150828204841483151761301757613016612e2f565b5b5092915050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b600061307a6028836129cd565b91506130858261301e565b604082019050919050565b600060208201905081810360008301526130a98161306d565b9050919050565b60006130bb8261294c565b91506130c68361294c565b92508282039050818111156130de576130dd612e2f565b5b92915050565b7f43412077696c6c206e6f74206265207468652046656520526563696576657200600082015250565b600061311a601f836129cd565b9150613125826130e4565b602082019050919050565b600060208201905081810360008301526131498161310d565b9050919050565b7f3020616464792077696c6c206e6f74206265207468652066656520526563696560008201527f7665720000000000000000000000000000000000000000000000000000000000602082015250565b60006131ac6023836129cd565b91506131b782613150565b604082019050919050565b600060208201905081810360008301526131db8161319f565b9050919050565b7f4f776e65722063616e277420636c61696d20636f6e747261637427732062616c60008201527f616e6365206f6620697473206f776e20746f6b656e7300000000000000000000602082015250565b600061323e6036836129cd565b9150613249826131e2565b604082019050919050565b6000602082019050818103600083015261326d81613231565b9050919050565b7f416d6f756e742073686f756c642062652067726561746572207468616e207a6560008201527f726f000000000000000000000000000000000000000000000000000000000000602082015250565b60006132d06022836129cd565b91506132db82613274565b604082019050919050565b600060208201905081810360008301526132ff816132c3565b9050919050565b60008151905061331581612956565b92915050565b60006020828403121561333157613330612947565b5b600061333f84828501613306565b91505092915050565b7f496e73756666696369656e7420416d6f756e7400000000000000000000000000600082015250565b600061337e6013836129cd565b915061338982613348565b602082019050919050565b600060208201905081810360008301526133ad81613371565b9050919050565b6000819050919050565b60006133d96133d46133cf84612a74565b6133b4565b612a74565b9050919050565b60006133eb826133be565b9050919050565b60006133fd826133e0565b9050919050565b61340d816133f2565b82525050565b60006040820190506134286000830185613404565b6134356020830184612b48565b9392505050565b60008151905061344b81612cfe565b92915050565b60006020828403121561346757613466612947565b5b60006134758482850161343c565b91505092915050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b60006134b46017836129cd565b91506134bf8261347e565b602082019050919050565b600060208201905081810360008301526134e3816134a7565b9050919050565b7f4163636f756e7420697320616c7265616479206578636c756465640000000000600082015250565b6000613520601b836129cd565b915061352b826134ea565b602082019050919050565b6000602082019050818103600083015261354f81613513565b9050919050565b7f4163636f756e7420697320616c726561647920696e636c756465640000000000600082015250565b600061358c601b836129cd565b915061359782613556565b602082019050919050565b600060208201905081810360008301526135bb8161357f565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061361e6026836129cd565b9150613629826135c2565b604082019050919050565b6000602082019050818103600083015261364d81613611565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006136b06024836129cd565b91506136bb82613654565b604082019050919050565b600060208201905081810360008301526136df816136a3565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006137426022836129cd565b915061374d826136e6565b604082019050919050565b6000602082019050818103600083015261377181613735565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006137d46025836129cd565b91506137df82613778565b604082019050919050565b60006020820190508181036000830152613803816137c7565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006138666023836129cd565b91506138718261380a565b604082019050919050565b6000602082019050818103600083015261389581613859565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006138f86029836129cd565b91506139038261389c565b604082019050919050565b60006020820190508181036000830152613927816138eb565b9050919050565b7f54726164696e67206e6f7420656e61626c656400000000000000000000000000600082015250565b60006139646013836129cd565b915061396f8261392e565b602082019050919050565b6000602082019050818103600083015261399381613957565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006139d48261294c565b91506139df8361294c565b9250826139ef576139ee61399a565b5b828204905092915050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b6000613a306019836129cd565b9150613a3b826139fa565b602082019050919050565b60006020820190508181036000830152613a5f81613a23565b9050919050565b6000613a718261294c565b9150613a7c8361294c565b9250828201905080821115613a9457613a93612e2f565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b6000613ad0601a836129cd565b9150613adb82613a9a565b602082019050919050565b60006020820190508181036000830152613aff81613ac3565b9050919050565b6000613b118261294c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613b4357613b42612e2f565b5b600182019050919050565b7f616d6f756e74206d7573742062652067726565746572207468616e2030000000600082015250565b6000613b84601d836129cd565b9150613b8f82613b4e565b602082019050919050565b60006020820190508181036000830152613bb381613b77565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050613c2781612aa6565b92915050565b600060208284031215613c4357613c42612947565b5b6000613c5184828501613c18565b91505092915050565b6000819050919050565b6000613c7f613c7a613c7584613c5a565b6133b4565b61294c565b9050919050565b613c8f81613c64565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613cca81612a94565b82525050565b6000613cdc8383613cc1565b60208301905092915050565b6000602082019050919050565b6000613d0082613c95565b613d0a8185613ca0565b9350613d1583613cb1565b8060005b83811015613d46578151613d2d8882613cd0565b9750613d3883613ce8565b925050600181019050613d19565b5085935050505092915050565b600060a082019050613d686000830188612b48565b613d756020830187613c86565b8181036040830152613d878186613cf5565b9050613d966060830185612c94565b613da36080830184612b48565b969550505050505056fea2646970667358221220b501e7ecf7cea677bae50cc55a0f1aaacef5824512b143d1543427767259ac9464736f6c63430008130033

Deployed Bytecode

0x60806040526004361061014f5760003560e01c80638a8c523c116100b6578063ce831ed51161006f578063ce831ed514610465578063dcb1c2e51461047c578063dd62ed3e146104a5578063f0f56b6a146104e2578063f2fde38b1461050b578063f87dc2c61461053457610156565b80638a8c523c146103675780638c0b5e221461037e5780638da5cb5b146103a957806395d89b41146103d4578063a9059cbb146103ff578063ade4cffe1461043c57610156565b80634415fb61116101085780634415fb611461027f57806354332266146102965780636dff2eeb146102bf57806370a08231146102e8578063715018a61461032557806385141a771461033c57610156565b8063032dc6a21461015b57806306fdde0314610184578063095ea7b3146101af57806318160ddd146101ec57806323b872dd14610217578063313ce5671461025457610156565b3661015657005b600080fd5b34801561016757600080fd5b50610182600480360381019061017d9190612982565b61055f565b005b34801561019057600080fd5b50610199610657565b6040516101a69190612a52565b60405180910390f35b3480156101bb57600080fd5b506101d660048036038101906101d19190612ad2565b610694565b6040516101e39190612b2d565b60405180910390f35b3480156101f857600080fd5b506102016106b2565b60405161020e9190612b57565b60405180910390f35b34801561022357600080fd5b5061023e60048036038101906102399190612b72565b6106d6565b60405161024b9190612b2d565b60405180910390f35b34801561026057600080fd5b506102696107d6565b6040516102769190612be1565b60405180910390f35b34801561028b57600080fd5b506102946107df565b005b3480156102a257600080fd5b506102bd60048036038101906102b89190612c3a565b610899565b005b3480156102cb57600080fd5b506102e660048036038101906102e19190612ad2565b610aea565b005b3480156102f457600080fd5b5061030f600480360381019061030a9190612c67565b610dbe565b60405161031c9190612b57565b60405180910390f35b34801561033157600080fd5b5061033a610e07565b005b34801561034857600080fd5b50610351610f5a565b60405161035e9190612ca3565b60405180910390f35b34801561037357600080fd5b5061037c610f60565b005b34801561038a57600080fd5b506103936110a9565b6040516103a09190612b57565b60405180910390f35b3480156103b557600080fd5b506103be6110af565b6040516103cb9190612ca3565b60405180910390f35b3480156103e057600080fd5b506103e96110d8565b6040516103f69190612a52565b60405180910390f35b34801561040b57600080fd5b5061042660048036038101906104219190612ad2565b611115565b6040516104339190612b2d565b60405180910390f35b34801561044857600080fd5b50610463600480360381019061045e9190612c67565b611133565b005b34801561047157600080fd5b5061047a6112f9565b005b34801561048857600080fd5b506104a3600480360381019061049e9190612c67565b61141c565b005b3480156104b157600080fd5b506104cc60048036038101906104c79190612cbe565b6115e2565b6040516104d99190612b57565b60405180910390f35b3480156104ee57600080fd5b5061050960048036038101906105049190612d2a565b611669565b005b34801561051757600080fd5b50610532600480360381019061052d9190612c67565b61174a565b005b34801561054057600080fd5b5061054961185a565b6040516105569190612b2d565b60405180910390f35b61056761186d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105eb90612da3565b60405180910390fd5b601e82111580156106065750603c8111155b610645576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161063c90612e0f565b60405180910390fd5b81600881905550806009819055505050565b60606040518060400160405280600a81526020017f4d45544820484541445300000000000000000000000000000000000000000000815250905090565b60006106a86106a161186d565b8484611875565b6001905092915050565b60006009600a6106c29190612f91565b633b9aca006106d19190612fdc565b905090565b600080600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061072261186d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156107a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161079990613090565b60405180910390fd5b6107ad858585611a3e565b6107ca856107b961186d565b85846107c591906130b0565b611875565b60019150509392505050565b60006009905090565b6107e761186d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610874576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086b90612da3565b60405180910390fd5b6009600a6108829190612f91565b633b9aca006108919190612fdc565b600781905550565b6108a161186d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461092e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092590612da3565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361099c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099390613130565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610a0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a02906131c2565b60405180910390fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f6867e944970fe7ede3b1a987e85026d725a5faa1e05cc2f89ec2a7a27701c3f560405160405180910390a250565b610af261186d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7690612da3565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610bed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be490613254565b60405180910390fd5b60008111610c30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c27906132e6565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610c699190612ca3565b602060405180830381865afa158015610c86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610caa919061331b565b811115610cec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce390613394565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401610d49929190613413565b6020604051808303816000875af1158015610d68573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8c9190613451565b50807fc3cafad8c1a78aa542c18679d54d2e14cf1f08b516ac12071dcf9fd2d3701c2260405160405180910390a25050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610e0f61186d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9390612da3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61dead81565b610f6861186d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ff5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fec90612da3565b60405180910390fd5b600c60149054906101000a900460ff1615611045576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103c906134ca565b60405180910390fd5b6001600c60156101000a81548160ff0219169083151502179055506001600c60146101000a81548160ff0219169083151502179055507f0d151bf744092c3011c9f50766da412cca73acdbcaa74b879a5858adc258f93560405160405180910390a1565b60075481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f6d45544800000000000000000000000000000000000000000000000000000000815250905090565b600061112961112261186d565b8484611a3e565b6001905092915050565b61113b61186d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111bf90612da3565b60405180910390fd5b60011515600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615150361125b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125290613536565b60405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f7168e8adb718597b3ac83e2dfe415bea8ebaabb57fe933ffac2e0ed93b80718e60405160405180910390a250565b600047905060008111611341576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611338906132e6565b60405180910390fd5b47811115611384576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137b90613394565b60405180910390fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156113ec573d6000803e3d6000fd5b507fc680f238873c988c7dc872ec40caca9d70edfe000c3d44a1b9410684db93767560405160405180910390a150565b61142461186d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a890612da3565b60405180910390fd5b60001515600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151503611544576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153b906135a2565b60405180910390fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167fdff643e1b752e1138794c958b6f565e4f003ba18d45383a40b582de82ced091e60405160405180910390a250565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61167161186d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f590612da3565b60405180910390fd5b80600c60156101000a81548160ff0219169083151502179055508015157f3a9ce3b0c56e8f872f7647ac57385353c6cc3474ddf4b76a77ffbb8ad1fb0ccb60405160405180910390a250565b61175261186d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146117df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d690612da3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361184e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161184590613634565b60405180910390fd5b611857816124ff565b50565b600c60149054906101000a900460ff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036118e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118db906136c6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611953576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194a90613758565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611a319190612b57565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611aad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aa4906137ea565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611b1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b139061387c565b60405180910390fd5b60008111611b5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b569061390e565b60405180910390fd5b6000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611c055750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611c7657600c60149054906101000a900460ff16611c59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c509061397a565b60405180910390fd5b606460085483611c699190612fdc565b611c7391906139c9565b90505b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611d175750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611d2157600090505b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611dcc5750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611e225750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611edd57600754821115611e6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6390613a46565b60405180910390fd5b60075482611e7985610dbe565b611e839190613a66565b1115611ec4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ebb90613ae6565b60405180910390fd5b600a6000815480929190611ed790613b06565b91905055505b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611f855750600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611fdb5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561202657600754821115612025576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161201c90613a46565b60405180910390fd5b5b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156120af57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156121055750600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561215b5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561217d576064600954836121709190612fdc565b61217a91906139c9565b90505b600061218830610dbe565b9050600c60169054906101000a900460ff161580156121f55750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b801561220d5750600c60159054906101000a900460ff165b801561221a575060055481115b801561222857506001600a54115b156122645761224a61224584612240846006546125c3565b6125c3565b6125dc565b600047905060008111156122625761226147612898565b5b505b82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122af91906130b0565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081836122fe91906130b0565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123489190613a66565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84866123e691906130b0565b6040516123f39190612b57565b60405180910390a360008211156124f85781600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461244f9190613a66565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516124ef9190612b57565b60405180910390a35b5050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008183116125d257826125d4565b815b905092915050565b6001600c60166101000a81548160ff0219169083151502179055506000811161263a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161263190613b9a565b60405180910390fd5b6000600267ffffffffffffffff81111561265757612656613bba565b5b6040519080825280602002602001820160405280156126855781602001602082028036833780820191505090505b509050308160008151811061269d5761269c613be9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612744573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127689190613c2d565b8160018151811061277c5761277b613be9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506127e330600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611875565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612847959493929190613d53565b600060405180830381600087803b15801561286157600080fd5b505af1158015612875573d6000803e3d6000fd5b50505050506000600c60166101000a81548160ff02191690831515021790555050565b600081116128db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128d290613b9a565b60405180910390fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612943573d6000803e3d6000fd5b5050565b600080fd5b6000819050919050565b61295f8161294c565b811461296a57600080fd5b50565b60008135905061297c81612956565b92915050565b6000806040838503121561299957612998612947565b5b60006129a78582860161296d565b92505060206129b88582860161296d565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b60005b838110156129fc5780820151818401526020810190506129e1565b60008484015250505050565b6000601f19601f8301169050919050565b6000612a24826129c2565b612a2e81856129cd565b9350612a3e8185602086016129de565b612a4781612a08565b840191505092915050565b60006020820190508181036000830152612a6c8184612a19565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612a9f82612a74565b9050919050565b612aaf81612a94565b8114612aba57600080fd5b50565b600081359050612acc81612aa6565b92915050565b60008060408385031215612ae957612ae8612947565b5b6000612af785828601612abd565b9250506020612b088582860161296d565b9150509250929050565b60008115159050919050565b612b2781612b12565b82525050565b6000602082019050612b426000830184612b1e565b92915050565b612b518161294c565b82525050565b6000602082019050612b6c6000830184612b48565b92915050565b600080600060608486031215612b8b57612b8a612947565b5b6000612b9986828701612abd565b9350506020612baa86828701612abd565b9250506040612bbb8682870161296d565b9150509250925092565b600060ff82169050919050565b612bdb81612bc5565b82525050565b6000602082019050612bf66000830184612bd2565b92915050565b6000612c0782612a74565b9050919050565b612c1781612bfc565b8114612c2257600080fd5b50565b600081359050612c3481612c0e565b92915050565b600060208284031215612c5057612c4f612947565b5b6000612c5e84828501612c25565b91505092915050565b600060208284031215612c7d57612c7c612947565b5b6000612c8b84828501612abd565b91505092915050565b612c9d81612a94565b82525050565b6000602082019050612cb86000830184612c94565b92915050565b60008060408385031215612cd557612cd4612947565b5b6000612ce385828601612abd565b9250506020612cf485828601612abd565b9150509250929050565b612d0781612b12565b8114612d1257600080fd5b50565b600081359050612d2481612cfe565b92915050565b600060208284031215612d4057612d3f612947565b5b6000612d4e84828501612d15565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612d8d6020836129cd565b9150612d9882612d57565b602082019050919050565b60006020820190508181036000830152612dbc81612d80565b9050919050565b7f7265766572742077726f6e67206665652073657474696e677300000000000000600082015250565b6000612df96019836129cd565b9150612e0482612dc3565b602082019050919050565b60006020820190508181036000830152612e2881612dec565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115612eb557808604811115612e9157612e90612e2f565b5b6001851615612ea05780820291505b8081029050612eae85612e5e565b9450612e75565b94509492505050565b600082612ece5760019050612f8a565b81612edc5760009050612f8a565b8160018114612ef25760028114612efc57612f2b565b6001915050612f8a565b60ff841115612f0e57612f0d612e2f565b5b8360020a915084821115612f2557612f24612e2f565b5b50612f8a565b5060208310610133831016604e8410600b8410161715612f605782820a905083811115612f5b57612f5a612e2f565b5b612f8a565b612f6d8484846001612e6b565b92509050818404811115612f8457612f83612e2f565b5b81810290505b9392505050565b6000612f9c8261294c565b9150612fa783612bc5565b9250612fd47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612ebe565b905092915050565b6000612fe78261294c565b9150612ff28361294c565b92508282026130008161294c565b9150828204841483151761301757613016612e2f565b5b5092915050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b600061307a6028836129cd565b91506130858261301e565b604082019050919050565b600060208201905081810360008301526130a98161306d565b9050919050565b60006130bb8261294c565b91506130c68361294c565b92508282039050818111156130de576130dd612e2f565b5b92915050565b7f43412077696c6c206e6f74206265207468652046656520526563696576657200600082015250565b600061311a601f836129cd565b9150613125826130e4565b602082019050919050565b600060208201905081810360008301526131498161310d565b9050919050565b7f3020616464792077696c6c206e6f74206265207468652066656520526563696560008201527f7665720000000000000000000000000000000000000000000000000000000000602082015250565b60006131ac6023836129cd565b91506131b782613150565b604082019050919050565b600060208201905081810360008301526131db8161319f565b9050919050565b7f4f776e65722063616e277420636c61696d20636f6e747261637427732062616c60008201527f616e6365206f6620697473206f776e20746f6b656e7300000000000000000000602082015250565b600061323e6036836129cd565b9150613249826131e2565b604082019050919050565b6000602082019050818103600083015261326d81613231565b9050919050565b7f416d6f756e742073686f756c642062652067726561746572207468616e207a6560008201527f726f000000000000000000000000000000000000000000000000000000000000602082015250565b60006132d06022836129cd565b91506132db82613274565b604082019050919050565b600060208201905081810360008301526132ff816132c3565b9050919050565b60008151905061331581612956565b92915050565b60006020828403121561333157613330612947565b5b600061333f84828501613306565b91505092915050565b7f496e73756666696369656e7420416d6f756e7400000000000000000000000000600082015250565b600061337e6013836129cd565b915061338982613348565b602082019050919050565b600060208201905081810360008301526133ad81613371565b9050919050565b6000819050919050565b60006133d96133d46133cf84612a74565b6133b4565b612a74565b9050919050565b60006133eb826133be565b9050919050565b60006133fd826133e0565b9050919050565b61340d816133f2565b82525050565b60006040820190506134286000830185613404565b6134356020830184612b48565b9392505050565b60008151905061344b81612cfe565b92915050565b60006020828403121561346757613466612947565b5b60006134758482850161343c565b91505092915050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b60006134b46017836129cd565b91506134bf8261347e565b602082019050919050565b600060208201905081810360008301526134e3816134a7565b9050919050565b7f4163636f756e7420697320616c7265616479206578636c756465640000000000600082015250565b6000613520601b836129cd565b915061352b826134ea565b602082019050919050565b6000602082019050818103600083015261354f81613513565b9050919050565b7f4163636f756e7420697320616c726561647920696e636c756465640000000000600082015250565b600061358c601b836129cd565b915061359782613556565b602082019050919050565b600060208201905081810360008301526135bb8161357f565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061361e6026836129cd565b9150613629826135c2565b604082019050919050565b6000602082019050818103600083015261364d81613611565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006136b06024836129cd565b91506136bb82613654565b604082019050919050565b600060208201905081810360008301526136df816136a3565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006137426022836129cd565b915061374d826136e6565b604082019050919050565b6000602082019050818103600083015261377181613735565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006137d46025836129cd565b91506137df82613778565b604082019050919050565b60006020820190508181036000830152613803816137c7565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006138666023836129cd565b91506138718261380a565b604082019050919050565b6000602082019050818103600083015261389581613859565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006138f86029836129cd565b91506139038261389c565b604082019050919050565b60006020820190508181036000830152613927816138eb565b9050919050565b7f54726164696e67206e6f7420656e61626c656400000000000000000000000000600082015250565b60006139646013836129cd565b915061396f8261392e565b602082019050919050565b6000602082019050818103600083015261399381613957565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006139d48261294c565b91506139df8361294c565b9250826139ef576139ee61399a565b5b828204905092915050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b6000613a306019836129cd565b9150613a3b826139fa565b602082019050919050565b60006020820190508181036000830152613a5f81613a23565b9050919050565b6000613a718261294c565b9150613a7c8361294c565b9250828201905080821115613a9457613a93612e2f565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b6000613ad0601a836129cd565b9150613adb82613a9a565b602082019050919050565b60006020820190508181036000830152613aff81613ac3565b9050919050565b6000613b118261294c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613b4357613b42612e2f565b5b600182019050919050565b7f616d6f756e74206d7573742062652067726565746572207468616e2030000000600082015250565b6000613b84601d836129cd565b9150613b8f82613b4e565b602082019050919050565b60006020820190508181036000830152613bb381613b77565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050613c2781612aa6565b92915050565b600060208284031215613c4357613c42612947565b5b6000613c5184828501613c18565b91505092915050565b6000819050919050565b6000613c7f613c7a613c7584613c5a565b6133b4565b61294c565b9050919050565b613c8f81613c64565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613cca81612a94565b82525050565b6000613cdc8383613cc1565b60208301905092915050565b6000602082019050919050565b6000613d0082613c95565b613d0a8185613ca0565b9350613d1583613cb1565b8060005b83811015613d46578151613d2d8882613cd0565b9750613d3883613ce8565b925050600181019050613d19565b5085935050505092915050565b600060a082019050613d686000830188612b48565b613d756020830187613c86565b8181036040830152613d878186613cf5565b9050613d966060830185612c94565b613da36080830184612b48565b969550505050505056fea2646970667358221220b501e7ecf7cea677bae50cc55a0f1aaacef5824512b143d1543427767259ac9464736f6c63430008130033

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.