ETH Price: $3,095.41 (-1.44%)
Gas: 9 Gwei

Contract

0x2565ae0385659badCada1031DB704442E1b69982
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

TokenTracker

ASSEMBLE (ASM) (@$0.0294)
Transaction Hash
Method
Block
From
To
Value
0x4a47e774306ce04b84947d0a872f181e1238277d03786f985f6ed18100655fe2Approve(pending)2024-04-14 12:26:0738 hrs ago1713097567IN
Assemble Protocol: ASM Token
0 ETH(Pending)(Pending)
Transfer196651212024-04-16 2:38:2318 mins ago1713235103IN
Assemble Protocol: ASM Token
0 ETH0.0003317910.29306672
Transfer196650192024-04-16 2:17:4738 mins ago1713233867IN
Assemble Protocol: ASM Token
0 ETH0.0003612711.20744118
Transfer196649822024-04-16 2:10:2346 mins ago1713233423IN
Assemble Protocol: ASM Token
0 ETH0.0004947610.0286039
Transfer196647782024-04-16 1:29:111 hr ago1713230951IN
Assemble Protocol: ASM Token
0 ETH0.000406257.5044059
Transfer196645912024-04-16 0:51:472 hrs ago1713228707IN
Assemble Protocol: ASM Token
0 ETH0.000234147.26366302
Transfer196633962024-04-15 20:49:356 hrs ago1713214175IN
Assemble Protocol: ASM Token
0 ETH0.000404612.55185901
Transfer196633882024-04-15 20:47:596 hrs ago1713214079IN
Assemble Protocol: ASM Token
0 ETH0.0004372613.56505054
Transfer196633562024-04-15 20:41:356 hrs ago1713213695IN
Assemble Protocol: ASM Token
0 ETH0.0006759313.70090796
Transfer196633342024-04-15 20:37:116 hrs ago1713213431IN
Assemble Protocol: ASM Token
0 ETH0.0006846913.87854968
Transfer196633262024-04-15 20:35:356 hrs ago1713213335IN
Assemble Protocol: ASM Token
0 ETH0.0006705913.59259924
Transfer196633012024-04-15 20:30:356 hrs ago1713213035IN
Assemble Protocol: ASM Token
0 ETH0.0004295613.32594686
Transfer196630402024-04-15 19:37:477 hrs ago1713209867IN
Assemble Protocol: ASM Token
0 ETH0.0009804919.87430389
Transfer196622262024-04-15 16:53:4710 hrs ago1713200027IN
Assemble Protocol: ASM Token
0 ETH0.0008837617.9135832
Transfer196622162024-04-15 16:51:4710 hrs ago1713199907IN
Assemble Protocol: ASM Token
0 ETH0.0009210518.66937181
Transfer196603482024-04-15 10:35:2316 hrs ago1713177323IN
Assemble Protocol: ASM Token
0 ETH0.0005508114.87268896
Transfer196603332024-04-15 10:32:2316 hrs ago1713177143IN
Assemble Protocol: ASM Token
0 ETH0.0008466415.6429214
Transfer196598372024-04-15 8:51:2318 hrs ago1713171083IN
Assemble Protocol: ASM Token
0 ETH0.0007027112.98077483
Transfer196598282024-04-15 8:49:3518 hrs ago1713170975IN
Assemble Protocol: ASM Token
0 ETH0.0004981213.45441954
Transfer196595752024-04-15 7:58:2318 hrs ago1713167903IN
Assemble Protocol: ASM Token
0 ETH0.0013216341
Transfer196595282024-04-15 7:48:5919 hrs ago1713167339IN
Assemble Protocol: ASM Token
0 ETH0.000521879.64025147
Transfer196595252024-04-15 7:48:2319 hrs ago1713167303IN
Assemble Protocol: ASM Token
0 ETH0.0013216341
Transfer196595152024-04-15 7:46:2319 hrs ago1713167183IN
Assemble Protocol: ASM Token
0 ETH0.0013211441
Transfer196594752024-04-15 7:38:2319 hrs ago1713166703IN
Assemble Protocol: ASM Token
0 ETH0.0013216341
Transfer196594462024-04-15 7:32:2319 hrs ago1713166343IN
Assemble Protocol: ASM Token
0 ETH0.0013216341
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
AssembleToken

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, GNU GPLv3 license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2020-05-13
*/

pragma solidity ^0.5.9;

library SafeMath
{
  	function mul(uint256 a, uint256 b) internal pure returns (uint256)
    	{
		uint256 c = a * b;
		assert(a == 0 || c / a == b);

		return c;
  	}

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

		return c;
  	}

  	function sub(uint256 a, uint256 b) internal pure returns (uint256)
	{
		assert(b <= a);

		return a - b;
  	}

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

		return c;
  	}
}

contract OwnerHelper
{
  	address public owner;

  	event ChangeOwner(address indexed _from, address indexed _to);

  	modifier onlyOwner
	{
		require(msg.sender == owner);
		_;
  	}
  	
  	constructor() public
	{
		owner = msg.sender;
  	}
  	
  	function transferOwnership(address _to) onlyOwner public
  	{
    	require(_to != owner);
    	require(_to != address(0x0));

        address from = owner;
      	owner = _to;
  	    
      	emit ChangeOwner(from, _to);
  	}
}

contract ERC20Interface
{
    event Transfer( address indexed _from, address indexed _to, uint _value);
    event Approval( address indexed _owner, address indexed _spender, uint _value);
    
    function totalSupply() view public returns (uint _supply);
    function balanceOf( address _who ) public view returns (uint _value);
    function transfer( address _to, uint _value) public returns (bool _success);
    function approve( address _spender, uint _value ) public returns (bool _success);
    function allowance( address _owner, address _spender ) public view returns (uint _allowance);
    function transferFrom( address _from, address _to, uint _value) public returns (bool _success);
}

contract AssembleToken is ERC20Interface, OwnerHelper
{
    using SafeMath for uint;
    
    string public name;
    uint public decimals;
    string public symbol;
    
    uint constant private E18 = 1000000000000000000;
    uint constant private month = 2592000;
    
    // Total                                        1,500,000,000
    uint constant public maxTotalSupply =           1500000000 * E18;

    // Sale Supply                                   300,000,000 (20%)
    uint constant public maxSaleSupply =             300000000 * E18;

    // Strategic Partners                            270,000,000 (18%)
    uint constant public maxSPSupply =               270000000 * E18;

    // EcoSystem                                     240,000,000 (16%)
    uint constant public maxEcoSupply =              240000000 * E18;

    // Marketing                                     210,000,000 (14%)
    uint constant public maxMktSupply =              210000000 * E18;

    // Development                                   180,000,000 (12%)
    uint constant public maxDevSupply =              180000000 * E18;

    // Reserve                                       150,000,000 (10%)
    uint constant public maxReserveSupply =          150000000 * E18;

    // Team                                           75,000,000 (5%)
    uint constant public maxTeamSupply =              75000000 * E18;
        
    // Advisor                                        75,000,000 (5%)
    uint constant public maxAdvisorSupply =           75000000 * E18;
    
    uint constant public seedSaleSupply =             40000000 * E18;
    uint constant public privateSaleSupply =         250000000 * E18;
    uint constant public publicSaleSupply =           10000000 * E18;
        
    // Lock
    uint constant public teamVestingSupply =           3125000 * E18;
    uint constant public teamVestingLockDate =  6 * month;
    uint constant public teamVestingTime = 24;

    uint constant public advisorVestingSupply =       18750000 * E18;
    uint constant public advisorVestingLockDate = 12 * month;
    uint constant public advisorVestingTime = 4;
    
    uint public totalTokenSupply;
    uint public tokenIssuedSale;
    uint public tokenIssuedSP;
    uint public tokenIssuedEco;
    uint public tokenIssuedMkt;
    uint public tokenIssuedDev;
    uint public tokenIssuedRsv;
    uint public tokenIssuedTeam;
    uint public tokenIssuedAdv;
        
    uint public burnTokenSupply;
    
    mapping (address => uint) public balances;
    mapping (address => mapping ( address => uint )) public approvals;
    
    mapping (uint => uint) public tmVestingTimer;
    mapping (uint => uint) public tmVestingBalances;
    
    mapping (uint => uint) public advVestingTimer;
    mapping (uint => uint) public advVestingBalances;
    
    bool public tokenLock = true;
    bool public saleTime = true;
    uint public endSaleTime = 0;

    event SaleIssue(address indexed _to, uint _tokens);    
    event SPIssue(address indexed _to, uint _tokens);
    event EcoIssue(address indexed _to, uint _tokens);
    event MktIssue(address indexed _to, uint _tokens);
    event DevIssue(address indexed _to, uint _tokens);
    event RsvIssue(address indexed _to, uint _tokens);
    event TeamIssue(address indexed _to, uint _tokens);
    event AdvIssue(address indexed _to, uint _tokens);
    
    event Burn(address indexed _from, uint _tokens);
    
    event TokenUnlock(address indexed _to, uint _tokens);
    event EndSale(uint _date);
    
    constructor() public
    {
        name        = "ASSEMBLE";
        decimals    = 18;
        symbol      = "ASM";
        
        totalTokenSupply    = 0;
        
        tokenIssuedSale     = 0;
        tokenIssuedSP     = 0;
        tokenIssuedEco     = 0;
        tokenIssuedMkt      = 0;
        tokenIssuedDev      = 0;
        tokenIssuedRsv    = 0;
        tokenIssuedTeam   = 0;
        tokenIssuedAdv    = 0;
        

        burnTokenSupply     = 0;
        
        require(maxTeamSupply == teamVestingSupply.mul(teamVestingTime));
        require(maxAdvisorSupply == advisorVestingSupply.mul(advisorVestingTime));

        require(maxSaleSupply == seedSaleSupply + privateSaleSupply + publicSaleSupply);
        require(maxTotalSupply == maxSaleSupply + maxSPSupply +  maxEcoSupply + maxMktSupply + maxDevSupply + maxReserveSupply + maxTeamSupply + maxAdvisorSupply);
    }

    function totalSupply() view public returns (uint) 
    {
        return totalTokenSupply;
    }
    
    function balanceOf(address _who) view public returns (uint) 
    {
        return balances[_who];
    }
    
    function transfer(address _to, uint _value) public returns (bool) 
    {
        require(isTransferable() == true);
        require(balances[msg.sender] >= _value);
        
        balances[msg.sender] = balances[msg.sender].sub(_value);
        balances[_to] = balances[_to].add(_value);
        
        emit Transfer(msg.sender, _to, _value);
        
        return true;
    }
    
    function approve(address _spender, uint _value) public returns (bool)
    {
        require(isTransferable() == true);
        require(balances[msg.sender] >= _value);
        
        approvals[msg.sender][_spender] = _value;
        
        emit Approval(msg.sender, _spender, _value);
        
        return true; 
    }
    
    function allowance(address _owner, address _spender) view public returns (uint) 
    {
        return approvals[_owner][_spender];
    }

    function transferFrom(address _from, address _to, uint _value) public returns (bool) 
    {
        require(isTransferable() == true);
        require(balances[_from] >= _value);
        require(approvals[_from][msg.sender] >= _value);
        
        approvals[_from][msg.sender] = approvals[_from][msg.sender].sub(_value);
        balances[_from] = balances[_from].sub(_value);
        balances[_to]  = balances[_to].add(_value);
        
        emit Transfer(_from, _to, _value);
        
        return true;
    }
    
    function spIssue(address _to) onlyOwner public
    {
        require(saleTime == false);
        require(tokenIssuedSP == 0);
        
        uint tokens = maxSPSupply;
        
        balances[_to] = balances[_to].add(tokens);
        
        totalTokenSupply = totalTokenSupply.add(tokens);
        tokenIssuedSP = tokenIssuedSP.add(tokens);
        
        emit SPIssue(_to, tokens);
    }

    function ecoIssue(address _to) onlyOwner public
    {
        require(saleTime == false);
        require(tokenIssuedEco == 0);
        
        uint tokens = maxEcoSupply;
        
        balances[_to] = balances[_to].add(tokens);
        
        totalTokenSupply = totalTokenSupply.add(tokens);
        tokenIssuedEco = tokenIssuedEco.add(tokens);
        
        emit EcoIssue(_to, tokens);
    }

    function mktIssue(address _to) onlyOwner public
    {
        require(saleTime == false);
        require(tokenIssuedMkt == 0);
        
        uint tokens = maxMktSupply;
        
        balances[_to] = balances[_to].add(tokens);
        
        totalTokenSupply = totalTokenSupply.add(tokens);
        tokenIssuedMkt = tokenIssuedMkt.add(tokens);
        
        emit MktIssue(_to, tokens);
    }

    function devIssue(address _to) onlyOwner public
    {
        require(saleTime == false);
        require(tokenIssuedDev == 0);
        
        uint tokens = maxDevSupply;
        
        balances[_to] = balances[_to].add(tokens);
        
        totalTokenSupply = totalTokenSupply.add(tokens);
        tokenIssuedDev = tokenIssuedDev.add(tokens);
        
        emit DevIssue(_to, tokens);
    }

    function rsvIssue(address _to) onlyOwner public
    {
        require(saleTime == false);
        require(tokenIssuedRsv == 0);
        
        uint tokens = maxReserveSupply;
        
        balances[_to] = balances[_to].add(tokens);
        
        totalTokenSupply = totalTokenSupply.add(tokens);
        tokenIssuedRsv = tokenIssuedRsv.add(tokens);
        
        emit RsvIssue(_to, tokens);
    }

    // _time : 0 ~ 24
    function teamIssue(address _to, uint _time) onlyOwner public
    {
        require(saleTime == false);
        require( _time < teamVestingTime);
        
        uint nowTime = now;
        require( nowTime > tmVestingTimer[_time] );
        
        uint tokens = teamVestingSupply;

        require(tokens == tmVestingBalances[_time]);
        require(maxTeamSupply >= tokenIssuedTeam.add(tokens));
        
        balances[_to] = balances[_to].add(tokens);
        tmVestingBalances[_time] = 0;
        
        totalTokenSupply = totalTokenSupply.add(tokens);
        tokenIssuedTeam = tokenIssuedTeam.add(tokens);
        
        emit TeamIssue(_to, tokens);
    }
    
    // _time : 0 ~ 4
    function advisorIssue(address _to, uint _time) onlyOwner public
    {
        require(saleTime == false);
        require( _time < advisorVestingTime);
        
        uint nowTime = now;
        require( nowTime > advVestingTimer[_time] );
        
        uint tokens = advisorVestingSupply;

        require(tokens == advVestingBalances[_time]);
        require(maxAdvisorSupply >= tokenIssuedAdv.add(tokens));
        
        balances[_to] = balances[_to].add(tokens);
        advVestingBalances[_time] = 0;
        
        totalTokenSupply = totalTokenSupply.add(tokens);
        tokenIssuedAdv = tokenIssuedAdv.add(tokens);
        
        emit AdvIssue(_to, tokens);
    }
    
    function seedSaleIssue(address _to) onlyOwner public
    {
        require(tokenIssuedSale == 0);
        
        uint tokens = seedSaleSupply;
        
        balances[_to] = balances[_to].add(tokens);
        
        totalTokenSupply = totalTokenSupply.add(tokens);
        tokenIssuedSale = tokenIssuedSale.add(tokens);
        
        emit SaleIssue(_to, tokens);
    }
    
    function privateSaleIssue(address _to) onlyOwner public
    {
        require(tokenIssuedSale == seedSaleSupply);
        
        uint tokens = privateSaleSupply;
        
        balances[_to] = balances[_to].add(tokens);
        
        totalTokenSupply = totalTokenSupply.add(tokens);
        tokenIssuedSale = tokenIssuedSale.add(tokens);
        
        emit SaleIssue(_to, tokens);
    }
    
    function publicSaleIssue(address _to) onlyOwner public
    {
        require(tokenIssuedSale == seedSaleSupply + privateSaleSupply);
        
        uint tokens = publicSaleSupply;
        
        balances[_to] = balances[_to].add(tokens);
        
        totalTokenSupply = totalTokenSupply.add(tokens);
        tokenIssuedSale = tokenIssuedSale.add(tokens);
        
        emit SaleIssue(_to, tokens);
    }
    
    function isTransferable() private view returns (bool)
    {
        if(tokenLock == false)
        {
            return true;
        }
        else if(msg.sender == owner)
        {
            return true;
        }
        
        return false;
    }
    
    function setTokenUnlock() onlyOwner public
    {
        require(tokenLock == true);
        require(saleTime == false);
        
        tokenLock = false;
    }
    
    function setTokenLock() onlyOwner public
    {
        require(tokenLock == false);
        
        tokenLock = true;
    }
    
    function endSale() onlyOwner public
    {
        require(saleTime == true);
        require(maxSaleSupply == tokenIssuedSale);
        
        saleTime = false;
        
        uint nowTime = now;
        endSaleTime = nowTime;
        
        for(uint i = 0; i < teamVestingTime; i++)
        {
            tmVestingTimer[i] = endSaleTime + teamVestingLockDate + ((i+1) * month);
            tmVestingBalances[i] = teamVestingSupply;
        }
        
        for(uint i = 0; i < advisorVestingTime; i++)
        {
            advVestingTimer[i] = endSaleTime + advisorVestingLockDate + (3 * (i+1) * month);
            advVestingBalances[i] = advisorVestingSupply;
        }
        
        emit EndSale(endSaleTime);
    }
    
    function withdrawTokens(address _contract, uint _decimals, uint _value) onlyOwner public
    {

        if(_contract == address(0x0))
        {
            uint eth = _value.mul(10 ** _decimals);
            msg.sender.transfer(eth);
        }
        else
        {
            uint tokens = _value.mul(10 ** _decimals);
            ERC20Interface(_contract).transfer(msg.sender, tokens);
            
            emit Transfer(address(0x0), msg.sender, tokens);
        }
    }
    
    function burnToken(uint _value) onlyOwner public
    {
        uint tokens = _value * E18;
        
        require(balances[msg.sender] >= tokens);
        
        balances[msg.sender] = balances[msg.sender].sub(tokens);
        
        burnTokenSupply = burnTokenSupply.add(tokens);
        totalTokenSupply = totalTokenSupply.sub(tokens);
        
        emit Burn(msg.sender, tokens);
    }
    
    function close() onlyOwner public
    {
        selfdestruct(msg.sender);
    }
    
}

Contract Security Audit

Contract ABI

[{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_to","type":"address"},{"indexed":false,"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"AdvIssue","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_owner","type":"address"},{"indexed":true,"internalType":"address","name":"_spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":false,"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"}],"name":"ChangeOwner","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_to","type":"address"},{"indexed":false,"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"DevIssue","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_to","type":"address"},{"indexed":false,"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"EcoIssue","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_date","type":"uint256"}],"name":"EndSale","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_to","type":"address"},{"indexed":false,"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"MktIssue","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_to","type":"address"},{"indexed":false,"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"RsvIssue","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_to","type":"address"},{"indexed":false,"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"SPIssue","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_to","type":"address"},{"indexed":false,"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"SaleIssue","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_to","type":"address"},{"indexed":false,"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"TeamIssue","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_to","type":"address"},{"indexed":false,"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"TokenUnlock","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"},{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"Transfer","type":"event"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"advVestingBalances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"advVestingTimer","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_time","type":"uint256"}],"name":"advisorIssue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"advisorVestingLockDate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"advisorVestingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"advisorVestingTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"approvals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_who","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"burnToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"burnTokenSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"close","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_to","type":"address"}],"name":"devIssue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_to","type":"address"}],"name":"ecoIssue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"endSale","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"endSaleTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"maxAdvisorSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"maxDevSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"maxEcoSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"maxMktSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"maxReserveSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"maxSPSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"maxSaleSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"maxTeamSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"maxTotalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_to","type":"address"}],"name":"mktIssue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_to","type":"address"}],"name":"privateSaleIssue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"privateSaleSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_to","type":"address"}],"name":"publicSaleIssue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"publicSaleSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_to","type":"address"}],"name":"rsvIssue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"saleTime","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_to","type":"address"}],"name":"seedSaleIssue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"seedSaleSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"setTokenLock","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"setTokenUnlock","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_to","type":"address"}],"name":"spIssue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_time","type":"uint256"}],"name":"teamIssue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"teamVestingLockDate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"teamVestingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"teamVestingTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"tmVestingBalances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"tmVestingTimer","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokenIssuedAdv","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokenIssuedDev","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokenIssuedEco","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokenIssuedMkt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokenIssuedRsv","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokenIssuedSP","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokenIssuedSale","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokenIssuedTeam","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokenLock","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalTokenSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_to","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_contract","type":"address"},{"internalType":"uint256","name":"_decimals","type":"uint256"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"withdrawTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]

60806040526001601460006101000a81548160ff0219169083151502179055506001601460016101000a81548160ff02191690831515021790555060006015553480156200004c57600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040518060400160405280600881526020017f415353454d424c4500000000000000000000000000000000000000000000000081525060019080519060200190620000da9291906200031f565b5060126002819055506040518060400160405280600381526020017f41534d000000000000000000000000000000000000000000000000000000000081525060039080519060200190620001309291906200031f565b506000600481905550600060058190555060006006819055506000600781905550600060088190555060006009819055506000600a819055506000600b819055506000600c819055506000600d81905550620001a96018670de0b6b3a7640000622faf0802620002ed60201b620038221790919060201c565b670de0b6b3a764000063047868c00214620001c357600080fd5b620001ec6004670de0b6b3a764000063011e1a3002620002ed60201b620038221790919060201c565b670de0b6b3a764000063047868c002146200020657600080fd5b670de0b6b3a76400006298968002670de0b6b3a7640000630ee6b28002670de0b6b3a76400006302625a00020101670de0b6b3a76400006311e1a30002146200024e57600080fd5b670de0b6b3a764000063047868c002670de0b6b3a764000063047868c002670de0b6b3a76400006308f0d18002670de0b6b3a7640000630aba950002670de0b6b3a7640000630c84588002670de0b6b3a7640000630e4e1c0002670de0b6b3a7640000631017df8002670de0b6b3a76400006311e1a3000201010101010101670de0b6b3a76400006359682f000214620002e757600080fd5b620003ce565b600080828402905060008414806200030e5750828482816200030b57fe5b04145b6200031557fe5b8091505092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200036257805160ff191683800117855562000393565b8280016001018555821562000393579182015b828111156200039257825182559160200191906001019062000375565b5b509050620003a29190620003a6565b5090565b620003cb91905b80821115620003c7576000816000905550600101620003ad565b5090565b90565b61388680620003de6000396000f3fe608060405234801561001057600080fd5b50600436106103d05760003560e01c806370a08231116101ff578063b29418d51161011a578063de85a4a9116100ad578063f2fde38b1161007c578063f2fde38b14611015578063fc1a7fdd14611059578063fcdd04bf14611077578063fe3a5abe14611095576103d0565b8063de85a4a914610f99578063dfcfe4df14610fb7578063e718234d14610fd5578063f1f5cfa414610ff7576103d0565b8063cfa15bcd116100e9578063cfa15bcd14610e97578063cffb47cf14610eb5578063dd62ed3e14610ed3578063de27283514610f4b576103d0565b8063b29418d514610dfb578063b35c721814610e19578063b40433cd14610e37578063cbfd14a214610e79576103d0565b806395d89b4111610192578063a438145011610161578063a438145014610d15578063a711b66414610d33578063a842587914610d51578063a9059cbb14610d95576103d0565b806395d89b4114610bde57806397b0e87614610c6157806398d9eea014610c7f578063a32ce11e14610c9d576103d0565b806384300859116101ce5780638430085914610b625780638a4192b514610b6c5780638da5cb5b14610b8a5780638ece19f614610bd4576103d0565b806370a0823114610aa057806375d0281d14610af85780637a229c2014610b165780637b47ec1a14610b34576103d0565b80632ab4d052116102ef5780634b2596c71161028257806358371ccd1161025157806358371ccd146109d25780635c3eee8d146109f05780636298124b14610a345780636f7fc98914610a52576103d0565b80634b2596c7146108fc5780634bea6a0f1461091a5780634c1d1fde1461095c5780634fb2cebe146109b4576103d0565b8063380d831b116102be578063380d831b146108605780633b3264c01461086a578063435c4e30146108ae57806343d726d6146108f2576103d0565b80632ab4d052146107c25780632d94e929146107e05780632f26927f14610824578063313ce56714610842576103d0565b80631ca8b6cb1161036757806323b872dd1161033657806323b872dd1461066057806324054d57146106e657806327e235e31461072857806328b238ff14610780576103d0565b80631ca8b6cb146105e85780631dfe497014610606578063206bc0a01461062457806322b0aa4714610642576103d0565b806309a74aff116103a357806309a74aff14610520578063145ca088146105645780631596facb146105a857806318160ddd146105ca576103d0565b806302693ef8146103d557806306395d03146103f357806306fdde0314610437578063095ea7b3146104ba575b600080fd5b6103dd6110b3565b6040518082815260200191505060405180910390f35b6104356004803603602081101561040957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110c5565b005b61043f61125d565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561047f578082015181840152602081019050610464565b50505050905090810190601f1680156104ac5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610506600480360360408110156104d057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506112fb565b604051808215151515815260200191505060405180910390f35b6105626004803603602081101561053657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611451565b005b6105a66004803603602081101561057a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611609565b005b6105b06117c1565b604051808215151515815260200191505060405180910390f35b6105d26117d4565b6040518082815260200191505060405180910390f35b6105f06117de565b6040518082815260200191505060405180910390f35b61060e6117e4565b6040518082815260200191505060405180910390f35b61062c6117ea565b6040518082815260200191505060405180910390f35b61064a6117f0565b6040518082815260200191505060405180910390f35b6106cc6004803603606081101561067657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506117f6565b604051808215151515815260200191505060405180910390f35b610712600480360360208110156106fc57600080fd5b8101908080359060200190929190505050611b8e565b6040518082815260200191505060405180910390f35b61076a6004803603602081101561073e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ba6565b6040518082815260200191505060405180910390f35b6107ac6004803603602081101561079657600080fd5b8101908080359060200190929190505050611bbe565b6040518082815260200191505060405180910390f35b6107ca611bd6565b6040518082815260200191505060405180910390f35b610822600480360360208110156107f657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611be8565b005b61082c611da0565b6040518082815260200191505060405180910390f35b61084a611da6565b6040518082815260200191505060405180910390f35b610868611dac565b005b6108ac6004803603602081101561088057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f84565b005b6108f0600480360360208110156108c457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612138565b005b6108fa6122f0565b005b610904612362565b6040518082815260200191505060405180910390f35b6109466004803603602081101561093057600080fd5b8101908080359060200190929190505050612374565b6040518082815260200191505060405180910390f35b6109b26004803603606081101561097257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919050505061238c565b005b6109bc6125cb565b6040518082815260200191505060405180910390f35b6109da6125d1565b6040518082815260200191505060405180910390f35b610a3260048036036020811015610a0657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506125d7565b005b610a3c61278f565b6040518082815260200191505060405180910390f35b610a9e60048036036040811015610a6857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612794565b005b610ae260048036036020811015610ab657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506129d6565b6040518082815260200191505060405180910390f35b610b00612a1f565b6040518082815260200191505060405180910390f35b610b1e612a30565b6040518082815260200191505060405180910390f35b610b6060048036036020811015610b4a57600080fd5b8101908080359060200190929190505050612a42565b005b610b6a612c13565b005b610b74612cc9565b6040518082815260200191505060405180910390f35b610b92612ccf565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610bdc612cf4565b005b610be6612d8a565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610c26578082015181840152602081019050610c0b565b50505050905090810190601f168015610c535780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610c69612e28565b6040518082815260200191505060405180910390f35b610c87612e32565b6040518082815260200191505060405180910390f35b610cff60048036036040811015610cb357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612e44565b6040518082815260200191505060405180910390f35b610d1d612e69565b6040518082815260200191505060405180910390f35b610d3b612e7b565b6040518082815260200191505060405180910390f35b610d9360048036036020811015610d6757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612e8d565b005b610de160048036036040811015610dab57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613032565b604051808215151515815260200191505060405180910390f35b610e03613231565b6040518082815260200191505060405180910390f35b610e21613243565b6040518082815260200191505060405180910390f35b610e6360048036036020811015610e4d57600080fd5b8101908080359060200190929190505050613248565b6040518082815260200191505060405180910390f35b610e81613260565b6040518082815260200191505060405180910390f35b610e9f613271565b6040518082815260200191505060405180910390f35b610ebd613277565b6040518082815260200191505060405180910390f35b610f3560048036036040811015610ee957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613289565b6040518082815260200191505060405180910390f35b610f9760048036036040811015610f6157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613310565b005b610fa1613553565b6040518082815260200191505060405180910390f35b610fbf613559565b6040518082815260200191505060405180910390f35b610fdd61356b565b604051808215151515815260200191505060405180910390f35b610fff61357e565b6040518082815260200191505060405180910390f35b6110576004803603602081101561102b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613588565b005b611061613739565b6040518082815260200191505060405180910390f35b61107f61374b565b6040518082815260200191505060405180910390f35b61109d613751565b6040518082815260200191505060405180910390f35b670de0b6b3a7640000630ee6b2800281565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461111e57600080fd5b60006005541461112d57600080fd5b6000670de0b6b3a76400006302625a0002905061119281600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461376390919063ffffffff16565b600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506111ea8160045461376390919063ffffffff16565b6004819055506112058160055461376390919063ffffffff16565b6005819055508173ffffffffffffffffffffffffffffffffffffffff167f07c5eb0c2da0dd34a57523f87ea471b21890f00a504311f9959b3fd2d8120864826040518082815260200191505060405180910390a25050565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156112f35780601f106112c8576101008083540402835291602001916112f3565b820191906000526020600020905b8154815290600101906020018083116112d657829003601f168201915b505050505081565b60006001151561130961377f565b15151461131557600080fd5b81600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561136157600080fd5b81600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146114aa57600080fd5b60001515601460019054906101000a900460ff161515146114ca57600080fd5b6000600754146114d957600080fd5b6000670de0b6b3a7640000630e4e1c0002905061153e81600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461376390919063ffffffff16565b600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506115968160045461376390919063ffffffff16565b6004819055506115b18160075461376390919063ffffffff16565b6007819055508173ffffffffffffffffffffffffffffffffffffffff167ffb82a38b8698912e57310737cb4c62e69bf4fd9b4ef22fd4d13fd7608bb6ed16826040518082815260200191505060405180910390a25050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461166257600080fd5b60001515601460019054906101000a900460ff1615151461168257600080fd5b60006008541461169157600080fd5b6000670de0b6b3a7640000630c8458800290506116f681600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461376390919063ffffffff16565b600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061174e8160045461376390919063ffffffff16565b6004819055506117698160085461376390919063ffffffff16565b6008819055508173ffffffffffffffffffffffffffffffffffffffff167f0c17226450db6e575fa6cef1e6c9972cb00d826dbd529639acc6bca7b663b3a9826040518082815260200191505060405180910390a25050565b601460019054906101000a900460ff1681565b6000600454905090565b60045481565b60065481565b60055481565b600d5481565b60006001151561180461377f565b15151461181057600080fd5b81600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561185c57600080fd5b81600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156118e557600080fd5b61197482600f60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461380b90919063ffffffff16565b600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a4682600e60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461380b90919063ffffffff16565b600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611adb82600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461376390919063ffffffff16565b600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b60126020528060005260406000206000915090505481565b600e6020528060005260406000206000915090505481565b60106020528060005260406000206000915090505481565b670de0b6b3a76400006359682f000281565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611c4157600080fd5b60001515601460019054906101000a900460ff16151514611c6157600080fd5b6000600a5414611c7057600080fd5b6000670de0b6b3a76400006308f0d180029050611cd581600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461376390919063ffffffff16565b600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611d2d8160045461376390919063ffffffff16565b600481905550611d4881600a5461376390919063ffffffff16565b600a819055508173ffffffffffffffffffffffffffffffffffffffff167faca354954677423ee264fe27e97d8a8ab13d9bc9b0820383bacaa6e462a19285826040518082815260200191505060405180910390a25050565b60075481565b60025481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611e0557600080fd5b60011515601460019054906101000a900460ff16151514611e2557600080fd5b600554670de0b6b3a76400006311e1a3000214611e4157600080fd5b6000601460016101000a81548160ff02191690831515021790555060004290508060158190555060008090505b6018811015611ed55762278d00600182010262278d0060060260155401016010600083815260200190815260200160002081905550670de0b6b3a7640000622faf080260116000838152602001908152602001600020819055508080600101915050611e6e565b5060008090505b6004811015611f475762278d00600182016003020262278d00600c0260155401016012600083815260200190815260200160002081905550670de0b6b3a764000063011e1a300260136000838152602001908152602001600020819055508080600101915050611edc565b507f94173af9e1cd5351395663e6a7838552ea54f5233d0c38bc46de5f4915b302bf6015546040518082815260200191505060405180910390a150565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611fdd57600080fd5b670de0b6b3a7640000630ee6b28002670de0b6b3a76400006302625a0002016005541461200957600080fd5b6000670de0b6b3a76400006298968002905061206d81600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461376390919063ffffffff16565b600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506120c58160045461376390919063ffffffff16565b6004819055506120e08160055461376390919063ffffffff16565b6005819055508173ffffffffffffffffffffffffffffffffffffffff167f07c5eb0c2da0dd34a57523f87ea471b21890f00a504311f9959b3fd2d8120864826040518082815260200191505060405180910390a25050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461219157600080fd5b60001515601460019054906101000a900460ff161515146121b157600080fd5b6000600654146121c057600080fd5b6000670de0b6b3a7640000631017df8002905061222581600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461376390919063ffffffff16565b600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061227d8160045461376390919063ffffffff16565b6004819055506122988160065461376390919063ffffffff16565b6006819055508173ffffffffffffffffffffffffffffffffffffffff167f99922e50b824eeb907feeed3e3960fe534a5e5457ea76c6457b541e12a052885826040518082815260200191505060405180910390a25050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461234957600080fd5b3373ffffffffffffffffffffffffffffffffffffffff16ff5b670de0b6b3a764000063047868c00281565b60136020528060005260406000206000915090505481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146123e557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561248157600061243283600a0a8361382290919063ffffffff16565b90503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561247a573d6000803e3d6000fd5b50506125c6565b600061249983600a0a8361382290919063ffffffff16565b90508373ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561252257600080fd5b505af1158015612536573d6000803e3d6000fd5b505050506040513d602081101561254c57600080fd5b8101908080519060200190929190505050503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505b505050565b600a5481565b60155481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461263057600080fd5b60001515601460019054906101000a900460ff1615151461265057600080fd5b60006009541461265f57600080fd5b6000670de0b6b3a7640000630aba95000290506126c481600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461376390919063ffffffff16565b600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061271c8160045461376390919063ffffffff16565b6004819055506127378160095461376390919063ffffffff16565b6009819055508173ffffffffffffffffffffffffffffffffffffffff167f423b24fc1468543b83ba5fa3c1d3b8a9c95265103a9ef54b0eecdc33eac6c386826040518082815260200191505060405180910390a25050565b600481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146127ed57600080fd5b60001515601460019054906101000a900460ff1615151461280d57600080fd5b6018811061281a57600080fd5b60004290506010600083815260200190815260200160002054811161283e57600080fd5b6000670de0b6b3a7640000622faf080290506011600084815260200190815260200160002054811461286f57600080fd5b61288481600b5461376390919063ffffffff16565b670de0b6b3a764000063047868c002101561289e57600080fd5b6128f081600e60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461376390919063ffffffff16565b600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600060116000858152602001908152602001600020819055506129618160045461376390919063ffffffff16565b60048190555061297c81600b5461376390919063ffffffff16565b600b819055508373ffffffffffffffffffffffffffffffffffffffff167fb07ce9bd9a0d0e9adec838711c53cbe1430a690e9c520e9232dc9478dbd85f31826040518082815260200191505060405180910390a250505050565b6000600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b670de0b6b3a7640000622faf080281565b670de0b6b3a7640000631017df800281565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612a9b57600080fd5b6000670de0b6b3a76400008202905080600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015612af657600080fd5b612b4881600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461380b90919063ffffffff16565b600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612ba081600d5461376390919063ffffffff16565b600d81905550612bbb8160045461380b90919063ffffffff16565b6004819055503373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a25050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612c6c57600080fd5b60011515601460009054906101000a900460ff16151514612c8c57600080fd5b60001515601460019054906101000a900460ff16151514612cac57600080fd5b6000601460006101000a81548160ff021916908315150217905550565b60095481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612d4d57600080fd5b60001515601460009054906101000a900460ff16151514612d6d57600080fd5b6001601460006101000a81548160ff021916908315150217905550565b60038054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015612e205780601f10612df557610100808354040283529160200191612e20565b820191906000526020600020905b815481529060010190602001808311612e0357829003601f168201915b505050505081565b62278d00600c0281565b670de0b6b3a7640000630aba95000281565b600f602052816000526040600020602052806000526040600020600091509150505481565b670de0b6b3a7640000630c8458800281565b670de0b6b3a764000063047868c00281565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612ee657600080fd5b670de0b6b3a76400006302625a000260055414612f0257600080fd5b6000670de0b6b3a7640000630ee6b280029050612f6781600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461376390919063ffffffff16565b600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612fbf8160045461376390919063ffffffff16565b600481905550612fda8160055461376390919063ffffffff16565b6005819055508173ffffffffffffffffffffffffffffffffffffffff167f07c5eb0c2da0dd34a57523f87ea471b21890f00a504311f9959b3fd2d8120864826040518082815260200191505060405180910390a25050565b60006001151561304061377f565b15151461304c57600080fd5b81600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561309857600080fd5b6130ea82600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461380b90919063ffffffff16565b600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061317f82600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461376390919063ffffffff16565b600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b670de0b6b3a76400006311e1a3000281565b601881565b60116020528060005260406000206000915090505481565b670de0b6b3a7640000629896800281565b600b5481565b670de0b6b3a76400006308f0d1800281565b6000600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461336957600080fd5b60001515601460019054906101000a900460ff1615151461338957600080fd5b6004811061339657600080fd5b6000429050601260008381526020019081526020016000205481116133ba57600080fd5b6000670de0b6b3a764000063011e1a30029050601360008481526020019081526020016000205481146133ec57600080fd5b61340181600c5461376390919063ffffffff16565b670de0b6b3a764000063047868c002101561341b57600080fd5b61346d81600e60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461376390919063ffffffff16565b600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600060136000858152602001908152602001600020819055506134de8160045461376390919063ffffffff16565b6004819055506134f981600c5461376390919063ffffffff16565b600c819055508373ffffffffffffffffffffffffffffffffffffffff167f56a6fddb955645d0f5363bcc838146414092bb86a5afedd1400dcf33cba5bad9826040518082815260200191505060405180910390a250505050565b60085481565b670de0b6b3a764000063011e1a300281565b601460009054906101000a900460ff1681565b62278d0060060281565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146135e157600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561363b57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561367557600080fd5b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f9aecf86140d81442289f667eb72e1202a8fbb3478a686659952e145e8531965660405160405180910390a35050565b670de0b6b3a76400006302625a000281565b600c5481565b670de0b6b3a7640000630e4e1c000281565b60008082840190508381101561377557fe5b8091505092915050565b6000801515601460009054906101000a900460ff16151514156137a55760019050613808565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156138035760019050613808565b600090505b90565b60008282111561381757fe5b818303905092915050565b6000808284029050600084148061384157508284828161383e57fe5b04145b61384757fe5b809150509291505056fea265627a7a723158203de27618c1ab52f8385f2f451fa546f9abb8d8495b74d6c5c2147fced1a3c2db64736f6c63430005110032

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106103d05760003560e01c806370a08231116101ff578063b29418d51161011a578063de85a4a9116100ad578063f2fde38b1161007c578063f2fde38b14611015578063fc1a7fdd14611059578063fcdd04bf14611077578063fe3a5abe14611095576103d0565b8063de85a4a914610f99578063dfcfe4df14610fb7578063e718234d14610fd5578063f1f5cfa414610ff7576103d0565b8063cfa15bcd116100e9578063cfa15bcd14610e97578063cffb47cf14610eb5578063dd62ed3e14610ed3578063de27283514610f4b576103d0565b8063b29418d514610dfb578063b35c721814610e19578063b40433cd14610e37578063cbfd14a214610e79576103d0565b806395d89b4111610192578063a438145011610161578063a438145014610d15578063a711b66414610d33578063a842587914610d51578063a9059cbb14610d95576103d0565b806395d89b4114610bde57806397b0e87614610c6157806398d9eea014610c7f578063a32ce11e14610c9d576103d0565b806384300859116101ce5780638430085914610b625780638a4192b514610b6c5780638da5cb5b14610b8a5780638ece19f614610bd4576103d0565b806370a0823114610aa057806375d0281d14610af85780637a229c2014610b165780637b47ec1a14610b34576103d0565b80632ab4d052116102ef5780634b2596c71161028257806358371ccd1161025157806358371ccd146109d25780635c3eee8d146109f05780636298124b14610a345780636f7fc98914610a52576103d0565b80634b2596c7146108fc5780634bea6a0f1461091a5780634c1d1fde1461095c5780634fb2cebe146109b4576103d0565b8063380d831b116102be578063380d831b146108605780633b3264c01461086a578063435c4e30146108ae57806343d726d6146108f2576103d0565b80632ab4d052146107c25780632d94e929146107e05780632f26927f14610824578063313ce56714610842576103d0565b80631ca8b6cb1161036757806323b872dd1161033657806323b872dd1461066057806324054d57146106e657806327e235e31461072857806328b238ff14610780576103d0565b80631ca8b6cb146105e85780631dfe497014610606578063206bc0a01461062457806322b0aa4714610642576103d0565b806309a74aff116103a357806309a74aff14610520578063145ca088146105645780631596facb146105a857806318160ddd146105ca576103d0565b806302693ef8146103d557806306395d03146103f357806306fdde0314610437578063095ea7b3146104ba575b600080fd5b6103dd6110b3565b6040518082815260200191505060405180910390f35b6104356004803603602081101561040957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110c5565b005b61043f61125d565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561047f578082015181840152602081019050610464565b50505050905090810190601f1680156104ac5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610506600480360360408110156104d057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506112fb565b604051808215151515815260200191505060405180910390f35b6105626004803603602081101561053657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611451565b005b6105a66004803603602081101561057a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611609565b005b6105b06117c1565b604051808215151515815260200191505060405180910390f35b6105d26117d4565b6040518082815260200191505060405180910390f35b6105f06117de565b6040518082815260200191505060405180910390f35b61060e6117e4565b6040518082815260200191505060405180910390f35b61062c6117ea565b6040518082815260200191505060405180910390f35b61064a6117f0565b6040518082815260200191505060405180910390f35b6106cc6004803603606081101561067657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506117f6565b604051808215151515815260200191505060405180910390f35b610712600480360360208110156106fc57600080fd5b8101908080359060200190929190505050611b8e565b6040518082815260200191505060405180910390f35b61076a6004803603602081101561073e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ba6565b6040518082815260200191505060405180910390f35b6107ac6004803603602081101561079657600080fd5b8101908080359060200190929190505050611bbe565b6040518082815260200191505060405180910390f35b6107ca611bd6565b6040518082815260200191505060405180910390f35b610822600480360360208110156107f657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611be8565b005b61082c611da0565b6040518082815260200191505060405180910390f35b61084a611da6565b6040518082815260200191505060405180910390f35b610868611dac565b005b6108ac6004803603602081101561088057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f84565b005b6108f0600480360360208110156108c457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612138565b005b6108fa6122f0565b005b610904612362565b6040518082815260200191505060405180910390f35b6109466004803603602081101561093057600080fd5b8101908080359060200190929190505050612374565b6040518082815260200191505060405180910390f35b6109b26004803603606081101561097257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919050505061238c565b005b6109bc6125cb565b6040518082815260200191505060405180910390f35b6109da6125d1565b6040518082815260200191505060405180910390f35b610a3260048036036020811015610a0657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506125d7565b005b610a3c61278f565b6040518082815260200191505060405180910390f35b610a9e60048036036040811015610a6857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612794565b005b610ae260048036036020811015610ab657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506129d6565b6040518082815260200191505060405180910390f35b610b00612a1f565b6040518082815260200191505060405180910390f35b610b1e612a30565b6040518082815260200191505060405180910390f35b610b6060048036036020811015610b4a57600080fd5b8101908080359060200190929190505050612a42565b005b610b6a612c13565b005b610b74612cc9565b6040518082815260200191505060405180910390f35b610b92612ccf565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610bdc612cf4565b005b610be6612d8a565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610c26578082015181840152602081019050610c0b565b50505050905090810190601f168015610c535780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610c69612e28565b6040518082815260200191505060405180910390f35b610c87612e32565b6040518082815260200191505060405180910390f35b610cff60048036036040811015610cb357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612e44565b6040518082815260200191505060405180910390f35b610d1d612e69565b6040518082815260200191505060405180910390f35b610d3b612e7b565b6040518082815260200191505060405180910390f35b610d9360048036036020811015610d6757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612e8d565b005b610de160048036036040811015610dab57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613032565b604051808215151515815260200191505060405180910390f35b610e03613231565b6040518082815260200191505060405180910390f35b610e21613243565b6040518082815260200191505060405180910390f35b610e6360048036036020811015610e4d57600080fd5b8101908080359060200190929190505050613248565b6040518082815260200191505060405180910390f35b610e81613260565b6040518082815260200191505060405180910390f35b610e9f613271565b6040518082815260200191505060405180910390f35b610ebd613277565b6040518082815260200191505060405180910390f35b610f3560048036036040811015610ee957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613289565b6040518082815260200191505060405180910390f35b610f9760048036036040811015610f6157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613310565b005b610fa1613553565b6040518082815260200191505060405180910390f35b610fbf613559565b6040518082815260200191505060405180910390f35b610fdd61356b565b604051808215151515815260200191505060405180910390f35b610fff61357e565b6040518082815260200191505060405180910390f35b6110576004803603602081101561102b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613588565b005b611061613739565b6040518082815260200191505060405180910390f35b61107f61374b565b6040518082815260200191505060405180910390f35b61109d613751565b6040518082815260200191505060405180910390f35b670de0b6b3a7640000630ee6b2800281565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461111e57600080fd5b60006005541461112d57600080fd5b6000670de0b6b3a76400006302625a0002905061119281600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461376390919063ffffffff16565b600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506111ea8160045461376390919063ffffffff16565b6004819055506112058160055461376390919063ffffffff16565b6005819055508173ffffffffffffffffffffffffffffffffffffffff167f07c5eb0c2da0dd34a57523f87ea471b21890f00a504311f9959b3fd2d8120864826040518082815260200191505060405180910390a25050565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156112f35780601f106112c8576101008083540402835291602001916112f3565b820191906000526020600020905b8154815290600101906020018083116112d657829003601f168201915b505050505081565b60006001151561130961377f565b15151461131557600080fd5b81600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561136157600080fd5b81600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146114aa57600080fd5b60001515601460019054906101000a900460ff161515146114ca57600080fd5b6000600754146114d957600080fd5b6000670de0b6b3a7640000630e4e1c0002905061153e81600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461376390919063ffffffff16565b600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506115968160045461376390919063ffffffff16565b6004819055506115b18160075461376390919063ffffffff16565b6007819055508173ffffffffffffffffffffffffffffffffffffffff167ffb82a38b8698912e57310737cb4c62e69bf4fd9b4ef22fd4d13fd7608bb6ed16826040518082815260200191505060405180910390a25050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461166257600080fd5b60001515601460019054906101000a900460ff1615151461168257600080fd5b60006008541461169157600080fd5b6000670de0b6b3a7640000630c8458800290506116f681600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461376390919063ffffffff16565b600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061174e8160045461376390919063ffffffff16565b6004819055506117698160085461376390919063ffffffff16565b6008819055508173ffffffffffffffffffffffffffffffffffffffff167f0c17226450db6e575fa6cef1e6c9972cb00d826dbd529639acc6bca7b663b3a9826040518082815260200191505060405180910390a25050565b601460019054906101000a900460ff1681565b6000600454905090565b60045481565b60065481565b60055481565b600d5481565b60006001151561180461377f565b15151461181057600080fd5b81600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561185c57600080fd5b81600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156118e557600080fd5b61197482600f60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461380b90919063ffffffff16565b600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a4682600e60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461380b90919063ffffffff16565b600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611adb82600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461376390919063ffffffff16565b600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b60126020528060005260406000206000915090505481565b600e6020528060005260406000206000915090505481565b60106020528060005260406000206000915090505481565b670de0b6b3a76400006359682f000281565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611c4157600080fd5b60001515601460019054906101000a900460ff16151514611c6157600080fd5b6000600a5414611c7057600080fd5b6000670de0b6b3a76400006308f0d180029050611cd581600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461376390919063ffffffff16565b600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611d2d8160045461376390919063ffffffff16565b600481905550611d4881600a5461376390919063ffffffff16565b600a819055508173ffffffffffffffffffffffffffffffffffffffff167faca354954677423ee264fe27e97d8a8ab13d9bc9b0820383bacaa6e462a19285826040518082815260200191505060405180910390a25050565b60075481565b60025481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611e0557600080fd5b60011515601460019054906101000a900460ff16151514611e2557600080fd5b600554670de0b6b3a76400006311e1a3000214611e4157600080fd5b6000601460016101000a81548160ff02191690831515021790555060004290508060158190555060008090505b6018811015611ed55762278d00600182010262278d0060060260155401016010600083815260200190815260200160002081905550670de0b6b3a7640000622faf080260116000838152602001908152602001600020819055508080600101915050611e6e565b5060008090505b6004811015611f475762278d00600182016003020262278d00600c0260155401016012600083815260200190815260200160002081905550670de0b6b3a764000063011e1a300260136000838152602001908152602001600020819055508080600101915050611edc565b507f94173af9e1cd5351395663e6a7838552ea54f5233d0c38bc46de5f4915b302bf6015546040518082815260200191505060405180910390a150565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611fdd57600080fd5b670de0b6b3a7640000630ee6b28002670de0b6b3a76400006302625a0002016005541461200957600080fd5b6000670de0b6b3a76400006298968002905061206d81600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461376390919063ffffffff16565b600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506120c58160045461376390919063ffffffff16565b6004819055506120e08160055461376390919063ffffffff16565b6005819055508173ffffffffffffffffffffffffffffffffffffffff167f07c5eb0c2da0dd34a57523f87ea471b21890f00a504311f9959b3fd2d8120864826040518082815260200191505060405180910390a25050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461219157600080fd5b60001515601460019054906101000a900460ff161515146121b157600080fd5b6000600654146121c057600080fd5b6000670de0b6b3a7640000631017df8002905061222581600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461376390919063ffffffff16565b600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061227d8160045461376390919063ffffffff16565b6004819055506122988160065461376390919063ffffffff16565b6006819055508173ffffffffffffffffffffffffffffffffffffffff167f99922e50b824eeb907feeed3e3960fe534a5e5457ea76c6457b541e12a052885826040518082815260200191505060405180910390a25050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461234957600080fd5b3373ffffffffffffffffffffffffffffffffffffffff16ff5b670de0b6b3a764000063047868c00281565b60136020528060005260406000206000915090505481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146123e557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561248157600061243283600a0a8361382290919063ffffffff16565b90503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561247a573d6000803e3d6000fd5b50506125c6565b600061249983600a0a8361382290919063ffffffff16565b90508373ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561252257600080fd5b505af1158015612536573d6000803e3d6000fd5b505050506040513d602081101561254c57600080fd5b8101908080519060200190929190505050503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505b505050565b600a5481565b60155481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461263057600080fd5b60001515601460019054906101000a900460ff1615151461265057600080fd5b60006009541461265f57600080fd5b6000670de0b6b3a7640000630aba95000290506126c481600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461376390919063ffffffff16565b600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061271c8160045461376390919063ffffffff16565b6004819055506127378160095461376390919063ffffffff16565b6009819055508173ffffffffffffffffffffffffffffffffffffffff167f423b24fc1468543b83ba5fa3c1d3b8a9c95265103a9ef54b0eecdc33eac6c386826040518082815260200191505060405180910390a25050565b600481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146127ed57600080fd5b60001515601460019054906101000a900460ff1615151461280d57600080fd5b6018811061281a57600080fd5b60004290506010600083815260200190815260200160002054811161283e57600080fd5b6000670de0b6b3a7640000622faf080290506011600084815260200190815260200160002054811461286f57600080fd5b61288481600b5461376390919063ffffffff16565b670de0b6b3a764000063047868c002101561289e57600080fd5b6128f081600e60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461376390919063ffffffff16565b600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600060116000858152602001908152602001600020819055506129618160045461376390919063ffffffff16565b60048190555061297c81600b5461376390919063ffffffff16565b600b819055508373ffffffffffffffffffffffffffffffffffffffff167fb07ce9bd9a0d0e9adec838711c53cbe1430a690e9c520e9232dc9478dbd85f31826040518082815260200191505060405180910390a250505050565b6000600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b670de0b6b3a7640000622faf080281565b670de0b6b3a7640000631017df800281565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612a9b57600080fd5b6000670de0b6b3a76400008202905080600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015612af657600080fd5b612b4881600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461380b90919063ffffffff16565b600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612ba081600d5461376390919063ffffffff16565b600d81905550612bbb8160045461380b90919063ffffffff16565b6004819055503373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a25050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612c6c57600080fd5b60011515601460009054906101000a900460ff16151514612c8c57600080fd5b60001515601460019054906101000a900460ff16151514612cac57600080fd5b6000601460006101000a81548160ff021916908315150217905550565b60095481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612d4d57600080fd5b60001515601460009054906101000a900460ff16151514612d6d57600080fd5b6001601460006101000a81548160ff021916908315150217905550565b60038054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015612e205780601f10612df557610100808354040283529160200191612e20565b820191906000526020600020905b815481529060010190602001808311612e0357829003601f168201915b505050505081565b62278d00600c0281565b670de0b6b3a7640000630aba95000281565b600f602052816000526040600020602052806000526040600020600091509150505481565b670de0b6b3a7640000630c8458800281565b670de0b6b3a764000063047868c00281565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612ee657600080fd5b670de0b6b3a76400006302625a000260055414612f0257600080fd5b6000670de0b6b3a7640000630ee6b280029050612f6781600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461376390919063ffffffff16565b600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612fbf8160045461376390919063ffffffff16565b600481905550612fda8160055461376390919063ffffffff16565b6005819055508173ffffffffffffffffffffffffffffffffffffffff167f07c5eb0c2da0dd34a57523f87ea471b21890f00a504311f9959b3fd2d8120864826040518082815260200191505060405180910390a25050565b60006001151561304061377f565b15151461304c57600080fd5b81600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561309857600080fd5b6130ea82600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461380b90919063ffffffff16565b600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061317f82600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461376390919063ffffffff16565b600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b670de0b6b3a76400006311e1a3000281565b601881565b60116020528060005260406000206000915090505481565b670de0b6b3a7640000629896800281565b600b5481565b670de0b6b3a76400006308f0d1800281565b6000600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461336957600080fd5b60001515601460019054906101000a900460ff1615151461338957600080fd5b6004811061339657600080fd5b6000429050601260008381526020019081526020016000205481116133ba57600080fd5b6000670de0b6b3a764000063011e1a30029050601360008481526020019081526020016000205481146133ec57600080fd5b61340181600c5461376390919063ffffffff16565b670de0b6b3a764000063047868c002101561341b57600080fd5b61346d81600e60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461376390919063ffffffff16565b600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600060136000858152602001908152602001600020819055506134de8160045461376390919063ffffffff16565b6004819055506134f981600c5461376390919063ffffffff16565b600c819055508373ffffffffffffffffffffffffffffffffffffffff167f56a6fddb955645d0f5363bcc838146414092bb86a5afedd1400dcf33cba5bad9826040518082815260200191505060405180910390a250505050565b60085481565b670de0b6b3a764000063011e1a300281565b601460009054906101000a900460ff1681565b62278d0060060281565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146135e157600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561363b57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561367557600080fd5b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f9aecf86140d81442289f667eb72e1202a8fbb3478a686659952e145e8531965660405160405180910390a35050565b670de0b6b3a76400006302625a000281565b600c5481565b670de0b6b3a7640000630e4e1c000281565b60008082840190508381101561377557fe5b8091505092915050565b6000801515601460009054906101000a900460ff16151514156137a55760019050613808565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156138035760019050613808565b600090505b90565b60008282111561381757fe5b818303905092915050565b6000808284029050600084148061384157508284828161383e57fe5b04145b61384757fe5b809150509291505056fea265627a7a723158203de27618c1ab52f8385f2f451fa546f9abb8d8495b74d6c5c2147fced1a3c2db64736f6c63430005110032

Deployed Bytecode Sourcemap

1804:13439:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1804:13439:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3472:64;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11601:389;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11601:389:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;1902:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1902:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6985:335;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6985:335:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8441:415;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8441:415:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;8864;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8864:415:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;4743:27;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6352:98;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4008:28;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4077:25;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4043:27;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4318;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7479:533;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7479:533:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4595:45;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4595:45:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4358:41;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4358:41:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4484:44;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4484:44:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2158:64;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9710:419;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9710:419:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;4109:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1927:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13459:754;;;:::i;:::-;;12422:426;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12422:426:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;8024:409;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8024:409:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;15152:82;;;:::i;:::-;;3172:64;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4647:48;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4647:48:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;14225:494;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14225:494:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4208:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4777:27;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9287:415;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9287:415:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;3952:43;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10160:692;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10160:692:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;6462:106;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6462:106:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3637:64;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2448;;;:::i;:::-;;;;;;;;;;;;;;;;;;;14731:409;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14731:409:0;;;;;;;;;;;;;;;;;:::i;:::-;;13138:168;;;:::i;:::-;;4175:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;616:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;13318:129;;;:::i;:::-;;1954:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1954:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3889:56;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2883:64;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4406:65;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4406:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2738:64;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3324;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12002:408;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12002:408:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;6580:393;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6580:393:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2303:64;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3768:41;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4535:47;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4535:47:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3543:64;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4241:27;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3028:64;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7332:139;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7332:139:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10886:703;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10886:703:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4142:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3818:64;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4708:28;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3708:53;;;:::i;:::-;;;;;;;;;;;;;;;;;;;853:233;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;853:233:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;3401:64;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4275:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2593:64;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3472;2015:19;3521:9;:15;3472:64;:::o;11601:389::-;761:5;;;;;;;;;;;747:19;;:10;:19;;;739:28;;;;;;11697:1;11678:15;;:20;11670:29;;;;;;11720:11;2015:19;3451:8;:14;11720:28;;11785:25;11803:6;11785:8;:13;11794:3;11785:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;11769:8;:13;11778:3;11769:13;;;;;;;;;;;;;;;:41;;;;11850:28;11871:6;11850:16;;:20;;:28;;;;:::i;:::-;11831:16;:47;;;;11907:27;11927:6;11907:15;;:19;;:27;;;;:::i;:::-;11889:15;:45;;;;11970:3;11960:22;;;11975:6;11960:22;;;;;;;;;;;;;;;;;;772:1;11601:389;:::o;1902:18::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6985:335::-;7049:4;7099;7079:24;;:16;:14;:16::i;:::-;:24;;;7071:33;;;;;;7147:6;7123:8;:20;7132:10;7123:20;;;;;;;;;;;;;;;;:30;;7115:39;;;;;;7209:6;7175:9;:21;7185:10;7175:21;;;;;;;;;;;;;;;:31;7197:8;7175:31;;;;;;;;;;;;;;;:40;;;;7262:8;7241:38;;7250:10;7241:38;;;7272:6;7241:38;;;;;;;;;;;;;;;;;;7307:4;7300:11;;6985:335;;;;:::o;8441:415::-;761:5;;;;;;;;;;;747:19;;:10;:19;;;739:28;;;;;;8525:5;8513:17;;:8;;;;;;;;;;;:17;;;8505:26;;;;;;8568:1;8550:14;;:19;8542:28;;;;;;8591:11;2015:19;2642:9;:15;8591:26;;8654:25;8672:6;8654:8;:13;8663:3;8654:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;8638:8;:13;8647:3;8638:13;;;;;;;;;;;;;;;:41;;;;8719:28;8740:6;8719:16;;:20;;:28;;;;:::i;:::-;8700:16;:47;;;;8775:26;8794:6;8775:14;;:18;;:26;;;;:::i;:::-;8758:14;:43;;;;8836:3;8827:21;;;8841:6;8827:21;;;;;;;;;;;;;;;;;;772:1;8441:415;:::o;8864:::-;761:5;;;;;;;;;;;747:19;;:10;:19;;;739:28;;;;;;8948:5;8936:17;;:8;;;;;;;;;;;:17;;;8928:26;;;;;;8991:1;8973:14;;:19;8965:28;;;;;;9014:11;2015:19;2787:9;:15;9014:26;;9077:25;9095:6;9077:8;:13;9086:3;9077:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;9061:8;:13;9070:3;9061:13;;;;;;;;;;;;;;;:41;;;;9142:28;9163:6;9142:16;;:20;;:28;;;;:::i;:::-;9123:16;:47;;;;9198:26;9217:6;9198:14;;:18;;:26;;;;:::i;:::-;9181:14;:43;;;;9259:3;9250:21;;;9264:6;9250:21;;;;;;;;;;;;;;;;;;772:1;8864:415;:::o;4743:27::-;;;;;;;;;;;;;:::o;6352:98::-;6396:4;6426:16;;6419:23;;6352:98;:::o;4008:28::-;;;;:::o;4077:25::-;;;;:::o;4043:27::-;;;;:::o;4318:::-;;;;:::o;7479:533::-;7558:4;7609;7589:24;;:16;:14;:16::i;:::-;:24;;;7581:33;;;;;;7652:6;7633:8;:15;7642:5;7633:15;;;;;;;;;;;;;;;;:25;;7625:34;;;;;;7710:6;7678:9;:16;7688:5;7678:16;;;;;;;;;;;;;;;:28;7695:10;7678:28;;;;;;;;;;;;;;;;:38;;7670:47;;;;;;7769:40;7802:6;7769:9;:16;7779:5;7769:16;;;;;;;;;;;;;;;:28;7786:10;7769:28;;;;;;;;;;;;;;;;:32;;:40;;;;:::i;:::-;7738:9;:16;7748:5;7738:16;;;;;;;;;;;;;;;:28;7755:10;7738:28;;;;;;;;;;;;;;;:71;;;;7838:27;7858:6;7838:8;:15;7847:5;7838:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;7820:8;:15;7829:5;7820:15;;;;;;;;;;;;;;;:45;;;;7893:25;7911:6;7893:8;:13;7902:3;7893:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;7876:8;:13;7885:3;7876:13;;;;;;;;;;;;;;;:42;;;;7960:3;7944:28;;7953:5;7944:28;;;7965:6;7944:28;;;;;;;;;;;;;;;;;;8000:4;7993:11;;7479:533;;;;;:::o;4595:45::-;;;;;;;;;;;;;;;;;:::o;4358:41::-;;;;;;;;;;;;;;;;;:::o;4484:44::-;;;;;;;;;;;;;;;;;:::o;2158:64::-;2015:19;2206:10;:16;2158:64;:::o;9710:419::-;761:5;;;;;;;;;;;747:19;;:10;:19;;;739:28;;;;;;9794:5;9782:17;;:8;;;;;;;;;;;:17;;;9774:26;;;;;;9837:1;9819:14;;:19;9811:28;;;;;;9860:11;2015:19;3077:9;:15;9860:30;;9927:25;9945:6;9927:8;:13;9936:3;9927:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;9911:8;:13;9920:3;9911:13;;;;;;;;;;;;;;;:41;;;;9992:28;10013:6;9992:16;;:20;;:28;;;;:::i;:::-;9973:16;:47;;;;10048:26;10067:6;10048:14;;:18;;:26;;;;:::i;:::-;10031:14;:43;;;;10109:3;10100:21;;;10114:6;10100:21;;;;;;;;;;;;;;;;;;772:1;9710:419;:::o;4109:26::-;;;;:::o;1927:20::-;;;;:::o;13459:754::-;761:5;;;;;;;;;;;747:19;;:10;:19;;;739:28;;;;;;13531:4;13519:16;;:8;;;;;;;;;;;:16;;;13511:25;;;;;;13572:15;;2015:19;2352:9;:15;13555:32;13547:41;;;;;;13620:5;13609:8;;:16;;;;;;;;;;;;;;;;;;13646:12;13661:3;13646:18;;13689:7;13675:11;:21;;;;13721:6;13730:1;13721:10;;13717:204;3807:2;13733:1;:19;13717:204;;;2071:7;13843:1;13841;:3;13840:13;2071:7;3752:1;:9;13803:11;;:33;:51;13783:14;:17;13798:1;13783:17;;;;;;;;;;;:71;;;;2015:19;3688:7;:13;13869:17;:20;13887:1;13869:20;;;;;;;;;;;:40;;;;13754:3;;;;;;;13717:204;;;;13945:6;13954:1;13945:10;;13941:219;3994:1;13957;:22;13941:219;;;2071:7;14078:1;14076;:3;14071:1;:9;:17;2071:7;3935:2;:10;14031:11;;:36;:58;14010:15;:18;14026:1;14010:18;;;;;;;;;;;:79;;;;2015:19;3868:8;:14;14104:18;:21;14123:1;14104:21;;;;;;;;;;;:44;;;;13981:3;;;;;;;13941:219;;;;14185:20;14193:11;;14185:20;;;;;;;;;;;;;;;;;;772:1;13459:754::o;12422:426::-;761:5;;;;;;;;;;;747:19;;:10;:19;;;739:28;;;;;;2015:19;3521:9;:15;2015:19;3451:8;:14;12520:34;12501:15;;:53;12493:62;;;;;;12576:11;2015:19;3593:8;:14;12576:30;;12643:25;12661:6;12643:8;:13;12652:3;12643:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;12627:8;:13;12636:3;12627:13;;;;;;;;;;;;;;;:41;;;;12708:28;12729:6;12708:16;;:20;;:28;;;;:::i;:::-;12689:16;:47;;;;12765:27;12785:6;12765:15;;:19;;:27;;;;:::i;:::-;12747:15;:45;;;;12828:3;12818:22;;;12833:6;12818:22;;;;;;;;;;;;;;;;;;772:1;12422:426;:::o;8024:409::-;761:5;;;;;;;;;;;747:19;;:10;:19;;;739:28;;;;;;8107:5;8095:17;;:8;;;;;;;;;;;:17;;;8087:26;;;;;;8149:1;8132:13;;:18;8124:27;;;;;;8172:11;2015:19;2497:9;:15;8172:25;;8234;8252:6;8234:8;:13;8243:3;8234:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;8218:8;:13;8227:3;8218:13;;;;;;;;;;;;;;;:41;;;;8299:28;8320:6;8299:16;;:20;;:28;;;;:::i;:::-;8280:16;:47;;;;8354:25;8372:6;8354:13;;:17;;:25;;;;:::i;:::-;8338:13;:41;;;;8413:3;8405:20;;;8418:6;8405:20;;;;;;;;;;;;;;;;;;772:1;8024:409;:::o;15152:82::-;761:5;;;;;;;;;;;747:19;;:10;:19;;;739:28;;;;;;15215:10;15202:24;;;3172:64;2015:19;3222:8;:14;3172:64;:::o;4647:48::-;;;;;;;;;;;;;;;;;:::o;14225:494::-;761:5;;;;;;;;;;;747:19;;:10;:19;;;739:28;;;;;;14356:3;14335:25;;:9;:25;;;14332:380;;;14386:8;14397:27;14414:9;14408:2;:15;14397:6;:10;;:27;;;;:::i;:::-;14386:38;;14439:10;:19;;:24;14459:3;14439:24;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14439:24:0;14332:380;;;;14514:11;14528:27;14545:9;14539:2;:15;14528:6;:10;;:27;;;;:::i;:::-;14514:41;;14585:9;14570:34;;;14605:10;14617:6;14570:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14570:54:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14570:54:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14570:54:0;;;;;;;;;;;;;;;;;14681:10;14658:42;;14675:3;14658:42;;;14693:6;14658:42;;;;;;;;;;;;;;;;;;14332:380;;14225:494;;;:::o;4208:26::-;;;;:::o;4777:27::-;;;;:::o;9287:415::-;761:5;;;;;;;;;;;747:19;;:10;:19;;;739:28;;;;;;9371:5;9359:17;;:8;;;;;;;;;;;:17;;;9351:26;;;;;;9414:1;9396:14;;:19;9388:28;;;;;;9437:11;2015:19;2932:9;:15;9437:26;;9500:25;9518:6;9500:8;:13;9509:3;9500:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;9484:8;:13;9493:3;9484:13;;;;;;;;;;;;;;;:41;;;;9565:28;9586:6;9565:16;;:20;;:28;;;;:::i;:::-;9546:16;:47;;;;9621:26;9640:6;9621:14;;:18;;:26;;;;:::i;:::-;9604:14;:43;;;;9682:3;9673:21;;;9687:6;9673:21;;;;;;;;;;;;;;;;;;772:1;9287:415;:::o;3952:43::-;3994:1;3952:43;:::o;10160:692::-;761:5;;;;;;;;;;;747:19;;:10;:19;;;739:28;;;;;;10257:5;10245:17;;:8;;;;;;;;;;;:17;;;10237:26;;;;;;3807:2;10283:5;:23;10274:33;;;;;;10328:12;10343:3;10328:18;;10376:14;:21;10391:5;10376:21;;;;;;;;;;;;10366:7;:31;10357:42;;;;;;10420:11;2015:19;3688:7;:13;10420:31;;10482:17;:24;10500:5;10482:24;;;;;;;;;;;;10472:6;:34;10464:43;;;;;;10543:27;10563:6;10543:15;;:19;;:27;;;;:::i;:::-;2015:19;3222:8;:14;10526:44;;10518:53;;;;;;10608:25;10626:6;10608:8;:13;10617:3;10608:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;10592:8;:13;10601:3;10592:13;;;;;;;;;;;;;;;:41;;;;10671:1;10644:17;:24;10662:5;10644:24;;;;;;;;;;;:28;;;;10712;10733:6;10712:16;;:20;;:28;;;;:::i;:::-;10693:16;:47;;;;10769:27;10789:6;10769:15;;:19;;:27;;;;:::i;:::-;10751:15;:45;;;;10832:3;10822:22;;;10837:6;10822:22;;;;;;;;;;;;;;;;;;772:1;;10160:692;;:::o;6462:106::-;6516:4;6546:8;:14;6555:4;6546:14;;;;;;;;;;;;;;;;6539:21;;6462:106;;;:::o;3637:64::-;2015:19;3688:7;:13;3637:64;:::o;2448:::-;2015:19;2497:9;:15;2448:64;:::o;14731:409::-;761:5;;;;;;;;;;;747:19;;:10;:19;;;739:28;;;;;;14796:11;2015:19;14810:6;:12;14796:26;;14875:6;14851:8;:20;14860:10;14851:20;;;;;;;;;;;;;;;;:30;;14843:39;;;;;;14926:32;14951:6;14926:8;:20;14935:10;14926:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;14903:8;:20;14912:10;14903:20;;;;;;;;;;;;;;;:55;;;;14997:27;15017:6;14997:15;;:19;;:27;;;;:::i;:::-;14979:15;:45;;;;15054:28;15075:6;15054:16;;:20;;:28;;;;:::i;:::-;15035:16;:47;;;;15113:10;15108:24;;;15125:6;15108:24;;;;;;;;;;;;;;;;;;772:1;14731:409;:::o;13138:168::-;761:5;;;;;;;;;;;747:19;;:10;:19;;;739:28;;;;;;13218:4;13205:17;;:9;;;;;;;;;;;:17;;;13197:26;;;;;;13254:5;13242:17;;:8;;;;;;;;;;;:17;;;13234:26;;;;;;13293:5;13281:9;;:17;;;;;;;;;;;;;;;;;;13138:168::o;4175:26::-;;;;:::o;616:20::-;;;;;;;;;;;;;:::o;13318:129::-;761:5;;;;;;;;;;;747:19;;:10;:19;;;739:28;;;;;;13396:5;13383:18;;:9;;;;;;;;;;;:18;;;13375:27;;;;;;13435:4;13423:9;;:16;;;;;;;;;;;;;;;;;;13318:129::o;1954:20::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3889:56::-;2071:7;3935:2;:10;3889:56;:::o;2883:64::-;2015:19;2932:9;:15;2883:64;:::o;4406:65::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2738:64::-;2015:19;2787:9;:15;2738:64;:::o;3324:::-;2015:19;3374:8;:14;3324:64;:::o;12002:408::-;761:5;;;;;;;;;;;747:19;;:10;:19;;;739:28;;;;;;2015:19;3451:8;:14;12082:15;;:33;12074:42;;;;;;12137:11;2015:19;3521:9;:15;12137:31;;12205:25;12223:6;12205:8;:13;12214:3;12205:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;12189:8;:13;12198:3;12189:13;;;;;;;;;;;;;;;:41;;;;12270:28;12291:6;12270:16;;:20;;:28;;;;:::i;:::-;12251:16;:47;;;;12327:27;12347:6;12327:15;;:19;;:27;;;;:::i;:::-;12309:15;:45;;;;12390:3;12380:22;;;12395:6;12380:22;;;;;;;;;;;;;;;;;;772:1;12002:408;:::o;6580:393::-;6640:4;6691;6671:24;;:16;:14;:16::i;:::-;:24;;;6663:33;;;;;;6739:6;6715:8;:20;6724:10;6715:20;;;;;;;;;;;;;;;;:30;;6707:39;;;;;;6790:32;6815:6;6790:8;:20;6799:10;6790:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;6767:8;:20;6776:10;6767:20;;;;;;;;;;;;;;;:55;;;;6849:25;6867:6;6849:8;:13;6858:3;6849:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;6833:8;:13;6842:3;6833:13;;;;;;;;;;;;;;;:41;;;;6921:3;6900:33;;6909:10;6900:33;;;6926:6;6900:33;;;;;;;;;;;;;;;;;;6961:4;6954:11;;6580:393;;;;:::o;2303:64::-;2015:19;2352:9;:15;2303:64;:::o;3768:41::-;3807:2;3768:41;:::o;4535:47::-;;;;;;;;;;;;;;;;;:::o;3543:64::-;2015:19;3593:8;:14;3543:64;:::o;4241:27::-;;;;:::o;3028:64::-;2015:19;3077:9;:15;3028:64;:::o;7332:139::-;7406:4;7436:9;:17;7446:6;7436:17;;;;;;;;;;;;;;;:27;7454:8;7436:27;;;;;;;;;;;;;;;;7429:34;;7332:139;;;;:::o;10886:703::-;761:5;;;;;;;;;;;747:19;;:10;:19;;;739:28;;;;;;10986:5;10974:17;;:8;;;;;;;;;;;:17;;;10966:26;;;;;;3994:1;11012:5;:26;11003:36;;;;;;11060:12;11075:3;11060:18;;11108:15;:22;11124:5;11108:22;;;;;;;;;;;;11098:7;:32;11089:43;;;;;;11153:11;2015:19;3868:8;:14;11153:34;;11218:18;:25;11237:5;11218:25;;;;;;;;;;;;11208:6;:35;11200:44;;;;;;11283:26;11302:6;11283:14;;:18;;:26;;;;:::i;:::-;2015:19;3374:8;:14;11263:46;;11255:55;;;;;;11347:25;11365:6;11347:8;:13;11356:3;11347:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;11331:8;:13;11340:3;11331:13;;;;;;;;;;;;;;;:41;;;;11411:1;11383:18;:25;11402:5;11383:25;;;;;;;;;;;:29;;;;11452:28;11473:6;11452:16;;:20;;:28;;;;:::i;:::-;11433:16;:47;;;;11508:26;11527:6;11508:14;;:18;;:26;;;;:::i;:::-;11491:14;:43;;;;11569:3;11560:21;;;11574:6;11560:21;;;;;;;;;;;;;;;;;;772:1;;10886:703;;:::o;4142:26::-;;;;:::o;3818:64::-;2015:19;3868:8;:14;3818:64;:::o;4708:28::-;;;;;;;;;;;;;:::o;3708:53::-;2071:7;3752:1;:9;3708:53;:::o;853:233::-;761:5;;;;;;;;;;;747:19;;:10;:19;;;739:28;;;;;;937:5;;;;;;;;;;;930:12;;:3;:12;;;;922:21;;;;;;974:3;959:19;;:3;:19;;;;951:28;;;;;;992:12;1007:5;;;;;;;;;;;992:20;;1030:3;1022:5;;:11;;;;;;;;;;;;;;;;;;1075:3;1057:22;;1069:4;1057:22;;;;;;;;;;;;772:1;853:233;:::o;3401:64::-;2015:19;3451:8;:14;3401:64;:::o;4275:26::-;;;;:::o;2593:64::-;2015:19;2642:9;:15;2593:64;:::o;449:132::-;507:7;523:9;539:1;535;:5;523:17;;557:1;552;:6;;545:14;;;;573:1;566:8;;;449:132;;;;:::o;12860:266::-;12908:4;12946:5;12933:18;;:9;;;;;;;;;;;:18;;;12930:156;;;12984:4;12977:11;;;;12930:156;13032:5;;;;;;;;;;;13018:19;;:10;:19;;;13015:71;;;13070:4;13063:11;;;;13015:71;13113:5;13106:12;;12860:266;;:::o;328:114::-;386:7;414:1;409;:6;;402:14;;;;434:1;430;:5;423:12;;328:114;;;;:::o;51:150::-;109:7;129:9;145:1;141;:5;129:17;;163:1;158;:6;:20;;;;177:1;172;168;:5;;;;;;:10;158:20;151:28;;;;193:1;186:8;;;51:150;;;;:::o

Swarm Source

bzzr://3de27618c1ab52f8385f2f451fa546f9abb8d8495b74d6c5c2147fced1a3c2db

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

OVERVIEW

Assemble Protocol is a blockchain-based global point integration platform.

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.