ETH Price: $3,105.71 (-0.32%)

Token

Moe (Moe)
 

Overview

Max Total Supply

100,000,000 Moe

Holders

538

Market

Price

$0.00 @ 0.000000 ETH

Onchain Market Cap

$52,169.00

Circulating Supply Market Cap

$0.00

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
sadinoel.eth
Balance
0.774202930079251894 Moe

Value
$0.00 ( ~0 Eth) [0.0000%]
0xfDc27a55425718097e61924c2A604b5f694e2B8B
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:
Moe

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-10-18
*/

// SPDX-License-Identifier: UNLICENSED

//Website: https://moeeth.com/

pragma solidity 0.8.18;

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

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

        return c;
    }
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

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

interface ERC20 {
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    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);
}

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

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

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

interface IDEXRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);

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

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;

    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;

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

contract Moe is Ownable, ERC20 {
    using SafeMath for uint256;

     //events
    event SetAutomatedMarketMakerPair(address indexed pair, bool indexed value);
    event InitialDistributionFinished(bool _value);
    event RemovedLimits();

    address private WETH;
    address private DEAD = 0x000000000000000000000000000000000000dEaD;
    address private ZERO = 0x0000000000000000000000000000000000000000;

    string constant private _name = "Moe";
    string constant private _symbol = "Moe";
    uint8 constant private _decimals = 18;

    uint256 private _totalSupply = 100000000* 10**_decimals;

    uint256 public _maxWalletAmount = _totalSupply / 100;

    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;

    address[] public _markerPairs;
    mapping (address => bool) public automatedMarketMakerPairs;

    mapping (address => bool) public isLimitsExempt;
    mapping (address => bool) public isMaxWalletExempt;

    IDEXRouter public router;
    address public pair;

    bool public tradingEnabled = false;

    constructor () {
        router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); 
        WETH = router.WETH();
        pair = IDEXFactory(router.factory()).createPair(WETH, address(this));

        setAutomatedMarketMakerPair(pair, true);

        isLimitsExempt[msg.sender] = true;
        isMaxWalletExempt[msg.sender] = true;
        
        isLimitsExempt[address(this)] = true;
        isMaxWalletExempt[address(this)] = true;

        isMaxWalletExempt[pair] = true;

        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);
    }

    receive() external payable { }

    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function decimals() external pure override returns (uint8) { return _decimals; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function name() external pure override returns (string memory) { return _name; }
    function getOwner() external view override returns (address) { return owner(); }
    function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function approveMax(address spender) external returns (bool) {
        return approve(spender, type(uint256).max);
    }

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if(_allowances[sender][msg.sender] != type(uint256).max){
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance");
        }

        return _transferFrom(sender, recipient, amount);
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if(!isLimitsExempt[sender] && !isLimitsExempt[recipient]){
            require(tradingEnabled,"Trading not open, yet");
        }

        uint256 amountReceived = amount;

        if(automatedMarketMakerPairs[sender]) { //buy
            if(!isLimitsExempt[recipient]) {
                require(_balances[recipient].add(amount) <= _maxWalletAmount || isMaxWalletExempt[recipient], "Max Wallet Limit Limit Exceeded");
            }
        } else {
            if (!isLimitsExempt[sender]) {
                require(_balances[recipient].add(amount) <= _maxWalletAmount || isMaxWalletExempt[recipient], "Max Wallet Limit Limit Exceeded");
            }
        }

        _balances[sender] = _balances[sender].sub(amount);
        _balances[recipient] = _balances[recipient].add(amountReceived);
        

        emit Transfer(sender, recipient, amountReceived);
        return true;
    }

    // enable Trading
    function enableTrading() external onlyOwner {
        require (tradingEnabled == false, "Can't pause trading");
        tradingEnabled = true;

        emit InitialDistributionFinished(true);
    }

    // Admin Functions
    function removeLimits() external onlyOwner {
        _maxWalletAmount = _totalSupply;

        emit RemovedLimits(); 
    }


    function setAutomatedMarketMakerPair(address _pair, bool _value) public onlyOwner {
            require(automatedMarketMakerPairs[_pair] != _value, "Value already set");

            automatedMarketMakerPairs[_pair] = _value;

            if(_value){
                _markerPairs.push(_pair);
            }else{
                require(_markerPairs.length > 1, "Required 1 pair");
                for (uint256 i = 0; i < _markerPairs.length; i++) {
                    if (_markerPairs[i] == _pair) {
                        _markerPairs[i] = _markerPairs[_markerPairs.length - 1];
                        _markerPairs.pop();
                        break;
                    }
                }
            }

            emit SetAutomatedMarketMakerPair(_pair, _value);
        }
    
    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO));
    }


}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"_value","type":"bool"}],"name":"InitialDistributionFinished","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":[],"name":"RemovedLimits","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"pair","type":"address"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"SetAutomatedMarketMakerPair","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":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"_markerPairs","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"automatedMarketMakerPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isLimitsExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMaxWalletExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[],"name":"pair","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":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_pair","type":"address"},{"internalType":"bool","name":"_value","type":"bool"}],"name":"setAutomatedMarketMakerPair","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":"view","type":"function"},{"inputs":[],"name":"tradingEnabled","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"}]

608060405261dead600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600a62000099919062000cd5565b6305f5e100620000aa919062000d26565b6005556064600554620000be919062000da0565b6006556000600e60146101000a81548160ff021916908315150217905550348015620000e957600080fd5b506000620000fc6200070060201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350737a250d5630b4cf539739df2c5dacb4c659f2488d600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200025d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000283919062000e42565b600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000331573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000357919062000e42565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16306040518363ffffffff1660e01b8152600401620003b592919062000e85565b6020604051808303816000875af1158015620003d5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003fb919062000e42565b600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000470600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016200070860201b60201c565b6001600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600b60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600c60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600c6000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600554600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600554604051620006f2919062000ec3565b60405180910390a36200112d565b600033905090565b620007186200070060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614620007a8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200079f9062000f41565b60405180910390fd5b801515600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515036200083d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008349062000fb3565b60405180910390fd5b80600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550801562000904576009829080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000af1565b6001600980549050116200094f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009469062001025565b60405180910390fd5b60005b60098054905081101562000aef578273ffffffffffffffffffffffffffffffffffffffff16600982815481106200098e576200098d62001047565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff160362000ad95760096001600980549050620009eb919062001076565b81548110620009ff57620009fe62001047565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009828154811062000a415762000a4062001047565b5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600980548062000a9e5762000a9d620010b1565b5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055905562000aef565b808062000ae690620010e0565b91505062000952565b505b8015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000bc95780860481111562000ba15762000ba062000b3b565b5b600185161562000bb15780820291505b808102905062000bc18562000b6a565b945062000b81565b94509492505050565b60008262000be4576001905062000cb7565b8162000bf4576000905062000cb7565b816001811462000c0d576002811462000c185762000c4e565b600191505062000cb7565b60ff84111562000c2d5762000c2c62000b3b565b5b8360020a91508482111562000c475762000c4662000b3b565b5b5062000cb7565b5060208310610133831016604e8410600b841016171562000c885782820a90508381111562000c825762000c8162000b3b565b5b62000cb7565b62000c97848484600162000b77565b9250905081840481111562000cb15762000cb062000b3b565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b600062000ce28262000cbe565b915062000cef8362000cc8565b925062000d1e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000bd2565b905092915050565b600062000d338262000cbe565b915062000d408362000cbe565b925082820262000d508162000cbe565b9150828204841483151762000d6a5762000d6962000b3b565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000dad8262000cbe565b915062000dba8362000cbe565b92508262000dcd5762000dcc62000d71565b5b828204905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000e0a8262000ddd565b9050919050565b62000e1c8162000dfd565b811462000e2857600080fd5b50565b60008151905062000e3c8162000e11565b92915050565b60006020828403121562000e5b5762000e5a62000dd8565b5b600062000e6b8482850162000e2b565b91505092915050565b62000e7f8162000dfd565b82525050565b600060408201905062000e9c600083018562000e74565b62000eab602083018462000e74565b9392505050565b62000ebd8162000cbe565b82525050565b600060208201905062000eda600083018462000eb2565b92915050565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600062000f2960208362000ee0565b915062000f368262000ef1565b602082019050919050565b6000602082019050818103600083015262000f5c8162000f1a565b9050919050565b7f56616c756520616c726561647920736574000000000000000000000000000000600082015250565b600062000f9b60118362000ee0565b915062000fa88262000f63565b602082019050919050565b6000602082019050818103600083015262000fce8162000f8c565b9050919050565b7f5265717569726564203120706169720000000000000000000000000000000000600082015250565b60006200100d600f8362000ee0565b91506200101a8262000fd5565b602082019050919050565b60006020820190508181036000830152620010408162000ffe565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000620010838262000cbe565b9150620010908362000cbe565b9250828203905081811115620010ab57620010aa62000b3b565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b6000620010ed8262000cbe565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820362001122576200112162000b3b565b5b600182019050919050565b61257b806200113d6000396000f3fe6080604052600436106101855760003560e01c8063893d20e8116100d1578063a9059cbb1161008a578063e1d5584c11610064578063e1d5584c14610595578063ed873445146105d2578063f2fde38b1461060f578063f887ea40146106385761018c565b8063a9059cbb146104de578063b62496f51461051b578063dd62ed3e146105585761018c565b8063893d20e8146103f25780638a8c523c1461041d5780638da5cb5b1461043457806395d89b411461045f5780639a7a23d61461048a578063a8aa1b31146104b35761018c565b8063313ce5671161013e5780636c0a24eb116101185780636c0a24eb1461035c57806370a0823114610387578063715018a6146103c4578063751039fc146103db5761018c565b8063313ce567146102c95780634ada218b146102f4578063571ac8b01461031f5761018c565b806306fdde0314610191578063095ea7b3146101bc5780630bd11f8a146101f957806318160ddd1461023657806323b872dd146102615780632b112e491461029e5761018c565b3661018c57005b600080fd5b34801561019d57600080fd5b506101a6610663565b6040516101b39190611cf3565b60405180910390f35b3480156101c857600080fd5b506101e360048036038101906101de9190611dae565b6106a0565b6040516101f09190611e09565b60405180910390f35b34801561020557600080fd5b50610220600480360381019061021b9190611e24565b610792565b60405161022d9190611e09565b60405180910390f35b34801561024257600080fd5b5061024b6107b2565b6040516102589190611e60565b60405180910390f35b34801561026d57600080fd5b5061028860048036038101906102839190611e7b565b6107bc565b6040516102959190611e09565b60405180910390f35b3480156102aa57600080fd5b506102b36109bc565b6040516102c09190611e60565b60405180910390f35b3480156102d557600080fd5b506102de610a3e565b6040516102eb9190611eea565b60405180910390f35b34801561030057600080fd5b50610309610a47565b6040516103169190611e09565b60405180910390f35b34801561032b57600080fd5b5061034660048036038101906103419190611e24565b610a5a565b6040516103539190611e09565b60405180910390f35b34801561036857600080fd5b50610371610a8d565b60405161037e9190611e60565b60405180910390f35b34801561039357600080fd5b506103ae60048036038101906103a99190611e24565b610a93565b6040516103bb9190611e60565b60405180910390f35b3480156103d057600080fd5b506103d9610adc565b005b3480156103e757600080fd5b506103f0610c2f565b005b3480156103fe57600080fd5b50610407610cfb565b6040516104149190611f14565b60405180910390f35b34801561042957600080fd5b50610432610d0a565b005b34801561044057600080fd5b50610449610e4a565b6040516104569190611f14565b60405180910390f35b34801561046b57600080fd5b50610474610e73565b6040516104819190611cf3565b60405180910390f35b34801561049657600080fd5b506104b160048036038101906104ac9190611f5b565b610eb0565b005b3480156104bf57600080fd5b506104c86112bc565b6040516104d59190611f14565b60405180910390f35b3480156104ea57600080fd5b5061050560048036038101906105009190611dae565b6112e2565b6040516105129190611e09565b60405180910390f35b34801561052757600080fd5b50610542600480360381019061053d9190611e24565b6112f7565b60405161054f9190611e09565b60405180910390f35b34801561056457600080fd5b5061057f600480360381019061057a9190611f9b565b611317565b60405161058c9190611e60565b60405180910390f35b3480156105a157600080fd5b506105bc60048036038101906105b79190611fdb565b61139e565b6040516105c99190611f14565b60405180910390f35b3480156105de57600080fd5b506105f960048036038101906105f49190611e24565b6113dd565b6040516106069190611e09565b60405180910390f35b34801561061b57600080fd5b5061063660048036038101906106319190611e24565b6113fd565b005b34801561064457600080fd5b5061064d6115be565b60405161065a9190612067565b60405180910390f35b60606040518060400160405280600381526020017f4d6f650000000000000000000000000000000000000000000000000000000000815250905090565b600081600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516107809190611e60565b60405180910390a36001905092915050565b600c6020528060005260406000206000915054906101000a900460ff1681565b6000600554905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146109a857610927826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115e49092919063ffffffff16565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6109b3848484611648565b90509392505050565b6000610a396109ec600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610a93565b610a2b610a1a600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610a93565b600554611bb390919063ffffffff16565b611bb390919063ffffffff16565b905090565b60006012905090565b600e60149054906101000a900460ff1681565b6000610a86827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6106a0565b9050919050565b60065481565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610ae4611bfd565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b68906120ce565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610c37611bfd565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cc4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cbb906120ce565b60405180910390fd5b6005546006819055507fa4ffae85e880608d5d4365c2b682786545d136145537788e7e0940dff9f0b98c60405160405180910390a1565b6000610d05610e4a565b905090565b610d12611bfd565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d96906120ce565b60405180910390fd5b60001515600e60149054906101000a900460ff16151514610df5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dec9061213a565b60405180910390fd5b6001600e60146101000a81548160ff0219169083151502179055507f316709d79ee7f0c74ca101f383d03c0651393c02be15433064ce7707ee82c9df6001604051610e409190611e09565b60405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f4d6f650000000000000000000000000000000000000000000000000000000000815250905090565b610eb8611bfd565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3c906120ce565b60405180910390fd5b801515600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151503610fd7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fce906121a6565b60405180910390fd5b80600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550801561109c576009829080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611272565b6001600980549050116110e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110db90612212565b60405180910390fd5b60005b600980549050811015611270578273ffffffffffffffffffffffffffffffffffffffff166009828154811061111f5761111e612232565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff160361125d57600960016009805490506111799190612290565b8154811061118a57611189612232565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600982815481106111c9576111c8612232565b5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009805480611223576112226122c4565b5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690559055611270565b8080611268906122f3565b9150506110e7565b505b8015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006112ef338484611648565b905092915050565b600a6020528060005260406000206000915054906101000a900460ff1681565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600981815481106113ae57600080fd5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b6020528060005260406000206000915054906101000a900460ff1681565b611405611bfd565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611492576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611489906120ce565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611501576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f8906123ad565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600083831115829061162c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116239190611cf3565b60405180910390fd5b506000838561163b9190612290565b9050809150509392505050565b6000600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156116ee5750600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561174357600e60149054906101000a900460ff16611742576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173990612419565b60405180910390fd5b5b6000829050600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156118db57600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166118d65760065461184084600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c0590919063ffffffff16565b1115806118965750600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6118d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118cc90612485565b60405180910390fd5b5b611a18565b600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611a175760065461198184600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c0590919063ffffffff16565b1115806119d75750600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611a16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a0d90612485565b60405180910390fd5b5b5b611a6a83600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bb390919063ffffffff16565b600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611aff81600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c0590919063ffffffff16565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b9f9190611e60565b60405180910390a360019150509392505050565b6000611bf583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506115e4565b905092915050565b600033905090565b6000808284611c1491906124a5565b905083811015611c59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c5090612525565b60405180910390fd5b8091505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611c9d578082015181840152602081019050611c82565b60008484015250505050565b6000601f19601f8301169050919050565b6000611cc582611c63565b611ccf8185611c6e565b9350611cdf818560208601611c7f565b611ce881611ca9565b840191505092915050565b60006020820190508181036000830152611d0d8184611cba565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611d4582611d1a565b9050919050565b611d5581611d3a565b8114611d6057600080fd5b50565b600081359050611d7281611d4c565b92915050565b6000819050919050565b611d8b81611d78565b8114611d9657600080fd5b50565b600081359050611da881611d82565b92915050565b60008060408385031215611dc557611dc4611d15565b5b6000611dd385828601611d63565b9250506020611de485828601611d99565b9150509250929050565b60008115159050919050565b611e0381611dee565b82525050565b6000602082019050611e1e6000830184611dfa565b92915050565b600060208284031215611e3a57611e39611d15565b5b6000611e4884828501611d63565b91505092915050565b611e5a81611d78565b82525050565b6000602082019050611e756000830184611e51565b92915050565b600080600060608486031215611e9457611e93611d15565b5b6000611ea286828701611d63565b9350506020611eb386828701611d63565b9250506040611ec486828701611d99565b9150509250925092565b600060ff82169050919050565b611ee481611ece565b82525050565b6000602082019050611eff6000830184611edb565b92915050565b611f0e81611d3a565b82525050565b6000602082019050611f296000830184611f05565b92915050565b611f3881611dee565b8114611f4357600080fd5b50565b600081359050611f5581611f2f565b92915050565b60008060408385031215611f7257611f71611d15565b5b6000611f8085828601611d63565b9250506020611f9185828601611f46565b9150509250929050565b60008060408385031215611fb257611fb1611d15565b5b6000611fc085828601611d63565b9250506020611fd185828601611d63565b9150509250929050565b600060208284031215611ff157611ff0611d15565b5b6000611fff84828501611d99565b91505092915050565b6000819050919050565b600061202d61202861202384611d1a565b612008565b611d1a565b9050919050565b600061203f82612012565b9050919050565b600061205182612034565b9050919050565b61206181612046565b82525050565b600060208201905061207c6000830184612058565b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006120b8602083611c6e565b91506120c382612082565b602082019050919050565b600060208201905081810360008301526120e7816120ab565b9050919050565b7f43616e27742070617573652074726164696e6700000000000000000000000000600082015250565b6000612124601383611c6e565b915061212f826120ee565b602082019050919050565b6000602082019050818103600083015261215381612117565b9050919050565b7f56616c756520616c726561647920736574000000000000000000000000000000600082015250565b6000612190601183611c6e565b915061219b8261215a565b602082019050919050565b600060208201905081810360008301526121bf81612183565b9050919050565b7f5265717569726564203120706169720000000000000000000000000000000000600082015250565b60006121fc600f83611c6e565b9150612207826121c6565b602082019050919050565b6000602082019050818103600083015261222b816121ef565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061229b82611d78565b91506122a683611d78565b92508282039050818111156122be576122bd612261565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b60006122fe82611d78565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036123305761232f612261565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612397602683611c6e565b91506123a28261233b565b604082019050919050565b600060208201905081810360008301526123c68161238a565b9050919050565b7f54726164696e67206e6f74206f70656e2c207965740000000000000000000000600082015250565b6000612403601583611c6e565b915061240e826123cd565b602082019050919050565b60006020820190508181036000830152612432816123f6565b9050919050565b7f4d61782057616c6c6574204c696d6974204c696d697420457863656564656400600082015250565b600061246f601f83611c6e565b915061247a82612439565b602082019050919050565b6000602082019050818103600083015261249e81612462565b9050919050565b60006124b082611d78565b91506124bb83611d78565b92508282019050808211156124d3576124d2612261565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061250f601b83611c6e565b915061251a826124d9565b602082019050919050565b6000602082019050818103600083015261253e81612502565b905091905056fea264697066735822122094baccbfd8f6e2a4aa1ea6fd6246bc55789a317f9fc82e898cddff9705985da464736f6c63430008120033

Deployed Bytecode

0x6080604052600436106101855760003560e01c8063893d20e8116100d1578063a9059cbb1161008a578063e1d5584c11610064578063e1d5584c14610595578063ed873445146105d2578063f2fde38b1461060f578063f887ea40146106385761018c565b8063a9059cbb146104de578063b62496f51461051b578063dd62ed3e146105585761018c565b8063893d20e8146103f25780638a8c523c1461041d5780638da5cb5b1461043457806395d89b411461045f5780639a7a23d61461048a578063a8aa1b31146104b35761018c565b8063313ce5671161013e5780636c0a24eb116101185780636c0a24eb1461035c57806370a0823114610387578063715018a6146103c4578063751039fc146103db5761018c565b8063313ce567146102c95780634ada218b146102f4578063571ac8b01461031f5761018c565b806306fdde0314610191578063095ea7b3146101bc5780630bd11f8a146101f957806318160ddd1461023657806323b872dd146102615780632b112e491461029e5761018c565b3661018c57005b600080fd5b34801561019d57600080fd5b506101a6610663565b6040516101b39190611cf3565b60405180910390f35b3480156101c857600080fd5b506101e360048036038101906101de9190611dae565b6106a0565b6040516101f09190611e09565b60405180910390f35b34801561020557600080fd5b50610220600480360381019061021b9190611e24565b610792565b60405161022d9190611e09565b60405180910390f35b34801561024257600080fd5b5061024b6107b2565b6040516102589190611e60565b60405180910390f35b34801561026d57600080fd5b5061028860048036038101906102839190611e7b565b6107bc565b6040516102959190611e09565b60405180910390f35b3480156102aa57600080fd5b506102b36109bc565b6040516102c09190611e60565b60405180910390f35b3480156102d557600080fd5b506102de610a3e565b6040516102eb9190611eea565b60405180910390f35b34801561030057600080fd5b50610309610a47565b6040516103169190611e09565b60405180910390f35b34801561032b57600080fd5b5061034660048036038101906103419190611e24565b610a5a565b6040516103539190611e09565b60405180910390f35b34801561036857600080fd5b50610371610a8d565b60405161037e9190611e60565b60405180910390f35b34801561039357600080fd5b506103ae60048036038101906103a99190611e24565b610a93565b6040516103bb9190611e60565b60405180910390f35b3480156103d057600080fd5b506103d9610adc565b005b3480156103e757600080fd5b506103f0610c2f565b005b3480156103fe57600080fd5b50610407610cfb565b6040516104149190611f14565b60405180910390f35b34801561042957600080fd5b50610432610d0a565b005b34801561044057600080fd5b50610449610e4a565b6040516104569190611f14565b60405180910390f35b34801561046b57600080fd5b50610474610e73565b6040516104819190611cf3565b60405180910390f35b34801561049657600080fd5b506104b160048036038101906104ac9190611f5b565b610eb0565b005b3480156104bf57600080fd5b506104c86112bc565b6040516104d59190611f14565b60405180910390f35b3480156104ea57600080fd5b5061050560048036038101906105009190611dae565b6112e2565b6040516105129190611e09565b60405180910390f35b34801561052757600080fd5b50610542600480360381019061053d9190611e24565b6112f7565b60405161054f9190611e09565b60405180910390f35b34801561056457600080fd5b5061057f600480360381019061057a9190611f9b565b611317565b60405161058c9190611e60565b60405180910390f35b3480156105a157600080fd5b506105bc60048036038101906105b79190611fdb565b61139e565b6040516105c99190611f14565b60405180910390f35b3480156105de57600080fd5b506105f960048036038101906105f49190611e24565b6113dd565b6040516106069190611e09565b60405180910390f35b34801561061b57600080fd5b5061063660048036038101906106319190611e24565b6113fd565b005b34801561064457600080fd5b5061064d6115be565b60405161065a9190612067565b60405180910390f35b60606040518060400160405280600381526020017f4d6f650000000000000000000000000000000000000000000000000000000000815250905090565b600081600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516107809190611e60565b60405180910390a36001905092915050565b600c6020528060005260406000206000915054906101000a900460ff1681565b6000600554905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146109a857610927826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115e49092919063ffffffff16565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6109b3848484611648565b90509392505050565b6000610a396109ec600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610a93565b610a2b610a1a600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610a93565b600554611bb390919063ffffffff16565b611bb390919063ffffffff16565b905090565b60006012905090565b600e60149054906101000a900460ff1681565b6000610a86827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6106a0565b9050919050565b60065481565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610ae4611bfd565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b68906120ce565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610c37611bfd565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cc4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cbb906120ce565b60405180910390fd5b6005546006819055507fa4ffae85e880608d5d4365c2b682786545d136145537788e7e0940dff9f0b98c60405160405180910390a1565b6000610d05610e4a565b905090565b610d12611bfd565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d96906120ce565b60405180910390fd5b60001515600e60149054906101000a900460ff16151514610df5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dec9061213a565b60405180910390fd5b6001600e60146101000a81548160ff0219169083151502179055507f316709d79ee7f0c74ca101f383d03c0651393c02be15433064ce7707ee82c9df6001604051610e409190611e09565b60405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f4d6f650000000000000000000000000000000000000000000000000000000000815250905090565b610eb8611bfd565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3c906120ce565b60405180910390fd5b801515600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151503610fd7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fce906121a6565b60405180910390fd5b80600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550801561109c576009829080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611272565b6001600980549050116110e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110db90612212565b60405180910390fd5b60005b600980549050811015611270578273ffffffffffffffffffffffffffffffffffffffff166009828154811061111f5761111e612232565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff160361125d57600960016009805490506111799190612290565b8154811061118a57611189612232565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600982815481106111c9576111c8612232565b5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009805480611223576112226122c4565b5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690559055611270565b8080611268906122f3565b9150506110e7565b505b8015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006112ef338484611648565b905092915050565b600a6020528060005260406000206000915054906101000a900460ff1681565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600981815481106113ae57600080fd5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b6020528060005260406000206000915054906101000a900460ff1681565b611405611bfd565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611492576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611489906120ce565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611501576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f8906123ad565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600083831115829061162c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116239190611cf3565b60405180910390fd5b506000838561163b9190612290565b9050809150509392505050565b6000600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156116ee5750600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561174357600e60149054906101000a900460ff16611742576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173990612419565b60405180910390fd5b5b6000829050600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156118db57600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166118d65760065461184084600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c0590919063ffffffff16565b1115806118965750600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6118d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118cc90612485565b60405180910390fd5b5b611a18565b600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611a175760065461198184600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c0590919063ffffffff16565b1115806119d75750600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611a16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a0d90612485565b60405180910390fd5b5b5b611a6a83600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bb390919063ffffffff16565b600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611aff81600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c0590919063ffffffff16565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b9f9190611e60565b60405180910390a360019150509392505050565b6000611bf583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506115e4565b905092915050565b600033905090565b6000808284611c1491906124a5565b905083811015611c59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c5090612525565b60405180910390fd5b8091505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611c9d578082015181840152602081019050611c82565b60008484015250505050565b6000601f19601f8301169050919050565b6000611cc582611c63565b611ccf8185611c6e565b9350611cdf818560208601611c7f565b611ce881611ca9565b840191505092915050565b60006020820190508181036000830152611d0d8184611cba565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611d4582611d1a565b9050919050565b611d5581611d3a565b8114611d6057600080fd5b50565b600081359050611d7281611d4c565b92915050565b6000819050919050565b611d8b81611d78565b8114611d9657600080fd5b50565b600081359050611da881611d82565b92915050565b60008060408385031215611dc557611dc4611d15565b5b6000611dd385828601611d63565b9250506020611de485828601611d99565b9150509250929050565b60008115159050919050565b611e0381611dee565b82525050565b6000602082019050611e1e6000830184611dfa565b92915050565b600060208284031215611e3a57611e39611d15565b5b6000611e4884828501611d63565b91505092915050565b611e5a81611d78565b82525050565b6000602082019050611e756000830184611e51565b92915050565b600080600060608486031215611e9457611e93611d15565b5b6000611ea286828701611d63565b9350506020611eb386828701611d63565b9250506040611ec486828701611d99565b9150509250925092565b600060ff82169050919050565b611ee481611ece565b82525050565b6000602082019050611eff6000830184611edb565b92915050565b611f0e81611d3a565b82525050565b6000602082019050611f296000830184611f05565b92915050565b611f3881611dee565b8114611f4357600080fd5b50565b600081359050611f5581611f2f565b92915050565b60008060408385031215611f7257611f71611d15565b5b6000611f8085828601611d63565b9250506020611f9185828601611f46565b9150509250929050565b60008060408385031215611fb257611fb1611d15565b5b6000611fc085828601611d63565b9250506020611fd185828601611d63565b9150509250929050565b600060208284031215611ff157611ff0611d15565b5b6000611fff84828501611d99565b91505092915050565b6000819050919050565b600061202d61202861202384611d1a565b612008565b611d1a565b9050919050565b600061203f82612012565b9050919050565b600061205182612034565b9050919050565b61206181612046565b82525050565b600060208201905061207c6000830184612058565b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006120b8602083611c6e565b91506120c382612082565b602082019050919050565b600060208201905081810360008301526120e7816120ab565b9050919050565b7f43616e27742070617573652074726164696e6700000000000000000000000000600082015250565b6000612124601383611c6e565b915061212f826120ee565b602082019050919050565b6000602082019050818103600083015261215381612117565b9050919050565b7f56616c756520616c726561647920736574000000000000000000000000000000600082015250565b6000612190601183611c6e565b915061219b8261215a565b602082019050919050565b600060208201905081810360008301526121bf81612183565b9050919050565b7f5265717569726564203120706169720000000000000000000000000000000000600082015250565b60006121fc600f83611c6e565b9150612207826121c6565b602082019050919050565b6000602082019050818103600083015261222b816121ef565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061229b82611d78565b91506122a683611d78565b92508282039050818111156122be576122bd612261565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b60006122fe82611d78565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036123305761232f612261565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612397602683611c6e565b91506123a28261233b565b604082019050919050565b600060208201905081810360008301526123c68161238a565b9050919050565b7f54726164696e67206e6f74206f70656e2c207965740000000000000000000000600082015250565b6000612403601583611c6e565b915061240e826123cd565b602082019050919050565b60006020820190508181036000830152612432816123f6565b9050919050565b7f4d61782057616c6c6574204c696d6974204c696d697420457863656564656400600082015250565b600061246f601f83611c6e565b915061247a82612439565b602082019050919050565b6000602082019050818103600083015261249e81612462565b9050919050565b60006124b082611d78565b91506124bb83611d78565b92508282019050808211156124d3576124d2612261565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061250f601b83611c6e565b915061251a826124d9565b602082019050919050565b6000602082019050818103600083015261253e81612502565b905091905056fea264697066735822122094baccbfd8f6e2a4aa1ea6fd6246bc55789a317f9fc82e898cddff9705985da464736f6c63430008120033

Deployed Bytecode Sourcemap

4778:5770:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6844:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7268:216;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5753:50;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6574:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7786:370;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10399:142;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6668:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5871:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7492:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5404:52;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7016:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2892:148;;;;;;;;;;;;;:::i;:::-;;9449:127;;;;;;;;;;;;;:::i;:::-;;6930:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9215:202;;;;;;;;;;;;;:::i;:::-;;2676:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6754:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9586:801;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5843:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7622:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5632:58;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7127:133;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5596:29;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5699:47;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3049:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5812:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6844:80;6892:13;6916:5;;;;;;;;;;;;;;;;;6909:12;;6844:80;:::o;7268:216::-;7343:4;7395:6;7360:11;:23;7372:10;7360:23;;;;;;;;;;;;;;;:32;7384:7;7360:32;;;;;;;;;;;;;;;:41;;;;7438:7;7417:37;;7426:10;7417:37;;;7447:6;7417:37;;;;;;:::i;:::-;;;;;;;;7472:4;7465:11;;7268:216;;;;:::o;5753:50::-;;;;;;;;;;;;;;;;;;;;;;:::o;6574:88::-;6629:7;6647:12;;6640:19;;6574:88;:::o;7786:370::-;7886:4;7941:17;7906:11;:19;7918:6;7906:19;;;;;;;;;;;;;;;:31;7926:10;7906:31;;;;;;;;;;;;;;;;:52;7903:186;;8008:69;8044:6;8008:69;;;;;;;;;;;;;;;;;:11;:19;8020:6;8008:19;;;;;;;;;;;;;;;:31;8028:10;8008:31;;;;;;;;;;;;;;;;:35;;:69;;;;;:::i;:::-;7974:11;:19;7986:6;7974:19;;;;;;;;;;;;;;;:31;7994:10;7974:31;;;;;;;;;;;;;;;:103;;;;7903:186;8108:40;8122:6;8130:9;8141:6;8108:13;:40::i;:::-;8101:47;;7786:370;;;;;:::o;10399:142::-;10452:7;10479:54;10517:15;10527:4;;;;;;;;;;;10517:9;:15::i;:::-;10479:33;10496:15;10506:4;;;;;;;;;;;10496:9;:15::i;:::-;10479:12;;:16;;:33;;;;:::i;:::-;:37;;:54;;;;:::i;:::-;10472:61;;10399:142;:::o;6668:80::-;6720:5;5329:2;6729:16;;6668:80;:::o;5871:34::-;;;;;;;;;;;;;:::o;7492:122::-;7547:4;7571:35;7579:7;7588:17;7571:7;:35::i;:::-;7564:42;;7492:122;;;:::o;5404:52::-;;;;:::o;7016:105::-;7082:7;7100:9;:18;7110:7;7100:18;;;;;;;;;;;;;;;;7093:25;;7016:105;;;:::o;2892:148::-;2814:12;:10;:12::i;:::-;2804:22;;:6;;;;;;;;;;:22;;;2796:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2999:1:::1;2962:40;;2983:6;::::0;::::1;;;;;;;;2962:40;;;;;;;;;;;;3030:1;3013:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2892:148::o:0;9449:127::-;2814:12;:10;:12::i;:::-;2804:22;;:6;;;;;;;;;;:22;;;2796:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9522:12:::1;;9503:16;:31;;;;9552:15;;;;;;;;;;9449:127::o:0;6930:80::-;6982:7;7000;:5;:7::i;:::-;6993:14;;6930:80;:::o;9215:202::-;2814:12;:10;:12::i;:::-;2804:22;;:6;;;;;;;;;;:22;;;2796:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9297:5:::1;9279:23;;:14;;;;;;;;;;;:23;;;9270:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;9354:4;9337:14;;:21;;;;;;;;;;;;;;;;;;9376:33;9404:4;9376:33;;;;;;:::i;:::-;;;;;;;;9215:202::o:0;2676:79::-;2714:7;2741:6;;;;;;;;;;;2734:13;;2676:79;:::o;6754:84::-;6804:13;6828:7;;;;;;;;;;;;;;;;;6821:14;;6754:84;:::o;9586:801::-;2814:12;:10;:12::i;:::-;2804:22;;:6;;;;;;;;;;:22;;;2796:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9727:6:::1;9691:42;;:25;:32;9717:5;9691:32;;;;;;;;;;;;;;;;;;;;;;;;;:42;;::::0;9683:72:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;9807:6;9772:25;:32;9798:5;9772:32;;;;;;;;;;;;;;;;:41;;;;;;;;;;;;;;;;;;9833:6;9830:482;;;9859:12;9877:5;9859:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9830:482;;;9952:1;9930:12;:19;;;;:23;9922:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;9997:9;9992:305;10016:12;:19;;;;10012:1;:23;9992:305;;;10088:5;10069:24;;:12;10082:1;10069:15;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:24;;::::0;10065:213:::1;;10140:12;10175:1;10153:12;:19;;;;:23;;;;:::i;:::-;10140:37;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10122:12;10135:1;10122:15;;;;;;;;:::i;:::-;;;;;;;;;;:55;;;;;;;;;;;;;;;;;;10204:12;:18;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;10249:5;;10065:213;10037:3;;;;;:::i;:::-;;;;9992:305;;;;9830:482;10368:6;10333:42;;10361:5;10333:42;;;;;;;;;;;;9586:801:::0;;:::o;5843:19::-;;;;;;;;;;;;;:::o;7622:156::-;7702:4;7726:44;7740:10;7752:9;7763:6;7726:13;:44::i;:::-;7719:51;;7622:156;;;;:::o;5632:58::-;;;;;;;;;;;;;;;;;;;;;;:::o;7127:133::-;7211:7;7229:11;:19;7241:6;7229:19;;;;;;;;;;;;;;;:28;7249:7;7229:28;;;;;;;;;;;;;;;;7222:35;;7127:133;;;;:::o;5596:29::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5699:47::-;;;;;;;;;;;;;;;;;;;;;;:::o;3049:244::-;2814:12;:10;:12::i;:::-;2804:22;;:6;;;;;;;;;;:22;;;2796:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3158:1:::1;3138:22;;:8;:22;;::::0;3130:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;3248:8;3219:38;;3240:6;::::0;::::1;;;;;;;;3219:38;;;;;;;;;;;;3277:8;3268:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;3049:244:::0;:::o;5812:24::-;;;;;;;;;;;;;:::o;456:192::-;542:7;575:1;570;:6;;578:12;562:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;602:9;618:1;614;:5;;;;:::i;:::-;602:17;;639:1;632:8;;;456:192;;;;;:::o;8164:1020::-;8256:4;8277:14;:22;8292:6;8277:22;;;;;;;;;;;;;;;;;;;;;;;;;8276:23;:53;;;;;8304:14;:25;8319:9;8304:25;;;;;;;;;;;;;;;;;;;;;;;;;8303:26;8276:53;8273:131;;;8353:14;;;;;;;;;;;8345:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;8273:131;8416:22;8441:6;8416:31;;8463:25;:33;8489:6;8463:33;;;;;;;;;;;;;;;;;;;;;;;;;8460:488;;;8523:14;:25;8538:9;8523:25;;;;;;;;;;;;;;;;;;;;;;;;;8519:194;;8613:16;;8577:32;8602:6;8577:9;:20;8587:9;8577:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;:52;;:84;;;;8633:17;:28;8651:9;8633:28;;;;;;;;;;;;;;;;;;;;;;;;;8577:84;8569:128;;;;;;;;;;;;:::i;:::-;;;;;;;;;8519:194;8460:488;;;8750:14;:22;8765:6;8750:22;;;;;;;;;;;;;;;;;;;;;;;;;8745:192;;8837:16;;8801:32;8826:6;8801:9;:20;8811:9;8801:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;:52;;:84;;;;8857:17;:28;8875:9;8857:28;;;;;;;;;;;;;;;;;;;;;;;;;8801:84;8793:128;;;;;;;;;;;;:::i;:::-;;;;;;;;;8745:192;8460:488;8980:29;9002:6;8980:9;:17;8990:6;8980:17;;;;;;;;;;;;;;;;:21;;:29;;;;:::i;:::-;8960:9;:17;8970:6;8960:17;;;;;;;;;;;;;;;:49;;;;9043:40;9068:14;9043:9;:20;9053:9;9043:20;;;;;;;;;;;;;;;;:24;;:40;;;;:::i;:::-;9020:9;:20;9030:9;9020:20;;;;;;;;;;;;;;;:63;;;;9128:9;9111:43;;9120:6;9111:43;;;9139:14;9111:43;;;;;;:::i;:::-;;;;;;;;9172:4;9165:11;;;8164:1020;;;;;:::o;314:136::-;372:7;399:43;403:1;406;399:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;392:50;;314:136;;;;:::o;2190:98::-;2243:7;2270:10;2263:17;;2190:98;:::o;127:181::-;185:7;205:9;221:1;217;:5;;;;:::i;:::-;205:17;;246:1;241;:6;;233:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;299:1;292:8;;;127:181;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:329::-;3505:6;3554:2;3542:9;3533:7;3529:23;3525:32;3522:119;;;3560:79;;:::i;:::-;3522:119;3680:1;3705:53;3750:7;3741:6;3730:9;3726:22;3705:53;:::i;:::-;3695:63;;3651:117;3446:329;;;;:::o;3781:118::-;3868:24;3886:5;3868:24;:::i;:::-;3863:3;3856:37;3781:118;;:::o;3905:222::-;3998:4;4036:2;4025:9;4021:18;4013:26;;4049:71;4117:1;4106:9;4102:17;4093:6;4049:71;:::i;:::-;3905:222;;;;:::o;4133:619::-;4210:6;4218;4226;4275:2;4263:9;4254:7;4250:23;4246:32;4243:119;;;4281:79;;:::i;:::-;4243:119;4401:1;4426:53;4471:7;4462:6;4451:9;4447:22;4426:53;:::i;:::-;4416:63;;4372:117;4528:2;4554:53;4599:7;4590:6;4579:9;4575:22;4554:53;:::i;:::-;4544:63;;4499:118;4656:2;4682:53;4727:7;4718:6;4707:9;4703:22;4682:53;:::i;:::-;4672:63;;4627:118;4133:619;;;;;:::o;4758:86::-;4793:7;4833:4;4826:5;4822:16;4811:27;;4758:86;;;:::o;4850:112::-;4933:22;4949:5;4933:22;:::i;:::-;4928:3;4921:35;4850:112;;:::o;4968:214::-;5057:4;5095:2;5084:9;5080:18;5072:26;;5108:67;5172:1;5161:9;5157:17;5148:6;5108:67;:::i;:::-;4968:214;;;;:::o;5188:118::-;5275:24;5293:5;5275:24;:::i;:::-;5270:3;5263:37;5188:118;;:::o;5312:222::-;5405:4;5443:2;5432:9;5428:18;5420:26;;5456:71;5524:1;5513:9;5509:17;5500:6;5456:71;:::i;:::-;5312:222;;;;:::o;5540:116::-;5610:21;5625:5;5610:21;:::i;:::-;5603:5;5600:32;5590:60;;5646:1;5643;5636:12;5590:60;5540:116;:::o;5662:133::-;5705:5;5743:6;5730:20;5721:29;;5759:30;5783:5;5759:30;:::i;:::-;5662:133;;;;:::o;5801:468::-;5866:6;5874;5923:2;5911:9;5902:7;5898:23;5894:32;5891:119;;;5929:79;;:::i;:::-;5891:119;6049:1;6074:53;6119:7;6110:6;6099:9;6095:22;6074:53;:::i;:::-;6064:63;;6020:117;6176:2;6202:50;6244:7;6235:6;6224:9;6220:22;6202:50;:::i;:::-;6192:60;;6147:115;5801:468;;;;;:::o;6275:474::-;6343:6;6351;6400:2;6388:9;6379:7;6375:23;6371:32;6368:119;;;6406:79;;:::i;:::-;6368:119;6526:1;6551:53;6596:7;6587:6;6576:9;6572:22;6551:53;:::i;:::-;6541:63;;6497:117;6653:2;6679:53;6724:7;6715:6;6704:9;6700:22;6679:53;:::i;:::-;6669:63;;6624:118;6275:474;;;;;:::o;6755:329::-;6814:6;6863:2;6851:9;6842:7;6838:23;6834:32;6831:119;;;6869:79;;:::i;:::-;6831:119;6989:1;7014:53;7059:7;7050:6;7039:9;7035:22;7014:53;:::i;:::-;7004:63;;6960:117;6755:329;;;;:::o;7090:60::-;7118:3;7139:5;7132:12;;7090:60;;;:::o;7156:142::-;7206:9;7239:53;7257:34;7266:24;7284:5;7266:24;:::i;:::-;7257:34;:::i;:::-;7239:53;:::i;:::-;7226:66;;7156:142;;;:::o;7304:126::-;7354:9;7387:37;7418:5;7387:37;:::i;:::-;7374:50;;7304:126;;;:::o;7436:144::-;7504:9;7537:37;7568:5;7537:37;:::i;:::-;7524:50;;7436:144;;;:::o;7586:167::-;7691:55;7740:5;7691:55;:::i;:::-;7686:3;7679:68;7586:167;;:::o;7759:258::-;7870:4;7908:2;7897:9;7893:18;7885:26;;7921:89;8007:1;7996:9;7992:17;7983:6;7921:89;:::i;:::-;7759:258;;;;:::o;8023:182::-;8163:34;8159:1;8151:6;8147:14;8140:58;8023:182;:::o;8211:366::-;8353:3;8374:67;8438:2;8433:3;8374:67;:::i;:::-;8367:74;;8450:93;8539:3;8450:93;:::i;:::-;8568:2;8563:3;8559:12;8552:19;;8211:366;;;:::o;8583:419::-;8749:4;8787:2;8776:9;8772:18;8764:26;;8836:9;8830:4;8826:20;8822:1;8811:9;8807:17;8800:47;8864:131;8990:4;8864:131;:::i;:::-;8856:139;;8583:419;;;:::o;9008:169::-;9148:21;9144:1;9136:6;9132:14;9125:45;9008:169;:::o;9183:366::-;9325:3;9346:67;9410:2;9405:3;9346:67;:::i;:::-;9339:74;;9422:93;9511:3;9422:93;:::i;:::-;9540:2;9535:3;9531:12;9524:19;;9183:366;;;:::o;9555:419::-;9721:4;9759:2;9748:9;9744:18;9736:26;;9808:9;9802:4;9798:20;9794:1;9783:9;9779:17;9772:47;9836:131;9962:4;9836:131;:::i;:::-;9828:139;;9555:419;;;:::o;9980:167::-;10120:19;10116:1;10108:6;10104:14;10097:43;9980:167;:::o;10153:366::-;10295:3;10316:67;10380:2;10375:3;10316:67;:::i;:::-;10309:74;;10392:93;10481:3;10392:93;:::i;:::-;10510:2;10505:3;10501:12;10494:19;;10153:366;;;:::o;10525:419::-;10691:4;10729:2;10718:9;10714:18;10706:26;;10778:9;10772:4;10768:20;10764:1;10753:9;10749:17;10742:47;10806:131;10932:4;10806:131;:::i;:::-;10798:139;;10525:419;;;:::o;10950:165::-;11090:17;11086:1;11078:6;11074:14;11067:41;10950:165;:::o;11121:366::-;11263:3;11284:67;11348:2;11343:3;11284:67;:::i;:::-;11277:74;;11360:93;11449:3;11360:93;:::i;:::-;11478:2;11473:3;11469:12;11462:19;;11121:366;;;:::o;11493:419::-;11659:4;11697:2;11686:9;11682:18;11674:26;;11746:9;11740:4;11736:20;11732:1;11721:9;11717:17;11710:47;11774:131;11900:4;11774:131;:::i;:::-;11766:139;;11493:419;;;:::o;11918:180::-;11966:77;11963:1;11956:88;12063:4;12060:1;12053:15;12087:4;12084:1;12077:15;12104:180;12152:77;12149:1;12142:88;12249:4;12246:1;12239:15;12273:4;12270:1;12263:15;12290:194;12330:4;12350:20;12368:1;12350:20;:::i;:::-;12345:25;;12384:20;12402:1;12384:20;:::i;:::-;12379:25;;12428:1;12425;12421:9;12413:17;;12452:1;12446:4;12443:11;12440:37;;;12457:18;;:::i;:::-;12440:37;12290:194;;;;:::o;12490:180::-;12538:77;12535:1;12528:88;12635:4;12632:1;12625:15;12659:4;12656:1;12649:15;12676:233;12715:3;12738:24;12756:5;12738:24;:::i;:::-;12729:33;;12784:66;12777:5;12774:77;12771:103;;12854:18;;:::i;:::-;12771:103;12901:1;12894:5;12890:13;12883:20;;12676:233;;;:::o;12915:225::-;13055:34;13051:1;13043:6;13039:14;13032:58;13124:8;13119:2;13111:6;13107:15;13100:33;12915:225;:::o;13146:366::-;13288:3;13309:67;13373:2;13368:3;13309:67;:::i;:::-;13302:74;;13385:93;13474:3;13385:93;:::i;:::-;13503:2;13498:3;13494:12;13487:19;;13146:366;;;:::o;13518:419::-;13684:4;13722:2;13711:9;13707:18;13699:26;;13771:9;13765:4;13761:20;13757:1;13746:9;13742:17;13735:47;13799:131;13925:4;13799:131;:::i;:::-;13791:139;;13518:419;;;:::o;13943:171::-;14083:23;14079:1;14071:6;14067:14;14060:47;13943:171;:::o;14120:366::-;14262:3;14283:67;14347:2;14342:3;14283:67;:::i;:::-;14276:74;;14359:93;14448:3;14359:93;:::i;:::-;14477:2;14472:3;14468:12;14461:19;;14120:366;;;:::o;14492:419::-;14658:4;14696:2;14685:9;14681:18;14673:26;;14745:9;14739:4;14735:20;14731:1;14720:9;14716:17;14709:47;14773:131;14899:4;14773:131;:::i;:::-;14765:139;;14492:419;;;:::o;14917:181::-;15057:33;15053:1;15045:6;15041:14;15034:57;14917:181;:::o;15104:366::-;15246:3;15267:67;15331:2;15326:3;15267:67;:::i;:::-;15260:74;;15343:93;15432:3;15343:93;:::i;:::-;15461:2;15456:3;15452:12;15445:19;;15104:366;;;:::o;15476:419::-;15642:4;15680:2;15669:9;15665:18;15657:26;;15729:9;15723:4;15719:20;15715:1;15704:9;15700:17;15693:47;15757:131;15883:4;15757:131;:::i;:::-;15749:139;;15476:419;;;:::o;15901:191::-;15941:3;15960:20;15978:1;15960:20;:::i;:::-;15955:25;;15994:20;16012:1;15994:20;:::i;:::-;15989:25;;16037:1;16034;16030:9;16023:16;;16058:3;16055:1;16052:10;16049:36;;;16065:18;;:::i;:::-;16049:36;15901:191;;;;:::o;16098:177::-;16238:29;16234:1;16226:6;16222:14;16215:53;16098:177;:::o;16281:366::-;16423:3;16444:67;16508:2;16503:3;16444:67;:::i;:::-;16437:74;;16520:93;16609:3;16520:93;:::i;:::-;16638:2;16633:3;16629:12;16622:19;;16281:366;;;:::o;16653:419::-;16819:4;16857:2;16846:9;16842:18;16834:26;;16906:9;16900:4;16896:20;16892:1;16881:9;16877:17;16870:47;16934:131;17060:4;16934:131;:::i;:::-;16926:139;;16653:419;;;:::o

Swarm Source

ipfs://94baccbfd8f6e2a4aa1ea6fd6246bc55789a317f9fc82e898cddff9705985da4
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.