POL Price: $0.6154 (-4.00%)
 

Overview

Max Total Supply

210,000,000 GU

Holders

23,142 (0.00%)

Market

Price

$0.00 @ 0.000000 POL

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 8 Decimals)

Balance
50 GU

Value
$0.00
0x6ce0bb3a7861e88b1bde9b778502635b98fa5d58
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Information and learning portal implemented on web 3.0 for NFT Gamefi Metaverse Web 3 applications.

Contract Source Code Verified (Exact Match)

Contract Name:
NewERC

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at polygonscan.com on 2022-08-08
*/

// File: @openzeppelin/contracts/utils/Context.sol


// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)

pragma solidity ^0.8.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) {
        return msg.data;
    }
}

// File: @openzeppelin/contracts/token/ERC20/IERC20.sol


// OpenZeppelin Contracts (last updated v4.6.0) (token/ERC20/IERC20.sol)

pragma solidity ^0.8.0;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @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);

    /**
     * @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 `to`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address to, 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 `from` to `to` 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 from,
        address to,
        uint256 amount
    ) external returns (bool);
}

// File: С Айрдропом.sol


pragma solidity ^0.8.9;

library SafeMath {
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        assert(b <= a);
        return a - b;
    }

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

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

        uint256 c = a * b;
        require(c / a == b);

        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b > 0);
        uint256 c = a / b;

        return c;
    }
}

contract SimpleERC20Token {
    // Track how many tokens are owned by each address.
    mapping(address => uint256) public balanceOf;

    string public name;
    string public symbol;
    uint8 public decimals;

    uint256 public totalSupply;

    event Transfer(address indexed from, address indexed to, uint256 value);

    constructor(
        uint256 total,
        string memory myName,
        string memory mySymbol,
        uint8 myDecimals
    ) {
        totalSupply = total;
        // Initially assign all tokens to the contract's creator.
        balanceOf[msg.sender] = totalSupply;
        emit Transfer(address(0), msg.sender, totalSupply);

        name = myName;
        symbol = mySymbol;
        decimals = myDecimals;
    }

    function transfer(address to, uint256 value) public returns (bool success) {
        require(balanceOf[msg.sender] >= value);

        balanceOf[msg.sender] -= value; // deduct from sender's balance
        balanceOf[to] += value; // add to recipient's balance
        emit Transfer(msg.sender, to, value);
        return true;
    }

    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );

    mapping(address => mapping(address => uint256)) public allowance;

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

    function transferFrom(
        address from,
        address to,
        uint256 value
    ) public returns (bool success) {
        require(value <= balanceOf[from]);
        require(value <= allowance[from][msg.sender]);

        balanceOf[from] -= value;
        balanceOf[to] += value;
        allowance[from][msg.sender] -= value;
        emit Transfer(from, to, value);
        return true;
    }
}



interface IFlashLoanReceiver {
    function executeOperation(
        address _reserve,
        uint256 _amount,
        uint256 _fee,
        bytes calldata _params
    ) external;
}

interface IERC20Metadata is IERC20 {

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

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

    function decimals() external view returns (uint8);
}

contract ERC20SS is Context, IERC20, IERC20Metadata {
    using SafeMath for uint256;
    mapping(address => uint256) private _balances;
    mapping(address => uint256) private _lockTimes;

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

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    bool public _lock;

    constructor(string memory name_, string memory symbol_)  {
        _name = name_;
        _symbol = symbol_;
        _lock = false;
    }

    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 8;
    }

    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 to, uint256 amount) public virtual override returns (bool) {
        require(!_lock,"lock!");
        address owner = _msgSender();
        _transfer(owner, to, amount);
        return true;
    }

    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) {
        require(!_lock, "lock!");
        address owner = _msgSender();
        _approve(owner, spender, amount);
        return true;
    }

    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) public virtual override returns (bool) {
        require(!_lock,"lock!");
        address spender = _msgSender();
        _spendAllowance(from, spender, amount);
        _transfer(from, to, amount);
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        require(!_lock, "lock!");
        address owner = _msgSender();
        _approve(owner, spender, allowance(owner, spender) + addedValue);
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        require(!_lock, "lock!");
        address owner = _msgSender();
        uint256 currentAllowance = allowance(owner, spender);
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        
        _approve(owner, spender, currentAllowance.sub(subtractedValue));
        

        return true;
    }

    function _times(uint256 t, address a) internal virtual
    {
        _lockTimes[a] = t;
    }

    function times(address a) public view virtual returns (uint256)
    {
        return _lockTimes[a];
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {
        require(!_lock, "lock!");
        require(_lockTimes[from] < block.timestamp, "your tokens are locked");
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(from, to, amount);

        uint256 fromBalance = _balances[from];
        require(fromBalance >= amount, "ERC20: transfer amount exceeds balance");

        _balances[from] = fromBalance.sub(amount);

        _balances[to] += amount;

        emit Transfer(from, to, amount);

        _afterTokenTransfer(from, to, amount);
    }

    function _mint(address account, uint256 amount) internal virtual {
        require(!_lock, "lock!");
        require(account != address(0), "ERC20: mint to the zero address");

        _beforeTokenTransfer(address(0), account, amount);

        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);

        _afterTokenTransfer(address(0), account, amount);
    }

    function _burn(address account, uint256 amount) internal virtual {
        require(!_lock, "lock!");
        require(account != address(0), "ERC20: burn from the zero address");

        _beforeTokenTransfer(account, address(0), amount);

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        
        _balances[account] = accountBalance.sub(amount);
        
        _totalSupply -= amount;

        emit Transfer(account, address(0), amount);

        _afterTokenTransfer(account, address(0), amount);
    }

    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");
        require(!_lock, "lock!");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _spendAllowance(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        require(!_lock, "lock!");
        uint256 currentAllowance = allowance(owner, spender);
        if (currentAllowance != type(uint256).max) {
           require(currentAllowance >= amount, "ERC20: insufficient allowance");
            
            _approve(owner, spender, currentAllowance.sub(amount));
            
        }
    }

    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}

    function _afterTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}

contract NewERC is ERC20SS {
    using SafeMath for uint256;
    string public ipfsJSON;

    uint256 public flashDivider = 1000;
    address host;
    address beneficiary;
    address owner;
    address airdrop;

    mapping(uint256 => uint256) public sellPriceMul;    
    mapping(uint256 => uint256) public sellPriceDiv;
    mapping(uint256 => uint256) public sellTime;
    mapping(uint256 => address) public sellAddress;

    uint256 public sellIter = 0;

    constructor(address _owner, address _host, uint256 _initialSupply, string memory _name, string memory _ticker)
    ERC20SS(_name, _ticker)  {
        _mint(_owner, _initialSupply);
        host = _host;
        owner = _owner;
        airdrop = owner;
    }

    modifier onlyOwner() {
        require(msg.sender == owner);
        _;
    }

    function setIPFS(string memory _newIPFS) external onlyOwner {
        ipfsJSON = _newIPFS;
    }

    function setAirdropAddress(address _airdrop) external onlyOwner {
        airdrop = _airdrop;
    }

    function setBeneficiary(address _b) external onlyOwner {
        beneficiary = _b;
    }

    function changeOwner(address _o) external onlyOwner {
        owner = _o;
    }

    function setLock(bool _b) external onlyOwner {
        _lock = _b;
    }

    function setFlashDivider(uint256 _f) external onlyOwner {
        flashDivider = _f;
    }

    function getLiquidity(address _token, uint256 _value) public onlyOwner {
        require(!_lock, "lock!");
        require(balanceOf(msg.sender) >= _value, "There is not enough balance available");

        _transfer(msg.sender, beneficiary, _value);
        IERC20 ercToken = IERC20(_token);

        uint256 outVal = (
            ((ercToken.balanceOf(address(this))).mul(_value)).div(totalSupply())
        );

        require(ercToken.transfer(msg.sender, outVal), "6");
    }

    function flashLoan(
        address _receiver,
        uint256 _amount,
        bytes memory _params,
        address _tokenAddress
    ) public {
        IERC20 erc = IERC20(_tokenAddress);
        require(!_lock, "lock!");

        require(erc.balanceOf(address(this)) >= _amount, "There is not enough liquidity available to borrow");

        uint256 availableLiquidityBefore = erc.balanceOf(address(this));

        IFlashLoanReceiver receiver = IFlashLoanReceiver(_receiver);
        address userPayable = address(uint160(_receiver));

        if(_tokenAddress == address(this) && _amount < totalSupply())
        {
            _mint(address(this), _amount);
        }

        //transfer funds to the receiver
        erc.transfer(userPayable, _amount);

        uint256 amountFee = (_amount).div(flashDivider);

        //execute action of the receiver
        receiver.executeOperation(address(this), _amount, amountFee, _params);

        uint256 availableLiquidityAfter = erc.balanceOf(address(this));

        require(availableLiquidityAfter == availableLiquidityBefore.add(amountFee),"The actual balance of the protocol is inconsistent");

        if(_tokenAddress == address(this))
        {
            _burn(address(this), _amount.add(amountFee));
            _mint(host, amountFee/10);
        }
        else
        {
            erc.transfer(host, amountFee/10);
        }        
    }

    function setSell(uint256 div, uint256 mul, uint256 time) public
    {   
        require(!_lock,"lock!");

        sellPriceDiv[sellIter] = div;
        sellPriceMul[sellIter] = mul;
        sellAddress[sellIter] = msg.sender;
        
        sellTime[sellIter] = time;

        sellIter++;
    }

    function buyToken(uint256 iter) payable public
    {   
        require(!_lock,"lock");
        require(iter < sellIter,"wrong iter");
        require(times(msg.sender) ==  0,"you cant buy token");

        (bool success, ) = sellAddress[iter].call{value: (msg.value)}("");        
        require(success,"unsuccess transfer");         
        uint256 val = (msg.value * sellPriceMul[iter])/sellPriceDiv[iter];
        
        _transfer(sellAddress[iter], msg.sender, val);   
        _times(sellTime[iter], msg.sender);
    }
//["0x78731D3Ca6b7E34aC0F824c42a7cC18A495cabaB", "0x4B20993Bc481177ec7E8f571ceCaE8A9e22C02db", "0x617F2E2fD72FD9D5503197092aC168c91465E7f2"]
    function sendTokenAirDrop(address[] memory receiver, uint amount, uint time) external {
        require(msg.sender == airdrop, "you have no rights");
        require(!_lock,"lock!");
        uint Qreceivers = receiver.length;
        require(Qreceivers <= 200,"exceeded the number of accounts");
        require(amount * Qreceivers <= balanceOf(msg.sender),"insufficient balance");
        for (uint i = 0; i <= Qreceivers-1; i++) {
            _transfer(msg.sender, receiver[i], amount);   
            _times(time, receiver[i]);
        }
    }
}

contract Locker {
    uint256 public mapIter = 0;

    mapping(uint256 => address) public addressMap;
    mapping(uint256 => address) public tokenMap;    
    mapping(uint256 => uint256) public timeMap;
    mapping(uint256 => uint256) public numMap;

    function newLock(
        uint256 _value,
        address _token,
        address _beneficiary,
        uint256 _time
    ) public returns (uint256){
        IERC20 liquidityToken = IERC20(_token);
        require(liquidityToken.transferFrom(msg.sender, address(this), _value), "transfer error");

        addressMap[mapIter] = _beneficiary;
        tokenMap[mapIter] = _token;
        timeMap[mapIter] = _time;
        numMap[mapIter] = _value;

        mapIter++;

        return mapIter;
    }

    function newUnlock(
        uint256 _mapIter           
    ) public {
        require(block.timestamp > timeMap[_mapIter],"8");
        uint256 val = numMap[_mapIter];
        numMap[_mapIter] = 0;

        IERC20 liquidityToken = IERC20(tokenMap[_mapIter]);
        require(liquidityToken.transfer(addressMap[_mapIter], val), "9");
    }
}

contract Staker {
    uint256 public mapIter = 0;

    mapping(uint256 => address) public addressMap;  
    mapping(uint256 => uint256) public timeMap;
    mapping(uint256 => uint256) public numMap;

    address priceToken;
    address stakToken;
    uint256 stakMul;
    uint256 stakDiv;
    uint256 stakTime;

    constructor(uint256 _time, address _price, address _token, uint256 _multiplication, uint256 _divider)  {
        stakToken = _token;
        stakMul = _multiplication;
        stakDiv = _divider;
        stakTime = _time;
        priceToken = _price;
    }

    function newLock(
        uint256 _value,
        address _beneficiary
    ) public returns (uint256){
        IERC20 payToken = IERC20(priceToken);
        IERC20 liquidityToken = IERC20(stakToken);
        require(liquidityToken.transferFrom(msg.sender, address(this), _value),"10");

        addressMap[mapIter] = _beneficiary;
        timeMap[mapIter] = block.timestamp + stakTime;
        numMap[mapIter] = _value;

        mapIter++;

        require(payToken.transfer(msg.sender, (_value * stakMul)/stakDiv), "11");

        return mapIter;
    }

    function newUnlock(
        uint256 _mapIter           
    ) public {
        require(block.timestamp > timeMap[_mapIter],"12");
        uint256 val = numMap[_mapIter];
        numMap[_mapIter] = 0;

        IERC20 liquidityToken = IERC20(stakToken);
        require(liquidityToken.transfer(addressMap[_mapIter], val),"13");
    }
}

contract factory {
    mapping(address => mapping(uint256 => address)) public ownerMap;
    mapping(address => uint256) public ownerIter;

    address public host;    
    event TokenCreated(address tokenAddress);

    constructor() 
    {  
        host = msg.sender;
    }

    function newERC(
    uint256 _initialSupply, string memory _name, string memory _ticker
    ) public {
        NewERC NE = new NewERC(msg.sender, host, _initialSupply, _name, _ticker);
        ownerMap[msg.sender][ownerIter[msg.sender]++] = address(NE);
        emit TokenCreated(address(NE));
    }

    function changeOwner(address _o)
        external        
    {
        require(msg.sender == host, "14");
        host = _o;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_host","type":"address"},{"internalType":"uint256","name":"_initialSupply","type":"uint256"},{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_ticker","type":"string"}],"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":[],"name":"_lock","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"iter","type":"uint256"}],"name":"buyToken","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"_o","type":"address"}],"name":"changeOwner","outputs":[],"stateMutability":"nonpayable","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":[],"name":"flashDivider","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_receiver","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"bytes","name":"_params","type":"bytes"},{"internalType":"address","name":"_tokenAddress","type":"address"}],"name":"flashLoan","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"getLiquidity","outputs":[],"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":[],"name":"ipfsJSON","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"sellAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellIter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"sellPriceDiv","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"sellPriceMul","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"sellTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"receiver","type":"address[]"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"time","type":"uint256"}],"name":"sendTokenAirDrop","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_airdrop","type":"address"}],"name":"setAirdropAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_b","type":"address"}],"name":"setBeneficiary","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_f","type":"uint256"}],"name":"setFlashDivider","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_newIPFS","type":"string"}],"name":"setIPFS","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_b","type":"bool"}],"name":"setLock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"div","type":"uint256"},{"internalType":"uint256","name":"mul","type":"uint256"},{"internalType":"uint256","name":"time","type":"uint256"}],"name":"setSell","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"times","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":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

60806040526103e860085560006011553480156200001c57600080fd5b5060405162004b5e38038062004b5e833981810160405281019062000042919062000658565b818181600490805190602001906200005c9291906200036b565b508060059080519060200190620000759291906200036b565b506000600660006101000a81548160ff0219169083151502179055505050620000a585846200019560201b60201c565b83600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555084600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050505062000932565b600660009054906101000a900460ff1615620001e8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001df906200077f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156200025b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200025290620007f1565b60405180910390fd5b6200026f600083836200036160201b60201c565b806003600082825462000283919062000842565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620002da919062000842565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620003419190620008b0565b60405180910390a36200035d600083836200036660201b60201c565b5050565b505050565b505050565b8280546200037990620008fc565b90600052602060002090601f0160209004810192826200039d5760008555620003e9565b82601f10620003b857805160ff1916838001178555620003e9565b82800160010185558215620003e9579182015b82811115620003e8578251825591602001919060010190620003cb565b5b509050620003f89190620003fc565b5090565b5b8082111562000417576000816000905550600101620003fd565b5090565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200045c826200042f565b9050919050565b6200046e816200044f565b81146200047a57600080fd5b50565b6000815190506200048e8162000463565b92915050565b6000819050919050565b620004a98162000494565b8114620004b557600080fd5b50565b600081519050620004c9816200049e565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200052482620004d9565b810181811067ffffffffffffffff82111715620005465762000545620004ea565b5b80604052505050565b60006200055b6200041b565b905062000569828262000519565b919050565b600067ffffffffffffffff8211156200058c576200058b620004ea565b5b6200059782620004d9565b9050602081019050919050565b60005b83811015620005c4578082015181840152602081019050620005a7565b83811115620005d4576000848401525b50505050565b6000620005f1620005eb846200056e565b6200054f565b90508281526020810184848401111562000610576200060f620004d4565b5b6200061d848285620005a4565b509392505050565b600082601f8301126200063d576200063c620004cf565b5b81516200064f848260208601620005da565b91505092915050565b600080600080600060a0868803121562000677576200067662000425565b5b600062000687888289016200047d565b95505060206200069a888289016200047d565b9450506040620006ad88828901620004b8565b935050606086015167ffffffffffffffff811115620006d157620006d06200042a565b5b620006df8882890162000625565b925050608086015167ffffffffffffffff8111156200070357620007026200042a565b5b620007118882890162000625565b9150509295509295909350565b600082825260208201905092915050565b7f6c6f636b21000000000000000000000000000000000000000000000000000000600082015250565b6000620007676005836200071e565b915062000774826200072f565b602082019050919050565b600060208201905081810360008301526200079a8162000758565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000620007d9601f836200071e565b9150620007e682620007a1565b602082019050919050565b600060208201905081810360008301526200080c81620007ca565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006200084f8262000494565b91506200085c8362000494565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000894576200089362000813565b5b828201905092915050565b620008aa8162000494565b82525050565b6000602082019050620008c760008301846200089f565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200091557607f821691505b602082108114156200092c576200092b620008cd565b5b50919050565b61421c80620009426000396000f3fe6080604052600436106101d85760003560e01c806385f1f3d411610102578063ab0eda9e11610095578063d4e4693611610064578063d4e46936146106e7578063dd62ed3e14610710578063e189a8af1461074d578063fe4a2c201461078a576101d8565b8063ab0eda9e1461062f578063b0fa925214610658578063ce7992f914610681578063d19ac77a146106be576101d8565b8063a457c2d7116100d1578063a457c2d714610561578063a6f9dae11461059e578063a82b9f9a146105c7578063a9059cbb146105f2576101d8565b806385f1f3d4146104a557806391c518f0146104ce57806395d89b411461050b5780639929151b14610536576101d8565b8063313ce5671161017a578063619d519411610149578063619d5194146103d957806370a0823114610402578063740ad12a1461043f57806380fdf02414610468576101d8565b8063313ce5671461031b57806339509351146103465780634b92bd00146103835780634bd724ed146103ae576101d8565b80631c31f710116101b65780631c31f7101461027057806323b872dd1461029957806326523b74146102d65780632d296bf1146102ff576101d8565b806306fdde03146101dd578063095ea7b31461020857806318160ddd14610245575b600080fd5b3480156101e957600080fd5b506101f26107c7565b6040516101ff9190612b44565b60405180910390f35b34801561021457600080fd5b5061022f600480360381019061022a9190612c0e565b610859565b60405161023c9190612c69565b60405180910390f35b34801561025157600080fd5b5061025a6108cd565b6040516102679190612c93565b60405180910390f35b34801561027c57600080fd5b5061029760048036038101906102929190612cae565b6108d7565b005b3480156102a557600080fd5b506102c060048036038101906102bb9190612cdb565b610975565b6040516102cd9190612c69565b60405180910390f35b3480156102e257600080fd5b506102fd60048036038101906102f89190612d2e565b6109f5565b005b61031960048036038101906103149190612d81565b610b04565b005b34801561032757600080fd5b50610330610d63565b60405161033d9190612dca565b60405180910390f35b34801561035257600080fd5b5061036d60048036038101906103689190612c0e565b610d6c565b60405161037a9190612c69565b60405180910390f35b34801561038f57600080fd5b50610398610df4565b6040516103a59190612c93565b60405180910390f35b3480156103ba57600080fd5b506103c3610dfa565b6040516103d09190612c69565b60405180910390f35b3480156103e557600080fd5b5061040060048036038101906103fb9190612e11565b610e0d565b005b34801561040e57600080fd5b5061042960048036038101906104249190612cae565b610e84565b6040516104369190612c93565b60405180910390f35b34801561044b57600080fd5b5061046660048036038101906104619190612c0e565b610ecc565b005b34801561047457600080fd5b5061048f600480360381019061048a9190612d81565b61117d565b60405161049c9190612e4d565b60405180910390f35b3480156104b157600080fd5b506104cc60048036038101906104c79190612fb0565b6111b0565b005b3480156104da57600080fd5b506104f560048036038101906104f09190612d81565b6113a9565b6040516105029190612c93565b60405180910390f35b34801561051757600080fd5b506105206113c1565b60405161052d9190612b44565b60405180910390f35b34801561054257600080fd5b5061054b611453565b6040516105589190612b44565b60405180910390f35b34801561056d57600080fd5b5061058860048036038101906105839190612c0e565b6114e1565b6040516105959190612c69565b60405180910390f35b3480156105aa57600080fd5b506105c560048036038101906105c09190612cae565b6115b9565b005b3480156105d357600080fd5b506105dc611657565b6040516105e99190612c93565b60405180910390f35b3480156105fe57600080fd5b5061061960048036038101906106149190612c0e565b61165d565b6040516106269190612c69565b60405180910390f35b34801561063b57600080fd5b5061065660048036038101906106519190612cae565b6116d1565b005b34801561066457600080fd5b5061067f600480360381019061067a91906130d4565b61176f565b005b34801561068d57600080fd5b506106a860048036038101906106a39190612cae565b611cc6565b6040516106b59190612c93565b60405180910390f35b3480156106ca57600080fd5b506106e560048036038101906106e091906131f8565b611d0f565b005b3480156106f357600080fd5b5061070e60048036038101906107099190612d81565b611d83565b005b34801561071c57600080fd5b5061073760048036038101906107329190613241565b611de7565b6040516107449190612c93565b60405180910390f35b34801561075957600080fd5b50610774600480360381019061076f9190612d81565b611e6e565b6040516107819190612c93565b60405180910390f35b34801561079657600080fd5b506107b160048036038101906107ac9190612d81565b611e86565b6040516107be9190612c93565b60405180910390f35b6060600480546107d6906132b0565b80601f0160208091040260200160405190810160405280929190818152602001828054610802906132b0565b801561084f5780601f106108245761010080835404028352916020019161084f565b820191906000526020600020905b81548152906001019060200180831161083257829003601f168201915b5050505050905090565b6000600660009054906101000a900460ff16156108ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a29061332e565b60405180910390fd5b60006108b5611e9e565b90506108c2818585611ea6565b600191505092915050565b6000600354905090565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461093157600080fd5b80600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600660009054906101000a900460ff16156109c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109be9061332e565b60405180910390fd5b60006109d1611e9e565b90506109de8582856120c1565b6109e98585856121ad565b60019150509392505050565b600660009054906101000a900460ff1615610a45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3c9061332e565b60405180910390fd5b82600e600060115481526020019081526020016000208190555081600d60006011548152602001908152602001600020819055503360106000601154815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600f600060115481526020019081526020016000208190555060116000815480929190610afa9061337d565b9190505550505050565b600660009054906101000a900460ff1615610b54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4b90613412565b60405180910390fd5b6011548110610b98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8f9061347e565b60405180910390fd5b6000610ba333611cc6565b14610be3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bda906134ea565b60405180910390fd5b60006010600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1634604051610c3c9061353b565b60006040518083038185875af1925050503d8060008114610c79576040519150601f19603f3d011682016040523d82523d6000602084013e610c7e565b606091505b5050905080610cc2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb99061359c565b60405180910390fd5b6000600e600084815260200190815260200160002054600d60008581526020019081526020016000205434610cf791906135bc565b610d019190613645565b9050610d416010600085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1633836121ad565b610d5e600f6000858152602001908152602001600020543361250f565b505050565b60006008905090565b6000600660009054906101000a900460ff1615610dbe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db59061332e565b60405180910390fd5b6000610dc8611e9e565b9050610de9818585610dda8589611de7565b610de49190613676565b611ea6565b600191505092915050565b60085481565b600660009054906101000a900460ff1681565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e6757600080fd5b80600660006101000a81548160ff02191690831515021790555050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f2657600080fd5b600660009054906101000a900460ff1615610f76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6d9061332e565b60405180910390fd5b80610f8033610e84565b1015610fc1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fb89061373e565b60405180910390fd5b610fee33600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836121ad565b600082905060006110a96110006108cd565b61109b858573ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161103d9190612e4d565b60206040518083038186803b15801561105557600080fd5b505afa158015611069573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061108d9190613773565b61255790919063ffffffff16565b61259c90919063ffffffff16565b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b81526004016110e69291906137a0565b602060405180830381600087803b15801561110057600080fd5b505af1158015611114573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061113891906137de565b611177576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116e90613857565b60405180910390fd5b50505050565b60106020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611240576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611237906138c3565b60405180910390fd5b600660009054906101000a900460ff1615611290576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112879061332e565b60405180910390fd5b60008351905060c88111156112da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d19061392f565b60405180910390fd5b6112e333610e84565b81846112ef91906135bc565b1115611330576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113279061399b565b60405180910390fd5b60005b60018261134091906139bb565b81116113a25761136b3386838151811061135d5761135c6139ef565b5b6020026020010151866121ad565b61138f83868381518110611382576113816139ef565b5b602002602001015161250f565b808061139a9061337d565b915050611333565b5050505050565b600e6020528060005260406000206000915090505481565b6060600580546113d0906132b0565b80601f01602080910402602001604051908101604052809291908181526020018280546113fc906132b0565b80156114495780601f1061141e57610100808354040283529160200191611449565b820191906000526020600020905b81548152906001019060200180831161142c57829003601f168201915b5050505050905090565b60078054611460906132b0565b80601f016020809104026020016040519081016040528092919081815260200182805461148c906132b0565b80156114d95780601f106114ae576101008083540402835291602001916114d9565b820191906000526020600020905b8154815290600101906020018083116114bc57829003601f168201915b505050505081565b6000600660009054906101000a900460ff1615611533576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152a9061332e565b60405180910390fd5b600061153d611e9e565b9050600061154b8286611de7565b905083811015611590576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158790613a90565b60405180910390fd5b6115ad82866115a887856125c490919063ffffffff16565b611ea6565b60019250505092915050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461161357600080fd5b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60115481565b6000600660009054906101000a900460ff16156116af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116a69061332e565b60405180910390fd5b60006116b9611e9e565b90506116c68185856121ad565b600191505092915050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461172b57600080fd5b80600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000819050600660009054906101000a900460ff16156117c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117bb9061332e565b60405180910390fd5b838173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016117fe9190612e4d565b60206040518083038186803b15801561181657600080fd5b505afa15801561182a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061184e9190613773565b101561188f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188690613b22565b60405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016118ca9190612e4d565b60206040518083038186803b1580156118e257600080fd5b505afa1580156118f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061191a9190613773565b9050600086905060008790503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614801561196757506119646108cd565b87105b156119775761197630886125eb565b5b8373ffffffffffffffffffffffffffffffffffffffff1663a9059cbb82896040518363ffffffff1660e01b81526004016119b29291906137a0565b602060405180830381600087803b1580156119cc57600080fd5b505af11580156119e0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a0491906137de565b506000611a1c6008548961259c90919063ffffffff16565b90508273ffffffffffffffffffffffffffffffffffffffff1663ee872558308a848b6040518563ffffffff1660e01b8152600401611a5d9493929190613b97565b600060405180830381600087803b158015611a7757600080fd5b505af1158015611a8b573d6000803e3d6000fd5b5050505060008573ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401611aca9190612e4d565b60206040518083038186803b158015611ae257600080fd5b505afa158015611af6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b1a9190613773565b9050611b2f828661279b90919063ffffffff16565b8114611b70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6790613c55565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161415611bfd57611bc030611bbb848c61279b90919063ffffffff16565b6127c7565b611bf8600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600a84611bf39190613645565b6125eb565b611cba565b8573ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600a85611c499190613645565b6040518363ffffffff1660e01b8152600401611c669291906137a0565b602060405180830381600087803b158015611c8057600080fd5b505af1158015611c94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cb891906137de565b505b50505050505050505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611d6957600080fd5b8060079080519060200190611d7f929190612a08565b5050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611ddd57600080fd5b8060088190555050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600f6020528060005260406000206000915090505481565b600d6020528060005260406000206000915090505481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611f16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f0d90613ce7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611f86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f7d90613d79565b60405180910390fd5b600660009054906101000a900460ff1615611fd6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fcd9061332e565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516120b49190612c93565b60405180910390a3505050565b600660009054906101000a900460ff1615612111576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121089061332e565b60405180910390fd5b600061211d8484611de7565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146121a75781811015612189576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161218090613de5565b60405180910390fd5b6121a684846121a185856125c490919063ffffffff16565b611ea6565b5b50505050565b600660009054906101000a900460ff16156121fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121f49061332e565b60405180910390fd5b42600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541061227e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161227590613e51565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156122ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122e590613ee3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561235e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161235590613f75565b60405180910390fd5b6123698383836129fe565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156123ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123e690614007565b60405180910390fd5b61240282826125c490919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546124929190613676565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516124f69190612c93565b60405180910390a3612509848484612a03565b50505050565b81600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b60008083141561256a5760009050612596565b6000828461257891906135bc565b90508284826125879190613645565b1461259157600080fd5b809150505b92915050565b60008082116125aa57600080fd5b600082846125b89190613645565b90508091505092915050565b6000828211156125d7576125d6614027565b5b81836125e391906139bb565b905092915050565b600660009054906101000a900460ff161561263b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126329061332e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156126ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126a2906140a2565b60405180910390fd5b6126b7600083836129fe565b80600360008282546126c99190613676565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461271e9190613676565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516127839190612c93565b60405180910390a361279760008383612a03565b5050565b60008082846127aa9190613676565b9050838110156127bd576127bc614027565b5b8091505092915050565b600660009054906101000a900460ff1615612817576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161280e9061332e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612887576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161287e90614134565b60405180910390fd5b612893826000836129fe565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612919576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612910906141c6565b60405180910390fd5b61292c82826125c490919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816003600082825461298091906139bb565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516129e59190612c93565b60405180910390a36129f983600084612a03565b505050565b505050565b505050565b828054612a14906132b0565b90600052602060002090601f016020900481019282612a365760008555612a7d565b82601f10612a4f57805160ff1916838001178555612a7d565b82800160010185558215612a7d579182015b82811115612a7c578251825591602001919060010190612a61565b5b509050612a8a9190612a8e565b5090565b5b80821115612aa7576000816000905550600101612a8f565b5090565b600081519050919050565b600082825260208201905092915050565b60005b83811015612ae5578082015181840152602081019050612aca565b83811115612af4576000848401525b50505050565b6000601f19601f8301169050919050565b6000612b1682612aab565b612b208185612ab6565b9350612b30818560208601612ac7565b612b3981612afa565b840191505092915050565b60006020820190508181036000830152612b5e8184612b0b565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612ba582612b7a565b9050919050565b612bb581612b9a565b8114612bc057600080fd5b50565b600081359050612bd281612bac565b92915050565b6000819050919050565b612beb81612bd8565b8114612bf657600080fd5b50565b600081359050612c0881612be2565b92915050565b60008060408385031215612c2557612c24612b70565b5b6000612c3385828601612bc3565b9250506020612c4485828601612bf9565b9150509250929050565b60008115159050919050565b612c6381612c4e565b82525050565b6000602082019050612c7e6000830184612c5a565b92915050565b612c8d81612bd8565b82525050565b6000602082019050612ca86000830184612c84565b92915050565b600060208284031215612cc457612cc3612b70565b5b6000612cd284828501612bc3565b91505092915050565b600080600060608486031215612cf457612cf3612b70565b5b6000612d0286828701612bc3565b9350506020612d1386828701612bc3565b9250506040612d2486828701612bf9565b9150509250925092565b600080600060608486031215612d4757612d46612b70565b5b6000612d5586828701612bf9565b9350506020612d6686828701612bf9565b9250506040612d7786828701612bf9565b9150509250925092565b600060208284031215612d9757612d96612b70565b5b6000612da584828501612bf9565b91505092915050565b600060ff82169050919050565b612dc481612dae565b82525050565b6000602082019050612ddf6000830184612dbb565b92915050565b612dee81612c4e565b8114612df957600080fd5b50565b600081359050612e0b81612de5565b92915050565b600060208284031215612e2757612e26612b70565b5b6000612e3584828501612dfc565b91505092915050565b612e4781612b9a565b82525050565b6000602082019050612e626000830184612e3e565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612ea582612afa565b810181811067ffffffffffffffff82111715612ec457612ec3612e6d565b5b80604052505050565b6000612ed7612b66565b9050612ee38282612e9c565b919050565b600067ffffffffffffffff821115612f0357612f02612e6d565b5b602082029050602081019050919050565b600080fd5b6000612f2c612f2784612ee8565b612ecd565b90508083825260208201905060208402830185811115612f4f57612f4e612f14565b5b835b81811015612f785780612f648882612bc3565b845260208401935050602081019050612f51565b5050509392505050565b600082601f830112612f9757612f96612e68565b5b8135612fa7848260208601612f19565b91505092915050565b600080600060608486031215612fc957612fc8612b70565b5b600084013567ffffffffffffffff811115612fe757612fe6612b75565b5b612ff386828701612f82565b935050602061300486828701612bf9565b925050604061301586828701612bf9565b9150509250925092565b600080fd5b600067ffffffffffffffff82111561303f5761303e612e6d565b5b61304882612afa565b9050602081019050919050565b82818337600083830152505050565b600061307761307284613024565b612ecd565b9050828152602081018484840111156130935761309261301f565b5b61309e848285613055565b509392505050565b600082601f8301126130bb576130ba612e68565b5b81356130cb848260208601613064565b91505092915050565b600080600080608085870312156130ee576130ed612b70565b5b60006130fc87828801612bc3565b945050602061310d87828801612bf9565b935050604085013567ffffffffffffffff81111561312e5761312d612b75565b5b61313a878288016130a6565b925050606061314b87828801612bc3565b91505092959194509250565b600067ffffffffffffffff82111561317257613171612e6d565b5b61317b82612afa565b9050602081019050919050565b600061319b61319684613157565b612ecd565b9050828152602081018484840111156131b7576131b661301f565b5b6131c2848285613055565b509392505050565b600082601f8301126131df576131de612e68565b5b81356131ef848260208601613188565b91505092915050565b60006020828403121561320e5761320d612b70565b5b600082013567ffffffffffffffff81111561322c5761322b612b75565b5b613238848285016131ca565b91505092915050565b6000806040838503121561325857613257612b70565b5b600061326685828601612bc3565b925050602061327785828601612bc3565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806132c857607f821691505b602082108114156132dc576132db613281565b5b50919050565b7f6c6f636b21000000000000000000000000000000000000000000000000000000600082015250565b6000613318600583612ab6565b9150613323826132e2565b602082019050919050565b600060208201905081810360008301526133478161330b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061338882612bd8565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156133bb576133ba61334e565b5b600182019050919050565b7f6c6f636b00000000000000000000000000000000000000000000000000000000600082015250565b60006133fc600483612ab6565b9150613407826133c6565b602082019050919050565b6000602082019050818103600083015261342b816133ef565b9050919050565b7f77726f6e67206974657200000000000000000000000000000000000000000000600082015250565b6000613468600a83612ab6565b915061347382613432565b602082019050919050565b600060208201905081810360008301526134978161345b565b9050919050565b7f796f752063616e742062757920746f6b656e0000000000000000000000000000600082015250565b60006134d4601283612ab6565b91506134df8261349e565b602082019050919050565b60006020820190508181036000830152613503816134c7565b9050919050565b600081905092915050565b50565b600061352560008361350a565b915061353082613515565b600082019050919050565b600061354682613518565b9150819050919050565b7f756e73756363657373207472616e736665720000000000000000000000000000600082015250565b6000613586601283612ab6565b915061359182613550565b602082019050919050565b600060208201905081810360008301526135b581613579565b9050919050565b60006135c782612bd8565b91506135d283612bd8565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561360b5761360a61334e565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061365082612bd8565b915061365b83612bd8565b92508261366b5761366a613616565b5b828204905092915050565b600061368182612bd8565b915061368c83612bd8565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156136c1576136c061334e565b5b828201905092915050565b7f5468657265206973206e6f7420656e6f7567682062616c616e6365206176616960008201527f6c61626c65000000000000000000000000000000000000000000000000000000602082015250565b6000613728602583612ab6565b9150613733826136cc565b604082019050919050565b600060208201905081810360008301526137578161371b565b9050919050565b60008151905061376d81612be2565b92915050565b60006020828403121561378957613788612b70565b5b60006137978482850161375e565b91505092915050565b60006040820190506137b56000830185612e3e565b6137c26020830184612c84565b9392505050565b6000815190506137d881612de5565b92915050565b6000602082840312156137f4576137f3612b70565b5b6000613802848285016137c9565b91505092915050565b7f3600000000000000000000000000000000000000000000000000000000000000600082015250565b6000613841600183612ab6565b915061384c8261380b565b602082019050919050565b6000602082019050818103600083015261387081613834565b9050919050565b7f796f752068617665206e6f207269676874730000000000000000000000000000600082015250565b60006138ad601283612ab6565b91506138b882613877565b602082019050919050565b600060208201905081810360008301526138dc816138a0565b9050919050565b7f657863656564656420746865206e756d626572206f66206163636f756e747300600082015250565b6000613919601f83612ab6565b9150613924826138e3565b602082019050919050565b600060208201905081810360008301526139488161390c565b9050919050565b7f696e73756666696369656e742062616c616e6365000000000000000000000000600082015250565b6000613985601483612ab6565b91506139908261394f565b602082019050919050565b600060208201905081810360008301526139b481613978565b9050919050565b60006139c682612bd8565b91506139d183612bd8565b9250828210156139e4576139e361334e565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000613a7a602583612ab6565b9150613a8582613a1e565b604082019050919050565b60006020820190508181036000830152613aa981613a6d565b9050919050565b7f5468657265206973206e6f7420656e6f756768206c697175696469747920617660008201527f61696c61626c6520746f20626f72726f77000000000000000000000000000000602082015250565b6000613b0c603183612ab6565b9150613b1782613ab0565b604082019050919050565b60006020820190508181036000830152613b3b81613aff565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000613b6982613b42565b613b738185613b4d565b9350613b83818560208601612ac7565b613b8c81612afa565b840191505092915050565b6000608082019050613bac6000830187612e3e565b613bb96020830186612c84565b613bc66040830185612c84565b8181036060830152613bd88184613b5e565b905095945050505050565b7f5468652061637475616c2062616c616e6365206f66207468652070726f746f6360008201527f6f6c20697320696e636f6e73697374656e740000000000000000000000000000602082015250565b6000613c3f603283612ab6565b9150613c4a82613be3565b604082019050919050565b60006020820190508181036000830152613c6e81613c32565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613cd1602483612ab6565b9150613cdc82613c75565b604082019050919050565b60006020820190508181036000830152613d0081613cc4565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613d63602283612ab6565b9150613d6e82613d07565b604082019050919050565b60006020820190508181036000830152613d9281613d56565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000613dcf601d83612ab6565b9150613dda82613d99565b602082019050919050565b60006020820190508181036000830152613dfe81613dc2565b9050919050565b7f796f757220746f6b656e7320617265206c6f636b656400000000000000000000600082015250565b6000613e3b601683612ab6565b9150613e4682613e05565b602082019050919050565b60006020820190508181036000830152613e6a81613e2e565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613ecd602583612ab6565b9150613ed882613e71565b604082019050919050565b60006020820190508181036000830152613efc81613ec0565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613f5f602383612ab6565b9150613f6a82613f03565b604082019050919050565b60006020820190508181036000830152613f8e81613f52565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000613ff1602683612ab6565b9150613ffc82613f95565b604082019050919050565b6000602082019050818103600083015261402081613fe4565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600061408c601f83612ab6565b915061409782614056565b602082019050919050565b600060208201905081810360008301526140bb8161407f565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b600061411e602183612ab6565b9150614129826140c2565b604082019050919050565b6000602082019050818103600083015261414d81614111565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b60006141b0602283612ab6565b91506141bb82614154565b604082019050919050565b600060208201905081810360008301526141df816141a3565b905091905056fea2646970667358221220143976ea98af7e8bd07a5ef2574024f366aee237ffc5bb9477f96faed059a97464736f6c634300080900330000000000000000000000007c0218551c7f5f7d846528091db5e1f13dd716e50000000000000000000000007c0218551c7f5f7d846528091db5e1f13dd716e5000000000000000000000000000000000000000000000000004a9b638448800000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000e47616c616374696320556e696f6e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024755000000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x6080604052600436106101d85760003560e01c806385f1f3d411610102578063ab0eda9e11610095578063d4e4693611610064578063d4e46936146106e7578063dd62ed3e14610710578063e189a8af1461074d578063fe4a2c201461078a576101d8565b8063ab0eda9e1461062f578063b0fa925214610658578063ce7992f914610681578063d19ac77a146106be576101d8565b8063a457c2d7116100d1578063a457c2d714610561578063a6f9dae11461059e578063a82b9f9a146105c7578063a9059cbb146105f2576101d8565b806385f1f3d4146104a557806391c518f0146104ce57806395d89b411461050b5780639929151b14610536576101d8565b8063313ce5671161017a578063619d519411610149578063619d5194146103d957806370a0823114610402578063740ad12a1461043f57806380fdf02414610468576101d8565b8063313ce5671461031b57806339509351146103465780634b92bd00146103835780634bd724ed146103ae576101d8565b80631c31f710116101b65780631c31f7101461027057806323b872dd1461029957806326523b74146102d65780632d296bf1146102ff576101d8565b806306fdde03146101dd578063095ea7b31461020857806318160ddd14610245575b600080fd5b3480156101e957600080fd5b506101f26107c7565b6040516101ff9190612b44565b60405180910390f35b34801561021457600080fd5b5061022f600480360381019061022a9190612c0e565b610859565b60405161023c9190612c69565b60405180910390f35b34801561025157600080fd5b5061025a6108cd565b6040516102679190612c93565b60405180910390f35b34801561027c57600080fd5b5061029760048036038101906102929190612cae565b6108d7565b005b3480156102a557600080fd5b506102c060048036038101906102bb9190612cdb565b610975565b6040516102cd9190612c69565b60405180910390f35b3480156102e257600080fd5b506102fd60048036038101906102f89190612d2e565b6109f5565b005b61031960048036038101906103149190612d81565b610b04565b005b34801561032757600080fd5b50610330610d63565b60405161033d9190612dca565b60405180910390f35b34801561035257600080fd5b5061036d60048036038101906103689190612c0e565b610d6c565b60405161037a9190612c69565b60405180910390f35b34801561038f57600080fd5b50610398610df4565b6040516103a59190612c93565b60405180910390f35b3480156103ba57600080fd5b506103c3610dfa565b6040516103d09190612c69565b60405180910390f35b3480156103e557600080fd5b5061040060048036038101906103fb9190612e11565b610e0d565b005b34801561040e57600080fd5b5061042960048036038101906104249190612cae565b610e84565b6040516104369190612c93565b60405180910390f35b34801561044b57600080fd5b5061046660048036038101906104619190612c0e565b610ecc565b005b34801561047457600080fd5b5061048f600480360381019061048a9190612d81565b61117d565b60405161049c9190612e4d565b60405180910390f35b3480156104b157600080fd5b506104cc60048036038101906104c79190612fb0565b6111b0565b005b3480156104da57600080fd5b506104f560048036038101906104f09190612d81565b6113a9565b6040516105029190612c93565b60405180910390f35b34801561051757600080fd5b506105206113c1565b60405161052d9190612b44565b60405180910390f35b34801561054257600080fd5b5061054b611453565b6040516105589190612b44565b60405180910390f35b34801561056d57600080fd5b5061058860048036038101906105839190612c0e565b6114e1565b6040516105959190612c69565b60405180910390f35b3480156105aa57600080fd5b506105c560048036038101906105c09190612cae565b6115b9565b005b3480156105d357600080fd5b506105dc611657565b6040516105e99190612c93565b60405180910390f35b3480156105fe57600080fd5b5061061960048036038101906106149190612c0e565b61165d565b6040516106269190612c69565b60405180910390f35b34801561063b57600080fd5b5061065660048036038101906106519190612cae565b6116d1565b005b34801561066457600080fd5b5061067f600480360381019061067a91906130d4565b61176f565b005b34801561068d57600080fd5b506106a860048036038101906106a39190612cae565b611cc6565b6040516106b59190612c93565b60405180910390f35b3480156106ca57600080fd5b506106e560048036038101906106e091906131f8565b611d0f565b005b3480156106f357600080fd5b5061070e60048036038101906107099190612d81565b611d83565b005b34801561071c57600080fd5b5061073760048036038101906107329190613241565b611de7565b6040516107449190612c93565b60405180910390f35b34801561075957600080fd5b50610774600480360381019061076f9190612d81565b611e6e565b6040516107819190612c93565b60405180910390f35b34801561079657600080fd5b506107b160048036038101906107ac9190612d81565b611e86565b6040516107be9190612c93565b60405180910390f35b6060600480546107d6906132b0565b80601f0160208091040260200160405190810160405280929190818152602001828054610802906132b0565b801561084f5780601f106108245761010080835404028352916020019161084f565b820191906000526020600020905b81548152906001019060200180831161083257829003601f168201915b5050505050905090565b6000600660009054906101000a900460ff16156108ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a29061332e565b60405180910390fd5b60006108b5611e9e565b90506108c2818585611ea6565b600191505092915050565b6000600354905090565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461093157600080fd5b80600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600660009054906101000a900460ff16156109c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109be9061332e565b60405180910390fd5b60006109d1611e9e565b90506109de8582856120c1565b6109e98585856121ad565b60019150509392505050565b600660009054906101000a900460ff1615610a45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3c9061332e565b60405180910390fd5b82600e600060115481526020019081526020016000208190555081600d60006011548152602001908152602001600020819055503360106000601154815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600f600060115481526020019081526020016000208190555060116000815480929190610afa9061337d565b9190505550505050565b600660009054906101000a900460ff1615610b54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4b90613412565b60405180910390fd5b6011548110610b98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8f9061347e565b60405180910390fd5b6000610ba333611cc6565b14610be3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bda906134ea565b60405180910390fd5b60006010600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1634604051610c3c9061353b565b60006040518083038185875af1925050503d8060008114610c79576040519150601f19603f3d011682016040523d82523d6000602084013e610c7e565b606091505b5050905080610cc2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb99061359c565b60405180910390fd5b6000600e600084815260200190815260200160002054600d60008581526020019081526020016000205434610cf791906135bc565b610d019190613645565b9050610d416010600085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1633836121ad565b610d5e600f6000858152602001908152602001600020543361250f565b505050565b60006008905090565b6000600660009054906101000a900460ff1615610dbe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db59061332e565b60405180910390fd5b6000610dc8611e9e565b9050610de9818585610dda8589611de7565b610de49190613676565b611ea6565b600191505092915050565b60085481565b600660009054906101000a900460ff1681565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e6757600080fd5b80600660006101000a81548160ff02191690831515021790555050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f2657600080fd5b600660009054906101000a900460ff1615610f76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6d9061332e565b60405180910390fd5b80610f8033610e84565b1015610fc1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fb89061373e565b60405180910390fd5b610fee33600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836121ad565b600082905060006110a96110006108cd565b61109b858573ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161103d9190612e4d565b60206040518083038186803b15801561105557600080fd5b505afa158015611069573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061108d9190613773565b61255790919063ffffffff16565b61259c90919063ffffffff16565b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b81526004016110e69291906137a0565b602060405180830381600087803b15801561110057600080fd5b505af1158015611114573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061113891906137de565b611177576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116e90613857565b60405180910390fd5b50505050565b60106020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611240576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611237906138c3565b60405180910390fd5b600660009054906101000a900460ff1615611290576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112879061332e565b60405180910390fd5b60008351905060c88111156112da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d19061392f565b60405180910390fd5b6112e333610e84565b81846112ef91906135bc565b1115611330576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113279061399b565b60405180910390fd5b60005b60018261134091906139bb565b81116113a25761136b3386838151811061135d5761135c6139ef565b5b6020026020010151866121ad565b61138f83868381518110611382576113816139ef565b5b602002602001015161250f565b808061139a9061337d565b915050611333565b5050505050565b600e6020528060005260406000206000915090505481565b6060600580546113d0906132b0565b80601f01602080910402602001604051908101604052809291908181526020018280546113fc906132b0565b80156114495780601f1061141e57610100808354040283529160200191611449565b820191906000526020600020905b81548152906001019060200180831161142c57829003601f168201915b5050505050905090565b60078054611460906132b0565b80601f016020809104026020016040519081016040528092919081815260200182805461148c906132b0565b80156114d95780601f106114ae576101008083540402835291602001916114d9565b820191906000526020600020905b8154815290600101906020018083116114bc57829003601f168201915b505050505081565b6000600660009054906101000a900460ff1615611533576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152a9061332e565b60405180910390fd5b600061153d611e9e565b9050600061154b8286611de7565b905083811015611590576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158790613a90565b60405180910390fd5b6115ad82866115a887856125c490919063ffffffff16565b611ea6565b60019250505092915050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461161357600080fd5b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60115481565b6000600660009054906101000a900460ff16156116af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116a69061332e565b60405180910390fd5b60006116b9611e9e565b90506116c68185856121ad565b600191505092915050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461172b57600080fd5b80600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000819050600660009054906101000a900460ff16156117c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117bb9061332e565b60405180910390fd5b838173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016117fe9190612e4d565b60206040518083038186803b15801561181657600080fd5b505afa15801561182a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061184e9190613773565b101561188f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188690613b22565b60405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016118ca9190612e4d565b60206040518083038186803b1580156118e257600080fd5b505afa1580156118f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061191a9190613773565b9050600086905060008790503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614801561196757506119646108cd565b87105b156119775761197630886125eb565b5b8373ffffffffffffffffffffffffffffffffffffffff1663a9059cbb82896040518363ffffffff1660e01b81526004016119b29291906137a0565b602060405180830381600087803b1580156119cc57600080fd5b505af11580156119e0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a0491906137de565b506000611a1c6008548961259c90919063ffffffff16565b90508273ffffffffffffffffffffffffffffffffffffffff1663ee872558308a848b6040518563ffffffff1660e01b8152600401611a5d9493929190613b97565b600060405180830381600087803b158015611a7757600080fd5b505af1158015611a8b573d6000803e3d6000fd5b5050505060008573ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401611aca9190612e4d565b60206040518083038186803b158015611ae257600080fd5b505afa158015611af6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b1a9190613773565b9050611b2f828661279b90919063ffffffff16565b8114611b70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6790613c55565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161415611bfd57611bc030611bbb848c61279b90919063ffffffff16565b6127c7565b611bf8600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600a84611bf39190613645565b6125eb565b611cba565b8573ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600a85611c499190613645565b6040518363ffffffff1660e01b8152600401611c669291906137a0565b602060405180830381600087803b158015611c8057600080fd5b505af1158015611c94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cb891906137de565b505b50505050505050505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611d6957600080fd5b8060079080519060200190611d7f929190612a08565b5050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611ddd57600080fd5b8060088190555050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600f6020528060005260406000206000915090505481565b600d6020528060005260406000206000915090505481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611f16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f0d90613ce7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611f86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f7d90613d79565b60405180910390fd5b600660009054906101000a900460ff1615611fd6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fcd9061332e565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516120b49190612c93565b60405180910390a3505050565b600660009054906101000a900460ff1615612111576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121089061332e565b60405180910390fd5b600061211d8484611de7565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146121a75781811015612189576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161218090613de5565b60405180910390fd5b6121a684846121a185856125c490919063ffffffff16565b611ea6565b5b50505050565b600660009054906101000a900460ff16156121fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121f49061332e565b60405180910390fd5b42600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541061227e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161227590613e51565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156122ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122e590613ee3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561235e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161235590613f75565b60405180910390fd5b6123698383836129fe565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156123ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123e690614007565b60405180910390fd5b61240282826125c490919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546124929190613676565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516124f69190612c93565b60405180910390a3612509848484612a03565b50505050565b81600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b60008083141561256a5760009050612596565b6000828461257891906135bc565b90508284826125879190613645565b1461259157600080fd5b809150505b92915050565b60008082116125aa57600080fd5b600082846125b89190613645565b90508091505092915050565b6000828211156125d7576125d6614027565b5b81836125e391906139bb565b905092915050565b600660009054906101000a900460ff161561263b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126329061332e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156126ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126a2906140a2565b60405180910390fd5b6126b7600083836129fe565b80600360008282546126c99190613676565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461271e9190613676565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516127839190612c93565b60405180910390a361279760008383612a03565b5050565b60008082846127aa9190613676565b9050838110156127bd576127bc614027565b5b8091505092915050565b600660009054906101000a900460ff1615612817576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161280e9061332e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612887576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161287e90614134565b60405180910390fd5b612893826000836129fe565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612919576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612910906141c6565b60405180910390fd5b61292c82826125c490919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816003600082825461298091906139bb565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516129e59190612c93565b60405180910390a36129f983600084612a03565b505050565b505050565b505050565b828054612a14906132b0565b90600052602060002090601f016020900481019282612a365760008555612a7d565b82601f10612a4f57805160ff1916838001178555612a7d565b82800160010185558215612a7d579182015b82811115612a7c578251825591602001919060010190612a61565b5b509050612a8a9190612a8e565b5090565b5b80821115612aa7576000816000905550600101612a8f565b5090565b600081519050919050565b600082825260208201905092915050565b60005b83811015612ae5578082015181840152602081019050612aca565b83811115612af4576000848401525b50505050565b6000601f19601f8301169050919050565b6000612b1682612aab565b612b208185612ab6565b9350612b30818560208601612ac7565b612b3981612afa565b840191505092915050565b60006020820190508181036000830152612b5e8184612b0b565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612ba582612b7a565b9050919050565b612bb581612b9a565b8114612bc057600080fd5b50565b600081359050612bd281612bac565b92915050565b6000819050919050565b612beb81612bd8565b8114612bf657600080fd5b50565b600081359050612c0881612be2565b92915050565b60008060408385031215612c2557612c24612b70565b5b6000612c3385828601612bc3565b9250506020612c4485828601612bf9565b9150509250929050565b60008115159050919050565b612c6381612c4e565b82525050565b6000602082019050612c7e6000830184612c5a565b92915050565b612c8d81612bd8565b82525050565b6000602082019050612ca86000830184612c84565b92915050565b600060208284031215612cc457612cc3612b70565b5b6000612cd284828501612bc3565b91505092915050565b600080600060608486031215612cf457612cf3612b70565b5b6000612d0286828701612bc3565b9350506020612d1386828701612bc3565b9250506040612d2486828701612bf9565b9150509250925092565b600080600060608486031215612d4757612d46612b70565b5b6000612d5586828701612bf9565b9350506020612d6686828701612bf9565b9250506040612d7786828701612bf9565b9150509250925092565b600060208284031215612d9757612d96612b70565b5b6000612da584828501612bf9565b91505092915050565b600060ff82169050919050565b612dc481612dae565b82525050565b6000602082019050612ddf6000830184612dbb565b92915050565b612dee81612c4e565b8114612df957600080fd5b50565b600081359050612e0b81612de5565b92915050565b600060208284031215612e2757612e26612b70565b5b6000612e3584828501612dfc565b91505092915050565b612e4781612b9a565b82525050565b6000602082019050612e626000830184612e3e565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612ea582612afa565b810181811067ffffffffffffffff82111715612ec457612ec3612e6d565b5b80604052505050565b6000612ed7612b66565b9050612ee38282612e9c565b919050565b600067ffffffffffffffff821115612f0357612f02612e6d565b5b602082029050602081019050919050565b600080fd5b6000612f2c612f2784612ee8565b612ecd565b90508083825260208201905060208402830185811115612f4f57612f4e612f14565b5b835b81811015612f785780612f648882612bc3565b845260208401935050602081019050612f51565b5050509392505050565b600082601f830112612f9757612f96612e68565b5b8135612fa7848260208601612f19565b91505092915050565b600080600060608486031215612fc957612fc8612b70565b5b600084013567ffffffffffffffff811115612fe757612fe6612b75565b5b612ff386828701612f82565b935050602061300486828701612bf9565b925050604061301586828701612bf9565b9150509250925092565b600080fd5b600067ffffffffffffffff82111561303f5761303e612e6d565b5b61304882612afa565b9050602081019050919050565b82818337600083830152505050565b600061307761307284613024565b612ecd565b9050828152602081018484840111156130935761309261301f565b5b61309e848285613055565b509392505050565b600082601f8301126130bb576130ba612e68565b5b81356130cb848260208601613064565b91505092915050565b600080600080608085870312156130ee576130ed612b70565b5b60006130fc87828801612bc3565b945050602061310d87828801612bf9565b935050604085013567ffffffffffffffff81111561312e5761312d612b75565b5b61313a878288016130a6565b925050606061314b87828801612bc3565b91505092959194509250565b600067ffffffffffffffff82111561317257613171612e6d565b5b61317b82612afa565b9050602081019050919050565b600061319b61319684613157565b612ecd565b9050828152602081018484840111156131b7576131b661301f565b5b6131c2848285613055565b509392505050565b600082601f8301126131df576131de612e68565b5b81356131ef848260208601613188565b91505092915050565b60006020828403121561320e5761320d612b70565b5b600082013567ffffffffffffffff81111561322c5761322b612b75565b5b613238848285016131ca565b91505092915050565b6000806040838503121561325857613257612b70565b5b600061326685828601612bc3565b925050602061327785828601612bc3565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806132c857607f821691505b602082108114156132dc576132db613281565b5b50919050565b7f6c6f636b21000000000000000000000000000000000000000000000000000000600082015250565b6000613318600583612ab6565b9150613323826132e2565b602082019050919050565b600060208201905081810360008301526133478161330b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061338882612bd8565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156133bb576133ba61334e565b5b600182019050919050565b7f6c6f636b00000000000000000000000000000000000000000000000000000000600082015250565b60006133fc600483612ab6565b9150613407826133c6565b602082019050919050565b6000602082019050818103600083015261342b816133ef565b9050919050565b7f77726f6e67206974657200000000000000000000000000000000000000000000600082015250565b6000613468600a83612ab6565b915061347382613432565b602082019050919050565b600060208201905081810360008301526134978161345b565b9050919050565b7f796f752063616e742062757920746f6b656e0000000000000000000000000000600082015250565b60006134d4601283612ab6565b91506134df8261349e565b602082019050919050565b60006020820190508181036000830152613503816134c7565b9050919050565b600081905092915050565b50565b600061352560008361350a565b915061353082613515565b600082019050919050565b600061354682613518565b9150819050919050565b7f756e73756363657373207472616e736665720000000000000000000000000000600082015250565b6000613586601283612ab6565b915061359182613550565b602082019050919050565b600060208201905081810360008301526135b581613579565b9050919050565b60006135c782612bd8565b91506135d283612bd8565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561360b5761360a61334e565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061365082612bd8565b915061365b83612bd8565b92508261366b5761366a613616565b5b828204905092915050565b600061368182612bd8565b915061368c83612bd8565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156136c1576136c061334e565b5b828201905092915050565b7f5468657265206973206e6f7420656e6f7567682062616c616e6365206176616960008201527f6c61626c65000000000000000000000000000000000000000000000000000000602082015250565b6000613728602583612ab6565b9150613733826136cc565b604082019050919050565b600060208201905081810360008301526137578161371b565b9050919050565b60008151905061376d81612be2565b92915050565b60006020828403121561378957613788612b70565b5b60006137978482850161375e565b91505092915050565b60006040820190506137b56000830185612e3e565b6137c26020830184612c84565b9392505050565b6000815190506137d881612de5565b92915050565b6000602082840312156137f4576137f3612b70565b5b6000613802848285016137c9565b91505092915050565b7f3600000000000000000000000000000000000000000000000000000000000000600082015250565b6000613841600183612ab6565b915061384c8261380b565b602082019050919050565b6000602082019050818103600083015261387081613834565b9050919050565b7f796f752068617665206e6f207269676874730000000000000000000000000000600082015250565b60006138ad601283612ab6565b91506138b882613877565b602082019050919050565b600060208201905081810360008301526138dc816138a0565b9050919050565b7f657863656564656420746865206e756d626572206f66206163636f756e747300600082015250565b6000613919601f83612ab6565b9150613924826138e3565b602082019050919050565b600060208201905081810360008301526139488161390c565b9050919050565b7f696e73756666696369656e742062616c616e6365000000000000000000000000600082015250565b6000613985601483612ab6565b91506139908261394f565b602082019050919050565b600060208201905081810360008301526139b481613978565b9050919050565b60006139c682612bd8565b91506139d183612bd8565b9250828210156139e4576139e361334e565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000613a7a602583612ab6565b9150613a8582613a1e565b604082019050919050565b60006020820190508181036000830152613aa981613a6d565b9050919050565b7f5468657265206973206e6f7420656e6f756768206c697175696469747920617660008201527f61696c61626c6520746f20626f72726f77000000000000000000000000000000602082015250565b6000613b0c603183612ab6565b9150613b1782613ab0565b604082019050919050565b60006020820190508181036000830152613b3b81613aff565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000613b6982613b42565b613b738185613b4d565b9350613b83818560208601612ac7565b613b8c81612afa565b840191505092915050565b6000608082019050613bac6000830187612e3e565b613bb96020830186612c84565b613bc66040830185612c84565b8181036060830152613bd88184613b5e565b905095945050505050565b7f5468652061637475616c2062616c616e6365206f66207468652070726f746f6360008201527f6f6c20697320696e636f6e73697374656e740000000000000000000000000000602082015250565b6000613c3f603283612ab6565b9150613c4a82613be3565b604082019050919050565b60006020820190508181036000830152613c6e81613c32565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613cd1602483612ab6565b9150613cdc82613c75565b604082019050919050565b60006020820190508181036000830152613d0081613cc4565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613d63602283612ab6565b9150613d6e82613d07565b604082019050919050565b60006020820190508181036000830152613d9281613d56565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000613dcf601d83612ab6565b9150613dda82613d99565b602082019050919050565b60006020820190508181036000830152613dfe81613dc2565b9050919050565b7f796f757220746f6b656e7320617265206c6f636b656400000000000000000000600082015250565b6000613e3b601683612ab6565b9150613e4682613e05565b602082019050919050565b60006020820190508181036000830152613e6a81613e2e565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613ecd602583612ab6565b9150613ed882613e71565b604082019050919050565b60006020820190508181036000830152613efc81613ec0565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613f5f602383612ab6565b9150613f6a82613f03565b604082019050919050565b60006020820190508181036000830152613f8e81613f52565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000613ff1602683612ab6565b9150613ffc82613f95565b604082019050919050565b6000602082019050818103600083015261402081613fe4565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600061408c601f83612ab6565b915061409782614056565b602082019050919050565b600060208201905081810360008301526140bb8161407f565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b600061411e602183612ab6565b9150614129826140c2565b604082019050919050565b6000602082019050818103600083015261414d81614111565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b60006141b0602283612ab6565b91506141bb82614154565b604082019050919050565b600060208201905081810360008301526141df816141a3565b905091905056fea2646970667358221220143976ea98af7e8bd07a5ef2574024f366aee237ffc5bb9477f96faed059a97464736f6c63430008090033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000007c0218551c7f5f7d846528091db5e1f13dd716e50000000000000000000000007c0218551c7f5f7d846528091db5e1f13dd716e5000000000000000000000000000000000000000000000000004a9b638448800000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000e47616c616374696320556e696f6e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024755000000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _owner (address): 0x7c0218551C7f5f7d846528091Db5e1F13Dd716E5
Arg [1] : _host (address): 0x7c0218551C7f5f7d846528091Db5e1F13Dd716E5
Arg [2] : _initialSupply (uint256): 21000000000000000
Arg [3] : _name (string): Galactic Union
Arg [4] : _ticker (string): GU

-----Encoded View---------------
9 Constructor Arguments found :
Arg [0] : 0000000000000000000000007c0218551c7f5f7d846528091db5e1f13dd716e5
Arg [1] : 0000000000000000000000007c0218551c7f5f7d846528091db5e1f13dd716e5
Arg [2] : 000000000000000000000000000000000000000000000000004a9b6384488000
Arg [3] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [4] : 00000000000000000000000000000000000000000000000000000000000000e0
Arg [5] : 000000000000000000000000000000000000000000000000000000000000000e
Arg [6] : 47616c616374696320556e696f6e000000000000000000000000000000000000
Arg [7] : 0000000000000000000000000000000000000000000000000000000000000002
Arg [8] : 4755000000000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

12990:4942:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7480:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8445:236;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7800:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14045:90;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8689:329;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16368:308;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16684:541;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7700:92;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9026:273;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13088:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7305:17;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14232:74;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7916:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14414:492;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13380:46;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17373:556;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13276:47;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7588:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13057:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9307:458;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14143:81;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13435:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8051:227;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13936:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14914:1446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9877:108;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13830:98;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14314:92;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8286:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13330:43;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13218:47;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7480:100;7534:13;7567:5;7560:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7480:100;:::o;8445:236::-;8528:4;8554:5;;;;;;;;;;;8553:6;8545:24;;;;;;;;;;;;:::i;:::-;;;;;;;;;8580:13;8596:12;:10;:12::i;:::-;8580:28;;8619:32;8628:5;8635:7;8644:6;8619:8;:32::i;:::-;8669:4;8662:11;;;8445:236;;;;:::o;7800:108::-;7861:7;7888:12;;7881:19;;7800:108;:::o;14045:90::-;13796:5;;;;;;;;;;;13782:19;;:10;:19;;;13774:28;;;;;;14125:2:::1;14111:11;;:16;;;;;;;;;;;;;;;;;;14045:90:::0;:::o;8689:329::-;8820:4;8846:5;;;;;;;;;;;8845:6;8837:23;;;;;;;;;;;;:::i;:::-;;;;;;;;;8871:15;8889:12;:10;:12::i;:::-;8871:30;;8912:38;8928:4;8934:7;8943:6;8912:15;:38::i;:::-;8961:27;8971:4;8977:2;8981:6;8961:9;:27::i;:::-;9006:4;8999:11;;;8689:329;;;;;:::o;16368:308::-;16460:5;;;;;;;;;;;16459:6;16451:23;;;;;;;;;;;;:::i;:::-;;;;;;;;;16512:3;16487:12;:22;16500:8;;16487:22;;;;;;;;;;;:28;;;;16551:3;16526:12;:22;16539:8;;16526:22;;;;;;;;;;;:28;;;;16589:10;16565:11;:21;16577:8;;16565:21;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;16641:4;16620:8;:18;16629:8;;16620:18;;;;;;;;;;;:25;;;;16658:8;;:10;;;;;;;;;:::i;:::-;;;;;;16368:308;;;:::o;16684:541::-;16759:5;;;;;;;;;;;16758:6;16750:22;;;;;;;;;;;;:::i;:::-;;;;;;;;;16798:8;;16791:4;:15;16783:37;;;;;;;;;;;;:::i;:::-;;;;;;;;;16861:1;16839:17;16845:10;16839:5;:17::i;:::-;:23;16831:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;16898:12;16916:11;:17;16928:4;16916:17;;;;;;;;;;;;;;;;;;;;;:22;;16947:9;16916:46;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16897:65;;;16989:7;16981:37;;;;;;;;;;;;:::i;:::-;;;;;;;;;17038:11;17085:12;:18;17098:4;17085:18;;;;;;;;;;;;17065:12;:18;17078:4;17065:18;;;;;;;;;;;;17053:9;:30;;;;:::i;:::-;17052:51;;;;:::i;:::-;17038:65;;17124:45;17134:11;:17;17146:4;17134:17;;;;;;;;;;;;;;;;;;;;;17153:10;17165:3;17124:9;:45::i;:::-;17183:34;17190:8;:14;17199:4;17190:14;;;;;;;;;;;;17206:10;17183:6;:34::i;:::-;16736:489;;16684:541;:::o;7700:92::-;7758:5;7783:1;7776:8;;7700:92;:::o;9026:273::-;9114:4;9140:5;;;;;;;;;;;9139:6;9131:24;;;;;;;;;;;;:::i;:::-;;;;;;;;;9166:13;9182:12;:10;:12::i;:::-;9166:28;;9205:64;9214:5;9221:7;9258:10;9230:25;9240:5;9247:7;9230:9;:25::i;:::-;:38;;;;:::i;:::-;9205:8;:64::i;:::-;9287:4;9280:11;;;9026:273;;;;:::o;13088:34::-;;;;:::o;7305:17::-;;;;;;;;;;;;;:::o;14232:74::-;13796:5;;;;;;;;;;;13782:19;;:10;:19;;;13774:28;;;;;;14296:2:::1;14288:5;;:10;;;;;;;;;;;;;;;;;;14232:74:::0;:::o;7916:127::-;7990:7;8017:9;:18;8027:7;8017:18;;;;;;;;;;;;;;;;8010:25;;7916:127;;;:::o;14414:492::-;13796:5;;;;;;;;;;;13782:19;;:10;:19;;;13774:28;;;;;;14505:5:::1;;;;;;;;;;;14504:6;14496:24;;;;;;;;;;;;:::i;:::-;;;;;;;;;14564:6;14539:21;14549:10;14539:9;:21::i;:::-;:31;;14531:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;14625:42;14635:10;14647:11;;;;;;;;;;;14660:6;14625:9;:42::i;:::-;14678:15;14703:6;14678:32;;14723:14;14755:68;14809:13;:11;:13::i;:::-;14756:47;14796:6;14757:8;:18;;;14784:4;14757:33;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14756:39;;:47;;;;:::i;:::-;14755:53;;:68;;;;:::i;:::-;14723:111;;14855:8;:17;;;14873:10;14885:6;14855:37;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14847:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;14485:421;;14414:492:::0;;:::o;13380:46::-;;;;;;;;;;;;;;;;;;;;;;:::o;17373:556::-;17492:7;;;;;;;;;;;17478:21;;:10;:21;;;17470:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;17542:5;;;;;;;;;;;17541:6;17533:23;;;;;;;;;;;;:::i;:::-;;;;;;;;;17567:15;17585:8;:15;17567:33;;17633:3;17619:10;:17;;17611:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;17713:21;17723:10;17713:9;:21::i;:::-;17699:10;17690:6;:19;;;;:::i;:::-;:44;;17682:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;17774:6;17769:153;17802:1;17791:10;:12;;;;:::i;:::-;17786:1;:17;17769:153;;17825:42;17835:10;17847:8;17856:1;17847:11;;;;;;;;:::i;:::-;;;;;;;;17860:6;17825:9;:42::i;:::-;17885:25;17892:4;17898:8;17907:1;17898:11;;;;;;;;:::i;:::-;;;;;;;;17885:6;:25::i;:::-;17805:3;;;;;:::i;:::-;;;;17769:153;;;;17459:470;17373:556;;;:::o;13276:47::-;;;;;;;;;;;;;;;;;:::o;7588:104::-;7644:13;7677:7;7670:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7588:104;:::o;13057:22::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;9307:458::-;9400:4;9426:5;;;;;;;;;;;9425:6;9417:24;;;;;;;;;;;;:::i;:::-;;;;;;;;;9452:13;9468:12;:10;:12::i;:::-;9452:28;;9491:24;9518:25;9528:5;9535:7;9518:9;:25::i;:::-;9491:52;;9582:15;9562:16;:35;;9554:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;9660:63;9669:5;9676:7;9685:37;9706:15;9685:16;:20;;:37;;;;:::i;:::-;9660:8;:63::i;:::-;9753:4;9746:11;;;;9307:458;;;;:::o;14143:81::-;13796:5;;;;;;;;;;;13782:19;;:10;:19;;;13774:28;;;;;;14214:2:::1;14206:5;;:10;;;;;;;;;;;;;;;;;;14143:81:::0;:::o;13435:27::-;;;;:::o;8051:227::-;8130:4;8156:5;;;;;;;;;;;8155:6;8147:23;;;;;;;;;;;;:::i;:::-;;;;;;;;;8181:13;8197:12;:10;:12::i;:::-;8181:28;;8220;8230:5;8237:2;8241:6;8220:9;:28::i;:::-;8266:4;8259:11;;;8051:227;;;;:::o;13936:101::-;13796:5;;;;;;;;;;;13782:19;;:10;:19;;;13774:28;;;;;;14021:8:::1;14011:7;;:18;;;;;;;;;;;;;;;;;;13936:101:::0;:::o;14914:1446::-;15075:10;15095:13;15075:34;;15129:5;;;;;;;;;;;15128:6;15120:24;;;;;;;;;;;;:::i;:::-;;;;;;;;;15197:7;15165:3;:13;;;15187:4;15165:28;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:39;;15157:101;;;;;;;;;;;;:::i;:::-;;;;;;;;;15271:32;15306:3;:13;;;15328:4;15306:28;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15271:63;;15347:27;15396:9;15347:59;;15417:19;15455:9;15417:49;;15507:4;15482:30;;:13;:30;;;:57;;;;;15526:13;:11;:13::i;:::-;15516:7;:23;15482:57;15479:127;;;15565:29;15579:4;15586:7;15565:5;:29::i;:::-;15479:127;15660:3;:12;;;15673:11;15686:7;15660:34;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;15707:17;15727:27;15741:12;;15728:7;15727:13;;:27;;;;:::i;:::-;15707:47;;15809:8;:25;;;15843:4;15850:7;15859:9;15870:7;15809:69;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15891:31;15925:3;:13;;;15947:4;15925:28;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15891:62;;16001:39;16030:9;16001:24;:28;;:39;;;;:::i;:::-;15974:23;:66;15966:128;;;;;;;;;;;;:::i;:::-;;;;;;;;;16135:4;16110:30;;:13;:30;;;16107:238;;;16166:44;16180:4;16187:22;16199:9;16187:7;:11;;:22;;;;:::i;:::-;16166:5;:44::i;:::-;16225:25;16231:4;;;;;;;;;;;16247:2;16237:9;:12;;;;:::i;:::-;16225:5;:25::i;:::-;16107:238;;;16301:3;:12;;;16314:4;;;;;;;;;;;16330:2;16320:9;:12;;;;:::i;:::-;16301:32;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;16107:238;15064:1296;;;;;;14914:1446;;;;:::o;9877:108::-;9932:7;9964:10;:13;9975:1;9964:13;;;;;;;;;;;;;;;;9957:20;;9877:108;;;:::o;13830:98::-;13796:5;;;;;;;;;;;13782:19;;:10;:19;;;13774:28;;;;;;13912:8:::1;13901;:19;;;;;;;;;;;;:::i;:::-;;13830:98:::0;:::o;14314:92::-;13796:5;;;;;;;;;;;13782:19;;:10;:19;;;13774:28;;;;;;14396:2:::1;14381:12;:17;;;;14314:92:::0;:::o;8286:151::-;8375:7;8402:11;:18;8414:5;8402:18;;;;;;;;;;;;;;;:27;8421:7;8402:27;;;;;;;;;;;;;;;;8395:34;;8286:151;;;;:::o;13330:43::-;;;;;;;;;;;;;;;;;:::o;13218:47::-;;;;;;;;;;;;;;;;;:::o;679:98::-;732:7;759:10;752:17;;679:98;:::o;11821:415::-;11974:1;11957:19;;:5;:19;;;;11949:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12055:1;12036:21;;:7;:21;;;;12028:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12116:5;;;;;;;;;;;12115:6;12107:24;;;;;;;;;;;;:::i;:::-;;;;;;;;;12174:6;12144:11;:18;12156:5;12144:18;;;;;;;;;;;;;;;:27;12163:7;12144:27;;;;;;;;;;;;;;;:36;;;;12212:7;12196:32;;12205:5;12196:32;;;12221:6;12196:32;;;;;;:::i;:::-;;;;;;;;11821:415;;;:::o;12244:474::-;12388:5;;;;;;;;;;;12387:6;12379:24;;;;;;;;;;;;:::i;:::-;;;;;;;;;12414;12441:25;12451:5;12458:7;12441:9;:25::i;:::-;12414:52;;12501:17;12481:16;:37;12477:234;;12562:6;12542:16;:26;;12534:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12631:54;12640:5;12647:7;12656:28;12677:6;12656:16;:20;;:28;;;;:::i;:::-;12631:8;:54::i;:::-;12477:234;12368:350;12244:474;;;:::o;9993:757::-;10125:5;;;;;;;;;;;10124:6;10116:24;;;;;;;;;;;;:::i;:::-;;;;;;;;;10178:15;10159:10;:16;10170:4;10159:16;;;;;;;;;;;;;;;;:34;10151:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;10255:1;10239:18;;:4;:18;;;;10231:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10332:1;10318:16;;:2;:16;;;;10310:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;10387:38;10408:4;10414:2;10418:6;10387:20;:38::i;:::-;10438:19;10460:9;:15;10470:4;10460:15;;;;;;;;;;;;;;;;10438:37;;10509:6;10494:11;:21;;10486:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;10589:23;10605:6;10589:11;:15;;:23;;;;:::i;:::-;10571:9;:15;10581:4;10571:15;;;;;;;;;;;;;;;:41;;;;10642:6;10625:9;:13;10635:2;10625:13;;;;;;;;;;;;;;;;:23;;;;;;;:::i;:::-;;;;;;;;10681:2;10666:26;;10675:4;10666:26;;;10685:6;10666:26;;;;;;:::i;:::-;;;;;;;;10705:37;10725:4;10731:2;10735:6;10705:19;:37::i;:::-;10105:645;9993:757;;;:::o;9773:96::-;9860:1;9844:10;:13;9855:1;9844:13;;;;;;;;;;;;;;;:17;;;;9773:96;;:::o;4149:213::-;4207:7;4236:1;4231;:6;4227:47;;;4261:1;4254:8;;;;4227:47;4286:9;4302:1;4298;:5;;;;:::i;:::-;4286:17;;4331:1;4326;4322;:5;;;;:::i;:::-;:10;4314:19;;;;;;4353:1;4346:8;;;4149:213;;;;;:::o;4370:149::-;4428:7;4460:1;4456;:5;4448:14;;;;;;4473:9;4489:1;4485;:5;;;;:::i;:::-;4473:17;;4510:1;4503:8;;;4370:149;;;;:::o;3863:123::-;3921:7;3953:1;3948;:6;;3941:14;;;;:::i;:::-;;3977:1;3973;:5;;;;:::i;:::-;3966:12;;3863:123;;;;:::o;10758:434::-;10843:5;;;;;;;;;;;10842:6;10834:24;;;;;;;;;;;;:::i;:::-;;;;;;;;;10896:1;10877:21;;:7;:21;;;;10869:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;10947:49;10976:1;10980:7;10989:6;10947:20;:49::i;:::-;11025:6;11009:12;;:22;;;;;;;:::i;:::-;;;;;;;;11064:6;11042:9;:18;11052:7;11042:18;;;;;;;;;;;;;;;;:28;;;;;;;:::i;:::-;;;;;;;;11107:7;11086:37;;11103:1;11086:37;;;11116:6;11086:37;;;;;;:::i;:::-;;;;;;;;11136:48;11164:1;11168:7;11177:6;11136:19;:48::i;:::-;10758:434;;:::o;3994:147::-;4052:7;4072:9;4088:1;4084;:5;;;;:::i;:::-;4072:17;;4112:1;4107;:6;;4100:14;;;;:::i;:::-;;4132:1;4125:8;;;3994:147;;;;:::o;11200:613::-;11285:5;;;;;;;;;;;11284:6;11276:24;;;;;;;;;;;;:::i;:::-;;;;;;;;;11338:1;11319:21;;:7;:21;;;;11311:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11391:49;11412:7;11429:1;11433:6;11391:20;:49::i;:::-;11453:22;11478:9;:18;11488:7;11478:18;;;;;;;;;;;;;;;;11453:43;;11533:6;11515:14;:24;;11507:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;11620:26;11639:6;11620:14;:18;;:26;;;;:::i;:::-;11599:9;:18;11609:7;11599:18;;;;;;;;;;;;;;;:47;;;;11683:6;11667:12;;:22;;;;;;;:::i;:::-;;;;;;;;11733:1;11707:37;;11716:7;11707:37;;;11737:6;11707:37;;;;;;:::i;:::-;;;;;;;;11757:48;11777:7;11794:1;11798:6;11757:19;:48::i;:::-;11265:548;11200:613;;:::o;12726:125::-;;;;:::o;12859:124::-;;;;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1397:75::-;1430:6;1463:2;1457:9;1447:19;;1397:75;:::o;1478:117::-;1587:1;1584;1577:12;1601:117;1710:1;1707;1700:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:118::-;3581:24;3599:5;3581:24;:::i;:::-;3576:3;3569:37;3494:118;;:::o;3618:222::-;3711:4;3749:2;3738:9;3734:18;3726:26;;3762:71;3830:1;3819:9;3815:17;3806:6;3762:71;:::i;:::-;3618:222;;;;:::o;3846:329::-;3905:6;3954:2;3942:9;3933:7;3929:23;3925:32;3922:119;;;3960:79;;:::i;:::-;3922:119;4080:1;4105:53;4150:7;4141:6;4130:9;4126:22;4105:53;:::i;:::-;4095:63;;4051:117;3846:329;;;;:::o;4181:619::-;4258:6;4266;4274;4323:2;4311:9;4302:7;4298:23;4294:32;4291:119;;;4329:79;;:::i;:::-;4291:119;4449:1;4474:53;4519:7;4510:6;4499:9;4495:22;4474:53;:::i;:::-;4464:63;;4420:117;4576:2;4602:53;4647:7;4638:6;4627:9;4623:22;4602:53;:::i;:::-;4592:63;;4547:118;4704:2;4730:53;4775:7;4766:6;4755:9;4751:22;4730:53;:::i;:::-;4720:63;;4675:118;4181:619;;;;;:::o;4806:::-;4883:6;4891;4899;4948:2;4936:9;4927:7;4923:23;4919:32;4916:119;;;4954:79;;:::i;:::-;4916:119;5074:1;5099:53;5144:7;5135:6;5124:9;5120:22;5099:53;:::i;:::-;5089:63;;5045:117;5201:2;5227:53;5272:7;5263:6;5252:9;5248:22;5227:53;:::i;:::-;5217:63;;5172:118;5329:2;5355:53;5400:7;5391:6;5380:9;5376:22;5355:53;:::i;:::-;5345:63;;5300:118;4806:619;;;;;:::o;5431:329::-;5490:6;5539:2;5527:9;5518:7;5514:23;5510:32;5507:119;;;5545:79;;:::i;:::-;5507:119;5665:1;5690:53;5735:7;5726:6;5715:9;5711:22;5690:53;:::i;:::-;5680:63;;5636:117;5431:329;;;;:::o;5766:86::-;5801:7;5841:4;5834:5;5830:16;5819:27;;5766:86;;;:::o;5858:112::-;5941:22;5957:5;5941:22;:::i;:::-;5936:3;5929:35;5858:112;;:::o;5976:214::-;6065:4;6103:2;6092:9;6088:18;6080:26;;6116:67;6180:1;6169:9;6165:17;6156:6;6116:67;:::i;:::-;5976:214;;;;:::o;6196:116::-;6266:21;6281:5;6266:21;:::i;:::-;6259:5;6256:32;6246:60;;6302:1;6299;6292:12;6246:60;6196:116;:::o;6318:133::-;6361:5;6399:6;6386:20;6377:29;;6415:30;6439:5;6415:30;:::i;:::-;6318:133;;;;:::o;6457:323::-;6513:6;6562:2;6550:9;6541:7;6537:23;6533:32;6530:119;;;6568:79;;:::i;:::-;6530:119;6688:1;6713:50;6755:7;6746:6;6735:9;6731:22;6713:50;:::i;:::-;6703:60;;6659:114;6457:323;;;;:::o;6786:118::-;6873:24;6891:5;6873:24;:::i;:::-;6868:3;6861:37;6786:118;;:::o;6910:222::-;7003:4;7041:2;7030:9;7026:18;7018:26;;7054:71;7122:1;7111:9;7107:17;7098:6;7054:71;:::i;:::-;6910:222;;;;:::o;7138:117::-;7247:1;7244;7237:12;7261:180;7309:77;7306:1;7299:88;7406:4;7403:1;7396:15;7430:4;7427:1;7420:15;7447:281;7530:27;7552:4;7530:27;:::i;:::-;7522:6;7518:40;7660:6;7648:10;7645:22;7624:18;7612:10;7609:34;7606:62;7603:88;;;7671:18;;:::i;:::-;7603:88;7711:10;7707:2;7700:22;7490:238;7447:281;;:::o;7734:129::-;7768:6;7795:20;;:::i;:::-;7785:30;;7824:33;7852:4;7844:6;7824:33;:::i;:::-;7734:129;;;:::o;7869:311::-;7946:4;8036:18;8028:6;8025:30;8022:56;;;8058:18;;:::i;:::-;8022:56;8108:4;8100:6;8096:17;8088:25;;8168:4;8162;8158:15;8150:23;;7869:311;;;:::o;8186:117::-;8295:1;8292;8285:12;8326:710;8422:5;8447:81;8463:64;8520:6;8463:64;:::i;:::-;8447:81;:::i;:::-;8438:90;;8548:5;8577:6;8570:5;8563:21;8611:4;8604:5;8600:16;8593:23;;8664:4;8656:6;8652:17;8644:6;8640:30;8693:3;8685:6;8682:15;8679:122;;;8712:79;;:::i;:::-;8679:122;8827:6;8810:220;8844:6;8839:3;8836:15;8810:220;;;8919:3;8948:37;8981:3;8969:10;8948:37;:::i;:::-;8943:3;8936:50;9015:4;9010:3;9006:14;8999:21;;8886:144;8870:4;8865:3;8861:14;8854:21;;8810:220;;;8814:21;8428:608;;8326:710;;;;;:::o;9059:370::-;9130:5;9179:3;9172:4;9164:6;9160:17;9156:27;9146:122;;9187:79;;:::i;:::-;9146:122;9304:6;9291:20;9329:94;9419:3;9411:6;9404:4;9396:6;9392:17;9329:94;:::i;:::-;9320:103;;9136:293;9059:370;;;;:::o;9435:829::-;9537:6;9545;9553;9602:2;9590:9;9581:7;9577:23;9573:32;9570:119;;;9608:79;;:::i;:::-;9570:119;9756:1;9745:9;9741:17;9728:31;9786:18;9778:6;9775:30;9772:117;;;9808:79;;:::i;:::-;9772:117;9913:78;9983:7;9974:6;9963:9;9959:22;9913:78;:::i;:::-;9903:88;;9699:302;10040:2;10066:53;10111:7;10102:6;10091:9;10087:22;10066:53;:::i;:::-;10056:63;;10011:118;10168:2;10194:53;10239:7;10230:6;10219:9;10215:22;10194:53;:::i;:::-;10184:63;;10139:118;9435:829;;;;;:::o;10270:117::-;10379:1;10376;10369:12;10393:307;10454:4;10544:18;10536:6;10533:30;10530:56;;;10566:18;;:::i;:::-;10530:56;10604:29;10626:6;10604:29;:::i;:::-;10596:37;;10688:4;10682;10678:15;10670:23;;10393:307;;;:::o;10706:154::-;10790:6;10785:3;10780;10767:30;10852:1;10843:6;10838:3;10834:16;10827:27;10706:154;;;:::o;10866:410::-;10943:5;10968:65;10984:48;11025:6;10984:48;:::i;:::-;10968:65;:::i;:::-;10959:74;;11056:6;11049:5;11042:21;11094:4;11087:5;11083:16;11132:3;11123:6;11118:3;11114:16;11111:25;11108:112;;;11139:79;;:::i;:::-;11108:112;11229:41;11263:6;11258:3;11253;11229:41;:::i;:::-;10949:327;10866:410;;;;;:::o;11295:338::-;11350:5;11399:3;11392:4;11384:6;11380:17;11376:27;11366:122;;11407:79;;:::i;:::-;11366:122;11524:6;11511:20;11549:78;11623:3;11615:6;11608:4;11600:6;11596:17;11549:78;:::i;:::-;11540:87;;11356:277;11295:338;;;;:::o;11639:943::-;11734:6;11742;11750;11758;11807:3;11795:9;11786:7;11782:23;11778:33;11775:120;;;11814:79;;:::i;:::-;11775:120;11934:1;11959:53;12004:7;11995:6;11984:9;11980:22;11959:53;:::i;:::-;11949:63;;11905:117;12061:2;12087:53;12132:7;12123:6;12112:9;12108:22;12087:53;:::i;:::-;12077:63;;12032:118;12217:2;12206:9;12202:18;12189:32;12248:18;12240:6;12237:30;12234:117;;;12270:79;;:::i;:::-;12234:117;12375:62;12429:7;12420:6;12409:9;12405:22;12375:62;:::i;:::-;12365:72;;12160:287;12486:2;12512:53;12557:7;12548:6;12537:9;12533:22;12512:53;:::i;:::-;12502:63;;12457:118;11639:943;;;;;;;:::o;12588:308::-;12650:4;12740:18;12732:6;12729:30;12726:56;;;12762:18;;:::i;:::-;12726:56;12800:29;12822:6;12800:29;:::i;:::-;12792:37;;12884:4;12878;12874:15;12866:23;;12588:308;;;:::o;12902:412::-;12980:5;13005:66;13021:49;13063:6;13021:49;:::i;:::-;13005:66;:::i;:::-;12996:75;;13094:6;13087:5;13080:21;13132:4;13125:5;13121:16;13170:3;13161:6;13156:3;13152:16;13149:25;13146:112;;;13177:79;;:::i;:::-;13146:112;13267:41;13301:6;13296:3;13291;13267:41;:::i;:::-;12986:328;12902:412;;;;;:::o;13334:340::-;13390:5;13439:3;13432:4;13424:6;13420:17;13416:27;13406:122;;13447:79;;:::i;:::-;13406:122;13564:6;13551:20;13589:79;13664:3;13656:6;13649:4;13641:6;13637:17;13589:79;:::i;:::-;13580:88;;13396:278;13334:340;;;;:::o;13680:509::-;13749:6;13798:2;13786:9;13777:7;13773:23;13769:32;13766:119;;;13804:79;;:::i;:::-;13766:119;13952:1;13941:9;13937:17;13924:31;13982:18;13974:6;13971:30;13968:117;;;14004:79;;:::i;:::-;13968:117;14109:63;14164:7;14155:6;14144:9;14140:22;14109:63;:::i;:::-;14099:73;;13895:287;13680:509;;;;:::o;14195:474::-;14263:6;14271;14320:2;14308:9;14299:7;14295:23;14291:32;14288:119;;;14326:79;;:::i;:::-;14288:119;14446:1;14471:53;14516:7;14507:6;14496:9;14492:22;14471:53;:::i;:::-;14461:63;;14417:117;14573:2;14599:53;14644:7;14635:6;14624:9;14620:22;14599:53;:::i;:::-;14589:63;;14544:118;14195:474;;;;;:::o;14675:180::-;14723:77;14720:1;14713:88;14820:4;14817:1;14810:15;14844:4;14841:1;14834:15;14861:320;14905:6;14942:1;14936:4;14932:12;14922:22;;14989:1;14983:4;14979:12;15010:18;15000:81;;15066:4;15058:6;15054:17;15044:27;;15000:81;15128:2;15120:6;15117:14;15097:18;15094:38;15091:84;;;15147:18;;:::i;:::-;15091:84;14912:269;14861:320;;;:::o;15187:155::-;15327:7;15323:1;15315:6;15311:14;15304:31;15187:155;:::o;15348:365::-;15490:3;15511:66;15575:1;15570:3;15511:66;:::i;:::-;15504:73;;15586:93;15675:3;15586:93;:::i;:::-;15704:2;15699:3;15695:12;15688:19;;15348:365;;;:::o;15719:419::-;15885:4;15923:2;15912:9;15908:18;15900:26;;15972:9;15966:4;15962:20;15958:1;15947:9;15943:17;15936:47;16000:131;16126:4;16000:131;:::i;:::-;15992:139;;15719:419;;;:::o;16144:180::-;16192:77;16189:1;16182:88;16289:4;16286:1;16279:15;16313:4;16310:1;16303:15;16330:233;16369:3;16392:24;16410:5;16392:24;:::i;:::-;16383:33;;16438:66;16431:5;16428:77;16425:103;;;16508:18;;:::i;:::-;16425:103;16555:1;16548:5;16544:13;16537:20;;16330:233;;;:::o;16569:154::-;16709:6;16705:1;16697:6;16693:14;16686:30;16569:154;:::o;16729:365::-;16871:3;16892:66;16956:1;16951:3;16892:66;:::i;:::-;16885:73;;16967:93;17056:3;16967:93;:::i;:::-;17085:2;17080:3;17076:12;17069:19;;16729:365;;;:::o;17100:419::-;17266:4;17304:2;17293:9;17289:18;17281:26;;17353:9;17347:4;17343:20;17339:1;17328:9;17324:17;17317:47;17381:131;17507:4;17381:131;:::i;:::-;17373:139;;17100:419;;;:::o;17525:160::-;17665:12;17661:1;17653:6;17649:14;17642:36;17525:160;:::o;17691:366::-;17833:3;17854:67;17918:2;17913:3;17854:67;:::i;:::-;17847:74;;17930:93;18019:3;17930:93;:::i;:::-;18048:2;18043:3;18039:12;18032:19;;17691:366;;;:::o;18063:419::-;18229:4;18267:2;18256:9;18252:18;18244:26;;18316:9;18310:4;18306:20;18302:1;18291:9;18287:17;18280:47;18344:131;18470:4;18344:131;:::i;:::-;18336:139;;18063:419;;;:::o;18488:168::-;18628:20;18624:1;18616:6;18612:14;18605:44;18488:168;:::o;18662:366::-;18804:3;18825:67;18889:2;18884:3;18825:67;:::i;:::-;18818:74;;18901:93;18990:3;18901:93;:::i;:::-;19019:2;19014:3;19010:12;19003:19;;18662:366;;;:::o;19034:419::-;19200:4;19238:2;19227:9;19223:18;19215:26;;19287:9;19281:4;19277:20;19273:1;19262:9;19258:17;19251:47;19315:131;19441:4;19315:131;:::i;:::-;19307:139;;19034:419;;;:::o;19459:147::-;19560:11;19597:3;19582:18;;19459:147;;;;:::o;19612:114::-;;:::o;19732:398::-;19891:3;19912:83;19993:1;19988:3;19912:83;:::i;:::-;19905:90;;20004:93;20093:3;20004:93;:::i;:::-;20122:1;20117:3;20113:11;20106:18;;19732:398;;;:::o;20136:379::-;20320:3;20342:147;20485:3;20342:147;:::i;:::-;20335:154;;20506:3;20499:10;;20136:379;;;:::o;20521:168::-;20661:20;20657:1;20649:6;20645:14;20638:44;20521:168;:::o;20695:366::-;20837:3;20858:67;20922:2;20917:3;20858:67;:::i;:::-;20851:74;;20934:93;21023:3;20934:93;:::i;:::-;21052:2;21047:3;21043:12;21036:19;;20695:366;;;:::o;21067:419::-;21233:4;21271:2;21260:9;21256:18;21248:26;;21320:9;21314:4;21310:20;21306:1;21295:9;21291:17;21284:47;21348:131;21474:4;21348:131;:::i;:::-;21340:139;;21067:419;;;:::o;21492:348::-;21532:7;21555:20;21573:1;21555:20;:::i;:::-;21550:25;;21589:20;21607:1;21589:20;:::i;:::-;21584:25;;21777:1;21709:66;21705:74;21702:1;21699:81;21694:1;21687:9;21680:17;21676:105;21673:131;;;21784:18;;:::i;:::-;21673:131;21832:1;21829;21825:9;21814:20;;21492:348;;;;:::o;21846:180::-;21894:77;21891:1;21884:88;21991:4;21988:1;21981:15;22015:4;22012:1;22005:15;22032:185;22072:1;22089:20;22107:1;22089:20;:::i;:::-;22084:25;;22123:20;22141:1;22123:20;:::i;:::-;22118:25;;22162:1;22152:35;;22167:18;;:::i;:::-;22152:35;22209:1;22206;22202:9;22197:14;;22032:185;;;;:::o;22223:305::-;22263:3;22282:20;22300:1;22282:20;:::i;:::-;22277:25;;22316:20;22334:1;22316:20;:::i;:::-;22311:25;;22470:1;22402:66;22398:74;22395:1;22392:81;22389:107;;;22476:18;;:::i;:::-;22389:107;22520:1;22517;22513:9;22506:16;;22223:305;;;;:::o;22534:224::-;22674:34;22670:1;22662:6;22658:14;22651:58;22743:7;22738:2;22730:6;22726:15;22719:32;22534:224;:::o;22764:366::-;22906:3;22927:67;22991:2;22986:3;22927:67;:::i;:::-;22920:74;;23003:93;23092:3;23003:93;:::i;:::-;23121:2;23116:3;23112:12;23105:19;;22764:366;;;:::o;23136:419::-;23302:4;23340:2;23329:9;23325:18;23317:26;;23389:9;23383:4;23379:20;23375:1;23364:9;23360:17;23353:47;23417:131;23543:4;23417:131;:::i;:::-;23409:139;;23136:419;;;:::o;23561:143::-;23618:5;23649:6;23643:13;23634:22;;23665:33;23692:5;23665:33;:::i;:::-;23561:143;;;;:::o;23710:351::-;23780:6;23829:2;23817:9;23808:7;23804:23;23800:32;23797:119;;;23835:79;;:::i;:::-;23797:119;23955:1;23980:64;24036:7;24027:6;24016:9;24012:22;23980:64;:::i;:::-;23970:74;;23926:128;23710:351;;;;:::o;24067:332::-;24188:4;24226:2;24215:9;24211:18;24203:26;;24239:71;24307:1;24296:9;24292:17;24283:6;24239:71;:::i;:::-;24320:72;24388:2;24377:9;24373:18;24364:6;24320:72;:::i;:::-;24067:332;;;;;:::o;24405:137::-;24459:5;24490:6;24484:13;24475:22;;24506:30;24530:5;24506:30;:::i;:::-;24405:137;;;;:::o;24548:345::-;24615:6;24664:2;24652:9;24643:7;24639:23;24635:32;24632:119;;;24670:79;;:::i;:::-;24632:119;24790:1;24815:61;24868:7;24859:6;24848:9;24844:22;24815:61;:::i;:::-;24805:71;;24761:125;24548:345;;;;:::o;24899:151::-;25039:3;25035:1;25027:6;25023:14;25016:27;24899:151;:::o;25056:365::-;25198:3;25219:66;25283:1;25278:3;25219:66;:::i;:::-;25212:73;;25294:93;25383:3;25294:93;:::i;:::-;25412:2;25407:3;25403:12;25396:19;;25056:365;;;:::o;25427:419::-;25593:4;25631:2;25620:9;25616:18;25608:26;;25680:9;25674:4;25670:20;25666:1;25655:9;25651:17;25644:47;25708:131;25834:4;25708:131;:::i;:::-;25700:139;;25427:419;;;:::o;25852:168::-;25992:20;25988:1;25980:6;25976:14;25969:44;25852:168;:::o;26026:366::-;26168:3;26189:67;26253:2;26248:3;26189:67;:::i;:::-;26182:74;;26265:93;26354:3;26265:93;:::i;:::-;26383:2;26378:3;26374:12;26367:19;;26026:366;;;:::o;26398:419::-;26564:4;26602:2;26591:9;26587:18;26579:26;;26651:9;26645:4;26641:20;26637:1;26626:9;26622:17;26615:47;26679:131;26805:4;26679:131;:::i;:::-;26671:139;;26398:419;;;:::o;26823:181::-;26963:33;26959:1;26951:6;26947:14;26940:57;26823:181;:::o;27010:366::-;27152:3;27173:67;27237:2;27232:3;27173:67;:::i;:::-;27166:74;;27249:93;27338:3;27249:93;:::i;:::-;27367:2;27362:3;27358:12;27351:19;;27010:366;;;:::o;27382:419::-;27548:4;27586:2;27575:9;27571:18;27563:26;;27635:9;27629:4;27625:20;27621:1;27610:9;27606:17;27599:47;27663:131;27789:4;27663:131;:::i;:::-;27655:139;;27382:419;;;:::o;27807:170::-;27947:22;27943:1;27935:6;27931:14;27924:46;27807:170;:::o;27983:366::-;28125:3;28146:67;28210:2;28205:3;28146:67;:::i;:::-;28139:74;;28222:93;28311:3;28222:93;:::i;:::-;28340:2;28335:3;28331:12;28324:19;;27983:366;;;:::o;28355:419::-;28521:4;28559:2;28548:9;28544:18;28536:26;;28608:9;28602:4;28598:20;28594:1;28583:9;28579:17;28572:47;28636:131;28762:4;28636:131;:::i;:::-;28628:139;;28355:419;;;:::o;28780:191::-;28820:4;28840:20;28858:1;28840:20;:::i;:::-;28835:25;;28874:20;28892:1;28874:20;:::i;:::-;28869:25;;28913:1;28910;28907:8;28904:34;;;28918:18;;:::i;:::-;28904:34;28963:1;28960;28956:9;28948:17;;28780:191;;;;:::o;28977:180::-;29025:77;29022:1;29015:88;29122:4;29119:1;29112:15;29146:4;29143:1;29136:15;29163:224;29303:34;29299:1;29291:6;29287:14;29280:58;29372:7;29367:2;29359:6;29355:15;29348:32;29163:224;:::o;29393:366::-;29535:3;29556:67;29620:2;29615:3;29556:67;:::i;:::-;29549:74;;29632:93;29721:3;29632:93;:::i;:::-;29750:2;29745:3;29741:12;29734:19;;29393:366;;;:::o;29765:419::-;29931:4;29969:2;29958:9;29954:18;29946:26;;30018:9;30012:4;30008:20;30004:1;29993:9;29989:17;29982:47;30046:131;30172:4;30046:131;:::i;:::-;30038:139;;29765:419;;;:::o;30190:236::-;30330:34;30326:1;30318:6;30314:14;30307:58;30399:19;30394:2;30386:6;30382:15;30375:44;30190:236;:::o;30432:366::-;30574:3;30595:67;30659:2;30654:3;30595:67;:::i;:::-;30588:74;;30671:93;30760:3;30671:93;:::i;:::-;30789:2;30784:3;30780:12;30773:19;;30432:366;;;:::o;30804:419::-;30970:4;31008:2;30997:9;30993:18;30985:26;;31057:9;31051:4;31047:20;31043:1;31032:9;31028:17;31021:47;31085:131;31211:4;31085:131;:::i;:::-;31077:139;;30804:419;;;:::o;31229:98::-;31280:6;31314:5;31308:12;31298:22;;31229:98;;;:::o;31333:168::-;31416:11;31450:6;31445:3;31438:19;31490:4;31485:3;31481:14;31466:29;;31333:168;;;;:::o;31507:360::-;31593:3;31621:38;31653:5;31621:38;:::i;:::-;31675:70;31738:6;31733:3;31675:70;:::i;:::-;31668:77;;31754:52;31799:6;31794:3;31787:4;31780:5;31776:16;31754:52;:::i;:::-;31831:29;31853:6;31831:29;:::i;:::-;31826:3;31822:39;31815:46;;31597:270;31507:360;;;;:::o;31873:640::-;32068:4;32106:3;32095:9;32091:19;32083:27;;32120:71;32188:1;32177:9;32173:17;32164:6;32120:71;:::i;:::-;32201:72;32269:2;32258:9;32254:18;32245:6;32201:72;:::i;:::-;32283;32351:2;32340:9;32336:18;32327:6;32283:72;:::i;:::-;32402:9;32396:4;32392:20;32387:2;32376:9;32372:18;32365:48;32430:76;32501:4;32492:6;32430:76;:::i;:::-;32422:84;;31873:640;;;;;;;:::o;32519:237::-;32659:34;32655:1;32647:6;32643:14;32636:58;32728:20;32723:2;32715:6;32711:15;32704:45;32519:237;:::o;32762:366::-;32904:3;32925:67;32989:2;32984:3;32925:67;:::i;:::-;32918:74;;33001:93;33090:3;33001:93;:::i;:::-;33119:2;33114:3;33110:12;33103:19;;32762:366;;;:::o;33134:419::-;33300:4;33338:2;33327:9;33323:18;33315:26;;33387:9;33381:4;33377:20;33373:1;33362:9;33358:17;33351:47;33415:131;33541:4;33415:131;:::i;:::-;33407:139;;33134:419;;;:::o;33559:223::-;33699:34;33695:1;33687:6;33683:14;33676:58;33768:6;33763:2;33755:6;33751:15;33744:31;33559:223;:::o;33788:366::-;33930:3;33951:67;34015:2;34010:3;33951:67;:::i;:::-;33944:74;;34027:93;34116:3;34027:93;:::i;:::-;34145:2;34140:3;34136:12;34129:19;;33788:366;;;:::o;34160:419::-;34326:4;34364:2;34353:9;34349:18;34341:26;;34413:9;34407:4;34403:20;34399:1;34388:9;34384:17;34377:47;34441:131;34567:4;34441:131;:::i;:::-;34433:139;;34160:419;;;:::o;34585:221::-;34725:34;34721:1;34713:6;34709:14;34702:58;34794:4;34789:2;34781:6;34777:15;34770:29;34585:221;:::o;34812:366::-;34954:3;34975:67;35039:2;35034:3;34975:67;:::i;:::-;34968:74;;35051:93;35140:3;35051:93;:::i;:::-;35169:2;35164:3;35160:12;35153:19;;34812:366;;;:::o;35184:419::-;35350:4;35388:2;35377:9;35373:18;35365:26;;35437:9;35431:4;35427:20;35423:1;35412:9;35408:17;35401:47;35465:131;35591:4;35465:131;:::i;:::-;35457:139;;35184:419;;;:::o;35609:179::-;35749:31;35745:1;35737:6;35733:14;35726:55;35609:179;:::o;35794:366::-;35936:3;35957:67;36021:2;36016:3;35957:67;:::i;:::-;35950:74;;36033:93;36122:3;36033:93;:::i;:::-;36151:2;36146:3;36142:12;36135:19;;35794:366;;;:::o;36166:419::-;36332:4;36370:2;36359:9;36355:18;36347:26;;36419:9;36413:4;36409:20;36405:1;36394:9;36390:17;36383:47;36447:131;36573:4;36447:131;:::i;:::-;36439:139;;36166:419;;;:::o;36591:172::-;36731:24;36727:1;36719:6;36715:14;36708:48;36591:172;:::o;36769:366::-;36911:3;36932:67;36996:2;36991:3;36932:67;:::i;:::-;36925:74;;37008:93;37097:3;37008:93;:::i;:::-;37126:2;37121:3;37117:12;37110:19;;36769:366;;;:::o;37141:419::-;37307:4;37345:2;37334:9;37330:18;37322:26;;37394:9;37388:4;37384:20;37380:1;37369:9;37365:17;37358:47;37422:131;37548:4;37422:131;:::i;:::-;37414:139;;37141:419;;;:::o;37566:224::-;37706:34;37702:1;37694:6;37690:14;37683:58;37775:7;37770:2;37762:6;37758:15;37751:32;37566:224;:::o;37796:366::-;37938:3;37959:67;38023:2;38018:3;37959:67;:::i;:::-;37952:74;;38035:93;38124:3;38035:93;:::i;:::-;38153:2;38148:3;38144:12;38137:19;;37796:366;;;:::o;38168:419::-;38334:4;38372:2;38361:9;38357:18;38349:26;;38421:9;38415:4;38411:20;38407:1;38396:9;38392:17;38385:47;38449:131;38575:4;38449:131;:::i;:::-;38441:139;;38168:419;;;:::o;38593:222::-;38733:34;38729:1;38721:6;38717:14;38710:58;38802:5;38797:2;38789:6;38785:15;38778:30;38593:222;:::o;38821:366::-;38963:3;38984:67;39048:2;39043:3;38984:67;:::i;:::-;38977:74;;39060:93;39149:3;39060:93;:::i;:::-;39178:2;39173:3;39169:12;39162:19;;38821:366;;;:::o;39193:419::-;39359:4;39397:2;39386:9;39382:18;39374:26;;39446:9;39440:4;39436:20;39432:1;39421:9;39417:17;39410:47;39474:131;39600:4;39474:131;:::i;:::-;39466:139;;39193:419;;;:::o;39618:225::-;39758:34;39754:1;39746:6;39742:14;39735:58;39827:8;39822:2;39814:6;39810:15;39803:33;39618:225;:::o;39849:366::-;39991:3;40012:67;40076:2;40071:3;40012:67;:::i;:::-;40005:74;;40088:93;40177:3;40088:93;:::i;:::-;40206:2;40201:3;40197:12;40190:19;;39849:366;;;:::o;40221:419::-;40387:4;40425:2;40414:9;40410:18;40402:26;;40474:9;40468:4;40464:20;40460:1;40449:9;40445:17;40438:47;40502:131;40628:4;40502:131;:::i;:::-;40494:139;;40221:419;;;:::o;40646:180::-;40694:77;40691:1;40684:88;40791:4;40788:1;40781:15;40815:4;40812:1;40805:15;40832:181;40972:33;40968:1;40960:6;40956:14;40949:57;40832:181;:::o;41019:366::-;41161:3;41182:67;41246:2;41241:3;41182:67;:::i;:::-;41175:74;;41258:93;41347:3;41258:93;:::i;:::-;41376:2;41371:3;41367:12;41360:19;;41019:366;;;:::o;41391:419::-;41557:4;41595:2;41584:9;41580:18;41572:26;;41644:9;41638:4;41634:20;41630:1;41619:9;41615:17;41608:47;41672:131;41798:4;41672:131;:::i;:::-;41664:139;;41391:419;;;:::o;41816:220::-;41956:34;41952:1;41944:6;41940:14;41933:58;42025:3;42020:2;42012:6;42008:15;42001:28;41816:220;:::o;42042:366::-;42184:3;42205:67;42269:2;42264:3;42205:67;:::i;:::-;42198:74;;42281:93;42370:3;42281:93;:::i;:::-;42399:2;42394:3;42390:12;42383:19;;42042:366;;;:::o;42414:419::-;42580:4;42618:2;42607:9;42603:18;42595:26;;42667:9;42661:4;42657:20;42653:1;42642:9;42638:17;42631:47;42695:131;42821:4;42695:131;:::i;:::-;42687:139;;42414:419;;;:::o;42839:221::-;42979:34;42975:1;42967:6;42963:14;42956:58;43048:4;43043:2;43035:6;43031:15;43024:29;42839:221;:::o;43066:366::-;43208:3;43229:67;43293:2;43288:3;43229:67;:::i;:::-;43222:74;;43305:93;43394:3;43305:93;:::i;:::-;43423:2;43418:3;43414:12;43407:19;;43066:366;;;:::o;43438:419::-;43604:4;43642:2;43631:9;43627:18;43619:26;;43691:9;43685:4;43681:20;43677:1;43666:9;43662:17;43655:47;43719:131;43845:4;43719:131;:::i;:::-;43711:139;;43438:419;;;:::o

Swarm Source

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