ETH Price: $3,899.64 (-0.36%)

Token

ERC-20: Ice Cube (iCube)
 

Overview

Max Total Supply

1,050,000,000,000 iCube

Holders

28

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
2,500,000 iCube

Value
$0.00
0x91158c497f8ca72e44096bb83511ae2e71189d4f
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:
ERC20

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity Multiple files format)

File 2 of 4: ERC20.sol
// SPDX-License-Identifier: Unlicense

pragma solidity ^0.6.0;

import "IERC20.sol";
import "IERC20Metadata.sol";
import "Context.sol";


contract ERC20 is Context, IERC20, IERC20Metadata {
    // Instance of Token
    IERC20 token;
    
    //  MAPPINGS
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
	mapping (address => uint256) public lockTokens;
    // VARAIBLES
    uint256 private _totalSupply;
    uint256 public tokenPrice;
    uint256 public remainingTokens;
    string private _name;
    string private _symbol;
    address payable ownerAccount;
    uint256 releaseTime;
    uint256 public cap;
    uint256 lockedAmount;
    uint256 releaseTimeOwner;
	uint256 public mintCapAnnual;
	uint256 public mintAvailableDate;
	uint256 private _mini;
    
    
    //  MODIFIERS
    modifier onlyOwner(){
        require(msg.sender == ownerAccount, "You are not an Owner.");
        _;
    }
    
    
    constructor () public {
        _name = "Ice Cube";
        _symbol = "iCube";
        _totalSupply = 1050000000000 * (10**18);
        _balances[_msgSender()] = _totalSupply;
        ownerAccount = msg.sender;
        tokenPrice = 800000000;
        token = IERC20(address(this));
        cap = 2100000000000 * (10**18);
		mintCapAnnual = cap/50;
        releaseTime = 0;  
        lockedAmount = 0;
        releaseTimeOwner = 0;
		mintAvailableDate = 1655683200;
    }   
	
    
    function name() public view virtual override returns (string memory) {
        return _name;
    }

    
    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }

    
    function decimals() public view virtual override returns (uint8) {
        return 18;
    }


    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }


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

    
    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        if(address(this) == msg.sender){
            _transfer(_msgSender(), recipient, amount);
        }
        else{																			
            uint256 checkBalance = (_balances[_msgSender()] - lockTokens[_msgSender()]);
            require(now >= releaseTime || checkBalance >= amount,"Token is Paused");
            require(amount <= cap,"Cap amount exceeded...");
            if(ownerAccount == _msgSender()){
                if(releaseTimeOwner != 0){
                     require((_balances[ownerAccount] - amount) >= lockedAmount,"Passed wrong value");
                     require( now >= releaseTimeOwner,"Owner can not transfer this time");    
                    _transfer(_msgSender(), recipient, amount);
                    
                }else{
                    _transfer(_msgSender(), recipient, amount);
                }
            }else{
                _transfer(_msgSender(), recipient, amount);
            }
        }
        return true;
    }
    
    function noPausedtransfer(address recipient, uint256 amount) internal returns (bool) {
        require(amount <= cap,"Cap amount exceeded...");
        
        if(ownerAccount == _msgSender()){
            if(releaseTimeOwner != 0){
                 require((_balances[ownerAccount] - amount) >= lockedAmount,"Passed wrong value");
                 require( now >= releaseTimeOwner,"Owner can not transfer this time");    
                _transfer(_msgSender(), recipient, amount);
                
            }else{
                _transfer(_msgSender(), recipient, amount);
            }
        }else{
            _transfer(_msgSender(), recipient, amount);
        }
    }
    
    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }


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

    function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);
        require(now >= releaseTime || lockTokens[_msgSender()] <= 0,"Token is Paused");
        require(amount <= cap,"Cap amount exceeded...");
        if(ownerAccount == _msgSender()){
            if(releaseTimeOwner != 0){
                 require((_balances[ownerAccount] - amount) >= lockedAmount,"Passed wrong value");
                 require( now >= releaseTimeOwner,"Owner can not transfer this time");    
                 uint256 currentAllowance = _allowances[sender][_msgSender()];
                 require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
                _approve(sender, _msgSender(), currentAllowance - amount);

            }else{
                uint256 currentAllowance = _allowances[sender][_msgSender()];
                require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
                _approve(sender, _msgSender(), currentAllowance - amount);
            }
        }else{
            uint256 currentAllowance = _allowances[sender][_msgSender()];
            require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
            _approve(sender, _msgSender(), currentAllowance - amount);
        }
        return true;
    }
    
    


    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }

    
    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        _approve(_msgSender(), spender, currentAllowance - subtractedValue);

        return true;
    }

    
    function _transfer(address sender, address recipient, uint256 amount) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
        _balances[sender] = senderBalance - amount;
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);
    }

    // THIS FUNCTION WILL CALL ONLY OWNER FOR MINTING THE TOKENS 
    // IF TOTAL SUPPLY ACHIEVED THE CAPPED VALUE THEN NO MINTING WILL ALLOWED
    // THEN OWNER NEED TO INCREASE THE CAP VALUE BY USING 'setCapAmount' FUNCTION
    function mint(address account, uint256 amount) public onlyOwner{
        require(account != address(0), "ERC20: mint to the zero address");
        require(_totalSupply + amount<= cap,"Amount Exceeded Market Cap");
		require(amount<= mintCapAnnual,"Amount Exceeded Mint Cap");
		require(mintAvailableDate<= now,"Coin Not Ready for Mint");
		mintAvailableDate += 31536000;
        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);
    }

    // THIS FUNCTION WILL CALL ONLY FOR OWNER FOR BURNING THE TOKENS
    function burn(address account, uint256 amount) public onlyOwner{
        require(account != address(0), "ERC20: burn from the zero address");
        if(ownerAccount == msg.sender){
            if(releaseTimeOwner != 0){
                require((_balances[ownerAccount] - amount) >= lockedAmount,"Passed wrong value");
                require( now >= releaseTimeOwner,"Owner can not transfer this time");
                uint256 accountBalance = _balances[account];
                require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
                _balances[account] = accountBalance - amount;
                _totalSupply -= amount;
                emit Transfer(account, address(0), amount);   
            }else{
                uint256 accountBalance = _balances[account];
                require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
                _balances[account] = accountBalance - amount;
                _totalSupply -= amount;
                emit Transfer(account, address(0), amount);
            }
        }else{
            uint256 accountBalance = _balances[account];
            require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
            _balances[account] = accountBalance - amount;
            _totalSupply -= amount;
            emit Transfer(account, address(0), amount);
        }
    }

    // THIS WILL PAUSE THE TOKEN
    function pauseToken(uint256 timestamp) public onlyOwner{
        releaseTime = timestamp;
    }
    
    // THIS WILL SET THE PRICE OF TOKEN
    function setPrice(uint256 _price) public onlyOwner{
        tokenPrice = _price;
    }
    
    
    // OWNER NEED TO CALL THIS FUNCTION BEFORE START ICO
    // OWNER ALSO NEED TO SET A GOAL OF TOKEN AMOUNT FOR FUND RAISING
    // THIS FUNCTION WILL TRANSFER THE TOKENS FROM OWNER TO CONTRACT
    function startBuying(uint256 tokenAmount, uint256 time) public onlyOwner{
        releaseTime = time;
        remainingTokens = tokenAmount;
        noPausedtransfer(address(this),tokenAmount);
    }
    
   
    
  
    //  THIS FUMCTION WILL BE USED BY INVESTOR FOR BUYING TOKENS
    //  IF THE OWNER WILL END ICO THEN NO ONE CAN INVEST ANYMORE 
    function buyToken() public payable{
        require(msg.value > 0,"You are passing wrong value");
		require(msg.value <= 10**19,"Maximum order size is 10 ETH");
        require(msg.sender != address(0),"Invalid Address of Buyer");
        require(now <= releaseTime, "TokenSale is ended.");
        address sender = msg.sender; 
        uint256 quantity = (msg.value / tokenPrice) * 10**18;
		lockTokens[sender] += quantity;								 
        ownerAccount.transfer(msg.value);
        token.transfer(sender,quantity);
        remainingTokens -= quantity; 
    }
    
	//  OWNER CAN LOCK THEIR TOKENS	
    function lockOwnerTokens(uint256 amount, uint256 _time) public onlyOwner {
        lockedAmount = amount;
        releaseTimeOwner = _time;
    }
    
	// WITHDRAW
    function withdraw() public onlyOwner{
        require(remainingTokens > 0,"All tokens are Sold.");
        token.transfer(ownerAccount,remainingTokens);
    }
      
    function _approve(address owner, address spender, uint256 amount) internal virtual {
        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);
    }

    
}

File 1 of 4: Context.sol
// SPDX-License-Identifier: Unlicense

pragma solidity ^0.6.0;

/*
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

File 3 of 4: IERC20.sol
// SPDX-License-Identifier: Unlicense

pragma solidity ^0.6.0;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address recipient, uint256 amount) external returns (bool);
    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(address owner, address spender) external view returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `sender` to `recipient` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

File 4 of 4: IERC20Metadata.sol
// SPDX-License-Identifier: Unlicense

pragma solidity ^0.6.0;

import "IERC20.sol";

/**
 * @dev Interface for the optional metadata functions from the ERC20 standard.
 */
interface IERC20Metadata is IERC20 {
    /**
     * @dev Returns the name of the token.
     */
    function name() external view returns (string memory);

    /**
     * @dev Returns the symbol of the token.
     */
    function symbol() external view returns (string memory);

    /**
     * @dev Returns the decimals places of the token.
     */
    function decimals() external view returns (uint8);
}

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":"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":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"buyToken","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"cap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"_time","type":"uint256"}],"name":"lockOwnerTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"lockTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"mintAvailableDate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mintCapAnnual","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"pauseToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"remainingTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_price","type":"uint256"}],"name":"setPrice","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenAmount","type":"uint256"},{"internalType":"uint256","name":"time","type":"uint256"}],"name":"startBuying","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040523480156200001157600080fd5b5060408051808201909152600880825267496365204375626560c01b6020909201918252620000439160079162000117565b5060408051808201909152600580825264694375626560d81b6020909201918252620000729160089162000117565b506c0d40bba4a77d2df9cf900000006004819055600160006200009462000113565b6001600160a01b031681526020810191909152604001600090812091909155600980546001600160a01b03199081163317909155632faf0800600555815416301781556c1a8177494efa5bf39f20000000600b556b87b595f2383509fe10000000600e55600a819055600c819055600d556362afb880600f55620001b3565b3390565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200015a57805160ff19168380011785556200018a565b828001600101855582156200018a579182015b828111156200018a5782518255916020019190600101906200016d565b50620001989291506200019c565b5090565b5b808211156200019857600081556001016200019d565b611da580620001c36000396000f3fe6080604052600436106101665760003560e01c806370a08231116100d1578063a48217191161008a578063bf58390311610064578063bf5839031461053c578063dd62ed3e14610551578063f0b6c88c1461058c578063fbd395f8146105bc57610166565b8063a4821719146104cb578063a5a39da3146104d3578063a9059cbb1461050357610166565b806370a08231146103d25780637ff9b5961461040557806391b7f5ed1461041a57806395d89b41146104445780639dc29fac14610459578063a457c2d71461049257610166565b806323b872dd1161012357806323b872dd146102c6578063313ce56714610309578063355274ea1461033457806339509351146103495780633ccfd60b1461038257806340c10f191461039957610166565b806301d409be1461016b57806306fdde0314610192578063095ea7b31461021c5780631270863d1461026957806314723a261461029c57806318160ddd146102b1575b600080fd5b34801561017757600080fd5b506101806105e6565b60408051918252519081900360200190f35b34801561019e57600080fd5b506101a76105ec565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101e15781810151838201526020016101c9565b50505050905090810190601f16801561020e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561022857600080fd5b506102556004803603604081101561023f57600080fd5b506001600160a01b038135169060200135610682565b604080519115158252519081900360200190f35b34801561027557600080fd5b506101806004803603602081101561028c57600080fd5b50356001600160a01b03166106a0565b3480156102a857600080fd5b506101806106b2565b3480156102bd57600080fd5b506101806106b8565b3480156102d257600080fd5b50610255600480360360608110156102e957600080fd5b506001600160a01b038135811691602081013590911690604001356106be565b34801561031557600080fd5b5061031e610a3e565b6040805160ff9092168252519081900360200190f35b34801561034057600080fd5b50610180610a43565b34801561035557600080fd5b506102556004803603604081101561036c57600080fd5b506001600160a01b038135169060200135610a49565b34801561038e57600080fd5b50610397610a94565b005b3480156103a557600080fd5b50610397600480360360408110156103bc57600080fd5b506001600160a01b038135169060200135610bbc565b3480156103de57600080fd5b50610180600480360360208110156103f557600080fd5b50356001600160a01b0316610dc6565b34801561041157600080fd5b50610180610de1565b34801561042657600080fd5b506103976004803603602081101561043d57600080fd5b5035610de7565b34801561045057600080fd5b506101a7610e39565b34801561046557600080fd5b506103976004803603604081101561047c57600080fd5b506001600160a01b038135169060200135610e9a565b34801561049e57600080fd5b50610255600480360360408110156104b557600080fd5b506001600160a01b0381351690602001356111f3565b610397611281565b3480156104df57600080fd5b50610397600480360360408110156104f657600080fd5b50803590602001356114da565b34801561050f57600080fd5b506102556004803603604081101561052657600080fd5b506001600160a01b038135169060200135611532565b34801561054857600080fd5b50610180611766565b34801561055d57600080fd5b506101806004803603604081101561057457600080fd5b506001600160a01b038135811691602001351661176c565b34801561059857600080fd5b50610397600480360360408110156105af57600080fd5b5080359060200135611797565b3480156105c857600080fd5b50610397600480360360208110156105df57600080fd5b50356117fd565b600f5481565b60078054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106785780601f1061064d57610100808354040283529160200191610678565b820191906000526020600020905b81548152906001019060200180831161065b57829003601f168201915b5050505050905090565b600061069661068f61184f565b8484611853565b5060015b92915050565b60036020526000908152604090205481565b600e5481565b60045490565b60006106cb84848461193f565b600a544210158061070957506000600360006106e561184f565b6001600160a01b03166001600160a01b031681526020019081526020016000205411155b61074c576040805162461bcd60e51b815260206004820152600f60248201526e151bdad95b881a5cc814185d5cd959608a1b604482015290519081900360640190fd5b600b5482111561079c576040805162461bcd60e51b815260206004820152601660248201527521b0b81030b6b7bab73a1032bc31b2b2b232b217171760511b604482015290519081900360640190fd5b6107a461184f565b6009546001600160a01b03908116911614156109a357600d541561090d57600c546009546001600160a01b0316600090815260016020526040902054839003101561082b576040805162461bcd60e51b81526020600482015260126024820152715061737365642077726f6e672076616c756560701b604482015290519081900360640190fd5b600d54421015610870576040805162461bcd60e51b81526020600482018190526024820152600080516020611d2b833981519152604482015290519081900360640190fd5b6001600160a01b03841660009081526002602052604081208161089161184f565b6001600160a01b03166001600160a01b03168152602001908152602001600020549050828110156108f35760405162461bcd60e51b8152600401808060200182810382526028815260200180611c796028913960400191505060405180910390fd5b610907856108ff61184f565b858403611853565b5061099e565b6001600160a01b03841660009081526002602052604081208161092e61184f565b6001600160a01b03166001600160a01b03168152602001908152602001600020549050828110156109905760405162461bcd60e51b8152600401808060200182810382526028815260200180611c796028913960400191505060405180910390fd5b61099c856108ff61184f565b505b610a34565b6001600160a01b0384166000908152600260205260408120816109c461184f565b6001600160a01b03166001600160a01b0316815260200190815260200160002054905082811015610a265760405162461bcd60e51b8152600401808060200182810382526028815260200180611c796028913960400191505060405180910390fd5b610a32856108ff61184f565b505b5060019392505050565b601290565b600b5481565b6000610696610a5661184f565b848460026000610a6461184f565b6001600160a01b03908116825260208083019390935260409182016000908120918b168152925290205401611853565b6009546001600160a01b03163314610ae1576040805162461bcd60e51b81526020600482015260156024820152600080516020611c33833981519152604482015290519081900360640190fd5b600060065411610b2f576040805162461bcd60e51b815260206004820152601460248201527320b636103a37b5b2b7399030b9329029b7b6321760611b604482015290519081900360640190fd5b600080546009546006546040805163a9059cbb60e01b81526001600160a01b039384166004820152602481019290925251919092169263a9059cbb92604480820193602093909283900390910190829087803b158015610b8e57600080fd5b505af1158015610ba2573d6000803e3d6000fd5b505050506040513d6020811015610bb857600080fd5b5050565b6009546001600160a01b03163314610c09576040805162461bcd60e51b81526020600482015260156024820152600080516020611c33833981519152604482015290519081900360640190fd5b6001600160a01b038216610c64576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b600b5481600454011115610cbf576040805162461bcd60e51b815260206004820152601a60248201527f416d6f756e74204578636565646564204d61726b657420436170000000000000604482015290519081900360640190fd5b600e54811115610d16576040805162461bcd60e51b815260206004820152601860248201527f416d6f756e74204578636565646564204d696e74204361700000000000000000604482015290519081900360640190fd5b42600f541115610d6d576040805162461bcd60e51b815260206004820152601760248201527f436f696e204e6f7420526561647920666f72204d696e74000000000000000000604482015290519081900360640190fd5b600f80546301e1338001905560048054820190556001600160a01b038216600081815260016020908152604080832080548601905580518581529051600080516020611ca1833981519152929181900390910190a35050565b6001600160a01b031660009081526001602052604090205490565b60055481565b6009546001600160a01b03163314610e34576040805162461bcd60e51b81526020600482015260156024820152600080516020611c33833981519152604482015290519081900360640190fd5b600555565b60088054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106785780601f1061064d57610100808354040283529160200191610678565b6009546001600160a01b03163314610ee7576040805162461bcd60e51b81526020600482015260156024820152600080516020611c33833981519152604482015290519081900360640190fd5b6001600160a01b038216610f2c5760405162461bcd60e51b8152600401808060200182810382526021815260200180611cc16021913960400191505060405180910390fd5b6009546001600160a01b031633141561114a57600d541561109f57600c546009546001600160a01b03166000908152600160205260409020548290031015610fb0576040805162461bcd60e51b81526020600482015260126024820152715061737365642077726f6e672076616c756560701b604482015290519081900360640190fd5b600d54421015610ff5576040805162461bcd60e51b81526020600482018190526024820152600080516020611d2b833981519152604482015290519081900360640190fd5b6001600160a01b0382166000908152600160205260409020548181101561104d5760405162461bcd60e51b8152600401808060200182810382526022815260200180611bef6022913960400191505060405180910390fd5b6001600160a01b0383166000818152600160209081526040808320868603905560048054879003905580518681529051929392600080516020611ca1833981519152929181900390910190a350611145565b6001600160a01b038216600090815260016020526040902054818110156110f75760405162461bcd60e51b8152600401808060200182810382526022815260200180611bef6022913960400191505060405180910390fd5b6001600160a01b0383166000818152600160209081526040808320868603905560048054879003905580518681529051929392600080516020611ca1833981519152929181900390910190a3505b610bb8565b6001600160a01b038216600090815260016020526040902054818110156111a25760405162461bcd60e51b8152600401808060200182810382526022815260200180611bef6022913960400191505060405180910390fd5b6001600160a01b0383166000818152600160209081526040808320868603905560048054879003905580518681529051929392600080516020611ca1833981519152929181900390910190a3505050565b6000806002600061120261184f565b6001600160a01b039081168252602080830193909352604091820160009081209188168152925290205490508281101561126d5760405162461bcd60e51b8152600401808060200182810382526025815260200180611d4b6025913960400191505060405180910390fd5b610a3461127861184f565b85858403611853565b600034116112d6576040805162461bcd60e51b815260206004820152601b60248201527f596f75206172652070617373696e672077726f6e672076616c75650000000000604482015290519081900360640190fd5b678ac7230489e80000341115611333576040805162461bcd60e51b815260206004820152601c60248201527f4d6178696d756d206f726465722073697a652069732031302045544800000000604482015290519081900360640190fd5b33611385576040805162461bcd60e51b815260206004820152601860248201527f496e76616c69642041646472657373206f662042757965720000000000000000604482015290519081900360640190fd5b600a544211156113d2576040805162461bcd60e51b81526020600482015260136024820152722a37b5b2b729b0b6329034b99032b73232b21760691b604482015290519081900360640190fd5b600554339060009034816113e257fe5b6001600160a01b038085166000908152600360205260408082208054670de0b6b3a7640000969095049590950293840190945560095493519294509216913480156108fc02929091818181858888f19350505050158015611447573d6000803e3d6000fd5b50600080546040805163a9059cbb60e01b81526001600160a01b038681166004830152602482018690529151919092169263a9059cbb92604480820193602093909283900390910190829087803b1580156114a157600080fd5b505af11580156114b5573d6000803e3d6000fd5b505050506040513d60208110156114cb57600080fd5b50506006805491909103905550565b6009546001600160a01b03163314611527576040805162461bcd60e51b81526020600482015260156024820152600080516020611c33833981519152604482015290519081900360640190fd5b600c91909155600d55565b6000303314156115535761154e61154761184f565b848461193f565b610696565b60006003600061156161184f565b6001600160a01b03166001600160a01b03168152602001908152602001600020546001600061158e61184f565b6001600160a01b03166001600160a01b0316815260200190815260200160002054039050600a54421015806115c35750828110155b611606576040805162461bcd60e51b815260206004820152600f60248201526e151bdad95b881a5cc814185d5cd959608a1b604482015290519081900360640190fd5b600b54831115611656576040805162461bcd60e51b815260206004820152601660248201527521b0b81030b6b7bab73a1032bc31b2b2b232b217171760511b604482015290519081900360640190fd5b61165e61184f565b6009546001600160a01b039081169116141561175157600d541561174157600c546009546001600160a01b031660009081526001602052604090205484900310156116e5576040805162461bcd60e51b81526020600482015260126024820152715061737365642077726f6e672076616c756560701b604482015290519081900360640190fd5b600d5442101561172a576040805162461bcd60e51b81526020600482018190526024820152600080516020611d2b833981519152604482015290519081900360640190fd5b61173c61173561184f565b858561193f565b61174c565b61174c61173561184f565b61175c565b61175c61173561184f565b5050600192915050565b60065481565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6009546001600160a01b031633146117e4576040805162461bcd60e51b81526020600482015260156024820152600080516020611c33833981519152604482015290519081900360640190fd5b600a81905560068290556117f83083611a7a565b505050565b6009546001600160a01b0316331461184a576040805162461bcd60e51b81526020600482015260156024820152600080516020611c33833981519152604482015290519081900360640190fd5b600a55565b3390565b6001600160a01b0383166118985760405162461bcd60e51b8152600401808060200182810382526024815260200180611d076024913960400191505060405180910390fd5b6001600160a01b0382166118dd5760405162461bcd60e51b8152600401808060200182810382526022815260200180611c116022913960400191505060405180910390fd5b6001600160a01b03808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166119845760405162461bcd60e51b8152600401808060200182810382526025815260200180611ce26025913960400191505060405180910390fd5b6001600160a01b0382166119c95760405162461bcd60e51b8152600401808060200182810382526023815260200180611bcc6023913960400191505060405180910390fd5b6001600160a01b03831660009081526001602052604090205481811015611a215760405162461bcd60e51b8152600401808060200182810382526026815260200180611c536026913960400191505060405180910390fd5b6001600160a01b038085166000818152600160209081526040808320878703905593871680835291849020805487019055835186815293519193600080516020611ca1833981519152929081900390910190a350505050565b6000600b54821115611acc576040805162461bcd60e51b815260206004820152601660248201527521b0b81030b6b7bab73a1032bc31b2b2b232b217171760511b604482015290519081900360640190fd5b611ad461184f565b6009546001600160a01b0390811691161415611bc057600d5415611bb057600c546009546001600160a01b03166000908152600160205260409020548390031015611b5b576040805162461bcd60e51b81526020600482015260126024820152715061737365642077726f6e672076616c756560701b604482015290519081900360640190fd5b600d54421015611ba0576040805162461bcd60e51b81526020600482018190526024820152600080516020611d2b833981519152604482015290519081900360640190fd5b611bab61154761184f565b611bbb565b611bbb61154761184f565b61069a565b61069a61154761184f56fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f2061646472657373596f7520617265206e6f7420616e204f776e65722e000000000000000000000045524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573734f776e65722063616e206e6f74207472616e7366657220746869732074696d6545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220e0037461e21ad278d87c80f75d49674a2365ab2dee45b43f06aa5cc3eb26559b64736f6c634300060c0033

Deployed Bytecode

0x6080604052600436106101665760003560e01c806370a08231116100d1578063a48217191161008a578063bf58390311610064578063bf5839031461053c578063dd62ed3e14610551578063f0b6c88c1461058c578063fbd395f8146105bc57610166565b8063a4821719146104cb578063a5a39da3146104d3578063a9059cbb1461050357610166565b806370a08231146103d25780637ff9b5961461040557806391b7f5ed1461041a57806395d89b41146104445780639dc29fac14610459578063a457c2d71461049257610166565b806323b872dd1161012357806323b872dd146102c6578063313ce56714610309578063355274ea1461033457806339509351146103495780633ccfd60b1461038257806340c10f191461039957610166565b806301d409be1461016b57806306fdde0314610192578063095ea7b31461021c5780631270863d1461026957806314723a261461029c57806318160ddd146102b1575b600080fd5b34801561017757600080fd5b506101806105e6565b60408051918252519081900360200190f35b34801561019e57600080fd5b506101a76105ec565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101e15781810151838201526020016101c9565b50505050905090810190601f16801561020e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561022857600080fd5b506102556004803603604081101561023f57600080fd5b506001600160a01b038135169060200135610682565b604080519115158252519081900360200190f35b34801561027557600080fd5b506101806004803603602081101561028c57600080fd5b50356001600160a01b03166106a0565b3480156102a857600080fd5b506101806106b2565b3480156102bd57600080fd5b506101806106b8565b3480156102d257600080fd5b50610255600480360360608110156102e957600080fd5b506001600160a01b038135811691602081013590911690604001356106be565b34801561031557600080fd5b5061031e610a3e565b6040805160ff9092168252519081900360200190f35b34801561034057600080fd5b50610180610a43565b34801561035557600080fd5b506102556004803603604081101561036c57600080fd5b506001600160a01b038135169060200135610a49565b34801561038e57600080fd5b50610397610a94565b005b3480156103a557600080fd5b50610397600480360360408110156103bc57600080fd5b506001600160a01b038135169060200135610bbc565b3480156103de57600080fd5b50610180600480360360208110156103f557600080fd5b50356001600160a01b0316610dc6565b34801561041157600080fd5b50610180610de1565b34801561042657600080fd5b506103976004803603602081101561043d57600080fd5b5035610de7565b34801561045057600080fd5b506101a7610e39565b34801561046557600080fd5b506103976004803603604081101561047c57600080fd5b506001600160a01b038135169060200135610e9a565b34801561049e57600080fd5b50610255600480360360408110156104b557600080fd5b506001600160a01b0381351690602001356111f3565b610397611281565b3480156104df57600080fd5b50610397600480360360408110156104f657600080fd5b50803590602001356114da565b34801561050f57600080fd5b506102556004803603604081101561052657600080fd5b506001600160a01b038135169060200135611532565b34801561054857600080fd5b50610180611766565b34801561055d57600080fd5b506101806004803603604081101561057457600080fd5b506001600160a01b038135811691602001351661176c565b34801561059857600080fd5b50610397600480360360408110156105af57600080fd5b5080359060200135611797565b3480156105c857600080fd5b50610397600480360360208110156105df57600080fd5b50356117fd565b600f5481565b60078054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106785780601f1061064d57610100808354040283529160200191610678565b820191906000526020600020905b81548152906001019060200180831161065b57829003601f168201915b5050505050905090565b600061069661068f61184f565b8484611853565b5060015b92915050565b60036020526000908152604090205481565b600e5481565b60045490565b60006106cb84848461193f565b600a544210158061070957506000600360006106e561184f565b6001600160a01b03166001600160a01b031681526020019081526020016000205411155b61074c576040805162461bcd60e51b815260206004820152600f60248201526e151bdad95b881a5cc814185d5cd959608a1b604482015290519081900360640190fd5b600b5482111561079c576040805162461bcd60e51b815260206004820152601660248201527521b0b81030b6b7bab73a1032bc31b2b2b232b217171760511b604482015290519081900360640190fd5b6107a461184f565b6009546001600160a01b03908116911614156109a357600d541561090d57600c546009546001600160a01b0316600090815260016020526040902054839003101561082b576040805162461bcd60e51b81526020600482015260126024820152715061737365642077726f6e672076616c756560701b604482015290519081900360640190fd5b600d54421015610870576040805162461bcd60e51b81526020600482018190526024820152600080516020611d2b833981519152604482015290519081900360640190fd5b6001600160a01b03841660009081526002602052604081208161089161184f565b6001600160a01b03166001600160a01b03168152602001908152602001600020549050828110156108f35760405162461bcd60e51b8152600401808060200182810382526028815260200180611c796028913960400191505060405180910390fd5b610907856108ff61184f565b858403611853565b5061099e565b6001600160a01b03841660009081526002602052604081208161092e61184f565b6001600160a01b03166001600160a01b03168152602001908152602001600020549050828110156109905760405162461bcd60e51b8152600401808060200182810382526028815260200180611c796028913960400191505060405180910390fd5b61099c856108ff61184f565b505b610a34565b6001600160a01b0384166000908152600260205260408120816109c461184f565b6001600160a01b03166001600160a01b0316815260200190815260200160002054905082811015610a265760405162461bcd60e51b8152600401808060200182810382526028815260200180611c796028913960400191505060405180910390fd5b610a32856108ff61184f565b505b5060019392505050565b601290565b600b5481565b6000610696610a5661184f565b848460026000610a6461184f565b6001600160a01b03908116825260208083019390935260409182016000908120918b168152925290205401611853565b6009546001600160a01b03163314610ae1576040805162461bcd60e51b81526020600482015260156024820152600080516020611c33833981519152604482015290519081900360640190fd5b600060065411610b2f576040805162461bcd60e51b815260206004820152601460248201527320b636103a37b5b2b7399030b9329029b7b6321760611b604482015290519081900360640190fd5b600080546009546006546040805163a9059cbb60e01b81526001600160a01b039384166004820152602481019290925251919092169263a9059cbb92604480820193602093909283900390910190829087803b158015610b8e57600080fd5b505af1158015610ba2573d6000803e3d6000fd5b505050506040513d6020811015610bb857600080fd5b5050565b6009546001600160a01b03163314610c09576040805162461bcd60e51b81526020600482015260156024820152600080516020611c33833981519152604482015290519081900360640190fd5b6001600160a01b038216610c64576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b600b5481600454011115610cbf576040805162461bcd60e51b815260206004820152601a60248201527f416d6f756e74204578636565646564204d61726b657420436170000000000000604482015290519081900360640190fd5b600e54811115610d16576040805162461bcd60e51b815260206004820152601860248201527f416d6f756e74204578636565646564204d696e74204361700000000000000000604482015290519081900360640190fd5b42600f541115610d6d576040805162461bcd60e51b815260206004820152601760248201527f436f696e204e6f7420526561647920666f72204d696e74000000000000000000604482015290519081900360640190fd5b600f80546301e1338001905560048054820190556001600160a01b038216600081815260016020908152604080832080548601905580518581529051600080516020611ca1833981519152929181900390910190a35050565b6001600160a01b031660009081526001602052604090205490565b60055481565b6009546001600160a01b03163314610e34576040805162461bcd60e51b81526020600482015260156024820152600080516020611c33833981519152604482015290519081900360640190fd5b600555565b60088054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106785780601f1061064d57610100808354040283529160200191610678565b6009546001600160a01b03163314610ee7576040805162461bcd60e51b81526020600482015260156024820152600080516020611c33833981519152604482015290519081900360640190fd5b6001600160a01b038216610f2c5760405162461bcd60e51b8152600401808060200182810382526021815260200180611cc16021913960400191505060405180910390fd5b6009546001600160a01b031633141561114a57600d541561109f57600c546009546001600160a01b03166000908152600160205260409020548290031015610fb0576040805162461bcd60e51b81526020600482015260126024820152715061737365642077726f6e672076616c756560701b604482015290519081900360640190fd5b600d54421015610ff5576040805162461bcd60e51b81526020600482018190526024820152600080516020611d2b833981519152604482015290519081900360640190fd5b6001600160a01b0382166000908152600160205260409020548181101561104d5760405162461bcd60e51b8152600401808060200182810382526022815260200180611bef6022913960400191505060405180910390fd5b6001600160a01b0383166000818152600160209081526040808320868603905560048054879003905580518681529051929392600080516020611ca1833981519152929181900390910190a350611145565b6001600160a01b038216600090815260016020526040902054818110156110f75760405162461bcd60e51b8152600401808060200182810382526022815260200180611bef6022913960400191505060405180910390fd5b6001600160a01b0383166000818152600160209081526040808320868603905560048054879003905580518681529051929392600080516020611ca1833981519152929181900390910190a3505b610bb8565b6001600160a01b038216600090815260016020526040902054818110156111a25760405162461bcd60e51b8152600401808060200182810382526022815260200180611bef6022913960400191505060405180910390fd5b6001600160a01b0383166000818152600160209081526040808320868603905560048054879003905580518681529051929392600080516020611ca1833981519152929181900390910190a3505050565b6000806002600061120261184f565b6001600160a01b039081168252602080830193909352604091820160009081209188168152925290205490508281101561126d5760405162461bcd60e51b8152600401808060200182810382526025815260200180611d4b6025913960400191505060405180910390fd5b610a3461127861184f565b85858403611853565b600034116112d6576040805162461bcd60e51b815260206004820152601b60248201527f596f75206172652070617373696e672077726f6e672076616c75650000000000604482015290519081900360640190fd5b678ac7230489e80000341115611333576040805162461bcd60e51b815260206004820152601c60248201527f4d6178696d756d206f726465722073697a652069732031302045544800000000604482015290519081900360640190fd5b33611385576040805162461bcd60e51b815260206004820152601860248201527f496e76616c69642041646472657373206f662042757965720000000000000000604482015290519081900360640190fd5b600a544211156113d2576040805162461bcd60e51b81526020600482015260136024820152722a37b5b2b729b0b6329034b99032b73232b21760691b604482015290519081900360640190fd5b600554339060009034816113e257fe5b6001600160a01b038085166000908152600360205260408082208054670de0b6b3a7640000969095049590950293840190945560095493519294509216913480156108fc02929091818181858888f19350505050158015611447573d6000803e3d6000fd5b50600080546040805163a9059cbb60e01b81526001600160a01b038681166004830152602482018690529151919092169263a9059cbb92604480820193602093909283900390910190829087803b1580156114a157600080fd5b505af11580156114b5573d6000803e3d6000fd5b505050506040513d60208110156114cb57600080fd5b50506006805491909103905550565b6009546001600160a01b03163314611527576040805162461bcd60e51b81526020600482015260156024820152600080516020611c33833981519152604482015290519081900360640190fd5b600c91909155600d55565b6000303314156115535761154e61154761184f565b848461193f565b610696565b60006003600061156161184f565b6001600160a01b03166001600160a01b03168152602001908152602001600020546001600061158e61184f565b6001600160a01b03166001600160a01b0316815260200190815260200160002054039050600a54421015806115c35750828110155b611606576040805162461bcd60e51b815260206004820152600f60248201526e151bdad95b881a5cc814185d5cd959608a1b604482015290519081900360640190fd5b600b54831115611656576040805162461bcd60e51b815260206004820152601660248201527521b0b81030b6b7bab73a1032bc31b2b2b232b217171760511b604482015290519081900360640190fd5b61165e61184f565b6009546001600160a01b039081169116141561175157600d541561174157600c546009546001600160a01b031660009081526001602052604090205484900310156116e5576040805162461bcd60e51b81526020600482015260126024820152715061737365642077726f6e672076616c756560701b604482015290519081900360640190fd5b600d5442101561172a576040805162461bcd60e51b81526020600482018190526024820152600080516020611d2b833981519152604482015290519081900360640190fd5b61173c61173561184f565b858561193f565b61174c565b61174c61173561184f565b61175c565b61175c61173561184f565b5050600192915050565b60065481565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6009546001600160a01b031633146117e4576040805162461bcd60e51b81526020600482015260156024820152600080516020611c33833981519152604482015290519081900360640190fd5b600a81905560068290556117f83083611a7a565b505050565b6009546001600160a01b0316331461184a576040805162461bcd60e51b81526020600482015260156024820152600080516020611c33833981519152604482015290519081900360640190fd5b600a55565b3390565b6001600160a01b0383166118985760405162461bcd60e51b8152600401808060200182810382526024815260200180611d076024913960400191505060405180910390fd5b6001600160a01b0382166118dd5760405162461bcd60e51b8152600401808060200182810382526022815260200180611c116022913960400191505060405180910390fd5b6001600160a01b03808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166119845760405162461bcd60e51b8152600401808060200182810382526025815260200180611ce26025913960400191505060405180910390fd5b6001600160a01b0382166119c95760405162461bcd60e51b8152600401808060200182810382526023815260200180611bcc6023913960400191505060405180910390fd5b6001600160a01b03831660009081526001602052604090205481811015611a215760405162461bcd60e51b8152600401808060200182810382526026815260200180611c536026913960400191505060405180910390fd5b6001600160a01b038085166000818152600160209081526040808320878703905593871680835291849020805487019055835186815293519193600080516020611ca1833981519152929081900390910190a350505050565b6000600b54821115611acc576040805162461bcd60e51b815260206004820152601660248201527521b0b81030b6b7bab73a1032bc31b2b2b232b217171760511b604482015290519081900360640190fd5b611ad461184f565b6009546001600160a01b0390811691161415611bc057600d5415611bb057600c546009546001600160a01b03166000908152600160205260409020548390031015611b5b576040805162461bcd60e51b81526020600482015260126024820152715061737365642077726f6e672076616c756560701b604482015290519081900360640190fd5b600d54421015611ba0576040805162461bcd60e51b81526020600482018190526024820152600080516020611d2b833981519152604482015290519081900360640190fd5b611bab61154761184f565b611bbb565b611bbb61154761184f565b61069a565b61069a61154761184f56fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f2061646472657373596f7520617265206e6f7420616e204f776e65722e000000000000000000000045524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573734f776e65722063616e206e6f74207472616e7366657220746869732074696d6545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220e0037461e21ad278d87c80f75d49674a2365ab2dee45b43f06aa5cc3eb26559b64736f6c634300060c0033

Deployed Bytecode Sourcemap

147:11163:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;803:32;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;1529:100;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4100:169;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;4100:169:1;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;399:46;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;399:46:1;-1:-1:-1;;;;;399:46:1;;:::i;771:28::-;;;;;;;;;;;;;:::i;1864:108::-;;;;;;;;;;;;;:::i;4283:1424::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;4283:1424:1;;;;;;;;;;;;;;;;;:::i;1761:93::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;691:18;;;;;;;;;;;;;:::i;5729:215::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;5729:215:1;;;;;;;;:::i;10778:161::-;;;;;;;;;;;;;:::i;:::-;;7128:508;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;7128:508:1;;;;;;;;:::i;1982:127::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1982:127:1;-1:-1:-1;;;;;1982:127:1;;:::i;505:25::-;;;;;;;;;;;;;:::i;9318:88::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9318:88:1;;:::i;1643:104::-;;;;;;;;;;;;;:::i;7714:1412::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;7714:1412:1;;;;;;;;:::i;5958:377::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;5958:377:1;;;;;;;;:::i;9986:571::-;;;:::i;10604:148::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10604:148:1;;;;;;;:::i;2123:1097::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;2123:1097:1;;;;;;;;:::i;537:30::-;;;;;;;;;;;;;:::i;3939:151::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;3939:151:1;;;;;;;;;;:::i;9623:203::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9623:203:1;;;;;;;:::i;9168:97::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9168:97:1;;:::i;803:32::-;;;;:::o;1529:100::-;1616:5;1609:12;;;;;;;;-1:-1:-1;;1609:12:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1583:13;;1609:12;;1616:5;;1609:12;;1616:5;1609:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1529:100;:::o;4100:169::-;4183:4;4200:39;4209:12;:10;:12::i;:::-;4223:7;4232:6;4200:8;:39::i;:::-;-1:-1:-1;4257:4:1;4100:169;;;;;:::o;399:46::-;;;;;;;;;;;;;:::o;771:28::-;;;;:::o;1864:108::-;1952:12;;1864:108;:::o;4283:1424::-;4389:4;4406:36;4416:6;4424:9;4435:6;4406:9;:36::i;:::-;4468:11;;4461:3;:18;;:51;;;;4511:1;4483:10;:24;4494:12;:10;:12::i;:::-;-1:-1:-1;;;;;4483:24:1;-1:-1:-1;;;;;4483:24:1;;;;;;;;;;;;;:29;;4461:51;4453:78;;;;;-1:-1:-1;;;4453:78:1;;;;;;;;;;;;-1:-1:-1;;;4453:78:1;;;;;;;;;;;;;;;4560:3;;4550:6;:13;;4542:47;;;;;-1:-1:-1;;;4542:47:1;;;;;;;;;;;;-1:-1:-1;;;4542:47:1;;;;;;;;;;;;;;;4619:12;:10;:12::i;:::-;4603;;-1:-1:-1;;;;;4603:12:1;;;:28;;;4600:1078;;;4650:16;;:21;4647:763;;4738:12;;4711;;-1:-1:-1;;;;;4711:12:1;4701:23;;;;:9;:23;;;;;;:32;;;4700:50;;4692:80;;;;;-1:-1:-1;;;4692:80:1;;;;;;;;;;;;-1:-1:-1;;;4692:80:1;;;;;;;;;;;;;;;4808:16;;4801:3;:23;;4792:68;;;;;-1:-1:-1;;;4792:68:1;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;4792:68:1;;;;;;;;;;;;;;;-1:-1:-1;;;;;4911:19:1;;4884:24;4911:19;;;:11;:19;;;;;4884:24;4931:12;:10;:12::i;:::-;-1:-1:-1;;;;;4911:33:1;-1:-1:-1;;;;;4911:33:1;;;;;;;;;;;;;4884:60;;4992:6;4972:16;:26;;4964:79;;;;-1:-1:-1;;;4964:79:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5062:57;5071:6;5079:12;:10;:12::i;:::-;5112:6;5093:16;:25;5062:8;:57::i;:::-;4647:763;;;;-1:-1:-1;;;;;5187:19:1;;5160:24;5187:19;;;:11;:19;;;;;5160:24;5207:12;:10;:12::i;:::-;-1:-1:-1;;;;;5187:33:1;-1:-1:-1;;;;;5187:33:1;;;;;;;;;;;;;5160:60;;5267:6;5247:16;:26;;5239:79;;;;-1:-1:-1;;;5239:79:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5337:57;5346:6;5354:12;:10;:12::i;5337:57::-;4647:763;;4600:1078;;;-1:-1:-1;;;;;5467:19:1;;5440:24;5467:19;;;:11;:19;;;;;5440:24;5487:12;:10;:12::i;:::-;-1:-1:-1;;;;;5467:33:1;-1:-1:-1;;;;;5467:33:1;;;;;;;;;;;;;5440:60;;5543:6;5523:16;:26;;5515:79;;;;-1:-1:-1;;;5515:79:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5609:57;5618:6;5626:12;:10;:12::i;5609:57::-;4600:1078;;-1:-1:-1;5695:4:1;4283:1424;;;;;:::o;1761:93::-;1844:2;1761:93;:::o;691:18::-;;;;:::o;5729:215::-;5817:4;5834:80;5843:12;:10;:12::i;:::-;5857:7;5903:10;5866:11;:25;5878:12;:10;:12::i;:::-;-1:-1:-1;;;;;5866:25:1;;;;;;;;;;;;;;;;;-1:-1:-1;5866:25:1;;;:34;;;;;;;;;;:47;5834:8;:80::i;10778:161::-;951:12;;-1:-1:-1;;;;;951:12:1;937:10;:26;929:60;;;;;-1:-1:-1;;;929:60:1;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;929:60:1;;;;;;;;;;;;;;;10851:1:::1;10833:15;;:19;10825:51;;;::::0;;-1:-1:-1;;;10825:51:1;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;10825:51:1;;;;;;;;;;;;;::::1;;10887:5;::::0;;10902:12:::1;::::0;10915:15:::1;::::0;10887:44:::1;::::0;;-1:-1:-1;;;10887:44:1;;-1:-1:-1;;;;;10902:12:1;;::::1;10887:44;::::0;::::1;::::0;;;;;;;;;:5;;;::::1;::::0;:14:::1;::::0;:44;;;;;::::1;::::0;;;;;;;;;;;;:5;:44;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;;10778:161:1:o;7128:508::-;951:12;;-1:-1:-1;;;;;951:12:1;937:10;:26;929:60;;;;;-1:-1:-1;;;929:60:1;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;929:60:1;;;;;;;;;;;;;;;-1:-1:-1;;;;;7210:21:1;::::1;7202:65;;;::::0;;-1:-1:-1;;;7202:65:1;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;7310:3;;7301:6;7286:12;;:21;:27;;7278:65;;;::::0;;-1:-1:-1;;;7278:65:1;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;7365:13;;7356:6;:22;;7348:58;;;::::0;;-1:-1:-1;;;7348:58:1;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;7439:3;7419:17;;:23;;7411:58;;;::::0;;-1:-1:-1;;;7411:58:1;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;7474:17;:29:::0;;7495:8:::1;7474:29;::::0;;7514:12:::1;:22:::0;;;::::1;::::0;;-1:-1:-1;;;;;7547:18:1;::::1;7474:17;7547:18:::0;;;-1:-1:-1;7547:18:1::1;::::0;;;;;;;:28;;;::::1;::::0;;7591:37;;;;;;;-1:-1:-1;;;;;;;;;;;7591:37:1;;;;;;;;;::::1;7128:508:::0;;:::o;1982:127::-;-1:-1:-1;;;;;2083:18:1;2056:7;2083:18;;;:9;:18;;;;;;;1982:127::o;505:25::-;;;;:::o;9318:88::-;951:12;;-1:-1:-1;;;;;951:12:1;937:10;:26;929:60;;;;;-1:-1:-1;;;929:60:1;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;929:60:1;;;;;;;;;;;;;;;9379:10:::1;:19:::0;9318:88::o;1643:104::-;1732:7;1725:14;;;;;;;;-1:-1:-1;;1725:14:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1699:13;;1725:14;;1732:7;;1725:14;;1732:7;1725:14;;;;;;;;;;;;;;;;;;;;;;;;7714:1412;951:12;;-1:-1:-1;;;;;951:12:1;937:10;:26;929:60;;;;;-1:-1:-1;;;929:60:1;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;929:60:1;;;;;;;;;;;;;;;-1:-1:-1;;;;;7796:21:1;::::1;7788:67;;;;-1:-1:-1::0;;;7788:67:1::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7869:12;::::0;-1:-1:-1;;;;;7869:12:1::1;7885:10;7869:26;7866:1253;;;7914:16;::::0;:21;7911:884:::1;;8001:12;::::0;7974::::1;::::0;-1:-1:-1;;;;;7974:12:1::1;7964:23;::::0;;;:9:::1;:23;::::0;;;;;:32;;::::1;7963:50;;7955:80;;;::::0;;-1:-1:-1;;;7955:80:1;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;7955:80:1;;;;;;;;;;;;;::::1;;8070:16;;8063:3;:23;;8054:68;;;::::0;;-1:-1:-1;;;8054:68:1;;::::1;;::::0;::::1;::::0;;;;;;;-1:-1:-1;;;;;;;;;;;8054:68:1;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;;;8166:18:1;::::1;8141:22;8166:18:::0;;;:9:::1;:18;::::0;;;;;8211:24;;::::1;;8203:71;;;;-1:-1:-1::0;;;8203:71:1::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;8293:18:1;::::1;;::::0;;;:9:::1;:18;::::0;;;;;;;8314:23;;::::1;8293:44:::0;;8356:12:::1;:22:::0;;;;::::1;::::0;;8402:37;;;;;;;8293:18;;;-1:-1:-1;;;;;;;;;;;8402:37:1;;;;;;;;;::::1;7911:884;;;;-1:-1:-1::0;;;;;8506:18:1;::::1;8481:22;8506:18:::0;;;:9:::1;:18;::::0;;;;;8551:24;;::::1;;8543:71;;;;-1:-1:-1::0;;;8543:71:1::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;8633:18:1;::::1;;::::0;;;:9:::1;:18;::::0;;;;;;;8654:23;;::::1;8633:44:::0;;8696:12:::1;:22:::0;;;;::::1;::::0;;8742:37;;;;;;;8633:18;;;-1:-1:-1;;;;;;;;;;;8742:37:1;;;;;;;;;::::1;7911:884;;7866:1253;;;-1:-1:-1::0;;;;;8850:18:1;::::1;8825:22;8850:18:::0;;;:9:::1;:18;::::0;;;;;8891:24;;::::1;;8883:71;;;;-1:-1:-1::0;;;8883:71:1::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;8969:18:1;::::1;;::::0;;;:9:::1;:18;::::0;;;;;;;8990:23;;::::1;8969:44:::0;;9028:12:::1;:22:::0;;;;::::1;::::0;;9070:37;;;;;;;8969:18;;;-1:-1:-1;;;;;;;;;;;9070:37:1;;;;;;;;;::::1;7866:1253;7714:1412:::0;;:::o;5958:377::-;6051:4;6068:24;6095:11;:25;6107:12;:10;:12::i;:::-;-1:-1:-1;;;;;6095:25:1;;;;;;;;;;;;;;;;;-1:-1:-1;6095:25:1;;;:34;;;;;;;;;;;-1:-1:-1;6148:35:1;;;;6140:85;;;;-1:-1:-1;;;6140:85:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6236:67;6245:12;:10;:12::i;:::-;6259:7;6287:15;6268:16;:34;6236:8;:67::i;9986:571::-;10051:1;10039:9;:13;10031:52;;;;;-1:-1:-1;;;10031:52:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;10109:6;10096:9;:19;;10088:59;;;;;-1:-1:-1;;;10088:59:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;10166:10;10158:60;;;;;-1:-1:-1;;;10158:60:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;10244:11;;10237:3;:18;;10229:50;;;;;-1:-1:-1;;;10229:50:1;;;;;;;;;;;;-1:-1:-1;;;10229:50:1;;;;;;;;;;;;;;;10361:10;;10307;;10290:14;;10349:9;10361:10;10349:22;;;;-1:-1:-1;;;;;10386:18:1;;;;;;;:10;:18;;;;;;:30;;10375:6;10349:22;;;;10348:33;;;;10386:30;;;;;;10436:12;;:32;;10348:33;;-1:-1:-1;10436:12:1;;;10458:9;10436:32;;;;;10458:9;;10436:32;10386:18;10436:32;10458:9;10436:12;:32;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10479:5:1;;;:31;;;-1:-1:-1;;;10479:31:1;;-1:-1:-1;;;;;10479:31:1;;;;;;;;;;;;;;;:5;;;;;:14;;:31;;;;;;;;;;;;;;;;;;:5;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;10521:15:1;:27;;;;;;;;-1:-1:-1;9986:571:1:o;10604:148::-;951:12;;-1:-1:-1;;;;;951:12:1;937:10;:26;929:60;;;;;-1:-1:-1;;;929:60:1;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;929:60:1;;;;;;;;;;;;;;;10688:12:::1;:21:::0;;;;10720:16:::1;:24:::0;10604:148::o;2123:1097::-;2209:4;2237;2246:10;2229:27;2226:965;;;2272:42;2282:12;:10;:12::i;:::-;2296:9;2307:6;2272:9;:42::i;:::-;2226:965;;;2374:20;2424:10;:24;2435:12;:10;:12::i;:::-;-1:-1:-1;;;;;2424:24:1;-1:-1:-1;;;;;2424:24:1;;;;;;;;;;;;;2398:9;:23;2408:12;:10;:12::i;:::-;-1:-1:-1;;;;;2398:23:1;-1:-1:-1;;;;;2398:23:1;;;;;;;;;;;;;:50;2374:75;;2479:11;;2472:3;:18;;:44;;;;2510:6;2494:12;:22;;2472:44;2464:71;;;;;-1:-1:-1;;;2464:71:1;;;;;;;;;;;;-1:-1:-1;;;2464:71:1;;;;;;;;;;;;;;;2568:3;;2558:6;:13;;2550:47;;;;;-1:-1:-1;;;2550:47:1;;;;;;;;;;;;-1:-1:-1;;;2550:47:1;;;;;;;;;;;;;;;2631:12;:10;:12::i;:::-;2615;;-1:-1:-1;;;;;2615:12:1;;;:28;;;2612:568;;;2666:16;;:21;2663:421;;2758:12;;2731;;-1:-1:-1;;;;;2731:12:1;2721:23;;;;:9;:23;;;;;;:32;;;2720:50;;2712:80;;;;;-1:-1:-1;;;2712:80:1;;;;;;;;;;;;-1:-1:-1;;;2712:80:1;;;;;;;;;;;;;;;2832:16;;2825:3;:23;;2816:68;;;;;-1:-1:-1;;;2816:68:1;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2816:68:1;;;;;;;;;;;;;;;2911:42;2921:12;:10;:12::i;:::-;2935:9;2946:6;2911:9;:42::i;:::-;2663:421;;;3022:42;3032:12;:10;:12::i;3022:42::-;2612:568;;;3122:42;3132:12;:10;:12::i;3122:42::-;2226:965;-1:-1:-1;3208:4:1;2123:1097;;;;:::o;537:30::-;;;;:::o;3939:151::-;-1:-1:-1;;;;;4055:18:1;;;4028:7;4055:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3939:151::o;9623:203::-;951:12;;-1:-1:-1;;;;;951:12:1;937:10;:26;929:60;;;;;-1:-1:-1;;;929:60:1;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;929:60:1;;;;;;;;;;;;;;;9706:11:::1;:18:::0;;;9735:15:::1;:29:::0;;;9775:43:::1;9800:4;9753:11:::0;9775:16:::1;:43::i;:::-;;9623:203:::0;;:::o;9168:97::-;951:12;;-1:-1:-1;;;;;951:12:1;937:10;:26;929:60;;;;;-1:-1:-1;;;929:60:1;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;929:60:1;;;;;;;;;;;;;;;9234:11:::1;:23:::0;9168:97::o;607:98:0:-;687:10;607:98;:::o;10953:346:1:-;-1:-1:-1;;;;;11055:19:1;;11047:68;;;;-1:-1:-1;;;11047:68:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11134:21:1;;11126:68;;;;-1:-1:-1;;;11126:68:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11207:18:1;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;11259:32;;;;;;;;;;;;;;;;;10953:346;;;:::o;6349:542::-;-1:-1:-1;;;;;6455:20:1;;6447:70;;;;-1:-1:-1;;;6447:70:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6536:23:1;;6528:71;;;;-1:-1:-1;;;6528:71:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6634:17:1;;6610:21;6634:17;;;:9;:17;;;;;;6670:23;;;;6662:74;;;;-1:-1:-1;;;6662:74:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6747:17:1;;;;;;;:9;:17;;;;;;;;6767:22;;;6747:42;;6800:20;;;;;;;;;;:30;;;;;;6848:35;;;;;;;6800:20;;-1:-1:-1;;;;;;;;;;;6848:35:1;;;;;;;;;;6349:542;;;;:::o;3232:695::-;3311:4;3346:3;;3336:6;:13;;3328:47;;;;;-1:-1:-1;;;3328:47:1;;;;;;;;;;;;-1:-1:-1;;;3328:47:1;;;;;;;;;;;;;;;3415:12;:10;:12::i;:::-;3399;;-1:-1:-1;;;;;3399:12:1;;;:28;;;3396:524;;;3446:16;;:21;3443:393;;3534:12;;3507;;-1:-1:-1;;;;;3507:12:1;3497:23;;;;:9;:23;;;;;;:32;;;3496:50;;3488:80;;;;;-1:-1:-1;;;3488:80:1;;;;;;;;;;;;-1:-1:-1;;;3488:80:1;;;;;;;;;;;;;;;3604:16;;3597:3;:23;;3588:68;;;;;-1:-1:-1;;;3588:68:1;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3588:68:1;;;;;;;;;;;;;;;3679:42;3689:12;:10;:12::i;3679:42::-;3443:393;;;3778:42;3788:12;:10;:12::i;3778:42::-;3396:524;;;3866:42;3876:12;:10;:12::i

Swarm Source

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