ETH Price: $3,594.01 (+0.85%)
Gas: 4 Gwei

Token

MollarsToken (MOLLARS)
 

Overview

Max Total Supply

10,000,000 MOLLARS

Holders

1,144 ( 0.437%)

Total Transfers

-

Market

Price

$0.28 @ 0.000078 ETH (-8.42%)

Onchain Market Cap

$2,810,760.00

Circulating Supply Market Cap

$1,937,055.00

Other Info

Token Contract (WITH 9 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

The Mollars token is a hybrid cryptocurrency on Ethereum. It is a store-of-value token with a DEX utility to propel its acceptance.

Market

Volume (24H):$67,887.00
Market Capitalization:$1,937,055.00
Circulating Supply:6,962,932.00 MOLLARS
Market Data Source: Coinmarketcap

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
MOLLARS

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-05-20
*/

/*
 /$$      /$$  /$$$$$$  /$$       /$$        /$$$$$$  /$$$$$$$   /$$$$$$ 
| $$$    /$$$ /$$__  $$| $$      | $$       /$$__  $$| $$__  $$ /$$__  $$
| $$$$  /$$$$| $$  \ $$| $$      | $$      | $$  \ $$| $$  \ $$| $$  \__/
| $$ $$/$$ $$| $$  | $$| $$      | $$      | $$$$$$$$| $$$$$$$/|  $$$$$$ 
| $$  $$$| $$| $$  | $$| $$      | $$      | $$__  $$| $$__  $$ \____  $$
| $$\  $ | $$| $$  | $$| $$      | $$      | $$  | $$| $$  \ $$ /$$  \ $$
| $$ \/  | $$|  $$$$$$/| $$$$$$$$| $$$$$$$$| $$  | $$| $$  | $$|  $$$$$$/
|__/     |__/ \______/ |________/|________/|__/  |__/|__/  |__/ \______/ 
*/

// SPDX-License-Identifier: MIT

pragma solidity 0.8.17;

library SafeMath {
    function tryAdd(uint256 a, uint256 b)
        internal
        pure
        returns (bool, uint256)
    {
        unchecked {
            uint256 c = a + b;
            if (c < a) return (false, 0);
            return (true, c);
        }
    }

    function trySub(uint256 a, uint256 b)
        internal
        pure
        returns (bool, uint256)
    {
        unchecked {
            if (b > a) return (false, 0);
            return (true, a - b);
        }
    }

    function tryMul(uint256 a, uint256 b)
        internal
        pure
        returns (bool, uint256)
    {
        unchecked {
            // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
            // benefit is lost if 'b' is also tested.
            // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
            if (a == 0) return (true, 0);
            uint256 c = a * b;
            if (c / a != b) return (false, 0);
            return (true, c);
        }
    }

    function tryDiv(uint256 a, uint256 b)
        internal
        pure
        returns (bool, uint256)
    {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a / b);
        }
    }

    function tryMod(uint256 a, uint256 b)
        internal
        pure
        returns (bool, uint256)
    {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a % b);
        }
    }

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return a % b;
    }

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

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

    function mod(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a % b;
        }
    }
}

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

interface IDexRouter {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

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

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

interface IERC20Extended {
    function totalSupply() external view returns (uint256);

    function decimals() external view returns (uint8);

    function symbol() external view returns (string memory);

    function name() external view returns (string memory);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address recipient, uint256 amount)
        external
        returns (bool);

    function allowance(address _owner, address spender)
        external
        view
        returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

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

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

contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

    constructor() {
        _owner = _msgSender();
        emit OwnershipTransferred(address(0), _owner);
    }

    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 = payable(address(0));
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(
            newOwner != address(0),
            "Ownable: new owner is the zero address"
        );
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

// main contract
contract MOLLARS is IERC20Extended, Ownable {
    using SafeMath for uint256;

    string private constant _name = "MollarsToken";
    string private constant _symbol = "MOLLARS";
    uint8 private constant _decimals = 9;
    uint256 private constant _totalSupply = 10_000_000 * 10**_decimals;
    IDexRouter public router;
    address public pair;

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

    constructor() Ownable() {
        _allowances[address(this)][address(router)] = _totalSupply;
        _allowances[address(this)][address(pair)] = _totalSupply;

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

    receive() external payable {}

    function totalSupply() external pure override returns (uint256) {
        return _totalSupply;
    }

    function decimals() external pure override returns (uint8) {
        return _decimals;
    }

    function symbol() external pure override returns (string memory) {
        return _symbol;
    }

    function name() external pure override returns (string memory) {
        return _name;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }

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

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

    function approveMax(address spender) external returns (bool) {
        return approve(spender, _totalSupply);
    }

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

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

    function _transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) internal returns (bool) {
        // trading disable till launch
        if (tx.origin != owner()) {
            if (!trading) {
                require(
                    pair != sender && pair != recipient,
                    "Trading is disable"
                );
            }
        }

        _balances[sender] = _balances[sender].sub(
            amount,
            "Insufficient Balance"
        );
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function addLp(address _router) external payable onlyOwner {
        router = IDexRouter(_router);
        pair = IDexFactory(router.factory()).createPair(
            address(this),
            router.WETH()
        );
        _allowances[address(this)][address(router)] = _totalSupply;
        router.addLiquidityETH{value: msg.value}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );
        IERC20Extended(pair).approve(address(router), type(uint256).max);
    }

    function enableTrading() external onlyOwner {
        require(!trading, "Already enabled");
        trading = true;
    }

    function removeStuckEth(uint256 amount) external onlyOwner {
        payable(owner()).transfer(amount);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"_router","type":"address"}],"name":"addLp","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"removeStuckEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDexRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"trading","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040523480156200001157600080fd5b50620000226200035060201b60201c565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36009600a620000ec9190620004f2565b62989680620000fc919062000543565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506009600a620001ae9190620004f2565b62989680620001be919062000543565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506009600a620002709190620004f2565b6298968062000280919062000543565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a620003239190620004f2565b6298968062000333919062000543565b6040516200034291906200059f565b60405180910390a3620005bc565b600033905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620003e657808604811115620003be57620003bd62000358565b5b6001851615620003ce5780820291505b8081029050620003de8562000387565b94506200039e565b94509492505050565b600082620004015760019050620004d4565b81620004115760009050620004d4565b81600181146200042a576002811462000435576200046b565b6001915050620004d4565b60ff8411156200044a576200044962000358565b5b8360020a91508482111562000464576200046362000358565b5b50620004d4565b5060208310610133831016604e8410600b8410161715620004a55782820a9050838111156200049f576200049e62000358565b5b620004d4565b620004b4848484600162000394565b92509050818404811115620004ce57620004cd62000358565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620004ff82620004db565b91506200050c83620004e5565b92506200053b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620003ef565b905092915050565b60006200055082620004db565b91506200055d83620004db565b92508282026200056d81620004db565b9150828204841483151762000587576200058662000358565b5b5092915050565b6200059981620004db565b82525050565b6000602082019050620005b660008301846200058e565b92915050565b61211880620005cc6000396000f3fe6080604052600436106101185760003560e01c8063893c9f2b116100a0578063a9059cbb11610064578063a9059cbb1461038d578063dd62ed3e146103ca578063ec44acf214610407578063f2fde38b14610432578063f887ea401461045b5761011f565b8063893c9f2b146102cc5780638a8c523c146102f55780638da5cb5b1461030c57806395d89b4114610337578063a8aa1b31146103625761011f565b806323b872dd116100e757806323b872dd146101d3578063313ce56714610210578063571ac8b01461023b57806370a0823114610278578063715018a6146102b55761011f565b806306f200031461012457806306fdde0314610140578063095ea7b31461016b57806318160ddd146101a85761011f565b3661011f57005b600080fd5b61013e600480360381019061013991906117a8565b610486565b005b34801561014c57600080fd5b5061015561099a565b6040516101629190611865565b60405180910390f35b34801561017757600080fd5b50610192600480360381019061018d91906118bd565b6109d7565b60405161019f9190611918565b60405180910390f35b3480156101b457600080fd5b506101bd610ac9565b6040516101ca9190611942565b60405180910390f35b3480156101df57600080fd5b506101fa60048036038101906101f5919061195d565b610aec565b6040516102079190611918565b60405180910390f35b34801561021c57600080fd5b50610225610ce7565b60405161023291906119cc565b60405180910390f35b34801561024757600080fd5b50610262600480360381019061025d91906117a8565b610cf0565b60405161026f9190611918565b60405180910390f35b34801561028457600080fd5b5061029f600480360381019061029a91906117a8565b610d1e565b6040516102ac9190611942565b60405180910390f35b3480156102c157600080fd5b506102ca610d67565b005b3480156102d857600080fd5b506102f360048036038101906102ee91906119e7565b610eba565b005b34801561030157600080fd5b5061030a610fa0565b005b34801561031857600080fd5b506103216110a2565b60405161032e9190611a23565b60405180910390f35b34801561034357600080fd5b5061034c6110cb565b6040516103599190611865565b60405180910390f35b34801561036e57600080fd5b50610377611108565b6040516103849190611a23565b60405180910390f35b34801561039957600080fd5b506103b460048036038101906103af91906118bd565b61112e565b6040516103c19190611918565b60405180910390f35b3480156103d657600080fd5b506103f160048036038101906103ec9190611a3e565b611143565b6040516103fe9190611942565b60405180910390f35b34801561041357600080fd5b5061041c6111ca565b6040516104299190611918565b60405180910390f35b34801561043e57600080fd5b50610459600480360381019061045491906117a8565b6111dd565b005b34801561046757600080fd5b5061047061139e565b60405161047d9190611add565b60405180910390f35b61048e6113c4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461051b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161051290611b44565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ed9190611b79565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610676573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061069a9190611b79565b6040518363ffffffff1660e01b81526004016106b7929190611ba6565b6020604051808303816000875af11580156106d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106fa9190611b79565b600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a6107489190611d31565b629896806107569190611d7c565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719343061084130610d1e565b60008061084c6110a2565b426040518863ffffffff1660e01b815260040161086e96959493929190611df9565b60606040518083038185885af115801561088c573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906108b19190611e6f565b505050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610953929190611ec2565b6020604051808303816000875af1158015610972573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109969190611f17565b5050565b60606040518060400160405280600c81526020017f4d6f6c6c617273546f6b656e0000000000000000000000000000000000000000815250905090565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610ab79190611942565b60405180910390a36001905092915050565b60006009600a610ad99190611d31565b62989680610ae79190611d7c565b905090565b60006009600a610afc9190611d31565b62989680610b0a9190611d7c565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610cd357610c52826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113cc9092919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610cde848484611421565b90509392505050565b60006009905090565b6000610d17826009600a610d049190611d31565b62989680610d129190611d7c565b6109d7565b9050919050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610d6f6113c4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dfc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df390611b44565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610ec26113c4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4690611b44565b60405180910390fd5b610f576110a2565b73ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610f9c573d6000803e3d6000fd5b5050565b610fa86113c4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611035576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102c90611b44565b60405180910390fd5b600560009054906101000a900460ff1615611085576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107c90611f90565b60405180910390fd5b6001600560006101000a81548160ff021916908315150217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600781526020017f4d4f4c4c41525300000000000000000000000000000000000000000000000000815250905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061113b338484611421565b905092915050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600560009054906101000a900460ff1681565b6111e56113c4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611272576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126990611b44565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036112e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d890612022565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600033905090565b6000838311158290611414576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140b9190611865565b60405180910390fd5b5082840390509392505050565b600061142b6110a2565b73ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff161461155e57600560009054906101000a900460ff1661155d578373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415801561151d57508273ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b61155c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115539061208e565b60405180910390fd5b5b5b6115e7826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113cc9092919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061167c82600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461172f90919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161171c9190611942565b60405180910390a3600190509392505050565b6000818361173d91906120ae565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006117758261174a565b9050919050565b6117858161176a565b811461179057600080fd5b50565b6000813590506117a28161177c565b92915050565b6000602082840312156117be576117bd611745565b5b60006117cc84828501611793565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561180f5780820151818401526020810190506117f4565b60008484015250505050565b6000601f19601f8301169050919050565b6000611837826117d5565b61184181856117e0565b93506118518185602086016117f1565b61185a8161181b565b840191505092915050565b6000602082019050818103600083015261187f818461182c565b905092915050565b6000819050919050565b61189a81611887565b81146118a557600080fd5b50565b6000813590506118b781611891565b92915050565b600080604083850312156118d4576118d3611745565b5b60006118e285828601611793565b92505060206118f3858286016118a8565b9150509250929050565b60008115159050919050565b611912816118fd565b82525050565b600060208201905061192d6000830184611909565b92915050565b61193c81611887565b82525050565b60006020820190506119576000830184611933565b92915050565b60008060006060848603121561197657611975611745565b5b600061198486828701611793565b935050602061199586828701611793565b92505060406119a6868287016118a8565b9150509250925092565b600060ff82169050919050565b6119c6816119b0565b82525050565b60006020820190506119e160008301846119bd565b92915050565b6000602082840312156119fd576119fc611745565b5b6000611a0b848285016118a8565b91505092915050565b611a1d8161176a565b82525050565b6000602082019050611a386000830184611a14565b92915050565b60008060408385031215611a5557611a54611745565b5b6000611a6385828601611793565b9250506020611a7485828601611793565b9150509250929050565b6000819050919050565b6000611aa3611a9e611a998461174a565b611a7e565b61174a565b9050919050565b6000611ab582611a88565b9050919050565b6000611ac782611aaa565b9050919050565b611ad781611abc565b82525050565b6000602082019050611af26000830184611ace565b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611b2e6020836117e0565b9150611b3982611af8565b602082019050919050565b60006020820190508181036000830152611b5d81611b21565b9050919050565b600081519050611b738161177c565b92915050565b600060208284031215611b8f57611b8e611745565b5b6000611b9d84828501611b64565b91505092915050565b6000604082019050611bbb6000830185611a14565b611bc86020830184611a14565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115611c5557808604811115611c3157611c30611bcf565b5b6001851615611c405780820291505b8081029050611c4e85611bfe565b9450611c15565b94509492505050565b600082611c6e5760019050611d2a565b81611c7c5760009050611d2a565b8160018114611c925760028114611c9c57611ccb565b6001915050611d2a565b60ff841115611cae57611cad611bcf565b5b8360020a915084821115611cc557611cc4611bcf565b5b50611d2a565b5060208310610133831016604e8410600b8410161715611d005782820a905083811115611cfb57611cfa611bcf565b5b611d2a565b611d0d8484846001611c0b565b92509050818404811115611d2457611d23611bcf565b5b81810290505b9392505050565b6000611d3c82611887565b9150611d47836119b0565b9250611d747fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611c5e565b905092915050565b6000611d8782611887565b9150611d9283611887565b9250828202611da081611887565b91508282048414831517611db757611db6611bcf565b5b5092915050565b6000819050919050565b6000611de3611dde611dd984611dbe565b611a7e565b611887565b9050919050565b611df381611dc8565b82525050565b600060c082019050611e0e6000830189611a14565b611e1b6020830188611933565b611e286040830187611dea565b611e356060830186611dea565b611e426080830185611a14565b611e4f60a0830184611933565b979650505050505050565b600081519050611e6981611891565b92915050565b600080600060608486031215611e8857611e87611745565b5b6000611e9686828701611e5a565b9350506020611ea786828701611e5a565b9250506040611eb886828701611e5a565b9150509250925092565b6000604082019050611ed76000830185611a14565b611ee46020830184611933565b9392505050565b611ef4816118fd565b8114611eff57600080fd5b50565b600081519050611f1181611eeb565b92915050565b600060208284031215611f2d57611f2c611745565b5b6000611f3b84828501611f02565b91505092915050565b7f416c726561647920656e61626c65640000000000000000000000000000000000600082015250565b6000611f7a600f836117e0565b9150611f8582611f44565b602082019050919050565b60006020820190508181036000830152611fa981611f6d565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061200c6026836117e0565b915061201782611fb0565b604082019050919050565b6000602082019050818103600083015261203b81611fff565b9050919050565b7f54726164696e672069732064697361626c650000000000000000000000000000600082015250565b60006120786012836117e0565b915061208382612042565b602082019050919050565b600060208201905081810360008301526120a78161206b565b9050919050565b60006120b982611887565b91506120c483611887565b92508282019050808211156120dc576120db611bcf565b5b9291505056fea26469706673582212201e485921986daad33b319c17085b78fe9796792a6a554be2d2e1dd453b33ac5c64736f6c63430008110033

Deployed Bytecode

0x6080604052600436106101185760003560e01c8063893c9f2b116100a0578063a9059cbb11610064578063a9059cbb1461038d578063dd62ed3e146103ca578063ec44acf214610407578063f2fde38b14610432578063f887ea401461045b5761011f565b8063893c9f2b146102cc5780638a8c523c146102f55780638da5cb5b1461030c57806395d89b4114610337578063a8aa1b31146103625761011f565b806323b872dd116100e757806323b872dd146101d3578063313ce56714610210578063571ac8b01461023b57806370a0823114610278578063715018a6146102b55761011f565b806306f200031461012457806306fdde0314610140578063095ea7b31461016b57806318160ddd146101a85761011f565b3661011f57005b600080fd5b61013e600480360381019061013991906117a8565b610486565b005b34801561014c57600080fd5b5061015561099a565b6040516101629190611865565b60405180910390f35b34801561017757600080fd5b50610192600480360381019061018d91906118bd565b6109d7565b60405161019f9190611918565b60405180910390f35b3480156101b457600080fd5b506101bd610ac9565b6040516101ca9190611942565b60405180910390f35b3480156101df57600080fd5b506101fa60048036038101906101f5919061195d565b610aec565b6040516102079190611918565b60405180910390f35b34801561021c57600080fd5b50610225610ce7565b60405161023291906119cc565b60405180910390f35b34801561024757600080fd5b50610262600480360381019061025d91906117a8565b610cf0565b60405161026f9190611918565b60405180910390f35b34801561028457600080fd5b5061029f600480360381019061029a91906117a8565b610d1e565b6040516102ac9190611942565b60405180910390f35b3480156102c157600080fd5b506102ca610d67565b005b3480156102d857600080fd5b506102f360048036038101906102ee91906119e7565b610eba565b005b34801561030157600080fd5b5061030a610fa0565b005b34801561031857600080fd5b506103216110a2565b60405161032e9190611a23565b60405180910390f35b34801561034357600080fd5b5061034c6110cb565b6040516103599190611865565b60405180910390f35b34801561036e57600080fd5b50610377611108565b6040516103849190611a23565b60405180910390f35b34801561039957600080fd5b506103b460048036038101906103af91906118bd565b61112e565b6040516103c19190611918565b60405180910390f35b3480156103d657600080fd5b506103f160048036038101906103ec9190611a3e565b611143565b6040516103fe9190611942565b60405180910390f35b34801561041357600080fd5b5061041c6111ca565b6040516104299190611918565b60405180910390f35b34801561043e57600080fd5b50610459600480360381019061045491906117a8565b6111dd565b005b34801561046757600080fd5b5061047061139e565b60405161047d9190611add565b60405180910390f35b61048e6113c4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461051b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161051290611b44565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ed9190611b79565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610676573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061069a9190611b79565b6040518363ffffffff1660e01b81526004016106b7929190611ba6565b6020604051808303816000875af11580156106d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106fa9190611b79565b600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a6107489190611d31565b629896806107569190611d7c565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719343061084130610d1e565b60008061084c6110a2565b426040518863ffffffff1660e01b815260040161086e96959493929190611df9565b60606040518083038185885af115801561088c573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906108b19190611e6f565b505050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610953929190611ec2565b6020604051808303816000875af1158015610972573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109969190611f17565b5050565b60606040518060400160405280600c81526020017f4d6f6c6c617273546f6b656e0000000000000000000000000000000000000000815250905090565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610ab79190611942565b60405180910390a36001905092915050565b60006009600a610ad99190611d31565b62989680610ae79190611d7c565b905090565b60006009600a610afc9190611d31565b62989680610b0a9190611d7c565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610cd357610c52826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113cc9092919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610cde848484611421565b90509392505050565b60006009905090565b6000610d17826009600a610d049190611d31565b62989680610d129190611d7c565b6109d7565b9050919050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610d6f6113c4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dfc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df390611b44565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610ec26113c4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4690611b44565b60405180910390fd5b610f576110a2565b73ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610f9c573d6000803e3d6000fd5b5050565b610fa86113c4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611035576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102c90611b44565b60405180910390fd5b600560009054906101000a900460ff1615611085576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107c90611f90565b60405180910390fd5b6001600560006101000a81548160ff021916908315150217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600781526020017f4d4f4c4c41525300000000000000000000000000000000000000000000000000815250905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061113b338484611421565b905092915050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600560009054906101000a900460ff1681565b6111e56113c4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611272576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126990611b44565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036112e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d890612022565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600033905090565b6000838311158290611414576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140b9190611865565b60405180910390fd5b5082840390509392505050565b600061142b6110a2565b73ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff161461155e57600560009054906101000a900460ff1661155d578373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415801561151d57508273ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b61155c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115539061208e565b60405180910390fd5b5b5b6115e7826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113cc9092919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061167c82600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461172f90919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161171c9190611942565b60405180910390a3600190509392505050565b6000818361173d91906120ae565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006117758261174a565b9050919050565b6117858161176a565b811461179057600080fd5b50565b6000813590506117a28161177c565b92915050565b6000602082840312156117be576117bd611745565b5b60006117cc84828501611793565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561180f5780820151818401526020810190506117f4565b60008484015250505050565b6000601f19601f8301169050919050565b6000611837826117d5565b61184181856117e0565b93506118518185602086016117f1565b61185a8161181b565b840191505092915050565b6000602082019050818103600083015261187f818461182c565b905092915050565b6000819050919050565b61189a81611887565b81146118a557600080fd5b50565b6000813590506118b781611891565b92915050565b600080604083850312156118d4576118d3611745565b5b60006118e285828601611793565b92505060206118f3858286016118a8565b9150509250929050565b60008115159050919050565b611912816118fd565b82525050565b600060208201905061192d6000830184611909565b92915050565b61193c81611887565b82525050565b60006020820190506119576000830184611933565b92915050565b60008060006060848603121561197657611975611745565b5b600061198486828701611793565b935050602061199586828701611793565b92505060406119a6868287016118a8565b9150509250925092565b600060ff82169050919050565b6119c6816119b0565b82525050565b60006020820190506119e160008301846119bd565b92915050565b6000602082840312156119fd576119fc611745565b5b6000611a0b848285016118a8565b91505092915050565b611a1d8161176a565b82525050565b6000602082019050611a386000830184611a14565b92915050565b60008060408385031215611a5557611a54611745565b5b6000611a6385828601611793565b9250506020611a7485828601611793565b9150509250929050565b6000819050919050565b6000611aa3611a9e611a998461174a565b611a7e565b61174a565b9050919050565b6000611ab582611a88565b9050919050565b6000611ac782611aaa565b9050919050565b611ad781611abc565b82525050565b6000602082019050611af26000830184611ace565b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611b2e6020836117e0565b9150611b3982611af8565b602082019050919050565b60006020820190508181036000830152611b5d81611b21565b9050919050565b600081519050611b738161177c565b92915050565b600060208284031215611b8f57611b8e611745565b5b6000611b9d84828501611b64565b91505092915050565b6000604082019050611bbb6000830185611a14565b611bc86020830184611a14565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115611c5557808604811115611c3157611c30611bcf565b5b6001851615611c405780820291505b8081029050611c4e85611bfe565b9450611c15565b94509492505050565b600082611c6e5760019050611d2a565b81611c7c5760009050611d2a565b8160018114611c925760028114611c9c57611ccb565b6001915050611d2a565b60ff841115611cae57611cad611bcf565b5b8360020a915084821115611cc557611cc4611bcf565b5b50611d2a565b5060208310610133831016604e8410600b8410161715611d005782820a905083811115611cfb57611cfa611bcf565b5b611d2a565b611d0d8484846001611c0b565b92509050818404811115611d2457611d23611bcf565b5b81810290505b9392505050565b6000611d3c82611887565b9150611d47836119b0565b9250611d747fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611c5e565b905092915050565b6000611d8782611887565b9150611d9283611887565b9250828202611da081611887565b91508282048414831517611db757611db6611bcf565b5b5092915050565b6000819050919050565b6000611de3611dde611dd984611dbe565b611a7e565b611887565b9050919050565b611df381611dc8565b82525050565b600060c082019050611e0e6000830189611a14565b611e1b6020830188611933565b611e286040830187611dea565b611e356060830186611dea565b611e426080830185611a14565b611e4f60a0830184611933565b979650505050505050565b600081519050611e6981611891565b92915050565b600080600060608486031215611e8857611e87611745565b5b6000611e9686828701611e5a565b9350506020611ea786828701611e5a565b9250506040611eb886828701611e5a565b9150509250925092565b6000604082019050611ed76000830185611a14565b611ee46020830184611933565b9392505050565b611ef4816118fd565b8114611eff57600080fd5b50565b600081519050611f1181611eeb565b92915050565b600060208284031215611f2d57611f2c611745565b5b6000611f3b84828501611f02565b91505092915050565b7f416c726561647920656e61626c65640000000000000000000000000000000000600082015250565b6000611f7a600f836117e0565b9150611f8582611f44565b602082019050919050565b60006020820190508181036000830152611fa981611f6d565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061200c6026836117e0565b915061201782611fb0565b604082019050919050565b6000602082019050818103600083015261203b81611fff565b9050919050565b7f54726164696e672069732064697361626c650000000000000000000000000000600082015250565b60006120786012836117e0565b915061208382612042565b602082019050919050565b600060208201905081810360008301526120a78161206b565b9050919050565b60006120b982611887565b91506120c483611887565b92508282019050808211156120dc576120db611bcf565b5b9291505056fea26469706673582212201e485921986daad33b319c17085b78fe9796792a6a554be2d2e1dd453b33ac5c64736f6c63430008110033

Deployed Bytecode Sourcemap

6803:4117:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10078:588;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7963:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8388:248;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7645:102;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8965:417;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7755:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8644:117;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8065:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6332:157;;;;;;;;;;;;;:::i;:::-;;10806:111;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10674:124;;;;;;;;;;;;;:::i;:::-;;6118:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7857:98;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7139:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8769:188;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8192;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7293:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6497:281;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7108:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10078:588;6255:12;:10;:12::i;:::-;6245:22;;:6;;;;;;;;;;:22;;;6237:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10168:7:::1;10148:6;;:28;;;;;;;;;;;;;;;;;;10206:6;;;;;;;;;;;:14;;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10194:40;;;10257:4;10277:6;;;;;;;;;;;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10194:107;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10187:4;;:114;;;;;;;;;;;;;;;;;;7027:1;7088:2;:13;;;;:::i;:::-;7075:10;:26;;;;:::i;:::-;10312:11;:26;10332:4;10312:26;;;;;;;;;;;;;;;:43;10347:6;;;;;;;;;;;10312:43;;;;;;;;;;;;;;;:58;;;;10381:6;;;;;;;;;;;:22;;;10411:9;10444:4;10464:24;10482:4;10464:9;:24::i;:::-;10503:1;10519::::0;10535:7:::1;:5;:7::i;:::-;10557:15;10381:202;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;10609:4;;;;;;;;;;;10594:28;;;10631:6;;;;;;;;;;;10640:17;10594:64;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10078:588:::0;:::o;7963:94::-;8011:13;8044:5;;;;;;;;;;;;;;;;;8037:12;;7963:94;:::o;8388:248::-;8490:4;8547:6;8512:11;:23;8524:10;8512:23;;;;;;;;;;;;;;;:32;8536:7;8512:32;;;;;;;;;;;;;;;:41;;;;8590:7;8569:37;;8578:10;8569:37;;;8599:6;8569:37;;;;;;:::i;:::-;;;;;;;;8624:4;8617:11;;8388:248;;;;:::o;7645:102::-;7700:7;7027:1;7088:2;:13;;;;:::i;:::-;7075:10;:26;;;;:::i;:::-;7720:19;;7645:102;:::o;8965:417::-;9099:4;7027:1;7088:2;:13;;;;:::i;:::-;7075:10;:26;;;;:::i;:::-;9120:11;:19;9132:6;9120:19;;;;;;;;;;;;;;;:31;9140:10;9120:31;;;;;;;;;;;;;;;;:47;9116:201;;9218:87;9272:6;9218:87;;;;;;;;;;;;;;;;;:11;:19;9230:6;9218:19;;;;;;;;;;;;;;;:31;9238:10;9218:31;;;;;;;;;;;;;;;;:53;;:87;;;;;:::i;:::-;9184:11;:19;9196:6;9184:19;;;;;;;;;;;;;;;:31;9204:10;9184:31;;;;;;;;;;;;;;;:121;;;;9116:201;9334:40;9348:6;9356:9;9367:6;9334:13;:40::i;:::-;9327:47;;8965:417;;;;;:::o;7755:94::-;7807:5;7027:1;7825:16;;7755:94;:::o;8644:117::-;8699:4;8723:30;8731:7;7027:1;7088:2;:13;;;;:::i;:::-;7075:10;:26;;;;:::i;:::-;8723:7;:30::i;:::-;8716:37;;8644:117;;;:::o;8065:119::-;8131:7;8158:9;:18;8168:7;8158:18;;;;;;;;;;;;;;;;8151:25;;8065:119;;;:::o;6332:157::-;6255:12;:10;:12::i;:::-;6245:22;;:6;;;;;;;;;;:22;;;6237:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6439:1:::1;6402:40;;6423:6;::::0;::::1;;;;;;;;6402:40;;;;;;;;;;;;6478:1;6453:6:::0;::::1;:28;;;;;;;;;;;;;;;;;;6332:157::o:0;10806:111::-;6255:12;:10;:12::i;:::-;6245:22;;:6;;;;;;;;;;:22;;;6237:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10884:7:::1;:5;:7::i;:::-;10876:25;;:33;10902:6;10876:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;10806:111:::0;:::o;10674:124::-;6255:12;:10;:12::i;:::-;6245:22;;:6;;;;;;;;;;:22;;;6237:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10738:7:::1;;;;;;;;;;;10737:8;10729:36;;;;;;;;;;;;:::i;:::-;;;;;;;;;10786:4;10776:7;;:14;;;;;;;;;;;;;;;;;;10674:124::o:0;6118:79::-;6156:7;6183:6;;;;;;;;;;;6176:13;;6118:79;:::o;7857:98::-;7907:13;7940:7;;;;;;;;;;;;;;;;;7933:14;;7857:98;:::o;7139:19::-;;;;;;;;;;;;;:::o;8769:188::-;8876:4;8905:44;8919:10;8931:9;8942:6;8905:13;:44::i;:::-;8898:51;;8769:188;;;;:::o;8192:::-;8312:7;8344:11;:19;8356:6;8344:19;;;;;;;;;;;;;;;:28;8364:7;8344:28;;;;;;;;;;;;;;;;8337:35;;8192:188;;;;:::o;7293:19::-;;;;;;;;;;;;;:::o;6497:281::-;6255:12;:10;:12::i;:::-;6245:22;;:6;;;;;;;;;;:22;;;6237:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6620:1:::1;6600:22;;:8;:22;;::::0;6578:110:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;6733:8;6704:38;;6725:6;::::0;::::1;;;;;;;;6704:38;;;;;;;;;;;;6762:8;6753:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;6497:281:::0;:::o;7108:24::-;;;;;;;;;;;;;:::o;5588:115::-;5641:15;5684:10;5669:26;;5588:115;:::o;2735:240::-;2855:7;2913:1;2908;:6;;2916:12;2900:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2955:1;2951;:5;2944:12;;2735:240;;;;;:::o;9390:680::-;9516:4;9590:7;:5;:7::i;:::-;9577:20;;:9;:20;;;9573:228;;9619:7;;;;;;;;;;;9614:176;;9685:6;9677:14;;:4;;;;;;;;;;;:14;;;;:35;;;;;9703:9;9695:17;;:4;;;;;;;;;;;:17;;;;9677:35;9647:127;;;;;;;;;;;;:::i;:::-;;;;;;;;;9614:176;9573:228;9833:90;9869:6;9833:90;;;;;;;;;;;;;;;;;:9;:17;9843:6;9833:17;;;;;;;;;;;;;;;;:21;;:90;;;;;:::i;:::-;9813:9;:17;9823:6;9813:17;;;;;;;;;;;;;;;:110;;;;9957:32;9982:6;9957:9;:20;9967:9;9957:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;9934:9;:20;9944:9;9934:20;;;;;;;;;;;;;;;:55;;;;10022:9;10005:35;;10014:6;10005:35;;;10033:6;10005:35;;;;;;:::i;:::-;;;;;;;;10058:4;10051:11;;9390:680;;;;;:::o;2205:98::-;2263:7;2294:1;2290;:5;;;;:::i;:::-;2283:12;;2205:98;;;;:::o;88:117:1:-;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:329::-;900:6;949:2;937:9;928:7;924:23;920:32;917:119;;;955:79;;:::i;:::-;917:119;1075:1;1100:53;1145:7;1136:6;1125:9;1121:22;1100:53;:::i;:::-;1090:63;;1046:117;841:329;;;;:::o;1176:99::-;1228:6;1262:5;1256:12;1246:22;;1176:99;;;:::o;1281:169::-;1365:11;1399:6;1394:3;1387:19;1439:4;1434:3;1430:14;1415:29;;1281:169;;;;:::o;1456:246::-;1537:1;1547:113;1561:6;1558:1;1555:13;1547:113;;;1646:1;1641:3;1637:11;1631:18;1627:1;1622:3;1618:11;1611:39;1583:2;1580:1;1576:10;1571:15;;1547:113;;;1694:1;1685:6;1680:3;1676:16;1669:27;1518:184;1456:246;;;:::o;1708:102::-;1749:6;1800:2;1796:7;1791:2;1784:5;1780:14;1776:28;1766:38;;1708:102;;;:::o;1816:377::-;1904:3;1932:39;1965:5;1932:39;:::i;:::-;1987:71;2051:6;2046:3;1987:71;:::i;:::-;1980:78;;2067:65;2125:6;2120:3;2113:4;2106:5;2102:16;2067:65;:::i;:::-;2157:29;2179:6;2157:29;:::i;:::-;2152:3;2148:39;2141:46;;1908:285;1816:377;;;;:::o;2199:313::-;2312:4;2350:2;2339:9;2335:18;2327:26;;2399:9;2393:4;2389:20;2385:1;2374:9;2370:17;2363:47;2427:78;2500:4;2491:6;2427:78;:::i;:::-;2419:86;;2199:313;;;;:::o;2518:77::-;2555:7;2584:5;2573:16;;2518:77;;;:::o;2601:122::-;2674:24;2692:5;2674:24;:::i;:::-;2667:5;2664:35;2654:63;;2713:1;2710;2703:12;2654:63;2601:122;:::o;2729:139::-;2775:5;2813:6;2800:20;2791:29;;2829:33;2856:5;2829:33;:::i;:::-;2729:139;;;;:::o;2874:474::-;2942:6;2950;2999:2;2987:9;2978:7;2974:23;2970:32;2967:119;;;3005:79;;:::i;:::-;2967:119;3125:1;3150:53;3195:7;3186:6;3175:9;3171:22;3150:53;:::i;:::-;3140:63;;3096:117;3252:2;3278:53;3323:7;3314:6;3303:9;3299:22;3278:53;:::i;:::-;3268:63;;3223:118;2874:474;;;;;:::o;3354:90::-;3388:7;3431:5;3424:13;3417:21;3406:32;;3354:90;;;:::o;3450:109::-;3531:21;3546:5;3531:21;:::i;:::-;3526:3;3519:34;3450:109;;:::o;3565:210::-;3652:4;3690:2;3679:9;3675:18;3667:26;;3703:65;3765:1;3754:9;3750:17;3741:6;3703:65;:::i;:::-;3565:210;;;;:::o;3781:118::-;3868:24;3886:5;3868:24;:::i;:::-;3863:3;3856:37;3781:118;;:::o;3905:222::-;3998:4;4036:2;4025:9;4021:18;4013:26;;4049:71;4117:1;4106:9;4102:17;4093:6;4049:71;:::i;:::-;3905:222;;;;:::o;4133:619::-;4210:6;4218;4226;4275:2;4263:9;4254:7;4250:23;4246:32;4243:119;;;4281:79;;:::i;:::-;4243:119;4401:1;4426:53;4471:7;4462:6;4451:9;4447:22;4426:53;:::i;:::-;4416:63;;4372:117;4528:2;4554:53;4599:7;4590:6;4579:9;4575:22;4554:53;:::i;:::-;4544:63;;4499:118;4656:2;4682:53;4727:7;4718:6;4707:9;4703:22;4682:53;:::i;:::-;4672:63;;4627:118;4133:619;;;;;:::o;4758:86::-;4793:7;4833:4;4826:5;4822:16;4811:27;;4758:86;;;:::o;4850:112::-;4933:22;4949:5;4933:22;:::i;:::-;4928:3;4921:35;4850:112;;:::o;4968:214::-;5057:4;5095:2;5084:9;5080:18;5072:26;;5108:67;5172:1;5161:9;5157:17;5148:6;5108:67;:::i;:::-;4968:214;;;;:::o;5188:329::-;5247:6;5296:2;5284:9;5275:7;5271:23;5267:32;5264:119;;;5302:79;;:::i;:::-;5264:119;5422:1;5447:53;5492:7;5483:6;5472:9;5468:22;5447:53;:::i;:::-;5437:63;;5393:117;5188:329;;;;:::o;5523:118::-;5610:24;5628:5;5610:24;:::i;:::-;5605:3;5598:37;5523:118;;:::o;5647:222::-;5740:4;5778:2;5767:9;5763:18;5755:26;;5791:71;5859:1;5848:9;5844:17;5835:6;5791:71;:::i;:::-;5647:222;;;;:::o;5875:474::-;5943:6;5951;6000:2;5988:9;5979:7;5975:23;5971:32;5968:119;;;6006:79;;:::i;:::-;5968:119;6126:1;6151:53;6196:7;6187:6;6176:9;6172:22;6151:53;:::i;:::-;6141:63;;6097:117;6253:2;6279:53;6324:7;6315:6;6304:9;6300:22;6279:53;:::i;:::-;6269:63;;6224:118;5875:474;;;;;:::o;6355:60::-;6383:3;6404:5;6397:12;;6355:60;;;:::o;6421:142::-;6471:9;6504:53;6522:34;6531:24;6549:5;6531:24;:::i;:::-;6522:34;:::i;:::-;6504:53;:::i;:::-;6491:66;;6421:142;;;:::o;6569:126::-;6619:9;6652:37;6683:5;6652:37;:::i;:::-;6639:50;;6569:126;;;:::o;6701:144::-;6769:9;6802:37;6833:5;6802:37;:::i;:::-;6789:50;;6701:144;;;:::o;6851:167::-;6956:55;7005:5;6956:55;:::i;:::-;6951:3;6944:68;6851:167;;:::o;7024:258::-;7135:4;7173:2;7162:9;7158:18;7150:26;;7186:89;7272:1;7261:9;7257:17;7248:6;7186:89;:::i;:::-;7024:258;;;;:::o;7288:182::-;7428:34;7424:1;7416:6;7412:14;7405:58;7288:182;:::o;7476:366::-;7618:3;7639:67;7703:2;7698:3;7639:67;:::i;:::-;7632:74;;7715:93;7804:3;7715:93;:::i;:::-;7833:2;7828:3;7824:12;7817:19;;7476:366;;;:::o;7848:419::-;8014:4;8052:2;8041:9;8037:18;8029:26;;8101:9;8095:4;8091:20;8087:1;8076:9;8072:17;8065:47;8129:131;8255:4;8129:131;:::i;:::-;8121:139;;7848:419;;;:::o;8273:143::-;8330:5;8361:6;8355:13;8346:22;;8377:33;8404:5;8377:33;:::i;:::-;8273:143;;;;:::o;8422:351::-;8492:6;8541:2;8529:9;8520:7;8516:23;8512:32;8509:119;;;8547:79;;:::i;:::-;8509:119;8667:1;8692:64;8748:7;8739:6;8728:9;8724:22;8692:64;:::i;:::-;8682:74;;8638:128;8422:351;;;;:::o;8779:332::-;8900:4;8938:2;8927:9;8923:18;8915:26;;8951:71;9019:1;9008:9;9004:17;8995:6;8951:71;:::i;:::-;9032:72;9100:2;9089:9;9085:18;9076:6;9032:72;:::i;:::-;8779:332;;;;;:::o;9117:180::-;9165:77;9162:1;9155:88;9262:4;9259:1;9252:15;9286:4;9283:1;9276:15;9303:102;9345:8;9392:5;9389:1;9385:13;9364:34;;9303:102;;;:::o;9411:848::-;9472:5;9479:4;9503:6;9494:15;;9527:5;9518:14;;9541:712;9562:1;9552:8;9549:15;9541:712;;;9657:4;9652:3;9648:14;9642:4;9639:24;9636:50;;;9666:18;;:::i;:::-;9636:50;9716:1;9706:8;9702:16;9699:451;;;10131:4;10124:5;10120:16;10111:25;;9699:451;10181:4;10175;10171:15;10163:23;;10211:32;10234:8;10211:32;:::i;:::-;10199:44;;9541:712;;;9411:848;;;;;;;:::o;10265:1073::-;10319:5;10510:8;10500:40;;10531:1;10522:10;;10533:5;;10500:40;10559:4;10549:36;;10576:1;10567:10;;10578:5;;10549:36;10645:4;10693:1;10688:27;;;;10729:1;10724:191;;;;10638:277;;10688:27;10706:1;10697:10;;10708:5;;;10724:191;10769:3;10759:8;10756:17;10753:43;;;10776:18;;:::i;:::-;10753:43;10825:8;10822:1;10818:16;10809:25;;10860:3;10853:5;10850:14;10847:40;;;10867:18;;:::i;:::-;10847:40;10900:5;;;10638:277;;11024:2;11014:8;11011:16;11005:3;10999:4;10996:13;10992:36;10974:2;10964:8;10961:16;10956:2;10950:4;10947:12;10943:35;10927:111;10924:246;;;11080:8;11074:4;11070:19;11061:28;;11115:3;11108:5;11105:14;11102:40;;;11122:18;;:::i;:::-;11102:40;11155:5;;10924:246;11195:42;11233:3;11223:8;11217:4;11214:1;11195:42;:::i;:::-;11180:57;;;;11269:4;11264:3;11260:14;11253:5;11250:25;11247:51;;;11278:18;;:::i;:::-;11247:51;11327:4;11320:5;11316:16;11307:25;;10265:1073;;;;;;:::o;11344:281::-;11402:5;11426:23;11444:4;11426:23;:::i;:::-;11418:31;;11470:25;11486:8;11470:25;:::i;:::-;11458:37;;11514:104;11551:66;11541:8;11535:4;11514:104;:::i;:::-;11505:113;;11344:281;;;;:::o;11631:410::-;11671:7;11694:20;11712:1;11694:20;:::i;:::-;11689:25;;11728:20;11746:1;11728:20;:::i;:::-;11723:25;;11783:1;11780;11776:9;11805:30;11823:11;11805:30;:::i;:::-;11794:41;;11984:1;11975:7;11971:15;11968:1;11965:22;11945:1;11938:9;11918:83;11895:139;;12014:18;;:::i;:::-;11895:139;11679:362;11631:410;;;;:::o;12047:85::-;12092:7;12121:5;12110:16;;12047:85;;;:::o;12138:158::-;12196:9;12229:61;12247:42;12256:32;12282:5;12256:32;:::i;:::-;12247:42;:::i;:::-;12229:61;:::i;:::-;12216:74;;12138:158;;;:::o;12302:147::-;12397:45;12436:5;12397:45;:::i;:::-;12392:3;12385:58;12302:147;;:::o;12455:807::-;12704:4;12742:3;12731:9;12727:19;12719:27;;12756:71;12824:1;12813:9;12809:17;12800:6;12756:71;:::i;:::-;12837:72;12905:2;12894:9;12890:18;12881:6;12837:72;:::i;:::-;12919:80;12995:2;12984:9;12980:18;12971:6;12919:80;:::i;:::-;13009;13085:2;13074:9;13070:18;13061:6;13009:80;:::i;:::-;13099:73;13167:3;13156:9;13152:19;13143:6;13099:73;:::i;:::-;13182;13250:3;13239:9;13235:19;13226:6;13182:73;:::i;:::-;12455:807;;;;;;;;;:::o;13268:143::-;13325:5;13356:6;13350:13;13341:22;;13372:33;13399:5;13372:33;:::i;:::-;13268:143;;;;:::o;13417:663::-;13505:6;13513;13521;13570:2;13558:9;13549:7;13545:23;13541:32;13538:119;;;13576:79;;:::i;:::-;13538:119;13696:1;13721:64;13777:7;13768:6;13757:9;13753:22;13721:64;:::i;:::-;13711:74;;13667:128;13834:2;13860:64;13916:7;13907:6;13896:9;13892:22;13860:64;:::i;:::-;13850:74;;13805:129;13973:2;13999:64;14055:7;14046:6;14035:9;14031:22;13999:64;:::i;:::-;13989:74;;13944:129;13417:663;;;;;:::o;14086:332::-;14207:4;14245:2;14234:9;14230:18;14222:26;;14258:71;14326:1;14315:9;14311:17;14302:6;14258:71;:::i;:::-;14339:72;14407:2;14396:9;14392:18;14383:6;14339:72;:::i;:::-;14086:332;;;;;:::o;14424:116::-;14494:21;14509:5;14494:21;:::i;:::-;14487:5;14484:32;14474:60;;14530:1;14527;14520:12;14474:60;14424:116;:::o;14546:137::-;14600:5;14631:6;14625:13;14616:22;;14647:30;14671:5;14647:30;:::i;:::-;14546:137;;;;:::o;14689:345::-;14756:6;14805:2;14793:9;14784:7;14780:23;14776:32;14773:119;;;14811:79;;:::i;:::-;14773:119;14931:1;14956:61;15009:7;15000:6;14989:9;14985:22;14956:61;:::i;:::-;14946:71;;14902:125;14689:345;;;;:::o;15040:165::-;15180:17;15176:1;15168:6;15164:14;15157:41;15040:165;:::o;15211:366::-;15353:3;15374:67;15438:2;15433:3;15374:67;:::i;:::-;15367:74;;15450:93;15539:3;15450:93;:::i;:::-;15568:2;15563:3;15559:12;15552:19;;15211:366;;;:::o;15583:419::-;15749:4;15787:2;15776:9;15772:18;15764:26;;15836:9;15830:4;15826:20;15822:1;15811:9;15807:17;15800:47;15864:131;15990:4;15864:131;:::i;:::-;15856:139;;15583:419;;;:::o;16008:225::-;16148:34;16144:1;16136:6;16132:14;16125:58;16217:8;16212:2;16204:6;16200:15;16193:33;16008:225;:::o;16239:366::-;16381:3;16402:67;16466:2;16461:3;16402:67;:::i;:::-;16395:74;;16478:93;16567:3;16478:93;:::i;:::-;16596:2;16591:3;16587:12;16580:19;;16239:366;;;:::o;16611:419::-;16777:4;16815:2;16804:9;16800:18;16792:26;;16864:9;16858:4;16854:20;16850:1;16839:9;16835:17;16828:47;16892:131;17018:4;16892:131;:::i;:::-;16884:139;;16611:419;;;:::o;17036:168::-;17176:20;17172:1;17164:6;17160:14;17153:44;17036:168;:::o;17210:366::-;17352:3;17373:67;17437:2;17432:3;17373:67;:::i;:::-;17366:74;;17449:93;17538:3;17449:93;:::i;:::-;17567:2;17562:3;17558:12;17551:19;;17210:366;;;:::o;17582:419::-;17748:4;17786:2;17775:9;17771:18;17763:26;;17835:9;17829:4;17825:20;17821:1;17810:9;17806:17;17799:47;17863:131;17989:4;17863:131;:::i;:::-;17855:139;;17582:419;;;:::o;18007:191::-;18047:3;18066:20;18084:1;18066:20;:::i;:::-;18061:25;;18100:20;18118:1;18100:20;:::i;:::-;18095:25;;18143:1;18140;18136:9;18129:16;;18164:3;18161:1;18158:10;18155:36;;;18171:18;;:::i;:::-;18155:36;18007:191;;;;:::o

Swarm Source

ipfs://1e485921986daad33b319c17085b78fe9796792a6a554be2d2e1dd453b33ac5c
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.