ETH Price: $3,009.59 (+1.53%)
Gas: 7 Gwei

Token

FESS (FESS)
 

Overview

Max Total Supply

9,637,574,155.878 FESS

Holders

320 (0.00%)

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

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

OVERVIEW

FESS is an AI operated POS transaction working on the different solutions of blockchain.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
FessChain

Compiler Version
v0.5.0+commit.1d4f565a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2019-07-12
*/

pragma solidity 0.5.0;

contract Owned {
    address public owner;
    address public newOwner;

    event OwnershipTransferred(address indexed from, address indexed _to);

    constructor(address _owner) public {
        owner = _owner;
    }

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

    function transferOwnership(address _newOwner) public onlyOwner {
        newOwner = _newOwner;
    }
    function acceptOwnership() public {
        require(msg.sender == newOwner);
        emit OwnershipTransferred(owner, newOwner);
        owner = newOwner;
        newOwner = address(0);
    }
}

contract Pausable is Owned {
    event Pause();
    event Unpause();

    bool public paused = false;

    modifier whenNotPaused() {
      require(!paused);
      _;
    }

    modifier whenPaused() {
      require(paused);
      _;
    }

    function pause() onlyOwner whenNotPaused public {
      paused = true;
      emit Pause();
    }

    function unpause() onlyOwner whenPaused public {
      paused = false;
      emit Unpause();
    }
}

/**
 * @dev Interface of the ERC20 standard as defined in the EIP. Does not include
 * the optional functions; to access them see `ERC20Detailed`.
 */
interface IERC20 {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

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

    /**
     * @dev Moves `amount` tokens from the caller's account to `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a `Transfer` event.
     */
    function transfer(address recipient, uint256 amount) external returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through `transferFrom`. This is
     * zero by default.
     *
     * This value changes when `approve` or `transferFrom` are called.
     */
    function allowance(address owner, address spender) external view returns (uint256);

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

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

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

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

// File: openzeppelin-solidity/contracts/math/SafeMath.sol

/**
 * @dev Wrappers over Solidity's arithmetic operations with added overflow
 * checks.
 *
 * Arithmetic operations in Solidity wrap on overflow. This can easily result
 * in bugs, because programmers usually assume that an overflow raises an
 * error, which is the standard behavior in high level programming languages.
 * `SafeMath` restores this intuition by reverting the transaction when an
 * operation overflows.
 *
 * Using this library instead of the unchecked operations eliminates an entire
 * class of bugs, so it's recommended to use it always.
 */
library SafeMath {
    /**
     * @dev Returns the addition of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     * - Addition cannot overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a, "SafeMath: subtraction overflow");
        uint256 c = a - b;

        return c;
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     * - Multiplication cannot overflow.
     */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522
        if (a == 0) {
            return 0;
        }

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

        return c;
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        // Solidity only automatically asserts when dividing by 0
        require(b > 0, "SafeMath: division by zero");
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }


}

// File: openzeppelin-solidity/contracts/token/ERC20/ERC20.sol

/**
 * @dev Implementation of the `IERC20` interface.
 *
 * This implementation is agnostic to the way tokens are created. This means
 * that a supply mechanism has to be added in a derived contract using `_mint`.
 * For a generic mechanism see `ERC20Mintable`.
 *
 * *For a detailed writeup see our guide [How to implement supply
 * mechanisms](https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226).*
 *
 * We have followed general OpenZeppelin guidelines: functions revert instead
 * of returning `false` on failure. This behavior is nonetheless conventional
 * and does not conflict with the expectations of ERC20 applications.
 *
 * Additionally, an `Approval` event is emitted on calls to `transferFrom`.
 * This allows applications to reconstruct the allowance for all accounts just
 * by listening to said events. Other implementations of the EIP may not emit
 * these events, as it isn't required by the specification.
 *
 * Finally, the non-standard `decreaseAllowance` and `increaseAllowance`
 * functions have been added to mitigate the well-known issues around setting
 * allowances. See `IERC20.approve`.
 */
contract ERC20 is IERC20, Pausable {
    using SafeMath for uint256;

    mapping (address => uint256) private _balances;

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

    uint256 private _totalSupply;

    /**
     * @dev See `IERC20.totalSupply`.
     */
    function totalSupply() public view returns (uint256) {
        return _totalSupply;
    }

    /**
     * @dev See `IERC20.balanceOf`.
     */
    function balanceOf(address account) public view returns (uint256) {
        return _balances[account];
    }


    /**
     * @dev See `IERC20.allowance`.
     */
    function allowance(address owner, address spender) public view returns (uint256) {
        return _allowances[owner][spender];
    }

    /**
     * @dev See `IERC20.approve`.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function approve(address spender, uint256 value) public returns (bool) {
        _approve(msg.sender, spender, value);
        return true;
    }


    /**
     * @dev Atomically increases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to `approve` that can be used as a mitigation for
     * problems described in `IERC20.approve`.
     *
     * Emits an `Approval` event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function increaseAllowance(address spender, uint256 addedValue) public returns (bool) {
        _approve(msg.sender, spender, _allowances[msg.sender][spender].add(addedValue));
        return true;
    }

    /**
     * @dev Atomically decreases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to `approve` that can be used as a mitigation for
     * problems described in `IERC20.approve`.
     *
     * Emits an `Approval` event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     * - `spender` must have allowance for the caller of at least
     * `subtractedValue`.
     */
    function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) {
        _approve(msg.sender, spender, _allowances[msg.sender][spender].sub(subtractedValue));
        return true;
    }

    /**
     * @dev Moves tokens `amount` from `sender` to `recipient`.
     *
     * This is internal function is equivalent to `transfer`, and can be used to
     * e.g. implement automatic token fees, slashing mechanisms, etc.
     *
     * Emits a `Transfer` event.
     *
     * Requirements:
     *
     * - `sender` cannot be the zero address.
     * - `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `amount`.
     */
    function _transfer(address sender, address recipient, uint256 amount) internal {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _balances[sender] = _balances[sender].sub(amount);
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
    }

    /** @dev Creates `amount` tokens and assigns them to `account`, increasing
     * the total supply.
     *
     * Emits a `Transfer` event with `from` set to the zero address.
     *
     * Requirements
     *
     * - `to` cannot be the zero address.
     */
    function _mint(address account, uint256 amount) internal {
        require(account != address(0), "ERC20: mint to the zero address");

        _totalSupply = _totalSupply.add(amount);
        _balances[account] = _balances[account].add(amount);
        emit Transfer(address(0), account, amount);
    }

     /**
     * @dev Destoys `amount` tokens from `account`, reducing the
     * total supply.
     *
     * Emits a `Transfer` event with `to` set to the zero address.
     *
     * Requirements
     *
     * - `account` cannot be the zero address.
     * - `account` must have at least `amount` tokens.
     */
    function _burn(address account, uint256 value) internal {
        require(account != address(0), "ERC20: burn from the zero address");

        _totalSupply = _totalSupply.sub(value);
        _balances[account] = _balances[account].sub(value);
        emit Transfer(account, address(0), value);
    }

    /**
     * @dev See `IERC20.transferFrom`.
     *
     * Emits an `Approval` event indicating the updated allowance. This is not
     * required by the EIP. See the note at the beginning of `ERC20`;
     *
     * Requirements:
     * - `sender` and `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `value`.
     * - the caller must have allowance for `sender`'s tokens of at least
     * `amount`.
     */
    function _transferFrom(address sender, address recipient, uint256 amount) internal whenNotPaused returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, msg.sender, _allowances[sender][msg.sender].sub(amount));
        return true;
    }


    /**
     * @dev Sets `amount` as the allowance of `spender` over the `owner`s tokens.
     *
     * This is internal function is equivalent to `approve`, and can be used to
     * e.g. set automatic allowances for certain subsystems, etc.
     *
     * Emits an `Approval` event.
     *
     * Requirements:
     *
     * - `owner` cannot be the zero address.
     * - `spender` cannot be the zero address.
     */
    function _approve(address owner, address spender, uint256 value) internal {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

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

}

contract FessChain is ERC20 {

    using SafeMath for uint256;
    string  public constant name = "FESS";
    string  public constant symbol = "FESS";
    uint8   public constant decimals = 18;

    uint256 public tokenForSale = 600000000 ether;
    uint256 public teamTokens = 2400000000 ether; 
    uint256 public maintainanceTokens = 1000000000 ether ;  
    uint256 public marketingTokens = 10000000 ether ; 
    uint256 public airDropInIEO = 20000000 ether;  
    uint256 public bountyInIEO = 30000000 ether;  
    uint256 public mintingTokens = 2250000000 ether;
    uint256 public airDropWithDapps = 3690000000 ether;

    mapping(address => bool) public marketingTokenHolder;
    mapping(address => uint256) public marketingLockPeriodStart;

    mapping(address => bool) public teamTokenHolder;
    mapping(address => uint256) public teamLockPeriodStart;
    mapping(address => uint256) public teamTokenInitially;
    mapping(address => uint256) public teamTokenSent;

    uint256 public totalReleased = 0;

    constructor(address _owner) public Owned(_owner) {
 
        _mint(address(this), 10000000000 ether);
        super._transfer(address(this),owner,tokenForSale);
        totalReleased = totalReleased.add(tokenForSale);

    }

    /**
     * @dev See `IERC20.transfer`.
     *
     * Requirements:
     *
     * - `recipient` cannot be the zero address.
     * - the caller must have a balance of at least `amount`.
     */
    function transfer(address recipient, uint256 amount) public whenNotPaused returns (bool) {

       if (marketingTokenHolder[msg.sender] == true)
       { 
        
        require(now >= (marketingLockPeriodStart[msg.sender]).add(20736000)); // 8 months, taken 30 days in each month
        super._transfer(msg.sender, recipient, amount);           

       }

      else 
      {
        super._transfer(msg.sender, recipient, amount);
      } 


        return true;
    }

    /**
     * @dev See `IERC20.transferFrom`.
     *
     * Emits an `Approval` event indicating the updated allowance. This is not
     * required by the EIP. See the note at the beginning of `ERC20`;
     *
     * Requirements:
     * - `sender` and `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `value`.
     * - the caller must have allowance for `sender`'s tokens of at least
     * `amount`.
     */
    function transferFrom(address sender, address recipient, uint256 amount) public whenNotPaused returns (bool) {

       if (marketingTokenHolder[msg.sender] == true)
       { 
        
        require(now >= (marketingLockPeriodStart[msg.sender]).add(20736000),'Lock period is not completed'); // 8 months, taken 30 days in each month
        super._transferFrom(sender, recipient, amount);           

       }

      else 
      {
        super._transferFrom(sender, recipient, amount);
      } 

        return true;
    }


    /**
    * @dev this function will send the Team tokens to given address
    * @param _teamAddress ,address of the bounty receiver.
    * @param _value , number of tokens to be sent.
    */
    function sendTeamTokens(address _teamAddress, uint256 _value) external whenNotPaused onlyOwner returns (bool) {

        require(teamTokens >= _value);
        totalReleased = totalReleased.add(_value);
        require(totalReleased <= totalSupply());
        teamTokens = teamTokens.sub(_value);
        teamTokenHolder[_teamAddress] = true;
        teamTokenInitially[_teamAddress] = teamTokenInitially[_teamAddress].add((_value.mul(95)).div(100));
        teamLockPeriodStart[_teamAddress] = now; 
        super._transfer(address(this),_teamAddress,(_value.mul(5)).div(100));
        return true;

   }

    /**
    * @dev this function will send the Team tokens to given address
    * @param _marketingAddress ,address of the bounty receiver.
    * @param _value , number of tokens to be sent.
    */
    function sendMarketingTokens(address _marketingAddress, uint256 _value) external whenNotPaused onlyOwner returns (bool) {

        require(marketingTokens >= _value);
        totalReleased = totalReleased.add(_value);
        require(totalReleased <= totalSupply());
        marketingTokens = marketingTokens.sub(_value);
        marketingTokenHolder[_marketingAddress] = true;
        marketingLockPeriodStart[_marketingAddress] = now;
        super._transfer(address(this),_marketingAddress,_value);
        return true;

   }

    
    /**
    * @dev this function will send the Team tokens to given address
    * @param _maintainanceAddress ,address of the bounty receiver.
    * @param _value , number of tokens to be sent.
    */
    function sendMaintainanceTokens(address _maintainanceAddress, uint256 _value) external whenNotPaused onlyOwner returns (bool) {

        require(maintainanceTokens >= _value);
        totalReleased = totalReleased.add(_value);
        require(totalReleased <= totalSupply());
        maintainanceTokens = maintainanceTokens.sub(_value);
        super._transfer(address(this),_maintainanceAddress,_value);
        return true;

   }
    
    /**
    * @dev this function will send the Team tokens to given address
    * @param _airDropAddress ,address of the bounty receiver.
    * @param _value , number of tokens to be sent.
    */
    function sendAirDropIEO(address _airDropAddress, uint256 _value) external whenNotPaused onlyOwner returns (bool) {

        require(airDropInIEO >= _value);
        totalReleased = totalReleased.add(_value);
        require(totalReleased <= totalSupply());
        airDropInIEO = airDropInIEO.sub(_value);
        super._transfer(address(this),_airDropAddress,_value);
        return true;

   }

    /**
    * @dev this function will send the Team tokens to given address
    * @param _bountyAddress ,address of the bounty receiver.
    * @param _value , number of tokens to be sent.
    */
    function sendBountyIEO(address _bountyAddress, uint256 _value) external whenNotPaused onlyOwner returns (bool) {

        require(bountyInIEO >= _value);
        totalReleased = totalReleased.add(_value);
        require(totalReleased <= totalSupply());
        bountyInIEO = bountyInIEO.sub(_value);
        super._transfer(address(this),_bountyAddress,_value);
        return true;

   }

    
    /**.
    * @dev this function will send the Team tokens to given address
    * @param _airDropWithDapps ,address of the bounty receiver.
    * @param _value , number of tokens to be sent.
    */
    function sendAirDropAndBountyDapps(address _airDropWithDapps, uint256 _value) external whenNotPaused onlyOwner returns (bool) {

        require(airDropWithDapps >= _value);
        totalReleased = totalReleased.add(_value);
        require(totalReleased <= totalSupply());
        airDropWithDapps = airDropWithDapps.sub(_value);
        super._transfer(address(this),_airDropWithDapps,_value);
        return true;

   }

    /**
    * @dev this function will send the Team tokens to given address
    * @param _mintingAddress ,address of the bounty receiver.
    * @param _value , number of tokens to be sent.
    */
    function sendMintingTokens(address _mintingAddress, uint256 _value) external whenNotPaused onlyOwner returns (bool) {

        require(mintingTokens >= _value);
        totalReleased = totalReleased.add(_value);
        require(totalReleased <= totalSupply());
        mintingTokens = mintingTokens.sub(_value);
        super._transfer(address(this),_mintingAddress,_value);
        return true;

   }
    

    /**
    * @dev Destoys `amount` tokens from the caller.
    *
    * See `ERC20._burn`.
    */
    function burn(uint256 amount) external whenNotPaused{

        _burn(msg.sender, amount);
    }

    function withdrawTeamTokens(uint256 amount) external whenNotPaused returns(bool) {

        require(teamTokenHolder[msg.sender] == true,'not a team member');
        require(now.sub(teamLockPeriodStart[msg.sender]).div(2592000)>=3,'Lock period is not above 3 months');
        uint256 monthsNow = now.sub(teamLockPeriodStart[msg.sender]).div(2592000);

        if(monthsNow >=3 && monthsNow < 6) 
        {
           require(teamTokenSent[msg.sender].add(amount) <= (teamTokenInitially[msg.sender].mul(10)).div(100),'already withdraw 10 % tokens');   
           teamTokenSent[msg.sender] = teamTokenSent[msg.sender].add(amount);
           require(teamTokenSent[msg.sender] <= teamTokenInitially[msg.sender],'tokens sent is larger then initial tokens');
           super._transfer(address(this),msg.sender,amount);      
        } 

        else if(monthsNow >=6 && monthsNow < 9) 
        {
           require(teamTokenSent[msg.sender].add(amount) <= (teamTokenInitially[msg.sender].mul(20)).div(100),'already withdraw 20 % tokens');
           teamTokenSent[msg.sender] = teamTokenSent[msg.sender].add(amount);
           require(teamTokenSent[msg.sender] <= teamTokenInitially[msg.sender]);
           super._transfer(address(this),msg.sender,amount);           
        } 

        else if(monthsNow >=9 && monthsNow < 12) 
        {
           require(teamTokenSent[msg.sender].add(amount) <= (teamTokenInitially[msg.sender].mul(30)).div(100),'already withdraw 30 % tokens');
           teamTokenSent[msg.sender] = teamTokenSent[msg.sender].add(amount);
           require(teamTokenSent[msg.sender] <= teamTokenInitially[msg.sender]);
           super._transfer(address(this),msg.sender,amount);
        } 

        else if(monthsNow >=12 && monthsNow < 15) 
        {
           require(teamTokenSent[msg.sender].add(amount) <= (teamTokenInitially[msg.sender].mul(40)).div(100),'already withdraw 40 % tokens');
           teamTokenSent[msg.sender] = teamTokenSent[msg.sender].add(amount);
           require(teamTokenSent[msg.sender] <= teamTokenInitially[msg.sender]);
           super._transfer(address(this),msg.sender,amount);           
        } 

        else if(monthsNow >=15 && monthsNow < 18) 
        {
           require(teamTokenSent[msg.sender].add(amount) <= (teamTokenInitially[msg.sender].mul(50)).div(100),'already withdraw 50 % tokens');
           teamTokenSent[msg.sender] = teamTokenSent[msg.sender].add(amount);
           require(teamTokenSent[msg.sender] <= teamTokenInitially[msg.sender]);
           super._transfer(address(this),msg.sender,amount);           
        } 

        else if(monthsNow >=18 && monthsNow < 21) 
        {
           require(teamTokenSent[msg.sender].add(amount) <= (teamTokenInitially[msg.sender].mul(60)).div(100),'already withdraw 60 % tokens');
           teamTokenSent[msg.sender] = teamTokenSent[msg.sender].add(amount);
           require(teamTokenSent[msg.sender] <= teamTokenInitially[msg.sender]);
           super._transfer(address(this),msg.sender,amount);           
        } 

        else if(monthsNow >=21 && monthsNow < 24) 
        {
           require(teamTokenSent[msg.sender].add(amount) <= (teamTokenInitially[msg.sender].mul(70)).div(100),'already withdraw 70 % tokens');
           teamTokenSent[msg.sender] = teamTokenSent[msg.sender].add(amount);
           require(teamTokenSent[msg.sender] <= teamTokenInitially[msg.sender]);
           super._transfer(address(this),msg.sender,amount);           
        } 

        else if(monthsNow >=24 && monthsNow < 27) 
        {
           require(teamTokenSent[msg.sender].add(amount) <= (teamTokenInitially[msg.sender].mul(80)).div(100),'already withdraw 80 % tokens');
           teamTokenSent[msg.sender] = teamTokenSent[msg.sender].add(amount);
           require(teamTokenSent[msg.sender] <= teamTokenInitially[msg.sender]);
           super._transfer(address(this),msg.sender,amount);           
        } 

        else if(monthsNow >=27 && monthsNow < 30) 
        {
           require(teamTokenSent[msg.sender].add(amount) <= (teamTokenInitially[msg.sender].mul(90)).div(100),'already withdraw 90 % tokens');
           teamTokenSent[msg.sender] = teamTokenSent[msg.sender].add(amount);
           require(teamTokenSent[msg.sender] <= teamTokenInitially[msg.sender]);           
           super._transfer(address(this),msg.sender,amount);           
        } 

        else if(monthsNow >=30) 
        {
           require(teamTokenSent[msg.sender].add(amount) <= teamTokenInitially[msg.sender],'already withdraw 100 % tokens');
           teamTokenSent[msg.sender] = teamTokenSent[msg.sender].add(amount);
           super._transfer(address(this),msg.sender,amount);           
        } 

    }      

}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"teamTokenHolder","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"marketingTokenHolder","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_teamAddress","type":"address"},{"name":"_value","type":"uint256"}],"name":"sendTeamTokens","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"airDropInIEO","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"sender","type":"address"},{"name":"recipient","type":"address"},{"name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"teamTokenInitially","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"tokenForSale","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"marketingLockPeriodStart","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_mintingAddress","type":"address"},{"name":"_value","type":"uint256"}],"name":"sendMintingTokens","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"teamLockPeriodStart","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_marketingAddress","type":"address"},{"name":"_value","type":"uint256"}],"name":"sendMarketingTokens","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"teamTokenSent","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"marketingTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_bountyAddress","type":"address"},{"name":"_value","type":"uint256"}],"name":"sendBountyIEO","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"bountyInIEO","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"recipient","type":"address"},{"name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"airDropWithDapps","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"mintingTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_airDropWithDapps","type":"address"},{"name":"_value","type":"uint256"}],"name":"sendAirDropAndBountyDapps","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"teamTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_maintainanceAddress","type":"address"},{"name":"_value","type":"uint256"}],"name":"sendMaintainanceTokens","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"newOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"withdrawTeamTokens","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_airDropAddress","type":"address"},{"name":"_value","type":"uint256"}],"name":"sendAirDropIEO","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"},{"name":"spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalReleased","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"maintainanceTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_owner","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"_to","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"}]

60806040526000600160146101000a81548160ff0219169083151502179055506b01f04ef12cb04cf1580000006005556b07c13bc4b2c133c5600000006006556b033b2e3c9fd0803ce80000006007556a084595161401484a0000006008556a108b2a2c280290940000006009556a18d0bf423c03d8de000000600a556b07452808679520890a000000600b556b0bec4be4d2d5d932aa000000600c556000601355348015620000ae57600080fd5b506040516020806200508983398101806040526020811015620000d057600080fd5b810190808051906020019092919050505080806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506200014a306b204fce5e3e25026110000000620001c2640100000000026401000000009004565b6200018e306000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600554620003a2640100000000026200426c176401000000009004565b620001b5600554601354620006ee6401000000000262003ff7179091906401000000009004565b6013819055505062000805565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151562000268576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b6200028d81600454620006ee6401000000000262003ff7179091906401000000009004565b600481905550620002f581600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054620006ee6401000000000262003ff7179091906401000000009004565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156200046e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001807f45524332303a207472616e736665722066726f6d20746865207a65726f20616481526020017f647265737300000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156200053a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001807f45524332303a207472616e7366657220746f20746865207a65726f206164647281526020017f657373000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6200059c81600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054620007796401000000000262004081179091906401000000009004565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506200064181600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054620006ee6401000000000262003ff7179091906401000000009004565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b60008082840190508381101515156200076f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000828211151515620007f4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060200191505060405180910390fd5b600082840390508091505092915050565b61487480620008156000396000f3fe608060405260043610610203576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168062ec44de14610208578063020a6a071461027157806306fdde03146102da578063095ea7b31461036a5780631196deda146103dd57806312d2e7c21461045057806318160ddd1461047b57806323b872dd146104a6578063313ce56714610539578063374dac031461056a57806339509351146105cf5780633970f698146106425780633f4ba83a1461066d578063402621701461068457806342966c68146106e957806347196318146107245780634e894cbd146107975780635410766c146107fc5780635c975abb1461086f5780636615b0a11461089e57806370a082311461090357806379ba5097146109685780638456cb591461097f5780638b27306d146109965780638da5cb5b146109c157806395d89b4114610a18578063a2fee11814610aa8578063a457c2d714610b1b578063a74386d014610b8e578063a9059cbb14610bb9578063c05c678014610c2c578063c27bbc7d14610c57578063c3c912c414610c82578063c3e3c7bc14610cf5578063cc13efc614610d20578063d4ee1d9014610d93578063d4f47ddb14610dea578063d55f6cf014610e3d578063dd62ed3e14610eb0578063e33b7de314610f35578063f1e7cf8a14610f60578063f2fde38b14610f8b575b600080fd5b34801561021457600080fd5b506102576004803603602081101561022b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fdc565b604051808215151515815260200191505060405180910390f35b34801561027d57600080fd5b506102c06004803603602081101561029457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ffc565b604051808215151515815260200191505060405180910390f35b3480156102e657600080fd5b506102ef61101c565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561032f578082015181840152602081019050610314565b50505050905090810190601f16801561035c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561037657600080fd5b506103c36004803603604081101561038d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611055565b604051808215151515815260200191505060405180910390f35b3480156103e957600080fd5b506104366004803603604081101561040057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061106c565b604051808215151515815260200191505060405180910390f35b34801561045c57600080fd5b506104656112d6565b6040518082815260200191505060405180910390f35b34801561048757600080fd5b506104906112dc565b6040518082815260200191505060405180910390f35b3480156104b257600080fd5b5061051f600480360360608110156104c957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506112e6565b604051808215151515815260200191505060405180910390f35b34801561054557600080fd5b5061054e611453565b604051808260ff1660ff16815260200191505060405180910390f35b34801561057657600080fd5b506105b96004803603602081101561058d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611458565b6040518082815260200191505060405180910390f35b3480156105db57600080fd5b50610628600480360360408110156105f257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611470565b604051808215151515815260200191505060405180910390f35b34801561064e57600080fd5b50610657611515565b6040518082815260200191505060405180910390f35b34801561067957600080fd5b5061068261151b565b005b34801561069057600080fd5b506106d3600480360360208110156106a757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506115da565b6040518082815260200191505060405180910390f35b3480156106f557600080fd5b506107226004803603602081101561070c57600080fd5b81019080803590602001909291905050506115f2565b005b34801561073057600080fd5b5061077d6004803603604081101561074757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061161b565b604051808215151515815260200191505060405180910390f35b3480156107a357600080fd5b506107e6600480360360208110156107ba57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611708565b6040518082815260200191505060405180910390f35b34801561080857600080fd5b506108556004803603604081101561081f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611720565b604051808215151515815260200191505060405180910390f35b34801561087b57600080fd5b506108846118a9565b604051808215151515815260200191505060405180910390f35b3480156108aa57600080fd5b506108ed600480360360208110156108c157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118bc565b6040518082815260200191505060405180910390f35b34801561090f57600080fd5b506109526004803603602081101561092657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118d4565b6040518082815260200191505060405180910390f35b34801561097457600080fd5b5061097d61191d565b005b34801561098b57600080fd5b50610994611abc565b005b3480156109a257600080fd5b506109ab611b7b565b6040518082815260200191505060405180910390f35b3480156109cd57600080fd5b506109d6611b81565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610a2457600080fd5b50610a2d611ba6565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610a6d578082015181840152602081019050610a52565b50505050905090810190601f168015610a9a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610ab457600080fd5b50610b0160048036036040811015610acb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611bdf565b604051808215151515815260200191505060405180910390f35b348015610b2757600080fd5b50610b7460048036036040811015610b3e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611ccc565b604051808215151515815260200191505060405180910390f35b348015610b9a57600080fd5b50610ba3611d71565b6040518082815260200191505060405180910390f35b348015610bc557600080fd5b50610c1260048036036040811015610bdc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611d77565b604051808215151515815260200191505060405180910390f35b348015610c3857600080fd5b50610c41611e78565b6040518082815260200191505060405180910390f35b348015610c6357600080fd5b50610c6c611e7e565b6040518082815260200191505060405180910390f35b348015610c8e57600080fd5b50610cdb60048036036040811015610ca557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611e84565b604051808215151515815260200191505060405180910390f35b348015610d0157600080fd5b50610d0a611f71565b6040518082815260200191505060405180910390f35b348015610d2c57600080fd5b50610d7960048036036040811015610d4357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611f77565b604051808215151515815260200191505060405180910390f35b348015610d9f57600080fd5b50610da8612064565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610df657600080fd5b50610e2360048036036020811015610e0d57600080fd5b810190808035906020019092919050505061208a565b604051808215151515815260200191505060405180910390f35b348015610e4957600080fd5b50610e9660048036036040811015610e6057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613b57565b604051808215151515815260200191505060405180910390f35b348015610ebc57600080fd5b50610f1f60048036036040811015610ed357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613c44565b6040518082815260200191505060405180910390f35b348015610f4157600080fd5b50610f4a613ccb565b6040518082815260200191505060405180910390f35b348015610f6c57600080fd5b50610f75613cd1565b6040518082815260200191505060405180910390f35b348015610f9757600080fd5b50610fda60048036036020811015610fae57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613cd7565b005b600f6020528060005260406000206000915054906101000a900460ff1681565b600d6020528060005260406000206000915054906101000a900460ff1681565b6040805190810160405280600481526020017f464553530000000000000000000000000000000000000000000000000000000081525081565b6000611062338484613d76565b6001905092915050565b6000600160149054906101000a900460ff1615151561108a57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156110e557600080fd5b81600654101515156110f657600080fd5b61110b82601354613ff790919063ffffffff16565b6013819055506111196112dc565b6013541115151561112957600080fd5b61113e8260065461408190919063ffffffff16565b6006819055506001600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506112146111c660646111b8605f8661410c90919063ffffffff16565b6141d990919063ffffffff16565b601160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613ff790919063ffffffff16565b601160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042601060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506112cc30846112c760646112b960058861410c90919063ffffffff16565b6141d990919063ffffffff16565b61426c565b6001905092915050565b60095481565b6000600454905090565b6000600160149054906101000a900460ff1615151561130457600080fd5b60011515600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515141561143b576113b363013c6800600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613ff790919063ffffffff16565b421015151561142a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4c6f636b20706572696f64206973206e6f7420636f6d706c657465640000000081525060200191505060405180910390fd5b611435848484614596565b50611448565b611446848484614596565b505b600190509392505050565b601281565b60116020528060005260406000206000915090505481565b600061150b338461150685600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613ff790919063ffffffff16565b613d76565b6001905092915050565b60055481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561157657600080fd5b600160149054906101000a900460ff16151561159157600080fd5b6000600160146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b600e6020528060005260406000206000915090505481565b600160149054906101000a900460ff1615151561160e57600080fd5b6116183382614663565b50565b6000600160149054906101000a900460ff1615151561163957600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561169457600080fd5b81600b54101515156116a557600080fd5b6116ba82601354613ff790919063ffffffff16565b6013819055506116c86112dc565b601354111515156116d857600080fd5b6116ed82600b5461408190919063ffffffff16565b600b819055506116fe30848461426c565b6001905092915050565b60106020528060005260406000206000915090505481565b6000600160149054906101000a900460ff1615151561173e57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561179957600080fd5b81600854101515156117aa57600080fd5b6117bf82601354613ff790919063ffffffff16565b6013819055506117cd6112dc565b601354111515156117dd57600080fd5b6117f28260085461408190919063ffffffff16565b6008819055506001600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555042600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061189f30848461426c565b6001905092915050565b600160149054906101000a900460ff1681565b60126020528060005260406000206000915090505481565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561197957600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611b1757600080fd5b600160149054906101000a900460ff16151515611b3357600080fd5b60018060146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b60085481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040805190810160405280600481526020017f464553530000000000000000000000000000000000000000000000000000000081525081565b6000600160149054906101000a900460ff16151515611bfd57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611c5857600080fd5b81600a5410151515611c6957600080fd5b611c7e82601354613ff790919063ffffffff16565b601381905550611c8c6112dc565b60135411151515611c9c57600080fd5b611cb182600a5461408190919063ffffffff16565b600a81905550611cc230848461426c565b6001905092915050565b6000611d673384611d6285600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461408190919063ffffffff16565b613d76565b6001905092915050565b600a5481565b6000600160149054906101000a900460ff16151515611d9557600080fd5b60011515600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415611e6257611e4463013c6800600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613ff790919063ffffffff16565b4210151515611e5257600080fd5b611e5d33848461426c565b611e6e565b611e6d33848461426c565b5b6001905092915050565b600c5481565b600b5481565b6000600160149054906101000a900460ff16151515611ea257600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611efd57600080fd5b81600c5410151515611f0e57600080fd5b611f2382601354613ff790919063ffffffff16565b601381905550611f316112dc565b60135411151515611f4157600080fd5b611f5682600c5461408190919063ffffffff16565b600c81905550611f6730848461426c565b6001905092915050565b60065481565b6000600160149054906101000a900460ff16151515611f9557600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611ff057600080fd5b816007541015151561200157600080fd5b61201682601354613ff790919063ffffffff16565b6013819055506120246112dc565b6013541115151561203457600080fd5b6120498260075461408190919063ffffffff16565b60078190555061205a30848461426c565b6001905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160149054906101000a900460ff161515156120a857600080fd5b60011515600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515141515612170576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f6e6f742061207465616d206d656d62657200000000000000000000000000000081525060200191505060405180910390fd5b60036121d962278d006121cb601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020544261408190919063ffffffff16565b6141d990919063ffffffff16565b10151515612275576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001807f4c6f636b20706572696f64206973206e6f742061626f76652033206d6f6e746881526020017f730000000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b60006122de62278d006122d0601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020544261408190919063ffffffff16565b6141d990919063ffffffff16565b9050600381101580156122f15750600681105b156125e55761235c606461234e600a601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461410c90919063ffffffff16565b6141d990919063ffffffff16565b6123ae84601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613ff790919063ffffffff16565b11151515612424576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f616c7265616479207769746864726177203130202520746f6b656e730000000081525060200191505060405180910390fd5b61247683601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613ff790919063ffffffff16565b601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111515156125d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001807f746f6b656e732073656e74206973206c6172676572207468656e20696e69746981526020017f616c20746f6b656e73000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6125e030338561426c565b613b51565b600681101580156125f65750600981105b1561285b5761266160646126536014601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461410c90919063ffffffff16565b6141d990919063ffffffff16565b6126b384601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613ff790919063ffffffff16565b11151515612729576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f616c7265616479207769746864726177203230202520746f6b656e730000000081525060200191505060405180910390fd5b61277b83601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613ff790919063ffffffff16565b601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115151561284b57600080fd5b61285630338561426c565b613b50565b6009811015801561286c5750600c81105b15612ad1576128d760646128c9601e601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461410c90919063ffffffff16565b6141d990919063ffffffff16565b61292984601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613ff790919063ffffffff16565b1115151561299f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f616c7265616479207769746864726177203330202520746f6b656e730000000081525060200191505060405180910390fd5b6129f183601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613ff790919063ffffffff16565b601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411151515612ac157600080fd5b612acc30338561426c565b613b4f565b600c8110158015612ae25750600f81105b15612d4757612b4d6064612b3f6028601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461410c90919063ffffffff16565b6141d990919063ffffffff16565b612b9f84601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613ff790919063ffffffff16565b11151515612c15576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f616c7265616479207769746864726177203430202520746f6b656e730000000081525060200191505060405180910390fd5b612c6783601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613ff790919063ffffffff16565b601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411151515612d3757600080fd5b612d4230338561426c565b613b4e565b600f8110158015612d585750601281105b15612fbd57612dc36064612db56032601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461410c90919063ffffffff16565b6141d990919063ffffffff16565b612e1584601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613ff790919063ffffffff16565b11151515612e8b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f616c7265616479207769746864726177203530202520746f6b656e730000000081525060200191505060405180910390fd5b612edd83601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613ff790919063ffffffff16565b601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411151515612fad57600080fd5b612fb830338561426c565b613b4d565b60128110158015612fce5750601581105b1561323357613039606461302b603c601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461410c90919063ffffffff16565b6141d990919063ffffffff16565b61308b84601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613ff790919063ffffffff16565b11151515613101576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f616c7265616479207769746864726177203630202520746f6b656e730000000081525060200191505060405180910390fd5b61315383601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613ff790919063ffffffff16565b601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115151561322357600080fd5b61322e30338561426c565b613b4c565b601581101580156132445750601881105b156134a9576132af60646132a16046601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461410c90919063ffffffff16565b6141d990919063ffffffff16565b61330184601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613ff790919063ffffffff16565b11151515613377576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f616c7265616479207769746864726177203730202520746f6b656e730000000081525060200191505060405180910390fd5b6133c983601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613ff790919063ffffffff16565b601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115151561349957600080fd5b6134a430338561426c565b613b4b565b601881101580156134ba5750601b81105b1561371f5761352560646135176050601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461410c90919063ffffffff16565b6141d990919063ffffffff16565b61357784601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613ff790919063ffffffff16565b111515156135ed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f616c7265616479207769746864726177203830202520746f6b656e730000000081525060200191505060405180910390fd5b61363f83601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613ff790919063ffffffff16565b601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115151561370f57600080fd5b61371a30338561426c565b613b4a565b601b81101580156137305750601e81105b156139955761379b606461378d605a601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461410c90919063ffffffff16565b6141d990919063ffffffff16565b6137ed84601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613ff790919063ffffffff16565b11151515613863576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f616c7265616479207769746864726177203930202520746f6b656e730000000081525060200191505060405180910390fd5b6138b583601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613ff790919063ffffffff16565b601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115151561398557600080fd5b61399030338561426c565b613b49565b601e81101515613b4857601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613a3184601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613ff790919063ffffffff16565b11151515613aa7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f616c726561647920776974686472617720313030202520746f6b656e7300000081525060200191505060405180910390fd5b613af983601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613ff790919063ffffffff16565b601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613b4730338561426c565b5b5b5b5b5b5b5b5b5b5b50919050565b6000600160149054906101000a900460ff16151515613b7557600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515613bd057600080fd5b8160095410151515613be157600080fd5b613bf682601354613ff790919063ffffffff16565b601381905550613c046112dc565b60135411151515613c1457600080fd5b613c298260095461408190919063ffffffff16565b600981905550613c3a30848461426c565b6001905092915050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60135481565b60075481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515613d3257600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515613e41576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f45524332303a20617070726f76652066726f6d20746865207a65726f2061646481526020017f726573730000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515613f0c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f45524332303a20617070726f766520746f20746865207a65726f20616464726581526020017f737300000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b6000808284019050838110151515614077576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b60008282111515156140fb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060200191505060405180910390fd5b600082840390508091505092915050565b60008083141561411f57600090506141d3565b6000828402905082848281151561413257fe5b041415156141ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001807f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f81526020017f770000000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b809150505b92915050565b60008082111515614252576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525060200191505060405180910390fd5b6000828481151561425f57fe5b0490508091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515614337576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001807f45524332303a207472616e736665722066726f6d20746865207a65726f20616481526020017f647265737300000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515614402576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001807f45524332303a207472616e7366657220746f20746865207a65726f206164647281526020017f657373000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61445481600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461408190919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506144e981600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613ff790919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000600160149054906101000a900460ff161515156145b457600080fd5b6145bf84848461426c565b614658843361465385600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461408190919063ffffffff16565b613d76565b600190509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561472e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001807f45524332303a206275726e2066726f6d20746865207a65726f2061646472657381526020017f730000000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6147438160045461408190919063ffffffff16565b60048190555061479b81600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461408190919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505056fea165627a7a723058206dacd2c9cebb8242f4739de5a8987ad684f83ed60d7e1926363a7b8d293e5d6400290000000000000000000000008ce1ab2ee8c1fef5afd65abf3aa3b49963a74266

Deployed Bytecode

0x608060405260043610610203576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168062ec44de14610208578063020a6a071461027157806306fdde03146102da578063095ea7b31461036a5780631196deda146103dd57806312d2e7c21461045057806318160ddd1461047b57806323b872dd146104a6578063313ce56714610539578063374dac031461056a57806339509351146105cf5780633970f698146106425780633f4ba83a1461066d578063402621701461068457806342966c68146106e957806347196318146107245780634e894cbd146107975780635410766c146107fc5780635c975abb1461086f5780636615b0a11461089e57806370a082311461090357806379ba5097146109685780638456cb591461097f5780638b27306d146109965780638da5cb5b146109c157806395d89b4114610a18578063a2fee11814610aa8578063a457c2d714610b1b578063a74386d014610b8e578063a9059cbb14610bb9578063c05c678014610c2c578063c27bbc7d14610c57578063c3c912c414610c82578063c3e3c7bc14610cf5578063cc13efc614610d20578063d4ee1d9014610d93578063d4f47ddb14610dea578063d55f6cf014610e3d578063dd62ed3e14610eb0578063e33b7de314610f35578063f1e7cf8a14610f60578063f2fde38b14610f8b575b600080fd5b34801561021457600080fd5b506102576004803603602081101561022b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fdc565b604051808215151515815260200191505060405180910390f35b34801561027d57600080fd5b506102c06004803603602081101561029457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ffc565b604051808215151515815260200191505060405180910390f35b3480156102e657600080fd5b506102ef61101c565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561032f578082015181840152602081019050610314565b50505050905090810190601f16801561035c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561037657600080fd5b506103c36004803603604081101561038d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611055565b604051808215151515815260200191505060405180910390f35b3480156103e957600080fd5b506104366004803603604081101561040057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061106c565b604051808215151515815260200191505060405180910390f35b34801561045c57600080fd5b506104656112d6565b6040518082815260200191505060405180910390f35b34801561048757600080fd5b506104906112dc565b6040518082815260200191505060405180910390f35b3480156104b257600080fd5b5061051f600480360360608110156104c957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506112e6565b604051808215151515815260200191505060405180910390f35b34801561054557600080fd5b5061054e611453565b604051808260ff1660ff16815260200191505060405180910390f35b34801561057657600080fd5b506105b96004803603602081101561058d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611458565b6040518082815260200191505060405180910390f35b3480156105db57600080fd5b50610628600480360360408110156105f257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611470565b604051808215151515815260200191505060405180910390f35b34801561064e57600080fd5b50610657611515565b6040518082815260200191505060405180910390f35b34801561067957600080fd5b5061068261151b565b005b34801561069057600080fd5b506106d3600480360360208110156106a757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506115da565b6040518082815260200191505060405180910390f35b3480156106f557600080fd5b506107226004803603602081101561070c57600080fd5b81019080803590602001909291905050506115f2565b005b34801561073057600080fd5b5061077d6004803603604081101561074757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061161b565b604051808215151515815260200191505060405180910390f35b3480156107a357600080fd5b506107e6600480360360208110156107ba57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611708565b6040518082815260200191505060405180910390f35b34801561080857600080fd5b506108556004803603604081101561081f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611720565b604051808215151515815260200191505060405180910390f35b34801561087b57600080fd5b506108846118a9565b604051808215151515815260200191505060405180910390f35b3480156108aa57600080fd5b506108ed600480360360208110156108c157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118bc565b6040518082815260200191505060405180910390f35b34801561090f57600080fd5b506109526004803603602081101561092657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118d4565b6040518082815260200191505060405180910390f35b34801561097457600080fd5b5061097d61191d565b005b34801561098b57600080fd5b50610994611abc565b005b3480156109a257600080fd5b506109ab611b7b565b6040518082815260200191505060405180910390f35b3480156109cd57600080fd5b506109d6611b81565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610a2457600080fd5b50610a2d611ba6565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610a6d578082015181840152602081019050610a52565b50505050905090810190601f168015610a9a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610ab457600080fd5b50610b0160048036036040811015610acb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611bdf565b604051808215151515815260200191505060405180910390f35b348015610b2757600080fd5b50610b7460048036036040811015610b3e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611ccc565b604051808215151515815260200191505060405180910390f35b348015610b9a57600080fd5b50610ba3611d71565b6040518082815260200191505060405180910390f35b348015610bc557600080fd5b50610c1260048036036040811015610bdc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611d77565b604051808215151515815260200191505060405180910390f35b348015610c3857600080fd5b50610c41611e78565b6040518082815260200191505060405180910390f35b348015610c6357600080fd5b50610c6c611e7e565b6040518082815260200191505060405180910390f35b348015610c8e57600080fd5b50610cdb60048036036040811015610ca557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611e84565b604051808215151515815260200191505060405180910390f35b348015610d0157600080fd5b50610d0a611f71565b6040518082815260200191505060405180910390f35b348015610d2c57600080fd5b50610d7960048036036040811015610d4357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611f77565b604051808215151515815260200191505060405180910390f35b348015610d9f57600080fd5b50610da8612064565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610df657600080fd5b50610e2360048036036020811015610e0d57600080fd5b810190808035906020019092919050505061208a565b604051808215151515815260200191505060405180910390f35b348015610e4957600080fd5b50610e9660048036036040811015610e6057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613b57565b604051808215151515815260200191505060405180910390f35b348015610ebc57600080fd5b50610f1f60048036036040811015610ed357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613c44565b6040518082815260200191505060405180910390f35b348015610f4157600080fd5b50610f4a613ccb565b6040518082815260200191505060405180910390f35b348015610f6c57600080fd5b50610f75613cd1565b6040518082815260200191505060405180910390f35b348015610f9757600080fd5b50610fda60048036036020811015610fae57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613cd7565b005b600f6020528060005260406000206000915054906101000a900460ff1681565b600d6020528060005260406000206000915054906101000a900460ff1681565b6040805190810160405280600481526020017f464553530000000000000000000000000000000000000000000000000000000081525081565b6000611062338484613d76565b6001905092915050565b6000600160149054906101000a900460ff1615151561108a57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156110e557600080fd5b81600654101515156110f657600080fd5b61110b82601354613ff790919063ffffffff16565b6013819055506111196112dc565b6013541115151561112957600080fd5b61113e8260065461408190919063ffffffff16565b6006819055506001600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506112146111c660646111b8605f8661410c90919063ffffffff16565b6141d990919063ffffffff16565b601160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613ff790919063ffffffff16565b601160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042601060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506112cc30846112c760646112b960058861410c90919063ffffffff16565b6141d990919063ffffffff16565b61426c565b6001905092915050565b60095481565b6000600454905090565b6000600160149054906101000a900460ff1615151561130457600080fd5b60011515600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515141561143b576113b363013c6800600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613ff790919063ffffffff16565b421015151561142a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4c6f636b20706572696f64206973206e6f7420636f6d706c657465640000000081525060200191505060405180910390fd5b611435848484614596565b50611448565b611446848484614596565b505b600190509392505050565b601281565b60116020528060005260406000206000915090505481565b600061150b338461150685600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613ff790919063ffffffff16565b613d76565b6001905092915050565b60055481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561157657600080fd5b600160149054906101000a900460ff16151561159157600080fd5b6000600160146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b600e6020528060005260406000206000915090505481565b600160149054906101000a900460ff1615151561160e57600080fd5b6116183382614663565b50565b6000600160149054906101000a900460ff1615151561163957600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561169457600080fd5b81600b54101515156116a557600080fd5b6116ba82601354613ff790919063ffffffff16565b6013819055506116c86112dc565b601354111515156116d857600080fd5b6116ed82600b5461408190919063ffffffff16565b600b819055506116fe30848461426c565b6001905092915050565b60106020528060005260406000206000915090505481565b6000600160149054906101000a900460ff1615151561173e57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561179957600080fd5b81600854101515156117aa57600080fd5b6117bf82601354613ff790919063ffffffff16565b6013819055506117cd6112dc565b601354111515156117dd57600080fd5b6117f28260085461408190919063ffffffff16565b6008819055506001600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555042600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061189f30848461426c565b6001905092915050565b600160149054906101000a900460ff1681565b60126020528060005260406000206000915090505481565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561197957600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611b1757600080fd5b600160149054906101000a900460ff16151515611b3357600080fd5b60018060146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b60085481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040805190810160405280600481526020017f464553530000000000000000000000000000000000000000000000000000000081525081565b6000600160149054906101000a900460ff16151515611bfd57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611c5857600080fd5b81600a5410151515611c6957600080fd5b611c7e82601354613ff790919063ffffffff16565b601381905550611c8c6112dc565b60135411151515611c9c57600080fd5b611cb182600a5461408190919063ffffffff16565b600a81905550611cc230848461426c565b6001905092915050565b6000611d673384611d6285600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461408190919063ffffffff16565b613d76565b6001905092915050565b600a5481565b6000600160149054906101000a900460ff16151515611d9557600080fd5b60011515600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415611e6257611e4463013c6800600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613ff790919063ffffffff16565b4210151515611e5257600080fd5b611e5d33848461426c565b611e6e565b611e6d33848461426c565b5b6001905092915050565b600c5481565b600b5481565b6000600160149054906101000a900460ff16151515611ea257600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611efd57600080fd5b81600c5410151515611f0e57600080fd5b611f2382601354613ff790919063ffffffff16565b601381905550611f316112dc565b60135411151515611f4157600080fd5b611f5682600c5461408190919063ffffffff16565b600c81905550611f6730848461426c565b6001905092915050565b60065481565b6000600160149054906101000a900460ff16151515611f9557600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611ff057600080fd5b816007541015151561200157600080fd5b61201682601354613ff790919063ffffffff16565b6013819055506120246112dc565b6013541115151561203457600080fd5b6120498260075461408190919063ffffffff16565b60078190555061205a30848461426c565b6001905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160149054906101000a900460ff161515156120a857600080fd5b60011515600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515141515612170576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f6e6f742061207465616d206d656d62657200000000000000000000000000000081525060200191505060405180910390fd5b60036121d962278d006121cb601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020544261408190919063ffffffff16565b6141d990919063ffffffff16565b10151515612275576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001807f4c6f636b20706572696f64206973206e6f742061626f76652033206d6f6e746881526020017f730000000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b60006122de62278d006122d0601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020544261408190919063ffffffff16565b6141d990919063ffffffff16565b9050600381101580156122f15750600681105b156125e55761235c606461234e600a601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461410c90919063ffffffff16565b6141d990919063ffffffff16565b6123ae84601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613ff790919063ffffffff16565b11151515612424576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f616c7265616479207769746864726177203130202520746f6b656e730000000081525060200191505060405180910390fd5b61247683601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613ff790919063ffffffff16565b601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111515156125d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001807f746f6b656e732073656e74206973206c6172676572207468656e20696e69746981526020017f616c20746f6b656e73000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6125e030338561426c565b613b51565b600681101580156125f65750600981105b1561285b5761266160646126536014601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461410c90919063ffffffff16565b6141d990919063ffffffff16565b6126b384601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613ff790919063ffffffff16565b11151515612729576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f616c7265616479207769746864726177203230202520746f6b656e730000000081525060200191505060405180910390fd5b61277b83601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613ff790919063ffffffff16565b601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115151561284b57600080fd5b61285630338561426c565b613b50565b6009811015801561286c5750600c81105b15612ad1576128d760646128c9601e601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461410c90919063ffffffff16565b6141d990919063ffffffff16565b61292984601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613ff790919063ffffffff16565b1115151561299f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f616c7265616479207769746864726177203330202520746f6b656e730000000081525060200191505060405180910390fd5b6129f183601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613ff790919063ffffffff16565b601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411151515612ac157600080fd5b612acc30338561426c565b613b4f565b600c8110158015612ae25750600f81105b15612d4757612b4d6064612b3f6028601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461410c90919063ffffffff16565b6141d990919063ffffffff16565b612b9f84601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613ff790919063ffffffff16565b11151515612c15576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f616c7265616479207769746864726177203430202520746f6b656e730000000081525060200191505060405180910390fd5b612c6783601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613ff790919063ffffffff16565b601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411151515612d3757600080fd5b612d4230338561426c565b613b4e565b600f8110158015612d585750601281105b15612fbd57612dc36064612db56032601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461410c90919063ffffffff16565b6141d990919063ffffffff16565b612e1584601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613ff790919063ffffffff16565b11151515612e8b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f616c7265616479207769746864726177203530202520746f6b656e730000000081525060200191505060405180910390fd5b612edd83601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613ff790919063ffffffff16565b601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411151515612fad57600080fd5b612fb830338561426c565b613b4d565b60128110158015612fce5750601581105b1561323357613039606461302b603c601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461410c90919063ffffffff16565b6141d990919063ffffffff16565b61308b84601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613ff790919063ffffffff16565b11151515613101576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f616c7265616479207769746864726177203630202520746f6b656e730000000081525060200191505060405180910390fd5b61315383601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613ff790919063ffffffff16565b601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115151561322357600080fd5b61322e30338561426c565b613b4c565b601581101580156132445750601881105b156134a9576132af60646132a16046601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461410c90919063ffffffff16565b6141d990919063ffffffff16565b61330184601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613ff790919063ffffffff16565b11151515613377576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f616c7265616479207769746864726177203730202520746f6b656e730000000081525060200191505060405180910390fd5b6133c983601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613ff790919063ffffffff16565b601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115151561349957600080fd5b6134a430338561426c565b613b4b565b601881101580156134ba5750601b81105b1561371f5761352560646135176050601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461410c90919063ffffffff16565b6141d990919063ffffffff16565b61357784601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613ff790919063ffffffff16565b111515156135ed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f616c7265616479207769746864726177203830202520746f6b656e730000000081525060200191505060405180910390fd5b61363f83601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613ff790919063ffffffff16565b601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115151561370f57600080fd5b61371a30338561426c565b613b4a565b601b81101580156137305750601e81105b156139955761379b606461378d605a601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461410c90919063ffffffff16565b6141d990919063ffffffff16565b6137ed84601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613ff790919063ffffffff16565b11151515613863576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f616c7265616479207769746864726177203930202520746f6b656e730000000081525060200191505060405180910390fd5b6138b583601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613ff790919063ffffffff16565b601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115151561398557600080fd5b61399030338561426c565b613b49565b601e81101515613b4857601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613a3184601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613ff790919063ffffffff16565b11151515613aa7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f616c726561647920776974686472617720313030202520746f6b656e7300000081525060200191505060405180910390fd5b613af983601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613ff790919063ffffffff16565b601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613b4730338561426c565b5b5b5b5b5b5b5b5b5b5b50919050565b6000600160149054906101000a900460ff16151515613b7557600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515613bd057600080fd5b8160095410151515613be157600080fd5b613bf682601354613ff790919063ffffffff16565b601381905550613c046112dc565b60135411151515613c1457600080fd5b613c298260095461408190919063ffffffff16565b600981905550613c3a30848461426c565b6001905092915050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60135481565b60075481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515613d3257600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515613e41576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f45524332303a20617070726f76652066726f6d20746865207a65726f2061646481526020017f726573730000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515613f0c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f45524332303a20617070726f766520746f20746865207a65726f20616464726581526020017f737300000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b6000808284019050838110151515614077576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b60008282111515156140fb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060200191505060405180910390fd5b600082840390508091505092915050565b60008083141561411f57600090506141d3565b6000828402905082848281151561413257fe5b041415156141ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001807f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f81526020017f770000000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b809150505b92915050565b60008082111515614252576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525060200191505060405180910390fd5b6000828481151561425f57fe5b0490508091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515614337576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001807f45524332303a207472616e736665722066726f6d20746865207a65726f20616481526020017f647265737300000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515614402576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001807f45524332303a207472616e7366657220746f20746865207a65726f206164647281526020017f657373000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61445481600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461408190919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506144e981600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613ff790919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000600160149054906101000a900460ff161515156145b457600080fd5b6145bf84848461426c565b614658843361465385600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461408190919063ffffffff16565b613d76565b600190509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561472e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001807f45524332303a206275726e2066726f6d20746865207a65726f2061646472657381526020017f730000000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6147438160045461408190919063ffffffff16565b60048190555061479b81600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461408190919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505056fea165627a7a723058206dacd2c9cebb8242f4739de5a8987ad684f83ed60d7e1926363a7b8d293e5d640029

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

0000000000000000000000008ce1ab2ee8c1fef5afd65abf3aa3b49963a74266

-----Decoded View---------------
Arg [0] : _owner (address): 0x8CE1AB2Ee8c1FeF5Afd65aBF3AA3B49963A74266

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000008ce1ab2ee8c1fef5afd65abf3aa3b49963a74266


Deployed Bytecode Sourcemap

14298:12779:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15071:47;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15071:47:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15071:47:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14944:52;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14944:52:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14944:52:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14368:37;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14368:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;14368:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9138:148;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9138:148:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9138:148:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17497:617;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17497:617:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;17497:617:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14726:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14726:44:0;;;;;;;;;;;;;;;;;;;;;;;8528:91;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8528:91:0;;;;;;;;;;;;;;;;;;;;;;;16749:540;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16749:540:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16749:540:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14458:37;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14458:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;15186:53;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15186:53:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15186:53:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9697:206;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9697:206:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9697:206:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14504:45;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14504:45:0;;;;;;;;;;;;;;;;;;;;;;;1026:101;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1026:101:0;;;;;;15003:59;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15003:59:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15003:59:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22132:98;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22132:98:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;22132:98:0;;;;;;;;;;;;;;;;;;;;21605:410;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21605:410:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;21605:410:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15125:54;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15125:54:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15125:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18325:539;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18325:539:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;18325:539:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;736:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;736:26:0;;;;;;;;;;;;;;;;;;;;;;;;;;;15246:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15246:48:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15246:48:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8682:110;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8682:110:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8682:110:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;455:196;;8:9:-1;5:2;;;30:1;27;20:12;5:2;455:196:0;;;;;;919:99;;8:9:-1;5:2;;;30:1;27;20:12;5:2;919:99:0;;;;;;14670:47;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14670:47:0;;;;;;;;;;;;;;;;;;;;;;;48:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;48:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;14412:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14412:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;14412:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20349:398;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20349:398:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;20349:398:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10406:216;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10406:216:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10406:216:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14779:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14779:43:0;;;;;;;;;;;;;;;;;;;;;;;15787:491;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15787:491:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15787:491:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14885:50;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14885:50:0;;;;;;;;;;;;;;;;;;;;;;;14831:47;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14831:47:0;;;;;;;;;;;;;;;;;;;;;;;20965:431;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20965:431:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;20965:431:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14556:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14556:44:0;;;;;;;;;;;;;;;;;;;;;;;19084:440;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19084:440:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;19084:440:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;75:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;75:23:0;;;;;;;;;;;;;;;;;;;;;;;;;;;22238:4828;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22238:4828:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;22238:4828:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19737:404;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19737:404:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;19737:404:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8857:134;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8857:134:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8857:134:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15303:32;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15303:32:0;;;;;;;;;;;;;;;;;;;;;;;14608:52;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14608:52:0;;;;;;;;;;;;;;;;;;;;;;;347:102;;8:9:-1;5:2;;;30:1;27;20:12;5:2;347:102:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;347:102:0;;;;;;;;;;;;;;;;;;;;;;15071:47;;;;;;;;;;;;;;;;;;;;;;:::o;14944:52::-;;;;;;;;;;;;;;;;;;;;;;:::o;14368:37::-;;;;;;;;;;;;;;;;;;;;:::o;9138:148::-;9203:4;9220:36;9229:10;9241:7;9250:5;9220:8;:36::i;:::-;9274:4;9267:11;;9138:148;;;;:::o;17497:617::-;17601:4;814:6;;;;;;;;;;;813:7;805:16;;;;;;;;313:5;;;;;;;;;;;299:19;;:10;:19;;;291:28;;;;;;;;17642:6;17628:10;;:20;;17620:29;;;;;;;;17676:25;17694:6;17676:13;;:17;;:25;;;;:::i;:::-;17660:13;:41;;;;17737:13;:11;:13::i;:::-;17720;;:30;;17712:39;;;;;;;;17775:22;17790:6;17775:10;;:14;;:22;;;;:::i;:::-;17762:10;:35;;;;17840:4;17808:15;:29;17824:12;17808:29;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;17890:63;17927:25;17948:3;17928:14;17939:2;17928:6;:10;;:14;;;;:::i;:::-;17927:20;;:25;;;;:::i;:::-;17890:18;:32;17909:12;17890:32;;;;;;;;;;;;;;;;:36;;:63;;;;:::i;:::-;17855:18;:32;17874:12;17855:32;;;;;;;;;;;;;;;:98;;;;18000:3;17964:19;:33;17984:12;17964:33;;;;;;;;;;;;;;;:39;;;;18015:68;18039:4;18045:12;18058:24;18078:3;18059:13;18070:1;18059:6;:10;;:13;;;;:::i;:::-;18058:19;;:24;;;;:::i;:::-;18015:15;:68::i;:::-;18101:4;18094:11;;17497:617;;;;:::o;14726:44::-;;;;:::o;8528:91::-;8572:7;8599:12;;8592:19;;8528:91;:::o;16749:540::-;16852:4;814:6;;;;;;;;;;;813:7;805:16;;;;;;;;16910:4;16874:40;;:20;:32;16895:10;16874:32;;;;;;;;;;;;;;;;;;;;;;;;;:40;;;16870:387;;;16961:52;17004:8;16962:24;:36;16987:10;16962:36;;;;;;;;;;;;;;;;16961:42;;:52;;;;:::i;:::-;16954:3;:59;;16946:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17097:46;17117:6;17125:9;17136:6;17097:19;:46::i;:::-;;16870:387;;;17201:46;17221:6;17229:9;17240:6;17201:19;:46::i;:::-;;16870:387;17277:4;17270:11;;16749:540;;;;;:::o;14458:37::-;14493:2;14458:37;:::o;15186:53::-;;;;;;;;;;;;;;;;;:::o;9697:206::-;9777:4;9794:79;9803:10;9815:7;9824:48;9861:10;9824:11;:23;9836:10;9824:23;;;;;;;;;;;;;;;:32;9848:7;9824:32;;;;;;;;;;;;;;;;:36;;:48;;;;:::i;:::-;9794:8;:79::i;:::-;9891:4;9884:11;;9697:206;;;;:::o;14504:45::-;;;;:::o;1026:101::-;313:5;;;;;;;;;;;299:19;;:10;:19;;;291:28;;;;;;;;886:6;;;;;;;;;;;878:15;;;;;;;;1091:5;1082:6;;:14;;;;;;;;;;;;;;;;;;1110:9;;;;;;;;;;1026:101::o;15003:59::-;;;;;;;;;;;;;;;;;:::o;22132:98::-;814:6;;;;;;;;;;;813:7;805:16;;;;;;;;22197:25;22203:10;22215:6;22197:5;:25::i;:::-;22132:98;:::o;21605:410::-;21715:4;814:6;;;;;;;;;;;813:7;805:16;;;;;;;;313:5;;;;;;;;;;;299:19;;:10;:19;;;291:28;;;;;;;;21759:6;21742:13;;:23;;21734:32;;;;;;;;21793:25;21811:6;21793:13;;:17;;:25;;;;:::i;:::-;21777:13;:41;;;;21854:13;:11;:13::i;:::-;21837;;:30;;21829:39;;;;;;;;21895:25;21913:6;21895:13;;:17;;:25;;;;:::i;:::-;21879:13;:41;;;;21931:53;21955:4;21961:15;21977:6;21931:15;:53::i;:::-;22002:4;21995:11;;21605:410;;;;:::o;15125:54::-;;;;;;;;;;;;;;;;;:::o;18325:539::-;18439:4;814:6;;;;;;;;;;;813:7;805:16;;;;;;;;313:5;;;;;;;;;;;299:19;;:10;:19;;;291:28;;;;;;;;18485:6;18466:15;;:25;;18458:34;;;;;;;;18519:25;18537:6;18519:13;;:17;;:25;;;;:::i;:::-;18503:13;:41;;;;18580:13;:11;:13::i;:::-;18563;;:30;;18555:39;;;;;;;;18623:27;18643:6;18623:15;;:19;;:27;;;;:::i;:::-;18605:15;:45;;;;18703:4;18661:20;:39;18682:17;18661:39;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;18764:3;18718:24;:43;18743:17;18718:43;;;;;;;;;;;;;;;:49;;;;18778:55;18802:4;18808:17;18826:6;18778:15;:55::i;:::-;18851:4;18844:11;;18325:539;;;;:::o;736:26::-;;;;;;;;;;;;;:::o;15246:48::-;;;;;;;;;;;;;;;;;:::o;8682:110::-;8739:7;8766:9;:18;8776:7;8766:18;;;;;;;;;;;;;;;;8759:25;;8682:110;;;:::o;455:196::-;522:8;;;;;;;;;;;508:22;;:10;:22;;;500:31;;;;;;;;575:8;;;;;;;;;;;547:37;;568:5;;;;;;;;;;;547:37;;;;;;;;;;;;603:8;;;;;;;;;;;595:5;;:16;;;;;;;;;;;;;;;;;;641:1;622:8;;:21;;;;;;;;;;;;;;;;;;455:196::o;919:99::-;313:5;;;;;;;;;;;299:19;;:10;:19;;;291:28;;;;;;;;814:6;;;;;;;;;;;813:7;805:16;;;;;;;;985:4;976:6;;:13;;;;;;;;;;;;;;;;;;1003:7;;;;;;;;;;919:99::o;14670:47::-;;;;:::o;48:20::-;;;;;;;;;;;;;:::o;14412:39::-;;;;;;;;;;;;;;;;;;;;:::o;20349:398::-;20454:4;814:6;;;;;;;;;;;813:7;805:16;;;;;;;;313:5;;;;;;;;;;;299:19;;:10;:19;;;291:28;;;;;;;;20496:6;20481:11;;:21;;20473:30;;;;;;;;20530:25;20548:6;20530:13;;:17;;:25;;;;:::i;:::-;20514:13;:41;;;;20591:13;:11;:13::i;:::-;20574;;:30;;20566:39;;;;;;;;20630:23;20646:6;20630:11;;:15;;:23;;;;:::i;:::-;20616:11;:37;;;;20664:52;20688:4;20694:14;20709:6;20664:15;:52::i;:::-;20734:4;20727:11;;20349:398;;;;:::o;10406:216::-;10491:4;10508:84;10517:10;10529:7;10538:53;10575:15;10538:11;:23;10550:10;10538:23;;;;;;;;;;;;;;;:32;10562:7;10538:32;;;;;;;;;;;;;;;;:36;;:53;;;;:::i;:::-;10508:8;:84::i;:::-;10610:4;10603:11;;10406:216;;;;:::o;14779:43::-;;;;:::o;15787:491::-;15870:4;814:6;;;;;;;;;;;813:7;805:16;;;;;;;;15928:4;15892:40;;:20;:32;15913:10;15892:32;;;;;;;;;;;;;;;;;;;;;;;;;:40;;;15888:356;;;15979:52;16022:8;15980:24;:36;16005:10;15980:36;;;;;;;;;;;;;;;;15979:42;;:52;;;;:::i;:::-;15972:3;:59;;15964:68;;;;;;;;16084:46;16100:10;16112:9;16123:6;16084:15;:46::i;:::-;15888:356;;;16188:46;16204:10;16216:9;16227:6;16188:15;:46::i;:::-;15888:356;16266:4;16259:11;;15787:491;;;;:::o;14885:50::-;;;;:::o;14831:47::-;;;;:::o;20965:431::-;21085:4;814:6;;;;;;;;;;;813:7;805:16;;;;;;;;313:5;;;;;;;;;;;299:19;;:10;:19;;;291:28;;;;;;;;21132:6;21112:16;;:26;;21104:35;;;;;;;;21166:25;21184:6;21166:13;;:17;;:25;;;;:::i;:::-;21150:13;:41;;;;21227:13;:11;:13::i;:::-;21210;;:30;;21202:39;;;;;;;;21271:28;21292:6;21271:16;;:20;;:28;;;;:::i;:::-;21252:16;:47;;;;21310:55;21334:4;21340:17;21358:6;21310:15;:55::i;:::-;21383:4;21376:11;;20965:431;;;;:::o;14556:44::-;;;;:::o;19084:440::-;19204:4;814:6;;;;;;;;;;;813:7;805:16;;;;;;;;313:5;;;;;;;;;;;299:19;;:10;:19;;;291:28;;;;;;;;19253:6;19231:18;;:28;;19223:37;;;;;;;;19287:25;19305:6;19287:13;;:17;;:25;;;;:::i;:::-;19271:13;:41;;;;19348:13;:11;:13::i;:::-;19331;;:30;;19323:39;;;;;;;;19394:30;19417:6;19394:18;;:22;;:30;;;;:::i;:::-;19373:18;:51;;;;19435:58;19459:4;19465:20;19486:6;19435:15;:58::i;:::-;19511:4;19504:11;;19084:440;;;;:::o;75:23::-;;;;;;;;;;;;;:::o;22238:4828::-;22313:4;814:6;;;;;;;;;;;813:7;805:16;;;;;;;;22371:4;22340:35;;:15;:27;22356:10;22340:27;;;;;;;;;;;;;;;;;;;;;;;;;:35;;;22332:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22470:1;22415:53;22460:7;22415:40;22423:19;:31;22443:10;22423:31;;;;;;;;;;;;;;;;22415:3;:7;;:40;;;;:::i;:::-;:44;;:53;;;;:::i;:::-;:56;;22407:101;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22519:17;22539:53;22584:7;22539:40;22547:19;:31;22567:10;22547:31;;;;;;;;;;;;;;;;22539:3;:7;;:40;;;;:::i;:::-;:44;;:53;;;;:::i;:::-;22519:73;;22620:1;22608:9;:13;;:30;;;;;22637:1;22625:9;:13;22608:30;22605:4451;;;22713:49;22758:3;22714:38;22749:2;22714:18;:30;22733:10;22714:30;;;;;;;;;;;;;;;;:34;;:38;;;;:::i;:::-;22713:44;;:49;;;;:::i;:::-;22672:37;22702:6;22672:13;:25;22686:10;22672:25;;;;;;;;;;;;;;;;:29;;:37;;;;:::i;:::-;:90;;22664:130;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22839:37;22869:6;22839:13;:25;22853:10;22839:25;;;;;;;;;;;;;;;;:29;;:37;;;;:::i;:::-;22811:13;:25;22825:10;22811:25;;;;;;;;;;;;;;;:65;;;;22927:18;:30;22946:10;22927:30;;;;;;;;;;;;;;;;22898:13;:25;22912:10;22898:25;;;;;;;;;;;;;;;;:59;;22890:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23016:48;23040:4;23046:10;23057:6;23016:15;:48::i;:::-;22605:4451;;;23115:1;23103:9;:13;;:30;;;;;23132:1;23120:9;:13;23103:30;23100:3956;;;23208:49;23253:3;23209:38;23244:2;23209:18;:30;23228:10;23209:30;;;;;;;;;;;;;;;;:34;;:38;;;;:::i;:::-;23208:44;;:49;;;;:::i;:::-;23167:37;23197:6;23167:13;:25;23181:10;23167:25;;;;;;;;;;;;;;;;:29;;:37;;;;:::i;:::-;:90;;23159:130;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23331:37;23361:6;23331:13;:25;23345:10;23331:25;;;;;;;;;;;;;;;;:29;;:37;;;;:::i;:::-;23303:13;:25;23317:10;23303:25;;;;;;;;;;;;;;;:65;;;;23419:18;:30;23438:10;23419:30;;;;;;;;;;;;;;;;23390:13;:25;23404:10;23390:25;;;;;;;;;;;;;;;;:59;;23382:68;;;;;;;;23464:48;23488:4;23494:10;23505:6;23464:15;:48::i;:::-;23100:3956;;;23568:1;23556:9;:13;;:31;;;;;23585:2;23573:9;:14;23556:31;23553:3503;;;23662:49;23707:3;23663:38;23698:2;23663:18;:30;23682:10;23663:30;;;;;;;;;;;;;;;;:34;;:38;;;;:::i;:::-;23662:44;;:49;;;;:::i;:::-;23621:37;23651:6;23621:13;:25;23635:10;23621:25;;;;;;;;;;;;;;;;:29;;:37;;;;:::i;:::-;:90;;23613:130;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23785:37;23815:6;23785:13;:25;23799:10;23785:25;;;;;;;;;;;;;;;;:29;;:37;;;;:::i;:::-;23757:13;:25;23771:10;23757:25;;;;;;;;;;;;;;;:65;;;;23873:18;:30;23892:10;23873:30;;;;;;;;;;;;;;;;23844:13;:25;23858:10;23844:25;;;;;;;;;;;;;;;;:59;;23836:68;;;;;;;;23918:48;23942:4;23948:10;23959:6;23918:15;:48::i;:::-;23553:3503;;;24011:2;23999:9;:14;;:32;;;;;24029:2;24017:9;:14;23999:32;23996:3060;;;24106:49;24151:3;24107:38;24142:2;24107:18;:30;24126:10;24107:30;;;;;;;;;;;;;;;;:34;;:38;;;;:::i;:::-;24106:44;;:49;;;;:::i;:::-;24065:37;24095:6;24065:13;:25;24079:10;24065:25;;;;;;;;;;;;;;;;:29;;:37;;;;:::i;:::-;:90;;24057:130;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24229:37;24259:6;24229:13;:25;24243:10;24229:25;;;;;;;;;;;;;;;;:29;;:37;;;;:::i;:::-;24201:13;:25;24215:10;24201:25;;;;;;;;;;;;;;;:65;;;;24317:18;:30;24336:10;24317:30;;;;;;;;;;;;;;;;24288:13;:25;24302:10;24288:25;;;;;;;;;;;;;;;;:59;;24280:68;;;;;;;;24362:48;24386:4;24392:10;24403:6;24362:15;:48::i;:::-;23996:3060;;;24466:2;24454:9;:14;;:32;;;;;24484:2;24472:9;:14;24454:32;24451:2605;;;24561:49;24606:3;24562:38;24597:2;24562:18;:30;24581:10;24562:30;;;;;;;;;;;;;;;;:34;;:38;;;;:::i;:::-;24561:44;;:49;;;;:::i;:::-;24520:37;24550:6;24520:13;:25;24534:10;24520:25;;;;;;;;;;;;;;;;:29;;:37;;;;:::i;:::-;:90;;24512:130;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24684:37;24714:6;24684:13;:25;24698:10;24684:25;;;;;;;;;;;;;;;;:29;;:37;;;;:::i;:::-;24656:13;:25;24670:10;24656:25;;;;;;;;;;;;;;;:65;;;;24772:18;:30;24791:10;24772:30;;;;;;;;;;;;;;;;24743:13;:25;24757:10;24743:25;;;;;;;;;;;;;;;;:59;;24735:68;;;;;;;;24817:48;24841:4;24847:10;24858:6;24817:15;:48::i;:::-;24451:2605;;;24921:2;24909:9;:14;;:32;;;;;24939:2;24927:9;:14;24909:32;24906:2150;;;25016:49;25061:3;25017:38;25052:2;25017:18;:30;25036:10;25017:30;;;;;;;;;;;;;;;;:34;;:38;;;;:::i;:::-;25016:44;;:49;;;;:::i;:::-;24975:37;25005:6;24975:13;:25;24989:10;24975:25;;;;;;;;;;;;;;;;:29;;:37;;;;:::i;:::-;:90;;24967:130;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25139:37;25169:6;25139:13;:25;25153:10;25139:25;;;;;;;;;;;;;;;;:29;;:37;;;;:::i;:::-;25111:13;:25;25125:10;25111:25;;;;;;;;;;;;;;;:65;;;;25227:18;:30;25246:10;25227:30;;;;;;;;;;;;;;;;25198:13;:25;25212:10;25198:25;;;;;;;;;;;;;;;;:59;;25190:68;;;;;;;;25272:48;25296:4;25302:10;25313:6;25272:15;:48::i;:::-;24906:2150;;;25376:2;25364:9;:14;;:32;;;;;25394:2;25382:9;:14;25364:32;25361:1695;;;25471:49;25516:3;25472:38;25507:2;25472:18;:30;25491:10;25472:30;;;;;;;;;;;;;;;;:34;;:38;;;;:::i;:::-;25471:44;;:49;;;;:::i;:::-;25430:37;25460:6;25430:13;:25;25444:10;25430:25;;;;;;;;;;;;;;;;:29;;:37;;;;:::i;:::-;:90;;25422:130;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25594:37;25624:6;25594:13;:25;25608:10;25594:25;;;;;;;;;;;;;;;;:29;;:37;;;;:::i;:::-;25566:13;:25;25580:10;25566:25;;;;;;;;;;;;;;;:65;;;;25682:18;:30;25701:10;25682:30;;;;;;;;;;;;;;;;25653:13;:25;25667:10;25653:25;;;;;;;;;;;;;;;;:59;;25645:68;;;;;;;;25727:48;25751:4;25757:10;25768:6;25727:15;:48::i;:::-;25361:1695;;;25831:2;25819:9;:14;;:32;;;;;25849:2;25837:9;:14;25819:32;25816:1240;;;25926:49;25971:3;25927:38;25962:2;25927:18;:30;25946:10;25927:30;;;;;;;;;;;;;;;;:34;;:38;;;;:::i;:::-;25926:44;;:49;;;;:::i;:::-;25885:37;25915:6;25885:13;:25;25899:10;25885:25;;;;;;;;;;;;;;;;:29;;:37;;;;:::i;:::-;:90;;25877:130;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26049:37;26079:6;26049:13;:25;26063:10;26049:25;;;;;;;;;;;;;;;;:29;;:37;;;;:::i;:::-;26021:13;:25;26035:10;26021:25;;;;;;;;;;;;;;;:65;;;;26137:18;:30;26156:10;26137:30;;;;;;;;;;;;;;;;26108:13;:25;26122:10;26108:25;;;;;;;;;;;;;;;;:59;;26100:68;;;;;;;;26182:48;26206:4;26212:10;26223:6;26182:15;:48::i;:::-;25816:1240;;;26286:2;26274:9;:14;;:32;;;;;26304:2;26292:9;:14;26274:32;26271:785;;;26381:49;26426:3;26382:38;26417:2;26382:18;:30;26401:10;26382:30;;;;;;;;;;;;;;;;:34;;:38;;;;:::i;:::-;26381:44;;:49;;;;:::i;:::-;26340:37;26370:6;26340:13;:25;26354:10;26340:25;;;;;;;;;;;;;;;;:29;;:37;;;;:::i;:::-;:90;;26332:130;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26504:37;26534:6;26504:13;:25;26518:10;26504:25;;;;;;;;;;;;;;;;:29;;:37;;;;:::i;:::-;26476:13;:25;26490:10;26476:25;;;;;;;;;;;;;;;:65;;;;26592:18;:30;26611:10;26592:30;;;;;;;;;;;;;;;;26563:13;:25;26577:10;26563:25;;;;;;;;;;;;;;;;:59;;26555:68;;;;;;;;26648:48;26672:4;26678:10;26689:6;26648:15;:48::i;:::-;26271:785;;;26752:2;26740:9;:14;;26737:319;;;26829:18;:30;26848:10;26829:30;;;;;;;;;;;;;;;;26788:37;26818:6;26788:13;:25;26802:10;26788:25;;;;;;;;;;;;;;;;:29;;:37;;;;:::i;:::-;:71;;26780:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26934:37;26964:6;26934:13;:25;26948:10;26934:25;;;;;;;;;;;;;;;;:29;;:37;;;;:::i;:::-;26906:13;:25;26920:10;26906:25;;;;;;;;;;;;;;;:65;;;;26985:48;27009:4;27015:10;27026:6;26985:15;:48::i;:::-;26737:319;26271:785;25816:1240;25361:1695;24906:2150;24451:2605;23996:3060;23553:3503;23100:3956;22605:4451;830:1;22238:4828;;;:::o;19737:404::-;19844:4;814:6;;;;;;;;;;;813:7;805:16;;;;;;;;313:5;;;;;;;;;;;299:19;;:10;:19;;;291:28;;;;;;;;19887:6;19871:12;;:22;;19863:31;;;;;;;;19921:25;19939:6;19921:13;;:17;;:25;;;;:::i;:::-;19905:13;:41;;;;19982:13;:11;:13::i;:::-;19965;;:30;;19957:39;;;;;;;;20022:24;20039:6;20022:12;;:16;;:24;;;;:::i;:::-;20007:12;:39;;;;20057:53;20081:4;20087:15;20103:6;20057:15;:53::i;:::-;20128:4;20121:11;;19737:404;;;;:::o;8857:134::-;8929:7;8956:11;:18;8968:5;8956:18;;;;;;;;;;;;;;;:27;8975:7;8956:27;;;;;;;;;;;;;;;;8949:34;;8857:134;;;;:::o;15303:32::-;;;;:::o;14608:52::-;;;;:::o;347:102::-;313:5;;;;;;;;;;;299:19;;:10;:19;;;291:28;;;;;;;;432:9;421:8;;:20;;;;;;;;;;;;;;;;;;347:102;:::o;13954:335::-;14064:1;14047:19;;:5;:19;;;;14039:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14145:1;14126:21;;:7;:21;;;;14118:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14229:5;14199:11;:18;14211:5;14199:18;;;;;;;;;;;;;;;:27;14218:7;14199:27;;;;;;;;;;;;;;;:35;;;;14266:7;14250:31;;14259:5;14250:31;;;14275:5;14250:31;;;;;;;;;;;;;;;;;;13954:335;;;:::o;4813:181::-;4871:7;4891:9;4907:1;4903;:5;4891:17;;4932:1;4927;:6;;4919:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4985:1;4978:8;;;4813:181;;;;:::o;5269:184::-;5327:7;5360:1;5355;:6;;5347:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5407:9;5423:1;5419;:5;5407:17;;5444:1;5437:8;;;5269:184;;;;:::o;5704:470::-;5762:7;6011:1;6006;:6;6002:47;;;6036:1;6029:8;;;;6002:47;6061:9;6077:1;6073;:5;6061:17;;6106:1;6101;6097;:5;;;;;;;;:10;6089:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6165:1;6158:8;;;5704:470;;;;;:::o;6642:333::-;6700:7;6799:1;6795;:5;6787:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6842:9;6858:1;6854;:5;;;;;;;;6842:17;;6966:1;6959:8;;;6642:333;;;;:::o;11112:429::-;11228:1;11210:20;;:6;:20;;;;11202:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11312:1;11291:23;;:9;:23;;;;11283:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11387:29;11409:6;11387:9;:17;11397:6;11387:17;;;;;;;;;;;;;;;;:21;;:29;;;;:::i;:::-;11367:9;:17;11377:6;11367:17;;;;;;;;;;;;;;;:49;;;;11450:32;11475:6;11450:9;:20;11460:9;11450:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;11427:9;:20;11437:9;11427:20;;;;;;;;;;;;;;;:55;;;;11515:9;11498:35;;11507:6;11498:35;;;11526:6;11498:35;;;;;;;;;;;;;;;;;;11112:429;;;:::o;13239:273::-;13345:4;814:6;;;;;;;;;;;813:7;805:16;;;;;;;;13362:36;13372:6;13380:9;13391:6;13362:9;:36::i;:::-;13409:73;13418:6;13426:10;13438:43;13474:6;13438:11;:19;13450:6;13438:19;;;;;;;;;;;;;;;:31;13458:10;13438:31;;;;;;;;;;;;;;;;:35;;:43;;;;:::i;:::-;13409:8;:73::i;:::-;13500:4;13493:11;;13239:273;;;;;:::o;12462:306::-;12556:1;12537:21;;:7;:21;;;;12529:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12624:23;12641:5;12624:12;;:16;;:23;;;;:::i;:::-;12609:12;:38;;;;12679:29;12702:5;12679:9;:18;12689:7;12679:18;;;;;;;;;;;;;;;;:22;;:29;;;;:::i;:::-;12658:9;:18;12668:7;12658:18;;;;;;;;;;;;;;;:50;;;;12750:1;12724:36;;12733:7;12724:36;;;12754:5;12724:36;;;;;;;;;;;;;;;;;;12462:306;;:::o

Swarm Source

bzzr://6dacd2c9cebb8242f4739de5a8987ad684f83ed60d7e1926363a7b8d293e5d64
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.