ETH Price: $3,173.83 (-3.41%)

Contract

0x42D0B779F9C6831E414eF8555D6d325C4d48D2d8
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Buy For Investor77193722019-05-08 9:59:132016 days ago1557309553IN
0x42D0B779...C4d48D2d8
0 ETH0.000998099.15
Pass KYC77193522019-05-08 9:55:262016 days ago1557309326IN
0x42D0B779...C4d48D2d8
0 ETH0.000401539.15
Buy For Investor76668072019-04-30 5:03:532024 days ago1556600633IN
0x42D0B779...C4d48D2d8
0 ETH0.000395725
Buy For Investor75644612019-04-14 6:21:332040 days ago1555222893IN
0x42D0B779...C4d48D2d8
0 ETH0.000556635.1
Pass KYC75644502019-04-14 6:18:242040 days ago1555222704IN
0x42D0B779...C4d48D2d8
0 ETH0.00022385.1
Set Rate75591942019-04-13 11:00:382041 days ago1555153238IN
0x42D0B779...C4d48D2d8
0 ETH0.000258828
Set Rate75589192019-04-13 10:01:102041 days ago1555149670IN
0x42D0B779...C4d48D2d8
0 ETH0.000258828
Set Rate75586612019-04-13 9:00:272041 days ago1555146027IN
0x42D0B779...C4d48D2d8
0 ETH0.000258828
Set Rate75584162019-04-13 8:01:462041 days ago1555142506IN
0x42D0B779...C4d48D2d8
0 ETH0.000258828
Set Rate75581592019-04-13 7:01:582041 days ago1555138918IN
0x42D0B779...C4d48D2d8
0 ETH0.000258828
Set Rate75579072019-04-13 6:00:162041 days ago1555135216IN
0x42D0B779...C4d48D2d8
0 ETH0.000258828
Set Rate75576472019-04-13 5:00:422041 days ago1555131642IN
0x42D0B779...C4d48D2d8
0 ETH0.000258828
Set Rate75573722019-04-13 4:00:502041 days ago1555128050IN
0x42D0B779...C4d48D2d8
0 ETH0.000258828
Set Rate75570682019-04-13 3:01:032041 days ago1555124463IN
0x42D0B779...C4d48D2d8
0 ETH0.000258828
Set Rate75567782019-04-13 1:59:552041 days ago1555120795IN
0x42D0B779...C4d48D2d8
0 ETH0.000258828
Set Rate75565302019-04-13 1:01:252041 days ago1555117285IN
0x42D0B779...C4d48D2d8
0 ETH0.000258828
Set Rate75562602019-04-12 23:59:402041 days ago1555113580IN
0x42D0B779...C4d48D2d8
0 ETH0.000258828
Set Rate75559842019-04-12 22:59:572041 days ago1555109997IN
0x42D0B779...C4d48D2d8
0 ETH0.000258828
Set Rate75557022019-04-12 22:00:102041 days ago1555106410IN
0x42D0B779...C4d48D2d8
0 ETH0.000258828
Set Rate75554272019-04-12 21:00:072041 days ago1555102807IN
0x42D0B779...C4d48D2d8
0 ETH0.000258828
Set Rate75551672019-04-12 19:59:282041 days ago1555099168IN
0x42D0B779...C4d48D2d8
0 ETH0.000258828
Set Rate75548972019-04-12 18:59:582041 days ago1555095598IN
0x42D0B779...C4d48D2d8
0 ETH0.000258828
Set Rate75546322019-04-12 18:00:572041 days ago1555092057IN
0x42D0B779...C4d48D2d8
0 ETH0.000258828
Set Rate75543462019-04-12 17:00:112041 days ago1555088411IN
0x42D0B779...C4d48D2d8
0 ETH0.000258828
Set Rate75540842019-04-12 16:02:432041 days ago1555084963IN
0x42D0B779...C4d48D2d8
0 ETH0.000258828
View all transactions

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Block From To
69203792018-12-20 11:03:562155 days ago1545303836
0x42D0B779...C4d48D2d8
 Contract Creation0 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
WbcICO

Compiler Version
v0.4.25+commit.59dbf8f1

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2018-12-20
*/

pragma solidity ^ 0.4.21;

/**
 *   @title SafeMath
 *   @dev Math operations with safety checks that throw on error
 */
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) {
        assert(b > 0);
        uint256 c = a / b;
        assert(a == b * 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;
    }
}


/**
 *   @title ERC20
 *   @dev Standart ERC20 token interface
 */
contract ERC20 {
    function balanceOf(address _owner) public constant returns(uint256);
    function transfer(address _to, uint256 _value) public returns(bool);
    function transferFrom(address _from, address _to, uint256 _value) public returns(bool);
    function approve(address _spender, uint256 _value) public returns(bool);
    function allowance(address _owner, address _spender) public constant returns(uint256);
    mapping(address => uint256) balances;
    mapping(address => mapping(address => uint256)) allowed;
    event Transfer(address indexed _from, address indexed _to, uint256 _value);
    event Approval(address indexed _owner, address indexed _spender, uint256 _value);
}


/**
 *   @dev CRET token contract
 */
contract WbcToken is ERC20 {
    using SafeMath for uint256;
    string public name = "WhizBizCoin";
    string public symbol = "WB";
    uint256 public decimals = 18;
    uint256 public totalSupply = 888000000 * 1e18;
    uint256 public timeStamp = 0;
    uint256 constant fundPartYear = 44400000 * 1e18; 
    uint256 constant trioPartYear = 8880000 * 1e18; //1% of tokens for CrowdSale, Film Comany and Investors in one year for 6 years
    uint256 constant minimumAge = 30 days; // minimum age for coins
    uint256 constant oneYear = 360 days;
    uint256 public minted = 0;
    address public teamCSN;
    address public teamFilmCompany;
    address public teamInvestors;
    address public teamFund;
    address public manager;
    address public reserveFund;
    
    struct transferStruct{
    uint128 amount;
    uint64 time;
    }
    
    mapping(uint8 => bool) trioChecker;
    mapping(uint8 => bool) fundChecker;
    mapping(uint256 => bool) priceChecker;
    mapping(address => transferStruct[]) transferSt;
    mapping(uint256 => uint256) coinPriceNow;

    // Ico contract address
    address public owner;

    // Allows execution by the owner only
    modifier onlyOwner {
        require(msg.sender == owner);
        _;
    }
    
    modifier onlyManager {
        require(msg.sender == manager);
        _;
    }
    
    
    
    constructor (address _owner, address _teamCSN, address _teamFilmCompany, address _teamInvestors, address _fund, address _manager, address _reserveFund) public {
        owner = _owner;
        teamCSN = _teamCSN;
        teamFilmCompany = _teamFilmCompany;
        teamInvestors = _teamInvestors;
        teamFund = _fund;
        manager = _manager;
        reserveFund = _reserveFund;

    }
    
    
    function doTimeStamp(uint256 _value) external onlyOwner {
        timeStamp = _value;
    }
    
    

   /**
    *   @dev Mint tokens
    *   @param _investor     address the tokens will be issued to
    *   @param _value        number of tokens
    */
    function mintTokens(address _investor, uint256 _value) external onlyOwner {
        require(_value > 0);
        require(minted.add(_value) <= totalSupply);
        balances[_investor] = balances[_investor].add(_value);
        minted = minted.add(_value);
        transferSt[_investor].push(transferStruct(uint128(_value),uint64(now)));
        emit Transfer(0x0, _investor, _value);
    }
    
    
    
    function mintTrio() external onlyManager {
        require(now > (timeStamp + 360 days));
        if(now > (timeStamp + 360 days) && now <= (timeStamp + 720 days)){
            require(trioChecker[1] != true);
            partingTrio(1);
        }
        if(now > (timeStamp + 720 days) && now <= (timeStamp + 1080 days)){
            require(trioChecker[2] != true);
            partingTrio(2);
        }
        if(now > (timeStamp + 1080 days) && now <= (timeStamp + 1440 days)){
            require(trioChecker[3] != true);
            partingTrio(3);
        }
        if(now > (timeStamp + 1440 days) && now <= (timeStamp + 1800 days)){
            require(trioChecker[4] != true);
            partingTrio(4);
        }
        if(now > (timeStamp + 1800 days) && now <= (timeStamp + 2160 days)){
            require(trioChecker[5] != true);
            partingTrio(5);
        }
        if(now > (timeStamp + 2160 days) && now <= (timeStamp + 2520 days)){
            require(trioChecker[6] != true);
            partingTrio(6);
        }
    }
    
    
    function mintFund() external onlyManager {
        require(now > (timeStamp + 360 days));
        if(now > (timeStamp + 360 days) && now <= (timeStamp + 720 days)){
            require(fundChecker[1] != true);
            partingFund(1);
        }
        if(now > (timeStamp + 720 days) && now <= (timeStamp + 1080 days)){
            require(fundChecker[2] != true);
            partingFund(2);
        }
        if(now > (timeStamp + 1080 days) && now <= (timeStamp + 1440 days)){
            require(fundChecker[3] != true);
            partingFund(3);
        }
        if(now > (timeStamp + 1440 days) && now <= (timeStamp + 1800 days)){
            require(fundChecker[4] != true);
            partingFund(4);
        }
        if(now > (timeStamp + 1800 days) && now <= (timeStamp + 2160 days)){
            require(fundChecker[5] != true);
            partingFund(5);
        }
        if(now > (timeStamp + 2160 days) && now <= (timeStamp + 2520 days)){
            require(fundChecker[6] != true);
            partingFund(6);
        }
        if(now > (timeStamp + 2520 days) && now <= (timeStamp + 2880 days)){
            require(fundChecker[7] != true);
            partingFund(7);
        }
    
    }
    
    
    function partingFund(uint8 _x) internal {
        require(_x > 0 && _x <= 7);
        balances[teamFund] = balances[teamFund].add(fundPartYear);
        fundChecker[_x] = true;
        minted = minted.add(fundPartYear);
        transferSt[teamFund].push(transferStruct(uint128(fundPartYear),uint64(now)));
            
        emit Transfer(0x0, teamFund, fundPartYear);
    }
    
    
    function partingTrio(uint8 _x) internal {
        require(_x > 0 && _x <= 6);
        balances[teamCSN] = balances[teamCSN].add(trioPartYear);
        balances[teamFilmCompany] = balances[teamFilmCompany].add(trioPartYear);
        balances[teamInvestors] = balances[teamInvestors].add(trioPartYear);
        trioChecker[_x] = true;
        minted = minted.add(trioPartYear.mul(3));
        transferSt[teamCSN].push(transferStruct(uint128(trioPartYear),uint64(now)));
        transferSt[teamFilmCompany].push(transferStruct(uint128(trioPartYear),uint64(now)));
        transferSt[teamInvestors].push(transferStruct(uint128(trioPartYear),uint64(now)));
            
        emit Transfer(0x0, teamCSN, trioPartYear);
        emit Transfer(0x0, teamFilmCompany, trioPartYear);
        emit Transfer(0x0, teamInvestors, trioPartYear);
    }


   /**
    *   @dev Get balance of investor
    *   @param _owner        investor's address
    *   @return              balance of investor
    */
    function balanceOf(address _owner) public constant returns(uint256) {
      return balances[_owner];
    }

   /**
    *   @return true if the transfer was successful
    */
    function transfer(address _to, uint256 _amount) public returns(bool) {
        if(msg.sender == _to) {return POSMint();}
        balances[msg.sender] = balances[msg.sender].sub(_amount);
        balances[_to] = balances[_to].add(_amount);
        emit Transfer(msg.sender, _to, _amount);
        if(transferSt[msg.sender].length > 0) {delete transferSt[msg.sender];}
        uint64 _now = uint64(now);
        transferSt[msg.sender].push(transferStruct(uint128(balances[msg.sender]),_now));
        transferSt[_to].push(transferStruct(uint128(_amount),_now));
        return true;
    }

   /**
    *   @return true if the transfer was successful
    */
    function transferFrom(address _from, address _to, uint256 _amount) public returns(bool) {
        require(_amount <= allowed[_from][msg.sender]);
        require(_amount <= balances[_from]);
        balances[_from] = balances[_from].sub(_amount);
        allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_amount);
        balances[_to] = balances[_to].add(_amount);
        emit Transfer(_from, _to, _amount);
        if(transferSt[_from].length > 0) {delete transferSt[_from];}
        uint64 _now = uint64(now);
        transferSt[_from].push(transferStruct(uint128(balances[_from]),_now));
        transferSt[_to].push(transferStruct(uint128(_amount),_now));
        return true;
    }
    
    
    function POSMint() internal returns (bool) {
        require(now > (timeStamp + minimumAge));
        if(balances[msg.sender] <= 0) {return false;}
        if(transferSt[msg.sender].length <= 0) {return false;}

        uint256 _now = now;
        uint256 _year = getYear();
        uint256 _phase = getPhase(_year);
        uint256 _coinsAmount = getCoinsAmount(msg.sender, _now);
        if(_coinsAmount <= 0) {return false;}
        uint256 _coinsPrice = getCoinPrice(_year, _phase);
        if(_coinsPrice <= 0) {return false;}
        uint256 reward = (_coinsAmount.mul(_coinsPrice)).div(100000);
        if(reward <= 0) {return false;}
        if(reward > 0) {require(minted.add(reward) <= totalSupply);}
        minted = minted.add(reward);
        balances[msg.sender] = balances[msg.sender].add(reward);
        delete transferSt[msg.sender];
        transferSt[msg.sender].push(transferStruct(uint128(balances[msg.sender]),uint64(now)));

        emit Transfer(0x0, msg.sender, reward);
        return true;
    }
    
    
    function getCoinsAmount(address _address, uint _now) internal view returns (uint256) {
        if(transferSt[_address].length <= 0) {return 0;}
        uint256 Coins = 0;
        for (uint256 i = 0; i < transferSt[_address].length; i++){
            if( _now < uint(transferSt[_address][i].time).add(minimumAge) ) {return Coins;}
            Coins = Coins.add(uint256(transferSt[_address][i].amount));
        }
        return Coins;
    }
    
    
    function getYear() internal view returns (uint256) {
        require(timeStamp > 0);
        for(uint256 i = 0; i <= 99; i++) {
        if(now >= ((timeStamp + minimumAge).add((i.mul(oneYear)))) && now < ((timeStamp + minimumAge).add(((i+1).mul(oneYear))))) {
            return (i);    // how many years gone
            }
        }
        if(now >= ((timeStamp + minimumAge).add((oneYear.mul(100))))) {return (100);}
    
    }


    function getPhase(uint256 _x) internal pure returns (uint256) {
        require(_x >= 0);
        if(_x >= 0 && _x < 3) {return 1;}
        if(_x >= 3 && _x < 6) {return 2;}
        if(_x >= 6 && _x < 9) {return 3;}
        if(_x >= 9 && _x < 12) {return 4;}
        if(_x >= 12) {return 5;}        // last phase which include 18*3 years
    
    }
    
    
    function getMonthLimit(uint256 _x) internal pure returns (uint256) {
        require(_x > 0 && _x <=5);
        if(_x == 1) {return (2220000 * 1e18);} //limit in month in this phase for all
        if(_x == 2) {return (1480000 * 1e18);}
        if(_x == 3) {return (740000 * 1e18);}
        if(_x == 4) {return (370000 * 1e18);}
        if(_x == 5) {return (185000 * 1e18);}
    }
    
 

    
    function getCoinPrice(uint256 _year, uint256 _phase) internal returns (uint256) {
    require(_year >= 0);
    uint256 _monthLimit = getMonthLimit(_phase);
    uint256 _sumToAdd = _year.mul(oneYear);
    uint256 _monthInYear = _year.mul(12);

    for(uint256 i = 0; i <= 11; i++) {
    if(now >= (timeStamp + minimumAge).add(_sumToAdd).add(minimumAge.mul(i)) && now < (timeStamp + minimumAge).add(_sumToAdd).add(minimumAge.mul(i+1))) {
        uint256 _num = _monthInYear.add(i);
        if(priceChecker[_num] != true) {
            coinPriceNow[_num] = minted;
            priceChecker[_num] = true;
            return (_monthLimit.mul(100000)).div(minted);} 
        if(priceChecker[_num] == true) {
            return (_monthLimit.mul(100000)).div(coinPriceNow[_num]);}
    }
    }
}

   /**
    *   @dev Allows another account/contract to spend some tokens on its behalf
    * approve has to be called twice in 2 separate transactions - once to
    *   change the allowance to 0 and secondly to change it to the new allowance value
    *   @param _spender      approved address
    *   @param _amount       allowance amount
    *
    *   @return true if the approval was successful
    */
    function approve(address _spender, uint256 _amount) public returns(bool) {
        require((_amount == 0) || (allowed[msg.sender][_spender] == 0));
        allowed[msg.sender][_spender] = _amount;
        emit Approval(msg.sender, _spender, _amount);
        return true;
    }

   /**
    *   @dev Function to check the amount of tokens that an owner allowed to a spender.
    *
    *   @param _owner        the address which owns the funds
    *   @param _spender      the address which will spend the funds
    *
    *   @return              the amount of tokens still avaible for the spender
    */
    function allowance(address _owner, address _spender) public constant returns(uint256) {
        return allowed[_owner][_spender];
    }
}


contract WbcICO {
    using SafeMath for uint256;
    
    address public CSN; //
    address public FilmCompany; //
    address public Investors; //
    address public Fund;
    address public Manager; // Manager controls contract
    address public Reserve;
    address internal addressCompanion1;
    address internal addressCompanion2;

    WbcToken public WBC;
    
    mapping(address => bool) public kyc;  // investor identification status
    
    // Possible ICO statuses
    enum StatusICO {
        Created,
        Ico,
        IcoFinished
    }
    
    StatusICO statusICO;
    
    
    /**
    *   @dev Contract constructor function
    */
    constructor (
        address _CSN,
        address _FilmCompany,
        address _Investors,
        address _Fund,
        address _Manager,
        address _Reserve
    )
        public {
        CSN = _CSN;
        FilmCompany = _FilmCompany;
        Investors = _Investors;
        Fund = _Fund;
        Manager = _Manager;
        Reserve = _Reserve;
        statusICO = StatusICO.Created;
        WBC = new WbcToken(this, _CSN, _FilmCompany, _Investors, _Fund, _Manager, _Reserve);
    }
    
 
    

    // Token price parameters
    uint256 public Rate_Eth = 700; // Rate USD per ETH
    uint256 internal Tokens_Per_Dollar = 77; // WBC token per dollar multiplied on 10
    uint256 internal Token_Price_For_Ten_Ether = Tokens_Per_Dollar.mul(Rate_Eth); // WBC token per ETH
    uint256 constant trioPartIco = 5920000 * 1e18; //0.6% of tokens for CrowdSale, Film Comany and Investors
    uint256 constant reservePart = 17760000 * 1e18; //2% or 17mln and 760k  for reserve fund
    uint256 constant MAX_TO_SOLD = 88800000 * 1e18; // tokens for sale in ICO
    uint256 public soldTotal;  // total sold




    // Events Log

    event LogStartIco();
    event LogFinishICO();
    event LogBuyForInvestor(address investor, uint256 value);


    // Modifiers
    // Allows execution by the contract manager only
    modifier managerOnly {
        require(msg.sender == Manager);
        _;
    }
    
    // Allows execution by the companions only
    modifier companionsOnly {
        require(msg.sender == CSN || msg.sender == FilmCompany);
        _;
    }

    
    
    function currentStage() public view returns (string) {
        if(statusICO == StatusICO.Created){return "Created";}
        else if(statusICO == StatusICO.Ico){return "Ico";}
        else if(statusICO == StatusICO.IcoFinished){return "IcoFinished";}
    }

   /**
    *   @dev Set rate of ETH and update token price
    *   @param _RateEth       current ETH rate
    */
    function setRate(uint256 _RateEth) external managerOnly {
        Rate_Eth = _RateEth;
        Token_Price_For_Ten_Ether = Tokens_Per_Dollar.mul(_RateEth);
    }
    
    
    // passing KYC for investor
    function passKYC(address _investor) external managerOnly {
        kyc[_investor] = true;
    }



   /**
    *   @dev Start ICO
    *   Set ICO status
    */
    
    function startIco() external managerOnly {
        require(statusICO == StatusICO.Created);
        WBC.mintTokens(CSN, trioPartIco);
        WBC.mintTokens(FilmCompany, trioPartIco);
        WBC.mintTokens(Investors, trioPartIco);
        WBC.mintTokens(Reserve, reservePart);
        statusICO = StatusICO.Ico;
        emit LogStartIco();
    }


   /**
    *   @dev Finish ICO and emit tokens for bounty advisors and team
    */
    function finishIco() external managerOnly {
        require(statusICO == StatusICO.Ico);
        statusICO = StatusICO.IcoFinished;
        WBC.doTimeStamp(now);
        emit LogFinishICO();
    }




   /**
    *   @dev Fallback function calls function to create tokens
    *        when investor sends ETH to address of ICO contract
    */
    function() external payable {
        require(msg.value > 0);
        require(kyc[msg.sender]);
        createTokens(msg.sender, (msg.value.mul(Token_Price_For_Ten_Ether)).div(10)); // divide by 10 because multiplied "Per Dollar" on 10
    }
    
   
    
    function buyToken() external payable {
        require(msg.value > 0);
        require(kyc[msg.sender]);
        createTokens(msg.sender, (msg.value.mul(Token_Price_For_Ten_Ether)).div(10)); // divide by 10 because multiplied "Per Dollar" on 10
    }
    
    


    function buyForInvestor(address _investor, uint256 _value) external managerOnly {
        uint256 decvalue = _value.mul(1 ether);
        require(_value > 0);
        require(kyc[_investor]);
        require(statusICO != StatusICO.IcoFinished);
        require(statusICO != StatusICO.Created);
        require(soldTotal.add(decvalue) <= MAX_TO_SOLD);
        WBC.mintTokens(_investor, decvalue);
        soldTotal = soldTotal.add(decvalue);
        emit LogBuyForInvestor(_investor, _value);
    }
    


    function createTokens(address _investor, uint256 _value) internal {
        require(_value > 0);
        require(soldTotal.add(_value) <= MAX_TO_SOLD);
        require(statusICO != StatusICO.IcoFinished);
        require(statusICO != StatusICO.Created);
        WBC.mintTokens(_investor, _value);
        soldTotal = soldTotal.add(_value);
    }
    
    
    /**
    *   @dev Allows Companions to add consensus address
    */
    function consensusAddress(address _investor) external companionsOnly {
        require(CSN != 0x0 && FilmCompany != 0x0);
        if(msg.sender == CSN) {
            addressCompanion1 = _investor;
        } else {
            addressCompanion2 = _investor;
        }
    }



   /**
    *   @dev Allows Companions withdraw investments
    */
    function takeInvestments() external companionsOnly {
        require(addressCompanion1 != 0x0 && addressCompanion2 != 0x0);
        require(addressCompanion1 == addressCompanion2);

        addressCompanion1.transfer(address(this).balance);
        
        }
        
    }


// gexabyte.com

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"kyc","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_RateEth","type":"uint256"}],"name":"setRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"WBC","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_investor","type":"address"}],"name":"consensusAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"currentStage","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"Fund","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"Manager","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"Investors","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"startIco","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"buyToken","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"CSN","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"soldTotal","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_investor","type":"address"},{"name":"_value","type":"uint256"}],"name":"buyForInvestor","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"takeInvestments","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"Reserve","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"Rate_Eth","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"FilmCompany","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_investor","type":"address"}],"name":"passKYC","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"finishIco","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_CSN","type":"address"},{"name":"_FilmCompany","type":"address"},{"name":"_Investors","type":"address"},{"name":"_Fund","type":"address"},{"name":"_Manager","type":"address"},{"name":"_Reserve","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[],"name":"LogStartIco","type":"event"},{"anonymous":false,"inputs":[],"name":"LogFinishICO","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"investor","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"LogBuyForInvestor","type":"event"}]

60806040526102bc600b55604d600c5562000036600b54600c54620004296401000000000262000692179091906401000000009004565b600d553480156200004657600080fd5b5060405160c08062005bcb833981018060405281019080805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190505050856000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555084600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600a60006101000a81548160ff021916908360028111156200024157fe5b021790555030868686868686620002576200045f565b808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001975050505050505050604051809103906000f080158015620003dc573d6000803e3d6000fd5b50600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050505062000470565b600080828402905060008414806200044c57508284828115156200044957fe5b04145b15156200045557fe5b8091505092915050565b604051613c388062001f9383390190565b611b1380620004806000396000f300608060405260043610610107576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680632e0474ed146101a157806334fcf437146101fc5780633a8994481461022957806348d5a5c0146102805780635bf5d54c146102c35780636ce1417e1461035357806378357e53146103aa578063879bfa271461040157806389311e6f14610458578063a48217191461046f578063b27ffbf214610479578063baa9da15146104d0578063ca0c74be146104fb578063cd0643ee14610548578063cda95d801461055f578063e0d1ba52146105b6578063e42713e4146105e1578063eb93102414610638578063ec42f82f1461067b575b60003411151561011657600080fd5b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561016e57600080fd5b61019f3361019a600a61018c600d543461069290919063ffffffff16565b6106c590919063ffffffff16565b610706565b005b3480156101ad57600080fd5b506101e2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108a8565b604051808215151515815260200191505060405180910390f35b34801561020857600080fd5b50610227600480360381019080803590602001909291905050506108c8565b005b34801561023557600080fd5b5061023e610949565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561028c57600080fd5b506102c1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061096f565b005b3480156102cf57600080fd5b506102d8610b8e565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103185780820151818401526020810190506102fd565b50505050905090810190601f1680156103455780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561035f57600080fd5b50610368610cd4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103b657600080fd5b506103bf610cfa565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561040d57600080fd5b50610416610d20565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561046457600080fd5b5061046d610d46565b005b61047761124f565b005b34801561048557600080fd5b5061048e6112e9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156104dc57600080fd5b506104e561130e565b6040518082815260200191505060405180910390f35b34801561050757600080fd5b50610546600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611314565b005b34801561055457600080fd5b5061055d6115f5565b005b34801561056b57600080fd5b50610574611835565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105c257600080fd5b506105cb61185b565b6040518082815260200191505060405180910390f35b3480156105ed57600080fd5b506105f6611861565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561064457600080fd5b50610679600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611887565b005b34801561068757600080fd5b5061069061193e565b005b600080828402905060008414806106b357508284828115156106b057fe5b04145b15156106bb57fe5b8091505092915050565b6000806000831115156106d457fe5b82848115156106df57fe5b04905082848115156106ed57fe5b0681840201841415156106fc57fe5b8091505092915050565b60008111151561071557600080fd5b6a497421a5557c070c00000061073682600e54611ac990919063ffffffff16565b1115151561074357600080fd5b60028081111561074f57fe5b600a60009054906101000a900460ff16600281111561076a57fe5b1415151561077757600080fd5b6000600281111561078457fe5b600a60009054906101000a900460ff16600281111561079f57fe5b141515156107ac57600080fd5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f0dda65c83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561087157600080fd5b505af1158015610885573d6000803e3d6000fd5b5050505061089e81600e54611ac990919063ffffffff16565b600e819055505050565b60096020528060005260406000206000915054906101000a900460ff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561092457600080fd5b80600b8190555061094081600c5461069290919063ffffffff16565b600d8190555050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610a175750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515610a2257600080fd5b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614158015610aa357506000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b1515610aae57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415610b495780600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610b8b565b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b606060006002811115610b9d57fe5b600a60009054906101000a900460ff166002811115610bb857fe5b1415610bfb576040805190810160405280600781526020017f43726561746564000000000000000000000000000000000000000000000000008152509050610cd1565b60016002811115610c0857fe5b600a60009054906101000a900460ff166002811115610c2357fe5b1415610c66576040805190810160405280600381526020017f49636f00000000000000000000000000000000000000000000000000000000008152509050610cd1565b600280811115610c7257fe5b600a60009054906101000a900460ff166002811115610c8d57fe5b1415610cd0576040805190810160405280600b81526020017f49636f46696e69736865640000000000000000000000000000000000000000008152509050610cd1565b5b90565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610da257600080fd5b60006002811115610daf57fe5b600a60009054906101000a900460ff166002811115610dca57fe5b141515610dd657600080fd5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f0dda65c6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff166a04e59bd7d27fbc340000006040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015610ec757600080fd5b505af1158015610edb573d6000803e3d6000fd5b50505050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f0dda65c600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166a04e59bd7d27fbc340000006040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015610fd157600080fd5b505af1158015610fe5573d6000803e3d6000fd5b50505050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f0dda65c600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166a04e59bd7d27fbc340000006040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b1580156110db57600080fd5b505af11580156110ef573d6000803e3d6000fd5b50505050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f0dda65c600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166a0eb0d387777f349c0000006040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b1580156111e557600080fd5b505af11580156111f9573d6000803e3d6000fd5b505050506001600a60006101000a81548160ff0219169083600281111561121c57fe5b02179055507f397fcb1580ac3ebe35792e3c95e73d4d9883b07cfdd1a9f5bf1048560fedeccb60405160405180910390a1565b60003411151561125e57600080fd5b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156112b657600080fd5b6112e7336112e2600a6112d4600d543461069290919063ffffffff16565b6106c590919063ffffffff16565b610706565b565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600e5481565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561137257600080fd5b61138d670de0b6b3a76400008361069290919063ffffffff16565b905060008211151561139e57600080fd5b600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156113f657600080fd5b60028081111561140257fe5b600a60009054906101000a900460ff16600281111561141d57fe5b1415151561142a57600080fd5b6000600281111561143757fe5b600a60009054906101000a900460ff16600281111561145257fe5b1415151561145f57600080fd5b6a497421a5557c070c00000061148082600e54611ac990919063ffffffff16565b1115151561148d57600080fd5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f0dda65c84836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561155257600080fd5b505af1158015611566573d6000803e3d6000fd5b5050505061157f81600e54611ac990919063ffffffff16565b600e819055507fcffc74f1caef052283cb6bc7c039efe8e6f2412afcf0a2e987111e6956debf5c8383604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a1505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061169d5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156116a857600080fd5b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415801561172a57506000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b151561173557600080fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156117b357600080fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050158015611832573d6000803e3d6000fd5b50565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b5481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156118e357600080fd5b6001600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561199a57600080fd5b600160028111156119a757fe5b600a60009054906101000a900460ff1660028111156119c257fe5b1415156119ce57600080fd5b6002600a60006101000a81548160ff021916908360028111156119ed57fe5b0217905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636da7027c426040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b158015611a8357600080fd5b505af1158015611a97573d6000803e3d6000fd5b505050507f94b829fc94722aadef185d94a750450dff7721fdf4495a9da0f258de6d33fc9c60405160405180910390a1565b6000808284019050838110151515611add57fe5b80915050929150505600a165627a7a7230582096b26f0b66f4a1889641a48fbf90815247b45f9f7717302bf1c67d65f8b97aa3002960806040526040805190810160405280600b81526020017f5768697a42697a436f696e000000000000000000000000000000000000000000815250600290805190602001906200005192919062000300565b506040805190810160405280600281526020017f5742000000000000000000000000000000000000000000000000000000000000815250600390805190602001906200009f92919062000300565b5060126004556b02de89507556d8467800000060055560006006556000600755348015620000cc57600080fd5b5060405160e08062003c388339810180604052810190808051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919050505086601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555085600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555084600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050505050620003af565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200034357805160ff191683800117855562000374565b8280016001018555821562000374579182015b828111156200037357825182559160200191906001019062000356565b5b50905062000383919062000387565b5090565b620003ac91905b80821115620003a85760008160009055506001016200038e565b5090565b90565b61387980620003bf6000396000f300608060405260043610610127576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680623777631461012c57806306fdde0314610183578063095ea7b3146102135780630ab0df87146102785780630d0e7117146102a357806318160ddd146102ba57806323b872dd146102e5578063313ce5671461036a578063481c6a75146103955780634a4a53f8146103ec5780634f02c420146104435780634f99e5241461046e5780635495699f146104c55780636da7027c1461051c57806370a08231146105495780638da5cb5b146105a05780639465a9a9146105f757806395d89b411461060e578063a9059cbb1461069e578063b7f92b7114610703578063dd62ed3e1461075a578063f0dda65c146107d1575b600080fd5b34801561013857600080fd5b5061014161081e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561018f57600080fd5b50610198610844565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101d85780820151818401526020810190506101bd565b50505050905090810190601f1680156102055780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561021f57600080fd5b5061025e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108e2565b604051808215151515815260200191505060405180910390f35b34801561028457600080fd5b5061028d610a69565b6040518082815260200191505060405180910390f35b3480156102af57600080fd5b506102b8610a6f565b005b3480156102c657600080fd5b506102cf610d4d565b6040518082815260200191505060405180910390f35b3480156102f157600080fd5b50610350600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d53565b604051808215151515815260200191505060405180910390f35b34801561037657600080fd5b5061037f6113bc565b6040518082815260200191505060405180910390f35b3480156103a157600080fd5b506103aa6113c2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103f857600080fd5b506104016113e8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561044f57600080fd5b5061045861140e565b6040518082815260200191505060405180910390f35b34801561047a57600080fd5b50610483611414565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156104d157600080fd5b506104da61143a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561052857600080fd5b5061054760048036038101908080359060200190929190505050611460565b005b34801561055557600080fd5b5061058a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506114c6565b6040518082815260200191505060405180910390f35b3480156105ac57600080fd5b506105b561150e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561060357600080fd5b5061060c611534565b005b34801561061a57600080fd5b50610623611879565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610663578082015181840152602081019050610648565b50505050905090810190601f1680156106905780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156106aa57600080fd5b506106e9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611917565b604051808215151515815260200191505060405180910390f35b34801561070f57600080fd5b50610718611ddc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561076657600080fd5b506107bb600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e02565b6040518082815260200191505060405180910390f35b3480156107dd57600080fd5b5061081c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611e89565b005b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108da5780601f106108af576101008083540402835291602001916108da565b820191906000526020600020905b8154815290600101906020018083116108bd57829003601f168201915b505050505081565b60008082148061096e57506000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b151561097957600080fd5b81600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60065481565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610acb57600080fd5b6301da9c006006540142111515610ae157600080fd5b6301da9c006006540142118015610b0057506303b53800600654014211155b15610b485760011515600e6000600160ff16815260200190815260200160002060009054906101000a900460ff16151514151515610b3d57600080fd5b610b476001612123565b5b6303b538006006540142118015610b67575063058fd400600654014211155b15610baf5760011515600e6000600260ff16815260200190815260200160002060009054906101000a900460ff16151514151515610ba457600080fd5b610bae6002612123565b5b63058fd4006006540142118015610bce575063076a7000600654014211155b15610c165760011515600e6000600360ff16815260200190815260200160002060009054906101000a900460ff16151514151515610c0b57600080fd5b610c156003612123565b5b63076a70006006540142118015610c3557506309450c00600654014211155b15610c7d5760011515600e6000600460ff16815260200190815260200160002060009054906101000a900460ff16151514151515610c7257600080fd5b610c7c6004612123565b5b6309450c006006540142118015610c9c5750630b1fa800600654014211155b15610ce45760011515600e6000600560ff16815260200190815260200160002060009054906101000a900460ff16151514151515610cd957600080fd5b610ce36005612123565b5b630b1fa8006006540142118015610d035750630cfa4400600654014211155b15610d4b5760011515600e6000600660ff16815260200190815260200160002060009054906101000a900460ff16151514151515610d4057600080fd5b610d4a6006612123565b5b565b60055481565b600080600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548311151515610de157600080fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548311151515610e2e57600080fd5b610e7f836000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461296f90919063ffffffff16565b6000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f5083600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461296f90919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611021836000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461298890919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a36000601160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050111561115f57601160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061115e91906137cf565b5b429050601160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060408051908101604052806000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546fffffffffffffffffffffffffffffffff1681526020018367ffffffffffffffff1681525090806001815401808255809150509060018203906000526020600020016000909192909190915060008201518160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060208201518160000160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505050601160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040805190810160405280856fffffffffffffffffffffffffffffffff1681526020018367ffffffffffffffff1681525090806001815401808255809150509060018203906000526020600020016000909192909190915060008201518160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060208201518160000160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555050505060019150509392505050565b60045481565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60075481565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156114bc57600080fd5b8060068190555050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561159057600080fd5b6301da9c0060065401421115156115a657600080fd5b6301da9c0060065401421180156115c557506303b53800600654014211155b1561160d5760011515600f6000600160ff16815260200190815260200160002060009054906101000a900460ff1615151415151561160257600080fd5b61160c60016129a6565b5b6303b53800600654014211801561162c575063058fd400600654014211155b156116745760011515600f6000600260ff16815260200190815260200160002060009054906101000a900460ff1615151415151561166957600080fd5b61167360026129a6565b5b63058fd4006006540142118015611693575063076a7000600654014211155b156116db5760011515600f6000600360ff16815260200190815260200160002060009054906101000a900460ff161515141515156116d057600080fd5b6116da60036129a6565b5b63076a700060065401421180156116fa57506309450c00600654014211155b156117425760011515600f6000600460ff16815260200190815260200160002060009054906101000a900460ff1615151415151561173757600080fd5b61174160046129a6565b5b6309450c0060065401421180156117615750630b1fa800600654014211155b156117a95760011515600f6000600560ff16815260200190815260200160002060009054906101000a900460ff1615151415151561179e57600080fd5b6117a860056129a6565b5b630b1fa80060065401421180156117c85750630cfa4400600654014211155b156118105760011515600f6000600660ff16815260200190815260200160002060009054906101000a900460ff1615151415151561180557600080fd5b61180f60066129a6565b5b630cfa4400600654014211801561182f5750630ed4e000600654014211155b156118775760011515600f6000600760ff16815260200190815260200160002060009054906101000a900460ff1615151415151561186c57600080fd5b61187660076129a6565b5b565b60038054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561190f5780601f106118e45761010080835404028352916020019161190f565b820191906000526020600020905b8154815290600101906020018083116118f257829003601f168201915b505050505081565b6000808373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561195d57611956612cb7565b9150611dd5565b6119ae836000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461296f90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a41836000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461298890919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a36000601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490501115611b7f57601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000611b7e91906137cf565b5b429050601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060408051908101604052806000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546fffffffffffffffffffffffffffffffff1681526020018367ffffffffffffffff1681525090806001815401808255809150509060018203906000526020600020016000909192909190915060008201518160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060208201518160000160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505050601160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040805190810160405280856fffffffffffffffffffffffffffffffff1681526020018367ffffffffffffffff1681525090806001815401808255809150509060018203906000526020600020016000909192909190915060008201518160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060208201518160000160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505050600191505b5092915050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611ee557600080fd5b600081111515611ef457600080fd5b600554611f0c8260075461298890919063ffffffff16565b11151515611f1957600080fd5b611f6a816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461298890919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611fc18160075461298890919063ffffffff16565b600781905550601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040805190810160405280836fffffffffffffffffffffffffffffffff1681526020014267ffffffffffffffff1681525090806001815401808255809150509060018203906000526020600020016000909192909190915060008201518160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060208201518160000160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505050508173ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b60008160ff1611801561213a575060068160ff1611155b151561214557600080fd5b6121c36a075869c3bbbf9a4e000000600080600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461298890919063ffffffff16565b600080600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506122a56a075869c3bbbf9a4e000000600080600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461298890919063ffffffff16565b600080600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506123876a075869c3bbbf9a4e000000600080600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461298890919063ffffffff16565b600080600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600e60008360ff1660ff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061245061243f60036a075869c3bbbf9a4e0000006130dc90919063ffffffff16565b60075461298890919063ffffffff16565b60078190555060116000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060408051908101604052806a075869c3bbbf9a4e0000006fffffffffffffffffffffffffffffffff1681526020014267ffffffffffffffff1681525090806001815401808255809150509060018203906000526020600020016000909192909190915060008201518160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060208201518160000160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555050505060116000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060408051908101604052806a075869c3bbbf9a4e0000006fffffffffffffffffffffffffffffffff1681526020014267ffffffffffffffff1681525090806001815401808255809150509060018203906000526020600020016000909192909190915060008201518160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060208201518160000160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555050505060116000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060408051908101604052806a075869c3bbbf9a4e0000006fffffffffffffffffffffffffffffffff1681526020014267ffffffffffffffff1681525090806001815401808255809150509060018203906000526020600020016000909192909190915060008201518160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060208201518160000160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6a075869c3bbbf9a4e0000006040518082815260200191505060405180910390a3600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6a075869c3bbbf9a4e0000006040518082815260200191505060405180910390a3600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6a075869c3bbbf9a4e0000006040518082815260200191505060405180910390a350565b600082821115151561297d57fe5b818303905092915050565b600080828401905083811015151561299c57fe5b8091505092915050565b60008160ff161180156129bd575060078160ff1611155b15156129c857600080fd5b612a466a24ba10d2aabe0386000000600080600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461298890919063ffffffff16565b600080600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600f60008360ff1660ff16815260200190815260200160002060006101000a81548160ff021916908315150217905550612afc6a24ba10d2aabe038600000060075461298890919063ffffffff16565b60078190555060116000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060408051908101604052806a24ba10d2aabe03860000006fffffffffffffffffffffffffffffffff1681526020014267ffffffffffffffff1681525090806001815401808255809150509060018203906000526020600020016000909192909190915060008201518160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060208201518160000160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6a24ba10d2aabe03860000006040518082815260200191505060405180910390a350565b600080600080600080600062278d006006540142111515612cd757600080fd5b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111515612d2857600096506130d3565b6000601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050111515612d7d57600096506130d3565b429550612d8861310f565b9450612d9385613203565b9350612d9f33876132a9565b9250600083111515612db457600096506130d3565b612dbe85856134a6565b9150600082111515612dd357600096506130d3565b612dfb620186a0612ded84866130dc90919063ffffffff16565b6136e290919063ffffffff16565b9050600081111515612e1057600096506130d3565b6000811115612e3f57600554612e318260075461298890919063ffffffff16565b11151515612e3e57600080fd5b5b612e548160075461298890919063ffffffff16565b600781905550612eab816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461298890919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000612f3891906137cf565b601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060408051908101604052806000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546fffffffffffffffffffffffffffffffff1681526020014267ffffffffffffffff1681525090806001815401808255809150509060018203906000526020600020016000909192909190915060008201518160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060208201518160000160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505050503373ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3600196505b50505050505090565b600080828402905060008414806130fd57508284828115156130fa57fe5b04145b151561310557fe5b8091505092915050565b600080600060065411151561312357600080fd5b600090505b6063811115156131bc5761316261314c6301da9c00836130dc90919063ffffffff16565b62278d006006540161298890919063ffffffff16565b42101580156131a2575061319f6131896301da9c00600184016130dc90919063ffffffff16565b62278d006006540161298890919063ffffffff16565b42105b156131af578091506131ff565b8080600101915050613128565b6131ed6131d760646301da9c006130dc90919063ffffffff16565b62278d006006540161298890919063ffffffff16565b421015156131fe57606491506131ff565b5b5090565b600080821015151561321457600080fd5b600082101580156132255750600382105b1561323357600190506132a4565b600382101580156132445750600682105b1561325257600290506132a4565b600682101580156132635750600982105b1561327157600390506132a4565b600982101580156132825750600c82105b1561329057600490506132a4565b600c821015156132a357600590506132a4565b5b919050565b600080600080601160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050111515613302576000925061349e565b60009150600090505b601160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905081101561349a576133e262278d00601160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020838154811015156133a857fe5b9060005260206000200160000160109054906101000a900467ffffffffffffffff1667ffffffffffffffff1661298890919063ffffffff16565b8410156133f15781925061349e565b61348b601160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110151561344057fe5b9060005260206000200160000160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168361298890919063ffffffff16565b9150808060010191505061330b565b8192505b505092915050565b600080600080600080600088101515156134bf57600080fd5b6134c887613723565b94506134e16301da9c00896130dc90919063ffffffff16565b93506134f7600c896130dc90919063ffffffff16565b9250600091505b600b821115156136d6576135496135218362278d006130dc90919063ffffffff16565b61353b8662278d006006540161298890919063ffffffff16565b61298890919063ffffffff16565b421015801561359a575061359761356f6001840162278d006130dc90919063ffffffff16565b6135898662278d006006540161298890919063ffffffff16565b61298890919063ffffffff16565b42105b156136c9576135b2828461298890919063ffffffff16565b9050600115156010600083815260200190815260200160002060009054906101000a900460ff16151514151561365957600754601260008381526020019081526020016000208190555060016010600083815260200190815260200160002060006101000a81548160ff021916908315150217905550613652600754613644620186a0886130dc90919063ffffffff16565b6136e290919063ffffffff16565b95506136d7565b600115156010600083815260200190815260200160002060009054906101000a900460ff16151514156136c8576136c160126000838152602001908152602001600020546136b3620186a0886130dc90919063ffffffff16565b6136e290919063ffffffff16565b95506136d7565b5b81806001019250506134fe565b5b505050505092915050565b6000806000831115156136f157fe5b82848115156136fc57fe5b049050828481151561370a57fe5b06818402018414151561371957fe5b8091505092915050565b60008082118015613735575060058211155b151561374057600080fd5b600182141561375c576a01d61a70eeefe69380000090506137ca565b6002821415613778576a013966f5f49fef0d00000090506137ca565b600382141561379357699cb37afa4ff78680000090506137ca565b60048214156137ae57694e59bd7d27fbc340000090506137ca565b60058214156137c95769272cdebe93fde1a0000090506137ca565b5b919050565b50805460008255906000526020600020908101906137ed91906137f0565b50565b61384a91905b8082111561384657600080820160006101000a8154906fffffffffffffffffffffffffffffffff02191690556000820160106101000a81549067ffffffffffffffff0219169055506001016137f6565b5090565b905600a165627a7a72305820f680cf848876aed58d8d97fdaef7c5ea3a118b4842a4fd4c67cf1aea366af0a50029000000000000000000000000199f395944e8e9f1cb88ab256d7795fb9acd6b320000000000000000000000005b9364643bd8529e6f542ae9480d7889770e48640000000000000000000000008d20baefc893495696230a091789b13af3ca4a330000000000000000000000000dcf8b982a286873ecc27987a3198bb521a8ef06000000000000000000000000a3a106f1d081f5b9fc0b2a1b46613f55ea308cdc0000000000000000000000005f9100aa68836dd4979b4b2ef94e8e1d8546380b

Deployed Bytecode

0x608060405260043610610107576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680632e0474ed146101a157806334fcf437146101fc5780633a8994481461022957806348d5a5c0146102805780635bf5d54c146102c35780636ce1417e1461035357806378357e53146103aa578063879bfa271461040157806389311e6f14610458578063a48217191461046f578063b27ffbf214610479578063baa9da15146104d0578063ca0c74be146104fb578063cd0643ee14610548578063cda95d801461055f578063e0d1ba52146105b6578063e42713e4146105e1578063eb93102414610638578063ec42f82f1461067b575b60003411151561011657600080fd5b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561016e57600080fd5b61019f3361019a600a61018c600d543461069290919063ffffffff16565b6106c590919063ffffffff16565b610706565b005b3480156101ad57600080fd5b506101e2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108a8565b604051808215151515815260200191505060405180910390f35b34801561020857600080fd5b50610227600480360381019080803590602001909291905050506108c8565b005b34801561023557600080fd5b5061023e610949565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561028c57600080fd5b506102c1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061096f565b005b3480156102cf57600080fd5b506102d8610b8e565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103185780820151818401526020810190506102fd565b50505050905090810190601f1680156103455780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561035f57600080fd5b50610368610cd4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103b657600080fd5b506103bf610cfa565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561040d57600080fd5b50610416610d20565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561046457600080fd5b5061046d610d46565b005b61047761124f565b005b34801561048557600080fd5b5061048e6112e9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156104dc57600080fd5b506104e561130e565b6040518082815260200191505060405180910390f35b34801561050757600080fd5b50610546600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611314565b005b34801561055457600080fd5b5061055d6115f5565b005b34801561056b57600080fd5b50610574611835565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105c257600080fd5b506105cb61185b565b6040518082815260200191505060405180910390f35b3480156105ed57600080fd5b506105f6611861565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561064457600080fd5b50610679600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611887565b005b34801561068757600080fd5b5061069061193e565b005b600080828402905060008414806106b357508284828115156106b057fe5b04145b15156106bb57fe5b8091505092915050565b6000806000831115156106d457fe5b82848115156106df57fe5b04905082848115156106ed57fe5b0681840201841415156106fc57fe5b8091505092915050565b60008111151561071557600080fd5b6a497421a5557c070c00000061073682600e54611ac990919063ffffffff16565b1115151561074357600080fd5b60028081111561074f57fe5b600a60009054906101000a900460ff16600281111561076a57fe5b1415151561077757600080fd5b6000600281111561078457fe5b600a60009054906101000a900460ff16600281111561079f57fe5b141515156107ac57600080fd5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f0dda65c83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561087157600080fd5b505af1158015610885573d6000803e3d6000fd5b5050505061089e81600e54611ac990919063ffffffff16565b600e819055505050565b60096020528060005260406000206000915054906101000a900460ff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561092457600080fd5b80600b8190555061094081600c5461069290919063ffffffff16565b600d8190555050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610a175750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515610a2257600080fd5b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614158015610aa357506000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b1515610aae57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415610b495780600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610b8b565b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b606060006002811115610b9d57fe5b600a60009054906101000a900460ff166002811115610bb857fe5b1415610bfb576040805190810160405280600781526020017f43726561746564000000000000000000000000000000000000000000000000008152509050610cd1565b60016002811115610c0857fe5b600a60009054906101000a900460ff166002811115610c2357fe5b1415610c66576040805190810160405280600381526020017f49636f00000000000000000000000000000000000000000000000000000000008152509050610cd1565b600280811115610c7257fe5b600a60009054906101000a900460ff166002811115610c8d57fe5b1415610cd0576040805190810160405280600b81526020017f49636f46696e69736865640000000000000000000000000000000000000000008152509050610cd1565b5b90565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610da257600080fd5b60006002811115610daf57fe5b600a60009054906101000a900460ff166002811115610dca57fe5b141515610dd657600080fd5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f0dda65c6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff166a04e59bd7d27fbc340000006040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015610ec757600080fd5b505af1158015610edb573d6000803e3d6000fd5b50505050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f0dda65c600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166a04e59bd7d27fbc340000006040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015610fd157600080fd5b505af1158015610fe5573d6000803e3d6000fd5b50505050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f0dda65c600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166a04e59bd7d27fbc340000006040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b1580156110db57600080fd5b505af11580156110ef573d6000803e3d6000fd5b50505050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f0dda65c600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166a0eb0d387777f349c0000006040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b1580156111e557600080fd5b505af11580156111f9573d6000803e3d6000fd5b505050506001600a60006101000a81548160ff0219169083600281111561121c57fe5b02179055507f397fcb1580ac3ebe35792e3c95e73d4d9883b07cfdd1a9f5bf1048560fedeccb60405160405180910390a1565b60003411151561125e57600080fd5b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156112b657600080fd5b6112e7336112e2600a6112d4600d543461069290919063ffffffff16565b6106c590919063ffffffff16565b610706565b565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600e5481565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561137257600080fd5b61138d670de0b6b3a76400008361069290919063ffffffff16565b905060008211151561139e57600080fd5b600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156113f657600080fd5b60028081111561140257fe5b600a60009054906101000a900460ff16600281111561141d57fe5b1415151561142a57600080fd5b6000600281111561143757fe5b600a60009054906101000a900460ff16600281111561145257fe5b1415151561145f57600080fd5b6a497421a5557c070c00000061148082600e54611ac990919063ffffffff16565b1115151561148d57600080fd5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f0dda65c84836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561155257600080fd5b505af1158015611566573d6000803e3d6000fd5b5050505061157f81600e54611ac990919063ffffffff16565b600e819055507fcffc74f1caef052283cb6bc7c039efe8e6f2412afcf0a2e987111e6956debf5c8383604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a1505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061169d5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156116a857600080fd5b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415801561172a57506000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b151561173557600080fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156117b357600080fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050158015611832573d6000803e3d6000fd5b50565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b5481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156118e357600080fd5b6001600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561199a57600080fd5b600160028111156119a757fe5b600a60009054906101000a900460ff1660028111156119c257fe5b1415156119ce57600080fd5b6002600a60006101000a81548160ff021916908360028111156119ed57fe5b0217905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636da7027c426040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b158015611a8357600080fd5b505af1158015611a97573d6000803e3d6000fd5b505050507f94b829fc94722aadef185d94a750450dff7721fdf4495a9da0f258de6d33fc9c60405160405180910390a1565b6000808284019050838110151515611add57fe5b80915050929150505600a165627a7a7230582096b26f0b66f4a1889641a48fbf90815247b45f9f7717302bf1c67d65f8b97aa30029

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

000000000000000000000000199f395944e8e9f1cb88ab256d7795fb9acd6b320000000000000000000000005b9364643bd8529e6f542ae9480d7889770e48640000000000000000000000008d20baefc893495696230a091789b13af3ca4a330000000000000000000000000dcf8b982a286873ecc27987a3198bb521a8ef06000000000000000000000000a3a106f1d081f5b9fc0b2a1b46613f55ea308cdc0000000000000000000000005f9100aa68836dd4979b4b2ef94e8e1d8546380b

-----Decoded View---------------
Arg [0] : _CSN (address): 0x199F395944e8e9F1Cb88AB256d7795FB9acd6b32
Arg [1] : _FilmCompany (address): 0x5B9364643bD8529e6F542aE9480D7889770E4864
Arg [2] : _Investors (address): 0x8D20BAeFC893495696230A091789b13af3Ca4A33
Arg [3] : _Fund (address): 0x0DCf8b982A286873ecc27987a3198BB521A8Ef06
Arg [4] : _Manager (address): 0xA3A106F1D081F5B9fC0b2A1B46613F55eA308cdC
Arg [5] : _Reserve (address): 0x5F9100AA68836DD4979b4B2Ef94e8e1d8546380b

-----Encoded View---------------
6 Constructor Arguments found :
Arg [0] : 000000000000000000000000199f395944e8e9f1cb88ab256d7795fb9acd6b32
Arg [1] : 0000000000000000000000005b9364643bd8529e6f542ae9480d7889770e4864
Arg [2] : 0000000000000000000000008d20baefc893495696230a091789b13af3ca4a33
Arg [3] : 0000000000000000000000000dcf8b982a286873ecc27987a3198bb521a8ef06
Arg [4] : 000000000000000000000000a3a106f1d081f5b9fc0b2a1b46613f55ea308cdc
Arg [5] : 0000000000000000000000005f9100aa68836dd4979b4b2ef94e8e1d8546380b


Swarm Source

bzzr://f680cf848876aed58d8d97fdaef7c5ea3a118b4842a4fd4c67cf1aea366af0a5

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ 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.