ETH Price: $3,593.74 (+3.83%)
Gas: 5.36 Gwei
 

Overview

Max Total Supply

1,000,000,000 2023MM

Holders

7

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

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:
NewYearMillionaire

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-12-31
*/

/**

New Year Millionaire - 2023MM

WE ARE GOING TO START THE NEW YEAR WITH A BANG!

2023MM token will add exactly 10$ worth of ethereum against all of the supply. We will start off with 10$ worth of liquidity.

But to boost it as we grow we will add 23% liqudity tax for buying and selling which will in return grow our initial liquidity.

2023MM tokens only utility is to reach 1 million marketcap starting out with just 10$ worth of liquidity.


https://t.me/NewYearENTRY


*/

pragma solidity 0.8.17;
// SPDX-License-Identifier: UNLICENSED
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}

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

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

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

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

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

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

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

}

contract Ownable is Context {
    address private _owner;
    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);
    }

}

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 NewYearMillionaire is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    mapping (address => uint) private cooldown;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1000000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;

    uint256 private _feeAddr1;
    uint256 private _feeAddr2;
    uint256 private _standardTax;
    address payable private _feeAddrWallet;

    string private constant _name = "New Year Millionaire";
    string private constant _symbol = "2023MM";
    uint8 private constant _decimals = 9;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    bool private cooldownEnabled = false;
    uint256 private _maxTxAmount = 30000000 * 10**9;
    uint256 private _maxWalletSize = 30000000 * 10**9;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _feeAddrWallet = payable(_msgSender());
        _rOwned[_msgSender()] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_feeAddrWallet] = true;
        _standardTax = 23;

        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 tokenFromReflection(_rOwned[account]);
    }

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function setCooldownEnabled(bool onoff) external onlyOwner() {
        cooldownEnabled = onoff;
    }

    function tokenFromReflection(uint256 rAmount) private view returns(uint256) {
        require(rAmount <= _rTotal, "Amount must be less than total reflections");
        uint256 currentRate =  _getRate();
        return rAmount.div(currentRate);
    }

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


        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);
            _feeAddr1 = 0;
            _feeAddr2 = _standardTax;
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] && cooldownEnabled) {
                // Cooldown
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");

            }


            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && from != uniswapV2Pair && swapEnabled && contractTokenBalance>0) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }else{
          _feeAddr1 = 0;
          _feeAddr2 = 0;
        }

        _tokenTransfer(from,to,amount);
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function setStandardTax(uint256 newTax) external onlyOwner{
      require(newTax<_standardTax);
      _standardTax=newTax;
    }

    function removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize = _tTotal;
    }

    function sendETHToFee(uint256 amount) private {
        _feeAddrWallet.transfer(amount);
    }

    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        swapEnabled = true;
        cooldownEnabled = true;

        tradingOpen = true;
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }

    function _tokenTransfer(address sender, address recipient, uint256 amount) private {
        _transferStandard(sender, recipient, amount);
    }

    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate =  _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    receive() external payable {}

    function manualswap() external {
        require(_msgSender() == _feeAddrWallet);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }

    function manualsend() external {
        require(_msgSender() == _feeAddrWallet);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }


    function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _feeAddr1, _feeAddr2);
        uint256 currentRate =  _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }

    function _getTValues(uint256 tAmount, uint256 taxFee, uint256 TeamFee) private pure returns (uint256, uint256, uint256) {
        uint256 tFee = tAmount.mul(taxFee).div(100);
        uint256 tTeam = tAmount.mul(TeamFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }

    function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256, uint256) {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
        return (rAmount, rTransferAmount, rFee);
    }

	function _getRate() private view returns(uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns(uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newTax","type":"uint256"}],"name":"setStandardTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052670de0b6b3a76400006000196200001c919062000428565b6000196200002b91906200048f565b6008556000600f60156101000a81548160ff0219169083151502179055506000600f60166101000a81548160ff0219169083151502179055506000600f60176101000a81548160ff021916908315150217905550666a94d74f430000601055666a94d74f430000601155348015620000a257600080fd5b506000620000b5620003be60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35062000163620003be60201b60201c565b600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060085460026000620001ba620003be60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600560006200020e620003c660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506017600c8190555062000349620003be60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef670de0b6b3a7640000604051620003b09190620004db565b60405180910390a3620004f8565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006200043582620003ef565b91506200044283620003ef565b925082620004555762000454620003f9565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006200049c82620003ef565b9150620004a983620003ef565b9250828203905081811115620004c457620004c362000460565b5b92915050565b620004d581620003ef565b82525050565b6000602082019050620004f26000830184620004ca565b92915050565b612fb080620005086000396000f3fe6080604052600436106101025760003560e01c8063715018a61161009557806395d89b411161006457806395d89b4114610308578063a9059cbb14610333578063c3c8cd8014610370578063c9567bf914610387578063dd62ed3e1461039e57610109565b8063715018a614610286578063751039fc1461029d578063843f7be2146102b45780638da5cb5b146102dd57610109565b8063313ce567116100d1578063313ce567146101de5780635932ead1146102095780636fc3eaec1461023257806370a082311461024957610109565b806306fdde031461010e578063095ea7b31461013957806318160ddd1461017657806323b872dd146101a157610109565b3661010957005b600080fd5b34801561011a57600080fd5b506101236103db565b60405161013091906121a3565b60405180910390f35b34801561014557600080fd5b50610160600480360381019061015b919061225e565b610418565b60405161016d91906122b9565b60405180910390f35b34801561018257600080fd5b5061018b610436565b60405161019891906122e3565b60405180910390f35b3480156101ad57600080fd5b506101c860048036038101906101c391906122fe565b610446565b6040516101d591906122b9565b60405180910390f35b3480156101ea57600080fd5b506101f361051f565b604051610200919061236d565b60405180910390f35b34801561021557600080fd5b50610230600480360381019061022b91906123b4565b610528565b005b34801561023e57600080fd5b506102476105da565b005b34801561025557600080fd5b50610270600480360381019061026b91906123e1565b61064c565b60405161027d91906122e3565b60405180910390f35b34801561029257600080fd5b5061029b61069d565b005b3480156102a957600080fd5b506102b26107f0565b005b3480156102c057600080fd5b506102db60048036038101906102d6919061240e565b6108a5565b005b3480156102e957600080fd5b506102f2610952565b6040516102ff919061244a565b60405180910390f35b34801561031457600080fd5b5061031d61097b565b60405161032a91906121a3565b60405180910390f35b34801561033f57600080fd5b5061035a6004803603810190610355919061225e565b6109b8565b60405161036791906122b9565b60405180910390f35b34801561037c57600080fd5b506103856109d6565b005b34801561039357600080fd5b5061039c610a50565b005b3480156103aa57600080fd5b506103c560048036038101906103c09190612465565b610f51565b6040516103d291906122e3565b60405180910390f35b60606040518060400160405280601481526020017f4e65772059656172204d696c6c696f6e61697265000000000000000000000000815250905090565b600061042c610425610fd8565b8484610fe0565b6001905092915050565b6000670de0b6b3a7640000905090565b60006104538484846111a9565b6105148461045f610fd8565b61050f85604051806060016040528060288152602001612f5360289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104c5610fd8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116aa9092919063ffffffff16565b610fe0565b600190509392505050565b60006009905090565b610530610fd8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b4906124f1565b60405180910390fd5b80600f60176101000a81548160ff02191690831515021790555050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661061b610fd8565b73ffffffffffffffffffffffffffffffffffffffff161461063b57600080fd5b60004790506106498161170e565b50565b6000610696600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461177a565b9050919050565b6106a5610fd8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610732576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610729906124f1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6107f8610fd8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610885576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087c906124f1565b60405180910390fd5b670de0b6b3a7640000601081905550670de0b6b3a7640000601181905550565b6108ad610fd8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461093a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610931906124f1565b60405180910390fd5b600c54811061094857600080fd5b80600c8190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600681526020017f323032334d4d0000000000000000000000000000000000000000000000000000815250905090565b60006109cc6109c5610fd8565b84846111a9565b6001905092915050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a17610fd8565b73ffffffffffffffffffffffffffffffffffffffff1614610a3757600080fd5b6000610a423061064c565b9050610a4d816117e8565b50565b610a58610fd8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ae5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610adc906124f1565b60405180910390fd5b600f60149054906101000a900460ff1615610b35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2c9061255d565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610bc430600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16670de0b6b3a7640000610fe0565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c339190612592565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cbe9190612592565b6040518363ffffffff1660e01b8152600401610cdb9291906125bf565b6020604051808303816000875af1158015610cfa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d1e9190612592565b600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610da73061064c565b600080610db2610952565b426040518863ffffffff1660e01b8152600401610dd49695949392919061262d565b60606040518083038185885af1158015610df2573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610e1791906126a3565b5050506001600f60166101000a81548160ff0219169083151502179055506001600f60176101000a81548160ff0219169083151502179055506001600f60146101000a81548160ff021916908315150217905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610f0a9291906126f6565b6020604051808303816000875af1158015610f29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4d9190612734565b5050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361104f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611046906127d3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036110be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b590612865565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161119c91906122e3565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611218576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120f906128f7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611287576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127e90612989565b60405180910390fd5b600081116112ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c190612a1b565b60405180910390fd5b6112d2610952565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156113405750611310610952565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561168957600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156113e95750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6113f257600080fd5b6000600a81905550600c54600b81905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156114ae5750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156115045750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561151c5750600f60179054906101000a900460ff165b156115bf57601054811115611566576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155d90612a87565b60405180910390fd5b601154816115738461064c565b61157d9190612ad6565b11156115be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b590612b56565b60405180910390fd5b5b60006115ca3061064c565b9050600f60159054906101000a900460ff161580156116375750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561164f5750600f60169054906101000a900460ff165b801561165b5750600081115b1561168357611669816117e8565b60004790506000811115611681576116804761170e565b5b505b5061169a565b6000600a819055506000600b819055505b6116a5838383611a61565b505050565b60008383111582906116f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116e991906121a3565b60405180910390fd5b50600083856117019190612b76565b9050809150509392505050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611776573d6000803e3d6000fd5b5050565b60006008548211156117c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117b890612c1c565b60405180910390fd5b60006117cb611a71565b90506117e08184611a9c90919063ffffffff16565b915050919050565b6001600f60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156118205761181f612c3c565b5b60405190808252806020026020018201604052801561184e5781602001602082028036833780820191505090505b509050308160008151811061186657611865612c6b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561190d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119319190612592565b8160018151811061194557611944612c6b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506119ac30600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610fe0565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611a10959493929190612d58565b600060405180830381600087803b158015611a2a57600080fd5b505af1158015611a3e573d6000803e3d6000fd5b50505050506000600f60156101000a81548160ff02191690831515021790555050565b611a6c838383611ae6565b505050565b6000806000611a7e611cb1565b91509150611a958183611a9c90919063ffffffff16565b9250505090565b6000611ade83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611d10565b905092915050565b600080600080600080611af887611d73565b955095509550955095509550611b5686600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ddb90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611beb85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e2590919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c3781611e83565b611c418483611f40565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611c9e91906122e3565b60405180910390a3505050505050505050565b600080600060085490506000670de0b6b3a76400009050611ce5670de0b6b3a7640000600854611a9c90919063ffffffff16565b821015611d0357600854670de0b6b3a7640000935093505050611d0c565b81819350935050505b9091565b60008083118290611d57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d4e91906121a3565b60405180910390fd5b5060008385611d669190612de1565b9050809150509392505050565b6000806000806000806000806000611d908a600a54600b54611f7a565b9250925092506000611da0611a71565b90506000806000611db38e878787612010565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000611e1d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506116aa565b905092915050565b6000808284611e349190612ad6565b905083811015611e79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7090612e5e565b60405180910390fd5b8091505092915050565b6000611e8d611a71565b90506000611ea4828461209990919063ffffffff16565b9050611ef881600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e2590919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611f5582600854611ddb90919063ffffffff16565b600881905550611f7081600954611e2590919063ffffffff16565b6009819055505050565b600080600080611fa66064611f98888a61209990919063ffffffff16565b611a9c90919063ffffffff16565b90506000611fd06064611fc2888b61209990919063ffffffff16565b611a9c90919063ffffffff16565b90506000611ff982611feb858c611ddb90919063ffffffff16565b611ddb90919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612029858961209990919063ffffffff16565b90506000612040868961209990919063ffffffff16565b90506000612057878961209990919063ffffffff16565b90506000612080826120728587611ddb90919063ffffffff16565b611ddb90919063ffffffff16565b9050838184965096509650505050509450945094915050565b60008083036120ab576000905061210d565b600082846120b99190612e7e565b90508284826120c89190612de1565b14612108576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120ff90612f32565b60405180910390fd5b809150505b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561214d578082015181840152602081019050612132565b60008484015250505050565b6000601f19601f8301169050919050565b600061217582612113565b61217f818561211e565b935061218f81856020860161212f565b61219881612159565b840191505092915050565b600060208201905081810360008301526121bd818461216a565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006121f5826121ca565b9050919050565b612205816121ea565b811461221057600080fd5b50565b600081359050612222816121fc565b92915050565b6000819050919050565b61223b81612228565b811461224657600080fd5b50565b60008135905061225881612232565b92915050565b60008060408385031215612275576122746121c5565b5b600061228385828601612213565b925050602061229485828601612249565b9150509250929050565b60008115159050919050565b6122b38161229e565b82525050565b60006020820190506122ce60008301846122aa565b92915050565b6122dd81612228565b82525050565b60006020820190506122f860008301846122d4565b92915050565b600080600060608486031215612317576123166121c5565b5b600061232586828701612213565b935050602061233686828701612213565b925050604061234786828701612249565b9150509250925092565b600060ff82169050919050565b61236781612351565b82525050565b6000602082019050612382600083018461235e565b92915050565b6123918161229e565b811461239c57600080fd5b50565b6000813590506123ae81612388565b92915050565b6000602082840312156123ca576123c96121c5565b5b60006123d88482850161239f565b91505092915050565b6000602082840312156123f7576123f66121c5565b5b600061240584828501612213565b91505092915050565b600060208284031215612424576124236121c5565b5b600061243284828501612249565b91505092915050565b612444816121ea565b82525050565b600060208201905061245f600083018461243b565b92915050565b6000806040838503121561247c5761247b6121c5565b5b600061248a85828601612213565b925050602061249b85828601612213565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006124db60208361211e565b91506124e6826124a5565b602082019050919050565b6000602082019050818103600083015261250a816124ce565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b600061254760178361211e565b915061255282612511565b602082019050919050565b600060208201905081810360008301526125768161253a565b9050919050565b60008151905061258c816121fc565b92915050565b6000602082840312156125a8576125a76121c5565b5b60006125b68482850161257d565b91505092915050565b60006040820190506125d4600083018561243b565b6125e1602083018461243b565b9392505050565b6000819050919050565b6000819050919050565b600061261761261261260d846125e8565b6125f2565b612228565b9050919050565b612627816125fc565b82525050565b600060c082019050612642600083018961243b565b61264f60208301886122d4565b61265c604083018761261e565b612669606083018661261e565b612676608083018561243b565b61268360a08301846122d4565b979650505050505050565b60008151905061269d81612232565b92915050565b6000806000606084860312156126bc576126bb6121c5565b5b60006126ca8682870161268e565b93505060206126db8682870161268e565b92505060406126ec8682870161268e565b9150509250925092565b600060408201905061270b600083018561243b565b61271860208301846122d4565b9392505050565b60008151905061272e81612388565b92915050565b60006020828403121561274a576127496121c5565b5b60006127588482850161271f565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006127bd60248361211e565b91506127c882612761565b604082019050919050565b600060208201905081810360008301526127ec816127b0565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061284f60228361211e565b915061285a826127f3565b604082019050919050565b6000602082019050818103600083015261287e81612842565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006128e160258361211e565b91506128ec82612885565b604082019050919050565b60006020820190508181036000830152612910816128d4565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061297360238361211e565b915061297e82612917565b604082019050919050565b600060208201905081810360008301526129a281612966565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612a0560298361211e565b9150612a10826129a9565b604082019050919050565b60006020820190508181036000830152612a34816129f8565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b6000612a7160198361211e565b9150612a7c82612a3b565b602082019050919050565b60006020820190508181036000830152612aa081612a64565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612ae182612228565b9150612aec83612228565b9250828201905080821115612b0457612b03612aa7565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b6000612b40601a8361211e565b9150612b4b82612b0a565b602082019050919050565b60006020820190508181036000830152612b6f81612b33565b9050919050565b6000612b8182612228565b9150612b8c83612228565b9250828203905081811115612ba457612ba3612aa7565b5b92915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000612c06602a8361211e565b9150612c1182612baa565b604082019050919050565b60006020820190508181036000830152612c3581612bf9565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612ccf816121ea565b82525050565b6000612ce18383612cc6565b60208301905092915050565b6000602082019050919050565b6000612d0582612c9a565b612d0f8185612ca5565b9350612d1a83612cb6565b8060005b83811015612d4b578151612d328882612cd5565b9750612d3d83612ced565b925050600181019050612d1e565b5085935050505092915050565b600060a082019050612d6d60008301886122d4565b612d7a602083018761261e565b8181036040830152612d8c8186612cfa565b9050612d9b606083018561243b565b612da860808301846122d4565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612dec82612228565b9150612df783612228565b925082612e0757612e06612db2565b5b828204905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612e48601b8361211e565b9150612e5382612e12565b602082019050919050565b60006020820190508181036000830152612e7781612e3b565b9050919050565b6000612e8982612228565b9150612e9483612228565b9250828202612ea281612228565b91508282048414831517612eb957612eb8612aa7565b5b5092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612f1c60218361211e565b9150612f2782612ec0565b604082019050919050565b60006020820190508181036000830152612f4b81612f0f565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122037da981373b47b5218cb8943a0b31e47d790014be19d479692d600137d8937a564736f6c63430008110033

Deployed Bytecode

0x6080604052600436106101025760003560e01c8063715018a61161009557806395d89b411161006457806395d89b4114610308578063a9059cbb14610333578063c3c8cd8014610370578063c9567bf914610387578063dd62ed3e1461039e57610109565b8063715018a614610286578063751039fc1461029d578063843f7be2146102b45780638da5cb5b146102dd57610109565b8063313ce567116100d1578063313ce567146101de5780635932ead1146102095780636fc3eaec1461023257806370a082311461024957610109565b806306fdde031461010e578063095ea7b31461013957806318160ddd1461017657806323b872dd146101a157610109565b3661010957005b600080fd5b34801561011a57600080fd5b506101236103db565b60405161013091906121a3565b60405180910390f35b34801561014557600080fd5b50610160600480360381019061015b919061225e565b610418565b60405161016d91906122b9565b60405180910390f35b34801561018257600080fd5b5061018b610436565b60405161019891906122e3565b60405180910390f35b3480156101ad57600080fd5b506101c860048036038101906101c391906122fe565b610446565b6040516101d591906122b9565b60405180910390f35b3480156101ea57600080fd5b506101f361051f565b604051610200919061236d565b60405180910390f35b34801561021557600080fd5b50610230600480360381019061022b91906123b4565b610528565b005b34801561023e57600080fd5b506102476105da565b005b34801561025557600080fd5b50610270600480360381019061026b91906123e1565b61064c565b60405161027d91906122e3565b60405180910390f35b34801561029257600080fd5b5061029b61069d565b005b3480156102a957600080fd5b506102b26107f0565b005b3480156102c057600080fd5b506102db60048036038101906102d6919061240e565b6108a5565b005b3480156102e957600080fd5b506102f2610952565b6040516102ff919061244a565b60405180910390f35b34801561031457600080fd5b5061031d61097b565b60405161032a91906121a3565b60405180910390f35b34801561033f57600080fd5b5061035a6004803603810190610355919061225e565b6109b8565b60405161036791906122b9565b60405180910390f35b34801561037c57600080fd5b506103856109d6565b005b34801561039357600080fd5b5061039c610a50565b005b3480156103aa57600080fd5b506103c560048036038101906103c09190612465565b610f51565b6040516103d291906122e3565b60405180910390f35b60606040518060400160405280601481526020017f4e65772059656172204d696c6c696f6e61697265000000000000000000000000815250905090565b600061042c610425610fd8565b8484610fe0565b6001905092915050565b6000670de0b6b3a7640000905090565b60006104538484846111a9565b6105148461045f610fd8565b61050f85604051806060016040528060288152602001612f5360289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104c5610fd8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116aa9092919063ffffffff16565b610fe0565b600190509392505050565b60006009905090565b610530610fd8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b4906124f1565b60405180910390fd5b80600f60176101000a81548160ff02191690831515021790555050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661061b610fd8565b73ffffffffffffffffffffffffffffffffffffffff161461063b57600080fd5b60004790506106498161170e565b50565b6000610696600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461177a565b9050919050565b6106a5610fd8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610732576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610729906124f1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6107f8610fd8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610885576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087c906124f1565b60405180910390fd5b670de0b6b3a7640000601081905550670de0b6b3a7640000601181905550565b6108ad610fd8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461093a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610931906124f1565b60405180910390fd5b600c54811061094857600080fd5b80600c8190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600681526020017f323032334d4d0000000000000000000000000000000000000000000000000000815250905090565b60006109cc6109c5610fd8565b84846111a9565b6001905092915050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a17610fd8565b73ffffffffffffffffffffffffffffffffffffffff1614610a3757600080fd5b6000610a423061064c565b9050610a4d816117e8565b50565b610a58610fd8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ae5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610adc906124f1565b60405180910390fd5b600f60149054906101000a900460ff1615610b35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2c9061255d565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610bc430600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16670de0b6b3a7640000610fe0565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c339190612592565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cbe9190612592565b6040518363ffffffff1660e01b8152600401610cdb9291906125bf565b6020604051808303816000875af1158015610cfa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d1e9190612592565b600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610da73061064c565b600080610db2610952565b426040518863ffffffff1660e01b8152600401610dd49695949392919061262d565b60606040518083038185885af1158015610df2573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610e1791906126a3565b5050506001600f60166101000a81548160ff0219169083151502179055506001600f60176101000a81548160ff0219169083151502179055506001600f60146101000a81548160ff021916908315150217905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610f0a9291906126f6565b6020604051808303816000875af1158015610f29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4d9190612734565b5050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361104f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611046906127d3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036110be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b590612865565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161119c91906122e3565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611218576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120f906128f7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611287576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127e90612989565b60405180910390fd5b600081116112ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c190612a1b565b60405180910390fd5b6112d2610952565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156113405750611310610952565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561168957600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156113e95750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6113f257600080fd5b6000600a81905550600c54600b81905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156114ae5750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156115045750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561151c5750600f60179054906101000a900460ff165b156115bf57601054811115611566576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155d90612a87565b60405180910390fd5b601154816115738461064c565b61157d9190612ad6565b11156115be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b590612b56565b60405180910390fd5b5b60006115ca3061064c565b9050600f60159054906101000a900460ff161580156116375750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561164f5750600f60169054906101000a900460ff165b801561165b5750600081115b1561168357611669816117e8565b60004790506000811115611681576116804761170e565b5b505b5061169a565b6000600a819055506000600b819055505b6116a5838383611a61565b505050565b60008383111582906116f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116e991906121a3565b60405180910390fd5b50600083856117019190612b76565b9050809150509392505050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611776573d6000803e3d6000fd5b5050565b60006008548211156117c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117b890612c1c565b60405180910390fd5b60006117cb611a71565b90506117e08184611a9c90919063ffffffff16565b915050919050565b6001600f60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156118205761181f612c3c565b5b60405190808252806020026020018201604052801561184e5781602001602082028036833780820191505090505b509050308160008151811061186657611865612c6b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561190d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119319190612592565b8160018151811061194557611944612c6b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506119ac30600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610fe0565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611a10959493929190612d58565b600060405180830381600087803b158015611a2a57600080fd5b505af1158015611a3e573d6000803e3d6000fd5b50505050506000600f60156101000a81548160ff02191690831515021790555050565b611a6c838383611ae6565b505050565b6000806000611a7e611cb1565b91509150611a958183611a9c90919063ffffffff16565b9250505090565b6000611ade83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611d10565b905092915050565b600080600080600080611af887611d73565b955095509550955095509550611b5686600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ddb90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611beb85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e2590919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c3781611e83565b611c418483611f40565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611c9e91906122e3565b60405180910390a3505050505050505050565b600080600060085490506000670de0b6b3a76400009050611ce5670de0b6b3a7640000600854611a9c90919063ffffffff16565b821015611d0357600854670de0b6b3a7640000935093505050611d0c565b81819350935050505b9091565b60008083118290611d57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d4e91906121a3565b60405180910390fd5b5060008385611d669190612de1565b9050809150509392505050565b6000806000806000806000806000611d908a600a54600b54611f7a565b9250925092506000611da0611a71565b90506000806000611db38e878787612010565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000611e1d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506116aa565b905092915050565b6000808284611e349190612ad6565b905083811015611e79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7090612e5e565b60405180910390fd5b8091505092915050565b6000611e8d611a71565b90506000611ea4828461209990919063ffffffff16565b9050611ef881600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e2590919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611f5582600854611ddb90919063ffffffff16565b600881905550611f7081600954611e2590919063ffffffff16565b6009819055505050565b600080600080611fa66064611f98888a61209990919063ffffffff16565b611a9c90919063ffffffff16565b90506000611fd06064611fc2888b61209990919063ffffffff16565b611a9c90919063ffffffff16565b90506000611ff982611feb858c611ddb90919063ffffffff16565b611ddb90919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612029858961209990919063ffffffff16565b90506000612040868961209990919063ffffffff16565b90506000612057878961209990919063ffffffff16565b90506000612080826120728587611ddb90919063ffffffff16565b611ddb90919063ffffffff16565b9050838184965096509650505050509450945094915050565b60008083036120ab576000905061210d565b600082846120b99190612e7e565b90508284826120c89190612de1565b14612108576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120ff90612f32565b60405180910390fd5b809150505b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561214d578082015181840152602081019050612132565b60008484015250505050565b6000601f19601f8301169050919050565b600061217582612113565b61217f818561211e565b935061218f81856020860161212f565b61219881612159565b840191505092915050565b600060208201905081810360008301526121bd818461216a565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006121f5826121ca565b9050919050565b612205816121ea565b811461221057600080fd5b50565b600081359050612222816121fc565b92915050565b6000819050919050565b61223b81612228565b811461224657600080fd5b50565b60008135905061225881612232565b92915050565b60008060408385031215612275576122746121c5565b5b600061228385828601612213565b925050602061229485828601612249565b9150509250929050565b60008115159050919050565b6122b38161229e565b82525050565b60006020820190506122ce60008301846122aa565b92915050565b6122dd81612228565b82525050565b60006020820190506122f860008301846122d4565b92915050565b600080600060608486031215612317576123166121c5565b5b600061232586828701612213565b935050602061233686828701612213565b925050604061234786828701612249565b9150509250925092565b600060ff82169050919050565b61236781612351565b82525050565b6000602082019050612382600083018461235e565b92915050565b6123918161229e565b811461239c57600080fd5b50565b6000813590506123ae81612388565b92915050565b6000602082840312156123ca576123c96121c5565b5b60006123d88482850161239f565b91505092915050565b6000602082840312156123f7576123f66121c5565b5b600061240584828501612213565b91505092915050565b600060208284031215612424576124236121c5565b5b600061243284828501612249565b91505092915050565b612444816121ea565b82525050565b600060208201905061245f600083018461243b565b92915050565b6000806040838503121561247c5761247b6121c5565b5b600061248a85828601612213565b925050602061249b85828601612213565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006124db60208361211e565b91506124e6826124a5565b602082019050919050565b6000602082019050818103600083015261250a816124ce565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b600061254760178361211e565b915061255282612511565b602082019050919050565b600060208201905081810360008301526125768161253a565b9050919050565b60008151905061258c816121fc565b92915050565b6000602082840312156125a8576125a76121c5565b5b60006125b68482850161257d565b91505092915050565b60006040820190506125d4600083018561243b565b6125e1602083018461243b565b9392505050565b6000819050919050565b6000819050919050565b600061261761261261260d846125e8565b6125f2565b612228565b9050919050565b612627816125fc565b82525050565b600060c082019050612642600083018961243b565b61264f60208301886122d4565b61265c604083018761261e565b612669606083018661261e565b612676608083018561243b565b61268360a08301846122d4565b979650505050505050565b60008151905061269d81612232565b92915050565b6000806000606084860312156126bc576126bb6121c5565b5b60006126ca8682870161268e565b93505060206126db8682870161268e565b92505060406126ec8682870161268e565b9150509250925092565b600060408201905061270b600083018561243b565b61271860208301846122d4565b9392505050565b60008151905061272e81612388565b92915050565b60006020828403121561274a576127496121c5565b5b60006127588482850161271f565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006127bd60248361211e565b91506127c882612761565b604082019050919050565b600060208201905081810360008301526127ec816127b0565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061284f60228361211e565b915061285a826127f3565b604082019050919050565b6000602082019050818103600083015261287e81612842565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006128e160258361211e565b91506128ec82612885565b604082019050919050565b60006020820190508181036000830152612910816128d4565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061297360238361211e565b915061297e82612917565b604082019050919050565b600060208201905081810360008301526129a281612966565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612a0560298361211e565b9150612a10826129a9565b604082019050919050565b60006020820190508181036000830152612a34816129f8565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b6000612a7160198361211e565b9150612a7c82612a3b565b602082019050919050565b60006020820190508181036000830152612aa081612a64565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612ae182612228565b9150612aec83612228565b9250828201905080821115612b0457612b03612aa7565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b6000612b40601a8361211e565b9150612b4b82612b0a565b602082019050919050565b60006020820190508181036000830152612b6f81612b33565b9050919050565b6000612b8182612228565b9150612b8c83612228565b9250828203905081811115612ba457612ba3612aa7565b5b92915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000612c06602a8361211e565b9150612c1182612baa565b604082019050919050565b60006020820190508181036000830152612c3581612bf9565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612ccf816121ea565b82525050565b6000612ce18383612cc6565b60208301905092915050565b6000602082019050919050565b6000612d0582612c9a565b612d0f8185612ca5565b9350612d1a83612cb6565b8060005b83811015612d4b578151612d328882612cd5565b9750612d3d83612ced565b925050600181019050612d1e565b5085935050505092915050565b600060a082019050612d6d60008301886122d4565b612d7a602083018761261e565b8181036040830152612d8c8186612cfa565b9050612d9b606083018561243b565b612da860808301846122d4565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612dec82612228565b9150612df783612228565b925082612e0757612e06612db2565b5b828204905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612e48601b8361211e565b9150612e5382612e12565b602082019050919050565b60006020820190508181036000830152612e7781612e3b565b9050919050565b6000612e8982612228565b9150612e9483612228565b9250828202612ea281612228565b91508282048414831517612eb957612eb8612aa7565b5b5092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612f1c60218361211e565b9150612f2782612ec0565b604082019050919050565b60006020820190508181036000830152612f4b81612f0f565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122037da981373b47b5218cb8943a0b31e47d790014be19d479692d600137d8937a564736f6c63430008110033

Deployed Bytecode Sourcemap

4012:10006:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5789:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6641:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6066:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6810:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5975:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7131:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12133:193;;;;;;;;;;;;;:::i;:::-;;6169:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3093:148;;;;;;;;;;;;;:::i;:::-;;9859:118;;;;;;;;;;;;;:::i;:::-;;9720:131;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2879:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5880:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6315:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11931:194;;;;;;;;;;;;;:::i;:::-;;10089:773;;;;;;;;;;;;;:::i;:::-;;6490:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5789:83;5826:13;5859:5;;;;;;;;;;;;;;;;;5852:12;;5789:83;:::o;6641:161::-;6716:4;6733:39;6742:12;:10;:12::i;:::-;6756:7;6765:6;6733:8;:39::i;:::-;6790:4;6783:11;;6641:161;;;;:::o;6066:95::-;6119:7;4523:18;6139:14;;6066:95;:::o;6810:313::-;6908:4;6925:36;6935:6;6943:9;6954:6;6925:9;:36::i;:::-;6972:121;6981:6;6989:12;:10;:12::i;:::-;7003:89;7041:6;7003:89;;;;;;;;;;;;;;;;;:11;:19;7015:6;7003:19;;;;;;;;;;;;;;;:33;7023:12;:10;:12::i;:::-;7003:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6972:8;:121::i;:::-;7111:4;7104:11;;6810:313;;;;;:::o;5975:83::-;6016:5;4930:1;6034:16;;5975:83;:::o;7131:103::-;3016:12;:10;:12::i;:::-;3006:22;;:6;;;;;;;;;;:22;;;2998:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7221:5:::1;7203:15;;:23;;;;;;;;;;;;;;;;;;7131:103:::0;:::o;12133:193::-;12199:14;;;;;;;;;;;12183:30;;:12;:10;:12::i;:::-;:30;;;12175:39;;;;;;12225:26;12254:21;12225:50;;12286:32;12299:18;12286:12;:32::i;:::-;12164:162;12133:193::o;6169:138::-;6235:7;6262:37;6282:7;:16;6290:7;6282:16;;;;;;;;;;;;;;;;6262:19;:37::i;:::-;6255:44;;6169:138;;;:::o;3093:148::-;3016:12;:10;:12::i;:::-;3006:22;;:6;;;;;;;;;;:22;;;2998:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3200:1:::1;3163:40;;3184:6;::::0;::::1;;;;;;;;3163:40;;;;;;;;;;;;3231:1;3214:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3093:148::o:0;9859:118::-;3016:12;:10;:12::i;:::-;3006:22;;:6;;;;;;;;;;:22;;;2998:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4523:18:::1;9912:12;:22;;;;4523:18;9945:14;:24;;;;9859:118::o:0;9720:131::-;3016:12;:10;:12::i;:::-;3006:22;;:6;;;;;;;;;;:22;;;2998:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9802:12:::1;;9795:6;:19;9787:28;;;::::0;::::1;;9837:6;9824:12;:19;;;;9720:131:::0;:::o;2879:79::-;2917:7;2944:6;;;;;;;;;;;2937:13;;2879:79;:::o;5880:87::-;5919:13;5952:7;;;;;;;;;;;;;;;;;5945:14;;5880:87;:::o;6315:167::-;6393:4;6410:42;6420:12;:10;:12::i;:::-;6434:9;6445:6;6410:9;:42::i;:::-;6470:4;6463:11;;6315:167;;;;:::o;11931:194::-;11997:14;;;;;;;;;;;11981:30;;:12;:10;:12::i;:::-;:30;;;11973:39;;;;;;12023:23;12049:24;12067:4;12049:9;:24::i;:::-;12023:50;;12084:33;12101:15;12084:16;:33::i;:::-;11962:163;11931:194::o;10089:773::-;3016:12;:10;:12::i;:::-;3006:22;;:6;;;;;;;;;;:22;;;2998:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10153:11:::1;;;;;;;;;;;10152:12;10144:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;10202:35;10259:42;10202:100;;10331:16;10313:15;;:34;;;;;;;;;;;;;;;;;;10358:58;10375:4;10390:15;;;;;;;;;;;4523:18;10358:8;:58::i;:::-;10461:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10443:56;;;10508:4;10515:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10443:96;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10427:13;;:112;;;;;;;;;;;;;;;;;;10550:15;;;;;;;;;;;:31;;;10589:21;10620:4;10626:24;10644:4;10626:9;:24::i;:::-;10651:1;10653::::0;10655:7:::1;:5;:7::i;:::-;10663:15;10550:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;10704:4;10690:11;;:18;;;;;;;;;;;;;;;;;;10737:4;10719:15;;:22;;;;;;;;;;;;;;;;;;10768:4;10754:11;;:18;;;;;;;;;;;;;;;;;;10790:13;;;;;;;;;;;10783:29;;;10821:15;;;;;;;;;;;10839:14;10783:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10133:729;10089:773::o:0;6490:143::-;6571:7;6598:11;:18;6610:5;6598:18;;;;;;;;;;;;;;;:27;6617:7;6598:27;;;;;;;;;;;;;;;;6591:34;;6490:143;;;;:::o;597:98::-;650:7;677:10;670:17;;597:98;:::o;7504:335::-;7614:1;7597:19;;:5;:19;;;7589:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7695:1;7676:21;;:7;:21;;;7668:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7777:6;7747:11;:18;7759:5;7747:18;;;;;;;;;;;;;;;:27;7766:7;7747:27;;;;;;;;;;;;;;;:36;;;;7815:7;7799:32;;7808:5;7799:32;;;7824:6;7799:32;;;;;;:::i;:::-;;;;;;;;7504:335;;;:::o;7847:1374::-;7951:1;7935:18;;:4;:18;;;7927:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8028:1;8014:16;;:2;:16;;;8006:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8098:1;8089:6;:10;8081:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8172:7;:5;:7::i;:::-;8164:15;;:4;:15;;;;:32;;;;;8189:7;:5;:7::i;:::-;8183:13;;:2;:13;;;;8164:32;8160:1011;;;8222:4;:10;8227:4;8222:10;;;;;;;;;;;;;;;;;;;;;;;;;8221:11;:24;;;;;8237:4;:8;8242:2;8237:8;;;;;;;;;;;;;;;;;;;;;;;;;8236:9;8221:24;8213:33;;;;;;8273:1;8261:9;:13;;;;8301:12;;8289:9;:24;;;;8340:13;;;;;;;;;;;8332:21;;:4;:21;;;:55;;;;;8371:15;;;;;;;;;;;8357:30;;:2;:30;;;;8332:55;:83;;;;;8393:18;:22;8412:2;8393:22;;;;;;;;;;;;;;;;;;;;;;;;;8391:24;8332:83;:102;;;;;8419:15;;;;;;;;;;;8332:102;8328:332;;;8502:12;;8492:6;:22;;8484:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;8597:14;;8587:6;8571:13;8581:2;8571:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8563:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;8328:332;8678:28;8709:24;8727:4;8709:9;:24::i;:::-;8678:55;;8753:6;;;;;;;;;;;8752:7;:32;;;;;8771:13;;;;;;;;;;;8763:21;;:4;:21;;;;8752:32;:47;;;;;8788:11;;;;;;;;;;;8752:47;:73;;;;;8824:1;8803:20;:22;8752:73;8748:344;;;8846:38;8863:20;8846:16;:38::i;:::-;8903:26;8932:21;8903:50;;8996:1;8975:18;:22;8972:105;;;9022:35;9035:21;9022:12;:35::i;:::-;8972:105;8827:265;8748:344;8198:905;8160:1011;;;9132:1;9120:9;:13;;;;9158:1;9146:9;:13;;;;8160:1011;9183:30;9198:4;9203:2;9206:6;9183:14;:30::i;:::-;7847:1374;;;:::o;1734:190::-;1820:7;1853:1;1848;:6;;1856:12;1840:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1880:9;1896:1;1892;:5;;;;:::i;:::-;1880:17;;1915:1;1908:8;;;1734:190;;;;;:::o;9985:96::-;10042:14;;;;;;;;;;;:23;;:31;10066:6;10042:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9985:96;:::o;7242:254::-;7309:7;7348;;7337;:18;;7329:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;7413:19;7436:10;:8;:10::i;:::-;7413:33;;7464:24;7476:11;7464:7;:11;;:24;;;;:::i;:::-;7457:31;;;7242:254;;;:::o;9229:483::-;5373:4;5364:6;;:13;;;;;;;;;;;;;;;;;;9307:21:::1;9345:1;9331:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9307:40;;9376:4;9358;9363:1;9358:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9402:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9392:4;9397:1;9392:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;9435:62;9452:4;9467:15;;;;;;;;;;;9485:11;9435:8;:62::i;:::-;9508:15;;;;;;;;;;;:66;;;9589:11;9615:1;9631:4;9658;9678:15;9508:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9296:416;5409:5:::0;5400:6;;:14;;;;;;;;;;;;;;;;;;9229:483;:::o;10870:146::-;10964:44;10982:6;10990:9;11001:6;10964:17;:44::i;:::-;10870:146;;;:::o;13588:163::-;13629:7;13650:15;13667;13686:19;:17;:19::i;:::-;13649:56;;;;13723:20;13735:7;13723;:11;;:20;;;;:::i;:::-;13716:27;;;;13588:163;:::o;2186:132::-;2244:7;2271:39;2275:1;2278;2271:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2264:46;;2186:132;;;;:::o;11024:487::-;11123:15;11140:23;11165:12;11179:23;11204:12;11218:13;11235:19;11246:7;11235:10;:19::i;:::-;11122:132;;;;;;;;;;;;11283:28;11303:7;11283;:15;11291:6;11283:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;11265:7;:15;11273:6;11265:15;;;;;;;;;;;;;;;:46;;;;11343:39;11366:15;11343:7;:18;11351:9;11343:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;11322:7;:18;11330:9;11322:18;;;;;;;;;;;;;;;:60;;;;11393:16;11403:5;11393:9;:16::i;:::-;11420:23;11432:4;11438;11420:11;:23::i;:::-;11476:9;11459:44;;11468:6;11459:44;;;11487:15;11459:44;;;;;;:::i;:::-;;;;;;;;11111:400;;;;;;11024:487;;;:::o;13759:256::-;13809:7;13818;13838:15;13856:7;;13838:25;;13874:15;4523:18;13874:25;;13924:20;4523:18;13924:7;;:11;;:20;;;;:::i;:::-;13914:7;:30;13910:61;;;13954:7;;4523:18;13946:25;;;;;;;;13910:61;13990:7;13999;13982:25;;;;;;13759:256;;;:::o;2326:189::-;2412:7;2444:1;2440;:5;2447:12;2432:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2471:9;2487:1;2483;:5;;;;:::i;:::-;2471:17;;2506:1;2499:8;;;2326:189;;;;;:::o;12336:471::-;12395:7;12404;12413;12422;12431;12440;12461:23;12486:12;12500:13;12517:42;12529:7;12538:9;;12549;;12517:11;:42::i;:::-;12460:99;;;;;;12570:19;12593:10;:8;:10::i;:::-;12570:33;;12615:15;12632:23;12657:12;12673:46;12685:7;12694:4;12700:5;12707:11;12673;:46::i;:::-;12614:105;;;;;;12738:7;12747:15;12764:4;12770:15;12787:4;12793:5;12730:69;;;;;;;;;;;;;;;;;;;12336:471;;;;;;;:::o;1590:136::-;1648:7;1675:43;1679:1;1682;1675:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1668:50;;1590:136;;;;:::o;1403:179::-;1461:7;1481:9;1497:1;1493;:5;;;;:::i;:::-;1481:17;;1522:1;1517;:6;;1509:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1573:1;1566:8;;;1403:179;;;;:::o;11519:212::-;11572:19;11595:10;:8;:10::i;:::-;11572:33;;11616:13;11632:22;11642:11;11632:5;:9;;:22;;;;:::i;:::-;11616:38;;11690:33;11717:5;11690:7;:22;11706:4;11690:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;11665:7;:22;11681:4;11665:22;;;;;;;;;;;;;;;:58;;;;11561:170;;11519:212;:::o;11739:147::-;11817:17;11829:4;11817:7;;:11;;:17;;;;:::i;:::-;11807:7;:27;;;;11858:20;11873:4;11858:10;;:14;;:20;;;;:::i;:::-;11845:10;:33;;;;11739:147;;:::o;12815:351::-;12908:7;12917;12926;12946:12;12961:28;12985:3;12961:19;12973:6;12961:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;12946:43;;13000:13;13016:29;13041:3;13016:20;13028:7;13016;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;13000:45;;13056:23;13082:28;13104:5;13082:17;13094:4;13082:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;13056:54;;13129:15;13146:4;13152:5;13121:37;;;;;;;;;12815:351;;;;;;;:::o;13174:409::-;13284:7;13293;13302;13322:15;13340:24;13352:11;13340:7;:11;;:24;;;;:::i;:::-;13322:42;;13375:12;13390:21;13399:11;13390:4;:8;;:21;;;;:::i;:::-;13375:36;;13422:13;13438:22;13448:11;13438:5;:9;;:22;;;;:::i;:::-;13422:38;;13471:23;13497:28;13519:5;13497:17;13509:4;13497:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;13471:54;;13544:7;13553:15;13570:4;13536:39;;;;;;;;;;13174:409;;;;;;;;:::o;1932:246::-;1990:7;2019:1;2014;:6;2010:47;;2044:1;2037:8;;;;2010:47;2067:9;2083:1;2079;:5;;;;:::i;:::-;2067:17;;2112:1;2107;2103;:5;;;;:::i;:::-;:10;2095:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2169:1;2162:8;;;1932:246;;;;;:::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:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:116::-;4923:21;4938:5;4923:21;:::i;:::-;4916:5;4913:32;4903:60;;4959:1;4956;4949:12;4903:60;4853:116;:::o;4975:133::-;5018:5;5056:6;5043:20;5034:29;;5072:30;5096:5;5072:30;:::i;:::-;4975:133;;;;:::o;5114:323::-;5170:6;5219:2;5207:9;5198:7;5194:23;5190:32;5187:119;;;5225:79;;:::i;:::-;5187:119;5345:1;5370:50;5412:7;5403:6;5392:9;5388:22;5370:50;:::i;:::-;5360:60;;5316:114;5114:323;;;;:::o;5443:329::-;5502:6;5551:2;5539:9;5530:7;5526:23;5522:32;5519:119;;;5557:79;;:::i;:::-;5519:119;5677:1;5702:53;5747:7;5738:6;5727:9;5723:22;5702:53;:::i;:::-;5692:63;;5648:117;5443:329;;;;:::o;5778:::-;5837:6;5886:2;5874:9;5865:7;5861:23;5857:32;5854:119;;;5892:79;;:::i;:::-;5854:119;6012:1;6037:53;6082:7;6073:6;6062:9;6058:22;6037:53;:::i;:::-;6027:63;;5983:117;5778:329;;;;:::o;6113:118::-;6200:24;6218:5;6200:24;:::i;:::-;6195:3;6188:37;6113:118;;:::o;6237:222::-;6330:4;6368:2;6357:9;6353:18;6345:26;;6381:71;6449:1;6438:9;6434:17;6425:6;6381:71;:::i;:::-;6237:222;;;;:::o;6465:474::-;6533:6;6541;6590:2;6578:9;6569:7;6565:23;6561:32;6558:119;;;6596:79;;:::i;:::-;6558:119;6716:1;6741:53;6786:7;6777:6;6766:9;6762:22;6741:53;:::i;:::-;6731:63;;6687:117;6843:2;6869:53;6914:7;6905:6;6894:9;6890:22;6869:53;:::i;:::-;6859:63;;6814:118;6465:474;;;;;:::o;6945:182::-;7085:34;7081:1;7073:6;7069:14;7062:58;6945:182;:::o;7133:366::-;7275:3;7296:67;7360:2;7355:3;7296:67;:::i;:::-;7289:74;;7372:93;7461:3;7372:93;:::i;:::-;7490:2;7485:3;7481:12;7474:19;;7133:366;;;:::o;7505:419::-;7671:4;7709:2;7698:9;7694:18;7686:26;;7758:9;7752:4;7748:20;7744:1;7733:9;7729:17;7722:47;7786:131;7912:4;7786:131;:::i;:::-;7778:139;;7505:419;;;:::o;7930:173::-;8070:25;8066:1;8058:6;8054:14;8047:49;7930:173;:::o;8109:366::-;8251:3;8272:67;8336:2;8331:3;8272:67;:::i;:::-;8265:74;;8348:93;8437:3;8348:93;:::i;:::-;8466:2;8461:3;8457:12;8450:19;;8109:366;;;:::o;8481:419::-;8647:4;8685:2;8674:9;8670:18;8662:26;;8734:9;8728:4;8724:20;8720:1;8709:9;8705:17;8698:47;8762:131;8888:4;8762:131;:::i;:::-;8754:139;;8481:419;;;:::o;8906:143::-;8963:5;8994:6;8988:13;8979:22;;9010:33;9037:5;9010:33;:::i;:::-;8906:143;;;;:::o;9055:351::-;9125:6;9174:2;9162:9;9153:7;9149:23;9145:32;9142:119;;;9180:79;;:::i;:::-;9142:119;9300:1;9325:64;9381:7;9372:6;9361:9;9357:22;9325:64;:::i;:::-;9315:74;;9271:128;9055:351;;;;:::o;9412:332::-;9533:4;9571:2;9560:9;9556:18;9548:26;;9584:71;9652:1;9641:9;9637:17;9628:6;9584:71;:::i;:::-;9665:72;9733:2;9722:9;9718:18;9709:6;9665:72;:::i;:::-;9412:332;;;;;:::o;9750:85::-;9795:7;9824:5;9813:16;;9750:85;;;:::o;9841:60::-;9869:3;9890:5;9883:12;;9841:60;;;:::o;9907:158::-;9965:9;9998:61;10016:42;10025:32;10051:5;10025:32;:::i;:::-;10016:42;:::i;:::-;9998:61;:::i;:::-;9985:74;;9907:158;;;:::o;10071:147::-;10166:45;10205:5;10166:45;:::i;:::-;10161:3;10154:58;10071:147;;:::o;10224:807::-;10473:4;10511:3;10500:9;10496:19;10488:27;;10525:71;10593:1;10582:9;10578:17;10569:6;10525:71;:::i;:::-;10606:72;10674:2;10663:9;10659:18;10650:6;10606:72;:::i;:::-;10688:80;10764:2;10753:9;10749:18;10740:6;10688:80;:::i;:::-;10778;10854:2;10843:9;10839:18;10830:6;10778:80;:::i;:::-;10868:73;10936:3;10925:9;10921:19;10912:6;10868:73;:::i;:::-;10951;11019:3;11008:9;11004:19;10995:6;10951:73;:::i;:::-;10224:807;;;;;;;;;:::o;11037:143::-;11094:5;11125:6;11119:13;11110:22;;11141:33;11168:5;11141:33;:::i;:::-;11037:143;;;;:::o;11186:663::-;11274:6;11282;11290;11339:2;11327:9;11318:7;11314:23;11310:32;11307:119;;;11345:79;;:::i;:::-;11307:119;11465:1;11490:64;11546:7;11537:6;11526:9;11522:22;11490:64;:::i;:::-;11480:74;;11436:128;11603:2;11629:64;11685:7;11676:6;11665:9;11661:22;11629:64;:::i;:::-;11619:74;;11574:129;11742:2;11768:64;11824:7;11815:6;11804:9;11800:22;11768:64;:::i;:::-;11758:74;;11713:129;11186:663;;;;;:::o;11855:332::-;11976:4;12014:2;12003:9;11999:18;11991:26;;12027:71;12095:1;12084:9;12080:17;12071:6;12027:71;:::i;:::-;12108:72;12176:2;12165:9;12161:18;12152:6;12108:72;:::i;:::-;11855:332;;;;;:::o;12193:137::-;12247:5;12278:6;12272:13;12263:22;;12294:30;12318:5;12294:30;:::i;:::-;12193:137;;;;:::o;12336:345::-;12403:6;12452:2;12440:9;12431:7;12427:23;12423:32;12420:119;;;12458:79;;:::i;:::-;12420:119;12578:1;12603:61;12656:7;12647:6;12636:9;12632:22;12603:61;:::i;:::-;12593:71;;12549:125;12336:345;;;;:::o;12687:223::-;12827:34;12823:1;12815:6;12811:14;12804:58;12896:6;12891:2;12883:6;12879:15;12872:31;12687:223;:::o;12916:366::-;13058:3;13079:67;13143:2;13138:3;13079:67;:::i;:::-;13072:74;;13155:93;13244:3;13155:93;:::i;:::-;13273:2;13268:3;13264:12;13257:19;;12916:366;;;:::o;13288:419::-;13454:4;13492:2;13481:9;13477:18;13469:26;;13541:9;13535:4;13531:20;13527:1;13516:9;13512:17;13505:47;13569:131;13695:4;13569:131;:::i;:::-;13561:139;;13288:419;;;:::o;13713:221::-;13853:34;13849:1;13841:6;13837:14;13830:58;13922:4;13917:2;13909:6;13905:15;13898:29;13713:221;:::o;13940:366::-;14082:3;14103:67;14167:2;14162:3;14103:67;:::i;:::-;14096:74;;14179:93;14268:3;14179:93;:::i;:::-;14297:2;14292:3;14288:12;14281:19;;13940:366;;;:::o;14312:419::-;14478:4;14516:2;14505:9;14501:18;14493:26;;14565:9;14559:4;14555:20;14551:1;14540:9;14536:17;14529:47;14593:131;14719:4;14593:131;:::i;:::-;14585:139;;14312:419;;;:::o;14737:224::-;14877:34;14873:1;14865:6;14861:14;14854:58;14946:7;14941:2;14933:6;14929:15;14922:32;14737:224;:::o;14967:366::-;15109:3;15130:67;15194:2;15189:3;15130:67;:::i;:::-;15123:74;;15206:93;15295:3;15206:93;:::i;:::-;15324:2;15319:3;15315:12;15308:19;;14967:366;;;:::o;15339:419::-;15505:4;15543:2;15532:9;15528:18;15520:26;;15592:9;15586:4;15582:20;15578:1;15567:9;15563:17;15556:47;15620:131;15746:4;15620:131;:::i;:::-;15612:139;;15339:419;;;:::o;15764:222::-;15904:34;15900:1;15892:6;15888:14;15881:58;15973:5;15968:2;15960:6;15956:15;15949:30;15764:222;:::o;15992:366::-;16134:3;16155:67;16219:2;16214:3;16155:67;:::i;:::-;16148:74;;16231:93;16320:3;16231:93;:::i;:::-;16349:2;16344:3;16340:12;16333:19;;15992:366;;;:::o;16364:419::-;16530:4;16568:2;16557:9;16553:18;16545:26;;16617:9;16611:4;16607:20;16603:1;16592:9;16588:17;16581:47;16645:131;16771:4;16645:131;:::i;:::-;16637:139;;16364:419;;;:::o;16789:228::-;16929:34;16925:1;16917:6;16913:14;16906:58;16998:11;16993:2;16985:6;16981:15;16974:36;16789:228;:::o;17023:366::-;17165:3;17186:67;17250:2;17245:3;17186:67;:::i;:::-;17179:74;;17262:93;17351:3;17262:93;:::i;:::-;17380:2;17375:3;17371:12;17364:19;;17023:366;;;:::o;17395:419::-;17561:4;17599:2;17588:9;17584:18;17576:26;;17648:9;17642:4;17638:20;17634:1;17623:9;17619:17;17612:47;17676:131;17802:4;17676:131;:::i;:::-;17668:139;;17395:419;;;:::o;17820:175::-;17960:27;17956:1;17948:6;17944:14;17937:51;17820:175;:::o;18001:366::-;18143:3;18164:67;18228:2;18223:3;18164:67;:::i;:::-;18157:74;;18240:93;18329:3;18240:93;:::i;:::-;18358:2;18353:3;18349:12;18342:19;;18001:366;;;:::o;18373:419::-;18539:4;18577:2;18566:9;18562:18;18554:26;;18626:9;18620:4;18616:20;18612:1;18601:9;18597:17;18590:47;18654:131;18780:4;18654:131;:::i;:::-;18646:139;;18373:419;;;:::o;18798:180::-;18846:77;18843:1;18836:88;18943:4;18940:1;18933:15;18967:4;18964:1;18957:15;18984:191;19024:3;19043:20;19061:1;19043:20;:::i;:::-;19038:25;;19077:20;19095:1;19077:20;:::i;:::-;19072:25;;19120:1;19117;19113:9;19106:16;;19141:3;19138:1;19135:10;19132:36;;;19148:18;;:::i;:::-;19132:36;18984:191;;;;:::o;19181:176::-;19321:28;19317:1;19309:6;19305:14;19298:52;19181:176;:::o;19363:366::-;19505:3;19526:67;19590:2;19585:3;19526:67;:::i;:::-;19519:74;;19602:93;19691:3;19602:93;:::i;:::-;19720:2;19715:3;19711:12;19704:19;;19363:366;;;:::o;19735:419::-;19901:4;19939:2;19928:9;19924:18;19916:26;;19988:9;19982:4;19978:20;19974:1;19963:9;19959:17;19952:47;20016:131;20142:4;20016:131;:::i;:::-;20008:139;;19735:419;;;:::o;20160:194::-;20200:4;20220:20;20238:1;20220:20;:::i;:::-;20215:25;;20254:20;20272:1;20254:20;:::i;:::-;20249:25;;20298:1;20295;20291:9;20283:17;;20322:1;20316:4;20313:11;20310:37;;;20327:18;;:::i;:::-;20310:37;20160:194;;;;:::o;20360:229::-;20500:34;20496:1;20488:6;20484:14;20477:58;20569:12;20564:2;20556:6;20552:15;20545:37;20360:229;:::o;20595:366::-;20737:3;20758:67;20822:2;20817:3;20758:67;:::i;:::-;20751:74;;20834:93;20923:3;20834:93;:::i;:::-;20952:2;20947:3;20943:12;20936:19;;20595:366;;;:::o;20967:419::-;21133:4;21171:2;21160:9;21156:18;21148:26;;21220:9;21214:4;21210:20;21206:1;21195:9;21191:17;21184:47;21248:131;21374:4;21248:131;:::i;:::-;21240:139;;20967:419;;;:::o;21392:180::-;21440:77;21437:1;21430:88;21537:4;21534:1;21527:15;21561:4;21558:1;21551:15;21578:180;21626:77;21623:1;21616:88;21723:4;21720:1;21713:15;21747:4;21744:1;21737:15;21764:114;21831:6;21865:5;21859:12;21849:22;;21764:114;;;:::o;21884:184::-;21983:11;22017:6;22012:3;22005:19;22057:4;22052:3;22048:14;22033:29;;21884:184;;;;:::o;22074:132::-;22141:4;22164:3;22156:11;;22194:4;22189:3;22185:14;22177:22;;22074:132;;;:::o;22212:108::-;22289:24;22307:5;22289:24;:::i;:::-;22284:3;22277:37;22212:108;;:::o;22326:179::-;22395:10;22416:46;22458:3;22450:6;22416:46;:::i;:::-;22494:4;22489:3;22485:14;22471:28;;22326:179;;;;:::o;22511:113::-;22581:4;22613;22608:3;22604:14;22596:22;;22511:113;;;:::o;22660:732::-;22779:3;22808:54;22856:5;22808:54;:::i;:::-;22878:86;22957:6;22952:3;22878:86;:::i;:::-;22871:93;;22988:56;23038:5;22988:56;:::i;:::-;23067:7;23098:1;23083:284;23108:6;23105:1;23102:13;23083:284;;;23184:6;23178:13;23211:63;23270:3;23255:13;23211:63;:::i;:::-;23204:70;;23297:60;23350:6;23297:60;:::i;:::-;23287:70;;23143:224;23130:1;23127;23123:9;23118:14;;23083:284;;;23087:14;23383:3;23376:10;;22784:608;;;22660:732;;;;:::o;23398:831::-;23661:4;23699:3;23688:9;23684:19;23676:27;;23713:71;23781:1;23770:9;23766:17;23757:6;23713:71;:::i;:::-;23794:80;23870:2;23859:9;23855:18;23846:6;23794:80;:::i;:::-;23921:9;23915:4;23911:20;23906:2;23895:9;23891:18;23884:48;23949:108;24052:4;24043:6;23949:108;:::i;:::-;23941:116;;24067:72;24135:2;24124:9;24120:18;24111:6;24067:72;:::i;:::-;24149:73;24217:3;24206:9;24202:19;24193:6;24149:73;:::i;:::-;23398:831;;;;;;;;:::o;24235:180::-;24283:77;24280:1;24273:88;24380:4;24377:1;24370:15;24404:4;24401:1;24394:15;24421:185;24461:1;24478:20;24496:1;24478:20;:::i;:::-;24473:25;;24512:20;24530:1;24512:20;:::i;:::-;24507:25;;24551:1;24541:35;;24556:18;;:::i;:::-;24541:35;24598:1;24595;24591:9;24586:14;;24421:185;;;;:::o;24612:177::-;24752:29;24748:1;24740:6;24736:14;24729:53;24612:177;:::o;24795:366::-;24937:3;24958:67;25022:2;25017:3;24958:67;:::i;:::-;24951:74;;25034:93;25123:3;25034:93;:::i;:::-;25152:2;25147:3;25143:12;25136:19;;24795:366;;;:::o;25167:419::-;25333:4;25371:2;25360:9;25356:18;25348:26;;25420:9;25414:4;25410:20;25406:1;25395:9;25391:17;25384:47;25448:131;25574:4;25448:131;:::i;:::-;25440:139;;25167:419;;;:::o;25592:410::-;25632:7;25655:20;25673:1;25655:20;:::i;:::-;25650:25;;25689:20;25707:1;25689:20;:::i;:::-;25684:25;;25744:1;25741;25737:9;25766:30;25784:11;25766:30;:::i;:::-;25755:41;;25945:1;25936:7;25932:15;25929:1;25926:22;25906:1;25899:9;25879:83;25856:139;;25975:18;;:::i;:::-;25856:139;25640:362;25592:410;;;;:::o;26008:220::-;26148:34;26144:1;26136:6;26132:14;26125:58;26217:3;26212:2;26204:6;26200:15;26193:28;26008:220;:::o;26234:366::-;26376:3;26397:67;26461:2;26456:3;26397:67;:::i;:::-;26390:74;;26473:93;26562:3;26473:93;:::i;:::-;26591:2;26586:3;26582:12;26575:19;;26234:366;;;:::o;26606:419::-;26772:4;26810:2;26799:9;26795:18;26787:26;;26859:9;26853:4;26849:20;26845:1;26834:9;26830:17;26823:47;26887:131;27013:4;26887:131;:::i;:::-;26879:139;;26606:419;;;:::o

Swarm Source

ipfs://37da981373b47b5218cb8943a0b31e47d790014be19d479692d600137d8937a5
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.