ETH Price: $3,591.46 (-2.79%)

Contract

0x35Ea9df0B7E2E450B1D129a6F81276103b84F3dC
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Create Gennezise72254542019-02-15 23:40:412116 days ago1550274041IN
0x35Ea9df0...03b84F3dC
0 ETH0.0002886111
Create Gennezise72254522019-02-15 23:40:122116 days ago1550274012IN
0x35Ea9df0...03b84F3dC
0 ETH0.0002886111
Create Gennezise66609442018-11-07 15:38:002216 days ago1541605080IN
0x35Ea9df0...03b84F3dC
0 ETH0.000130555
Create Gennezise65547102018-10-21 5:53:292234 days ago1540101209IN
0x35Ea9df0...03b84F3dC
0 ETH0.000104694
Create Gennezise65124182018-10-14 8:15:292241 days ago1539504929IN
0x35Ea9df0...03b84F3dC
0 ETH0.0004711318
Create Children65122602018-10-14 7:41:442241 days ago1539502904IN
0x35Ea9df0...03b84F3dC
0.0065013 ETH0.00013085
Create Children65122582018-10-14 7:41:152241 days ago1539502875IN
0x35Ea9df0...03b84F3dC
0.0078 ETH0.000026221
Create Gennezise65118272018-10-14 5:57:022241 days ago1539496622IN
0x35Ea9df0...03b84F3dC
0 ETH0.000107314.1000001
Create Gennezise65118272018-10-14 5:57:022241 days ago1539496622IN
0x35Ea9df0...03b84F3dC
0 ETH0.00011284.31
Create Gennezise65106752018-10-14 1:27:172241 days ago1539480437IN
0x35Ea9df0...03b84F3dC
0 ETH0.000052222
Set Pause Save65097472018-10-13 21:43:302241 days ago1539467010IN
0x35Ea9df0...03b84F3dC
0 ETH0.000128393
Set Pause Save65097312018-10-13 21:39:562241 days ago1539466796IN
0x35Ea9df0...03b84F3dC
0 ETH0.000041693
Set Pause Save65097262018-10-13 21:38:532241 days ago1539466733IN
0x35Ea9df0...03b84F3dC
0 ETH0.000128393
Set Pause Save65097112018-10-13 21:34:272241 days ago1539466467IN
0x35Ea9df0...03b84F3dC
0 ETH0.000055594
Get Money65096772018-10-13 21:24:492241 days ago1539465889IN
0x35Ea9df0...03b84F3dC
0 ETH0.000092983
Set Pause Save65096412018-10-13 21:16:032241 days ago1539465363IN
0x35Ea9df0...03b84F3dC
0 ETH0.000213985
Create Children65092752018-10-13 19:52:022241 days ago1539460322IN
0x35Ea9df0...03b84F3dC
0.00663 ETH0.000787371.8
Create Children65092282018-10-13 19:39:462241 days ago1539459586IN
0x35Ea9df0...03b84F3dC
0.00650001 ETH0.000750762
Create Children65092282018-10-13 19:39:462241 days ago1539459586IN
0x35Ea9df0...03b84F3dC
0.00650101 ETH0.000462141.5
Create Children65091632018-10-13 19:24:152241 days ago1539458655IN
0x35Ea9df0...03b84F3dC
0.00650101 ETH0.000462041.5
Create Children65090812018-10-13 19:03:072241 days ago1539457387IN
0x35Ea9df0...03b84F3dC
0.00650001 ETH0.000462151.5
Create Children65090532018-10-13 18:57:262241 days ago1539457046IN
0x35Ea9df0...03b84F3dC
0.00715 ETH0.000615982.0002
Set Rabbit Sire ...65090282018-10-13 18:49:332241 days ago1539456573IN
0x35Ea9df0...03b84F3dC
0 ETH0.000288553
Create Children65090092018-10-13 18:45:542241 days ago1539456354IN
0x35Ea9df0...03b84F3dC
0.00663 ETH0.000616032.0001
Set Rabbit Sire ...65089552018-10-13 18:33:232241 days ago1539455603IN
0x35Ea9df0...03b84F3dC
0 ETH0.000178742.2
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
65096772018-10-13 21:24:492241 days ago1539465889
0x35Ea9df0...03b84F3dC
0.28924709 ETH
65092752018-10-13 19:52:022241 days ago1539460322
0x35Ea9df0...03b84F3dC
0.000255 ETH
65092752018-10-13 19:52:022241 days ago1539460322
0x35Ea9df0...03b84F3dC
0.0051 ETH
65092752018-10-13 19:52:022241 days ago1539460322
0x35Ea9df0...03b84F3dC
0.0006375 ETH
65092752018-10-13 19:52:022241 days ago1539460322
0x35Ea9df0...03b84F3dC
0.0006375 ETH
65092282018-10-13 19:39:462241 days ago1539459586
0x35Ea9df0...03b84F3dC
0.00025 ETH
65092282018-10-13 19:39:462241 days ago1539459586
0x35Ea9df0...03b84F3dC
0.00500001 ETH
65092282018-10-13 19:39:462241 days ago1539459586
0x35Ea9df0...03b84F3dC
0.00125 ETH
65092282018-10-13 19:39:462241 days ago1539459586
0x35Ea9df0...03b84F3dC
0.00025 ETH
65092282018-10-13 19:39:462241 days ago1539459586
0x35Ea9df0...03b84F3dC
0.00500001 ETH
65091632018-10-13 19:24:152241 days ago1539458655
0x35Ea9df0...03b84F3dC
0.00025 ETH
65091632018-10-13 19:24:152241 days ago1539458655
0x35Ea9df0...03b84F3dC
0.00500001 ETH
65090812018-10-13 19:03:072241 days ago1539457387
0x35Ea9df0...03b84F3dC
0.00025 ETH
65090812018-10-13 19:03:072241 days ago1539457387
0x35Ea9df0...03b84F3dC
0.00500001 ETH
65090532018-10-13 18:57:262241 days ago1539457046
0x35Ea9df0...03b84F3dC
0.000275 ETH
65090532018-10-13 18:57:262241 days ago1539457046
0x35Ea9df0...03b84F3dC
0.0055 ETH
65090092018-10-13 18:45:542241 days ago1539456354
0x35Ea9df0...03b84F3dC
0.000255 ETH
65090092018-10-13 18:45:542241 days ago1539456354
0x35Ea9df0...03b84F3dC
0.0051 ETH
65088802018-10-13 18:16:002241 days ago1539454560
0x35Ea9df0...03b84F3dC
0.000295 ETH
65088802018-10-13 18:16:002241 days ago1539454560
0x35Ea9df0...03b84F3dC
0.0059 ETH
65087272018-10-13 17:39:572241 days ago1539452397
0x35Ea9df0...03b84F3dC
0.000255 ETH
65087272018-10-13 17:39:572241 days ago1539452397
0x35Ea9df0...03b84F3dC
0.0051 ETH
65087272018-10-13 17:39:572241 days ago1539452397
0x35Ea9df0...03b84F3dC
0.0006375 ETH
65087272018-10-13 17:39:572241 days ago1539452397
0x35Ea9df0...03b84F3dC
0.0006375 ETH
65086772018-10-13 17:26:212241 days ago1539451581
0x35Ea9df0...03b84F3dC
0.000255 ETH
View All Internal Transactions
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0x05c848E3...7Bfff96a1
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
BunnyGame

Compiler Version
v0.4.24+commit.e67f0147

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

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

pragma solidity ^0.4.24;
/*
______ _   _ _   _  _   ___   __
| ___ \ | | | \ | || \ | \ \ / /
| |_/ / | | |  \| ||  \| |\ V / 
| ___ \ | | | . ` || . ` | \ /  
| |_/ / |_| | |\  || |\  | | |  
\____/ \___/\_| \_/\_| \_/ \_/   
 _____   ___  ___  ___ _____    
|  __ \ / _ \ |  \/  ||  ___|   
| |  \// /_\ \| .  . || |__     
| | __ |  _  || |\/| ||  __|    
| |_\ \| | | || |  | || |___    
 \____/\_| |_/\_|  |_/\____/ 
               
* Author:  Konstantin G...
* Telegram: @bunnygame (en)
* email: [email protected]
* site : http://bunnycoin.co 
*/

/**
* @title Ownable
* @dev The Ownable contract has an owner address, and provides basic authorization control
* functions, this simplifies the implementation of "user permissions".
*/
contract Ownable {
    
    address ownerCEO;
    address ownerMoney;  
     
    address privAddress; 
    address addressAdmixture;
    
    /**
    * @dev The Ownable constructor sets the original `owner` of the contract to the sender
    * account.
    */
    constructor() public { 
        ownerCEO = msg.sender; 
        ownerMoney = msg.sender;
    }
 
  /**
   * @dev Throws if called by any account other than the owner.
   */
    modifier onlyOwner() {
        require(msg.sender == ownerCEO);
        _;
    }
   
    function transferOwnership(address add) public onlyOwner {
        if (add != address(0)) {
            ownerCEO = add;
        }
    }
 
    function transferOwnerMoney(address _ownerMoney) public  onlyOwner {
        if (_ownerMoney != address(0)) {
            ownerMoney = _ownerMoney;
        }
    }
 
    function getOwnerMoney() public view onlyOwner returns(address) {
        return ownerMoney;
    } 
    /**
    *  @dev private contract
     */
    function getPrivAddress() public view onlyOwner returns(address) {
        return privAddress;
    }
    function getAddressAdmixture() public view onlyOwner returns(address) {
        return addressAdmixture;
    }
} 



/**
 * @title Whitelist
 * @dev The Whitelist contract has a whitelist of addresses, and provides basic authorization control functions.
 * @dev This simplifies the implementation of "user permissions".
 */
contract Whitelist is Ownable {
    mapping(address => bool) public whitelist;

    mapping(uint  => address)   whitelistCheck;
    uint public countAddress = 0;

    event WhitelistedAddressAdded(address addr);
    event WhitelistedAddressRemoved(address addr);
 
  /**
   * @dev Throws if called by any account that's not whitelisted.
   */
    modifier onlyWhitelisted() {
        require(whitelist[msg.sender]);
        _;
    }

    constructor() public {
            whitelist[msg.sender] = true;  
    }

  /**
   * @dev add an address to the whitelist
   * @param addr address
   * @return true if the address was added to the whitelist, false if the address was already in the whitelist
   */
    function addAddressToWhitelist(address addr) onlyWhitelisted public returns(bool success) {
        if (!whitelist[addr]) {
            whitelist[addr] = true;

            countAddress = countAddress + 1;
            whitelistCheck[countAddress] = addr;

            emit WhitelistedAddressAdded(addr);
            success = true;
        }
    }

    function getWhitelistCheck(uint key) onlyWhitelisted view public returns(address) {
        return whitelistCheck[key];
    }


    function getInWhitelist(address addr) public view returns(bool) {
        return whitelist[addr];
    }
    function getOwnerCEO() public onlyWhitelisted view returns(address) {
        return ownerCEO;
    }
 
    /**
    * @dev add addresses to the whitelist
    * @param addrs addresses
    * @return true if at least one address was added to the whitelist,
    * false if all addresses were already in the whitelist
    */
    function addAddressesToWhitelist(address[] addrs) onlyOwner public returns(bool success) {
        for (uint256 i = 0; i < addrs.length; i++) {
            if (addAddressToWhitelist(addrs[i])) {
                success = true;
            }
        }
    }

    /**
    * @dev remove an address from the whitelist
    * @param addr address
    * @return true if the address was removed from the whitelist,
    * false if the address wasn't in the whitelist in the first place
    */
    function removeAddressFromWhitelist(address addr) onlyOwner public returns(bool success) {
        if (whitelist[addr]) {
            whitelist[addr] = false;
            emit WhitelistedAddressRemoved(addr);
            success = true;
        }
    }

    /**
    * @dev remove addresses from the whitelist
    * @param addrs addresses
    * @return true if at least one address was removed from the whitelist,
    * false if all addresses weren't in the whitelist in the first place
    */
    function removeAddressesFromWhitelist(address[] addrs) onlyOwner public returns(bool success) {
        for (uint256 i = 0; i < addrs.length; i++) {
            if (removeAddressFromWhitelist(addrs[i])) {
                success = true;
            }
        }
    }
}

/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {
    
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint c = a * b;
        assert(c / a == b);
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        // assert(b > 0); // Solidity automatically throws when dividing by 0
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold
        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 BaseRabbit  is Whitelist {
       

 
    event EmotherCount(uint32 mother, uint summ);
    event NewBunny(uint32 bunnyId, uint dnk, uint256 blocknumber, uint breed, uint procentAdmixture, uint admixture);
    event ChengeSex(uint32 bunnyId, bool sex, uint256 price);
    event SalaryBunny(uint32 bunnyId, uint cost);
    event CreateChildren(uint32 matron, uint32 sire, uint32 child);
    event BunnyDescription(uint32 bunnyId, string name);
    event CoolduwnMother(uint32 bunnyId, uint num);


    event Referral(address from, uint32 matronID, uint32 childID, uint currentTime);
    event Approval(address owner, address approved, uint32 tokenId);
    event OwnerBunnies(address owner, uint32  tokenId);
    event Transfer(address from, address to, uint32 tokenId);

 

    using SafeMath for uint256;
    bool pauseSave = false;
    uint256 bigPrice = 0.005 ether;
    
    uint public commission_system = 5;
     
    // ID the last seal
    uint32 public lastIdGen0;
    uint public totalGen0 = 0;
    // ID the last seal
    uint public lastTimeGen0;
    
    // ID the last seal
  //  uint public timeRangeCreateGen0 = 1800; 

    uint public promoGen0 = 15000;
    uint public promoMoney = 1*bigPrice;
    bool public promoPause = false;


    function setPromoGen0(uint _promoGen0) public onlyWhitelisted() {
        promoGen0 = _promoGen0;
    }

    function setPromoPause() public onlyWhitelisted() {
        promoPause = !promoPause;
    }



    function setPromoMoney(uint _promoMoney) public onlyWhitelisted() {
        promoMoney = _promoMoney;
    }
 

    mapping(uint32 => uint) public totalSalaryBunny;
    mapping(uint32 => uint32[5]) public rabbitMother;
    
    mapping(uint32 => uint) public motherCount;
    
    // how many times did the rabbit cross
    mapping(uint32 => uint) public rabbitBreedCount;

    mapping(uint32 => uint)  public rabbitSirePrice;
    mapping(uint => uint32[]) public sireGenom;
    mapping (uint32 => uint) mapDNK;
   
    uint32[12] public cooldowns = [
        uint32(1 minutes),
        uint32(2 minutes),
        uint32(4 minutes),
        uint32(8 minutes),
        uint32(16 minutes),
        uint32(32 minutes),
        uint32(1 hours),
        uint32(2 hours),
        uint32(4 hours),
        uint32(8 hours),
        uint32(16 hours),
        uint32(1 days)
    ];


    struct Rabbit { 
         // parents
        uint32 mother;
        uint32 sire; 
        // block in which a rabbit was born
        uint birthblock;
         // number of births or how many times were offspring
        uint birthCount;
         // The time when Rabbit last gave birth
        uint birthLastTime;
        // the current role of the rabbit
        uint role;
        //indexGenome   
        uint genome;

        uint procentAdmixture;
        uint admixture;
    }

 
    /**
    * Where we will store information about rabbits
    */
    Rabbit[]  public rabbits;
     
    /**
    * who owns the rabbit
    */
    mapping (uint32 => address) public rabbitToOwner; 
    mapping (address => uint32[]) public ownerBunnies;
    //mapping (address => uint) ownerRabbitCount;
    mapping (uint32 => string) rabbitDescription;
    mapping (uint32 => string) rabbitName; 

    //giff 
    mapping (uint32 => bool) giffblock; 
    mapping (address => bool) ownerGennezise;

}


/// @title Interface for contracts conforming to ERC-721: Non-Fungible Tokens
/// @author Dieter Shirley <[email protected]> (https://github.com/dete)
contract ERC721 {
    // Required methods 

    function ownerOf(uint32 _tokenId) public view returns (address owner);
    function approve(address _to, uint32 _tokenId) public returns (bool success);
    function transfer(address _to, uint32 _tokenId) public;
    function transferFrom(address _from, address _to, uint32 _tokenId) public returns (bool);
    function totalSupply() public view returns (uint total);
    function balanceOf(address _owner) public view returns (uint balance);

}

/// @title Interface new rabbits address
contract PrivateRabbitInterface {
    function getNewRabbit(address from)  public view returns (uint);
    function mixDNK(uint dnkmother, uint dnksire, uint genome)  public view returns (uint);
    function isUIntPrivate() public pure returns (bool);
}

contract AdmixtureInterface {
    function getAdmixture(uint m, uint w)  public view returns (uint procentAdmixture, uint admixture);
}

 


contract BodyRabbit is BaseRabbit, ERC721 {
    uint public totalBunny = 0;
    string public constant name = "CryptoRabbits";
    string public constant symbol = "CRB";


    PrivateRabbitInterface privateContract;
    AdmixtureInterface AdmixtureContract;

    /**
    * @dev setting up a new address for a private contract
    */
    function setPriv(address _privAddress) public returns(bool) {
        privAddress = _privAddress;
        privateContract = PrivateRabbitInterface(_privAddress);
    } 
    function setAdmixture(address _addressAdmixture) public returns(bool) {
        addressAdmixture = _addressAdmixture;
        AdmixtureContract = AdmixtureInterface(_addressAdmixture);
    } 

    bool public fcontr = false;
 
    
    constructor() public { 
        fcontr = true;
    }

    function isPriv() public view returns(bool) {
        return privateContract.isUIntPrivate();
    }

    modifier checkPrivate() {
        require(isPriv());
        _;
    }

    function ownerOf(uint32 _tokenId) public view returns (address owner) {
        return rabbitToOwner[_tokenId];
    }

    function approve(address _to, uint32 _tokenId) public returns (bool) { 
        _to;
        _tokenId;
        return false;
    }


    function removeTokenList(address _owner, uint32 _tokenId) internal { 
        uint count = ownerBunnies[_owner].length;
        for (uint256 i = 0; i < count; i++) {
            if(ownerBunnies[_owner][i] == _tokenId)
            { 
                delete ownerBunnies[_owner][i];
                if(count > 0 && count != (i-1)){
                    ownerBunnies[_owner][i] = ownerBunnies[_owner][(count-1)];
                    delete ownerBunnies[_owner][(count-1)];
                } 
                ownerBunnies[_owner].length--;
                return;
            } 
        }
    }
    /**
    * Get the cost of the reward for pairing
    * @param _tokenId - rabbit that mates
     */
    function getSirePrice(uint32 _tokenId) public view returns(uint) {
        if(rabbits[(_tokenId-1)].role == 1){
            uint procent = (rabbitSirePrice[_tokenId] / 100);
            uint res = procent.mul(25);
            uint system  = procent.mul(commission_system);

            res = res.add(rabbitSirePrice[_tokenId]);
            return res.add(system); 
        } else {
            return 0;
        }
    }

    /**
    * @dev add a new bunny in the storage
     */
    function addTokenList(address owner,  uint32 _tokenId) internal {
        ownerBunnies[owner].push( _tokenId);
        emit OwnerBunnies(owner, _tokenId);
        rabbitToOwner[_tokenId] = owner; 
    }
 

    function transfer(address _to, uint32 _tokenId) public {
        address currentOwner = msg.sender;
        address oldOwner = rabbitToOwner[_tokenId];
        require(rabbitToOwner[_tokenId] == msg.sender);
        require(currentOwner != _to);
        require(_to != address(0));
        removeTokenList(oldOwner, _tokenId);
        addTokenList(_to, _tokenId);
        emit Transfer(oldOwner, _to, _tokenId);
    }

    function transferFrom(address _from, address _to, uint32 _tokenId) public returns(bool) {
        address oldOwner = rabbitToOwner[_tokenId];
        require(oldOwner == _from);
        require(getInWhitelist(msg.sender));
        require(oldOwner != _to);
        require(_to != address(0));

        removeTokenList(oldOwner, _tokenId);
        addTokenList(_to, _tokenId); 
        emit Transfer (oldOwner, _to, _tokenId);
        return true;
    }  
     

    function isPauseSave() public view returns(bool) {
        return !pauseSave;
    }
    
    function isPromoPause() public view returns(bool) {
        if (getInWhitelist(msg.sender)) {
            return true;
        } else {
            return !promoPause;
        } 
    }

    function setPauseSave() public onlyWhitelisted()  returns(bool) {
        return pauseSave = !pauseSave;
    }
 

    function getTokenOwner(address owner) public view returns(uint total, uint32[] list) {
        total = ownerBunnies[owner].length;
        list = ownerBunnies[owner];
    } 



    function setRabbitMother(uint32 children, uint32 mother) internal { 
        require(children != mother);
        uint32[11] memory pullMother;
        uint start = 0;
        for (uint i = 0; i < 5; i++) {
            if (rabbitMother[mother][i] != 0) {
              pullMother[start] = uint32(rabbitMother[mother][i]);
              rabbitMother[mother][i] = 0;
              start++;
            } 
        }
        pullMother[start] = mother;
        start++;
        for (uint m = 0; m < 5; m++) {
             if(start >  5){
                    rabbitMother[children][m] = pullMother[(m+1)];
             }else{
                    rabbitMother[children][m] = pullMother[m];
             }
        } 
        setMotherCount(mother);
    }

      

    function setMotherCount(uint32 _mother) internal returns(uint)  { //internal
        motherCount[_mother] = motherCount[_mother].add(1);
        emit EmotherCount(_mother, motherCount[_mother]);
        return motherCount[_mother];
    } 
     
    function bytes32ToString(bytes32 x) internal pure returns (string) {
        bytes memory bytesString = new bytes(32);
        uint charCount = 0;
        for (uint j = 0; j < 32; j++) {
            byte char = byte(bytes32(uint(x) * 2 ** (8 * j)));
            if (char != 0) {
                bytesString[charCount] = char;
                charCount++;
            }
        }
        bytes memory bytesStringTrimmed = new bytes(charCount);
        for (j = 0; j < charCount; j++) {
            bytesStringTrimmed[j] = bytesString[j];
        }
        return string(bytesStringTrimmed);
    }
    
    function uintToBytes(uint v) internal pure returns (bytes32 ret) {
        if (v == 0) {
            ret = '0';
        } else {
        while (v > 0) {
                ret = bytes32(uint(ret) / (2 ** 8));
                ret |= bytes32(((v % 10) + 48) * 2 ** (8 * 31));
                v /= 10;
            }
        }
        return ret;
    }

    function totalSupply() public view returns (uint total) {
        return totalBunny;
    }

    function balanceOf(address _owner) public view returns (uint) {
      //  _owner;
        return ownerBunnies[_owner].length;
    }

    function sendMoney(address _to, uint256 _money) internal { 
        _to.transfer((_money/100)*95);
        ownerMoney.transfer((_money/100)*5); 
    }

    function getGiffBlock(uint32 _bunnyid) public view returns(bool) { 
        return !giffblock[_bunnyid];
    }

    function getOwnerGennezise(address _to) public view returns(bool) { 
        return ownerGennezise[_to];
    }
    

    function getBunny(uint32 _bunny) public view returns(
        uint32 mother,
        uint32 sire,
        uint birthblock,
        uint birthCount,
        uint birthLastTime,
        uint role, 
        uint genome,
        bool interbreed,
        uint leftTime,
        uint lastTime,
        uint price,
        uint motherSumm
        )
        {
            price = getSirePrice(_bunny);
            _bunny = _bunny - 1;
            mother = rabbits[_bunny].mother;
            sire = rabbits[_bunny].sire;
            birthblock = rabbits[_bunny].birthblock;
            birthCount = rabbits[_bunny].birthCount;
            birthLastTime = rabbits[_bunny].birthLastTime;
            role = rabbits[_bunny].role;
            genome = rabbits[_bunny].genome;
                     
            if(birthCount > 11) {
                birthCount = 11;
            }

            motherSumm = motherCount[_bunny];

            lastTime = uint(cooldowns[birthCount]);
            lastTime = lastTime.add(birthLastTime);
            if(lastTime <= now) {
                interbreed = true;
            } else {
                leftTime = lastTime.sub(now);
            }
    }



    /**
    * We update the information on rabbits
     */
    function updateBunny(uint32 _bunny, uint types, uint data ) public onlyWhitelisted()
    { 
        if (types == 1) {
            rabbits[(_bunny - 1)].birthCount = data;
        } else if (types == 2) {
            rabbits[(_bunny - 1)].genome = data;
        } else if (types == 3) {
            rabbitSirePrice[_bunny] = data;
        } else if (types == 4) {
            motherCount[_bunny] = data;
            emit EmotherCount(_bunny, data);
        } 

            
    }

    /**
    * @param _bunny A rabbit on which we receive information
     */
    function getBreed(uint32 _bunny) public view returns(bool interbreed)
        {
      
        uint birtTime = rabbits[(_bunny - 1)].birthLastTime;
        uint birthCount = rabbits[(_bunny - 1)].birthCount;

        uint  lastTime = uint(cooldowns[birthCount]);
        lastTime = lastTime.add(birtTime);

        if(lastTime <= now && rabbits[(_bunny - 1)].role == 0 ) {
            interbreed = true;
        } 
    }

    /**
     *  we get cooldown
     */
    function getcoolduwn(uint32 _mother) public view returns(uint lastTime, uint cd, uint lefttime) {
        cd = rabbits[(_mother-1)].birthCount;
        if(cd > 11) {
            cd = 11;
        }
        // time when I can give birth
        lastTime = (cooldowns[cd] + rabbits[(_mother-1)].birthLastTime);
        if(lastTime > now) {
            // I can not give birth, it remains until delivery
            lefttime = lastTime.sub(now);
        }
    }



     function getMotherCount(uint32 _mother) public view returns(uint) { //internal
        return  motherCount[_mother];
    }


     function getTotalSalaryBunny(uint32 _bunny) public view returns(uint) { //internal
        return  totalSalaryBunny[_bunny];
    }
 
 
    function getRabbitMother( uint32 mother) public view returns(uint32[5]) {
        return rabbitMother[mother];
    }

     function getRabbitMotherSumm(uint32 mother) public view returns(uint count) { //internal
        for (uint m = 0; m < 5 ; m++) {
            if(rabbitMother[mother][m] != 0 ) { 
                count++;
            }
        }
    }

    function getRabbitDNK(uint32 bunnyid) public view returns(uint) { 
        return mapDNK[bunnyid];
    }

    function isUIntPublic() public view returns(bool) {
        require(isPauseSave());
        return true;
    }

}
/**
* Basic actions for the transfer of rights of rabbits
*/ 
 
contract BunnyGame is BodyRabbit{    
  
    function transferNewBunny(address _to, uint32 _bunnyid, uint localdnk, uint breed, uint32 matron, uint32 sire, uint procentAdmixture, uint admixture) internal {
        emit NewBunny(_bunnyid, localdnk, block.number, breed, procentAdmixture, admixture);
        emit CreateChildren(matron, sire, _bunnyid);
        addTokenList(_to, _bunnyid);
        totalSalaryBunny[_bunnyid] = 0;
        motherCount[_bunnyid] = 0;
        totalBunny++;
    }

         
    /***
    * @dev create a new gene and put it up for sale, this operation takes place on the server
    */
    function createGennezise(uint32 _matron) public {
         
        bool promo = false;
        require(isPriv());
        require(isPauseSave());
        require(isPromoPause());
 
        if (totalGen0 > promoGen0) { 
            require(getInWhitelist(msg.sender));
        } else if (!(getInWhitelist(msg.sender))) {
            // promo action
                require(!ownerGennezise[msg.sender]);
                ownerGennezise[msg.sender] = true;
                promo = true;
        }
        
        uint  localdnk = privateContract.getNewRabbit(msg.sender);
        Rabbit memory _Rabbit =  Rabbit( 0, 0, block.number, 0, 0, 0, 0, 0, 0);
        uint32 _bunnyid =  uint32(rabbits.push(_Rabbit));
        mapDNK[_bunnyid] = localdnk;
       
        transferNewBunny(msg.sender, _bunnyid, localdnk, 0, 0, 0, 4, 0);  
        
        lastTimeGen0 = now;
        lastIdGen0 = _bunnyid; 
        totalGen0++; 

        setRabbitMother(_bunnyid, _matron);

        emit Referral(msg.sender, _matron, _bunnyid, block.timestamp);

        if (promo) {
            giffblock[_bunnyid] = true;
        }
    }

    function getGenomeChildren(uint32 _matron, uint32 _sire) internal view returns(uint) {
        uint genome;
        if (rabbits[(_matron-1)].genome >= rabbits[(_sire-1)].genome) {
            genome = rabbits[(_matron-1)].genome;
        } else {
            genome = rabbits[(_sire-1)].genome;
        }
        return genome.add(1);
    }
    
    /**
    * create a new rabbit, according to the cooldown
    * @param _matron - mother who takes into account the cooldown
    * @param _sire - the father who is rewarded for mating for the fusion of genes
     */
    function createChildren(uint32 _matron, uint32 _sire) public  payable returns(uint32) {

        require(isPriv());
        require(isPauseSave());
        require(rabbitToOwner[_matron] == msg.sender);
        // Checking for the role
        require(rabbits[(_sire-1)].role == 1);
        require(_matron != _sire);

        require(getBreed(_matron));
        // Checking the money 
        
        require(msg.value >= getSirePrice(_sire));
        
        uint genome = getGenomeChildren(_matron, _sire);

        uint localdnk =  privateContract.mixDNK(mapDNK[_matron], mapDNK[_sire], genome);


        uint procentAdm; 
        uint admixture;
        (procentAdm, admixture) = AdmixtureContract.getAdmixture(rabbits[(_sire-1)].procentAdmixture, rabbits[(_matron-1)].procentAdmixture);
        Rabbit memory rabbit =  Rabbit(_matron, _sire, block.number, 0, 0, 0, genome, procentAdm, admixture);

        uint32 bunnyid =  uint32(rabbits.push(rabbit));
        mapDNK[bunnyid] = localdnk;

        uint _moneyMother = rabbitSirePrice[_sire].div(4);

        _transferMoneyMother(_matron, _moneyMother);

        rabbitToOwner[_sire].transfer(rabbitSirePrice[_sire]);

        uint system = rabbitSirePrice[_sire].div(100);
        system = system.mul(commission_system);
        ownerMoney.transfer(system); // refund previous bidder
  
        coolduwnUP(_matron);
        // we transfer the rabbit to the new owner
        transferNewBunny(rabbitToOwner[_matron], bunnyid, localdnk, genome, _matron, _sire, procentAdm, admixture );   
        // we establish parents for the child
        setRabbitMother(bunnyid, _matron);
        return bunnyid;
    } 
  
    /**
     *  Set the cooldown for childbirth
     * @param _mother - mother for which cooldown
     */
    function coolduwnUP(uint32 _mother) internal { 
        require(isPauseSave());
        rabbits[(_mother-1)].birthCount = rabbits[(_mother-1)].birthCount.add(1);
        rabbits[(_mother-1)].birthLastTime = now;
        emit CoolduwnMother(_mother, rabbits[(_mother-1)].birthCount);
    }


    /**
     * @param _mother - matron send money for parrent
     * @param _valueMoney - current sale
     */
    function _transferMoneyMother(uint32 _mother, uint _valueMoney) internal {
        require(isPauseSave());
        require(_valueMoney > 0);
        if (getRabbitMotherSumm(_mother) > 0) {
            uint pastMoney = _valueMoney/getRabbitMotherSumm(_mother);
            for (uint i=0; i < getRabbitMotherSumm(_mother); i++) {
                if (rabbitMother[_mother][i] != 0) { 
                    uint32 _parrentMother = rabbitMother[_mother][i];
                    address add = rabbitToOwner[_parrentMother];
                    // pay salaries
                    setMotherCount(_parrentMother);
                    totalSalaryBunny[_parrentMother] += pastMoney;
                    emit SalaryBunny(_parrentMother, totalSalaryBunny[_parrentMother]);
                    add.transfer(pastMoney); // refund previous bidder
                }
            } 
        }
    }
    
    /**
    * @dev We set the cost of renting our genes
    * @param price rent price
     */
    function setRabbitSirePrice(uint32 _rabbitid, uint price) public returns(bool) {
        require(isPauseSave());
        require(rabbitToOwner[_rabbitid] == msg.sender);
        require(price > bigPrice);

        uint lastTime;
        (lastTime,,) = getcoolduwn(_rabbitid);
        require(now >= lastTime);

        if (rabbits[(_rabbitid-1)].role == 1 && rabbitSirePrice[_rabbitid] == price) {
            return false;
        }

        rabbits[(_rabbitid-1)].role = 1;
        rabbitSirePrice[_rabbitid] = price;
        uint gen = rabbits[(_rabbitid-1)].genome;
        sireGenom[gen].push(_rabbitid);
        emit ChengeSex(_rabbitid, true, getSirePrice(_rabbitid));
        return true;
    }
 
    /**
    * @dev We set the cost of renting our genes
     */
    function setSireStop(uint32 _rabbitid) public returns(bool) {
        require(isPauseSave());
        require(rabbitToOwner[_rabbitid] == msg.sender);
     //   require(rabbits[(_rabbitid-1)].role == 0);
        rabbits[(_rabbitid-1)].role = 0;
        rabbitSirePrice[_rabbitid] = 0;
        deleteSire(_rabbitid);
        return true;
    }
    
      function deleteSire(uint32 _tokenId) internal { 
        uint gen = rabbits[(_tokenId-1)].genome;

        uint count = sireGenom[gen].length;
        for (uint i = 0; i < count; i++) {
            if(sireGenom[gen][i] == _tokenId)
            { 
                delete sireGenom[gen][i];
                if(count > 0 && count != (i-1)){
                    sireGenom[gen][i] = sireGenom[gen][(count-1)];
                    delete sireGenom[gen][(count-1)];
                } 
                sireGenom[gen].length--;
                emit ChengeSex(_tokenId, false, 0);
                return;
            } 
        }
    } 

    function getMoney(uint _value) public onlyOwner {
        require(address(this).balance >= _value);
        ownerMoney.transfer(_value);
    }

    /**
    * @dev give a rabbit to a specific user
    * @param add new address owner rabbits
    */
    function gift(uint32 bunnyid, address add) public {
        require(rabbitToOwner[bunnyid] == msg.sender);
        // a rabbit taken for free can not be given
        require(!(giffblock[bunnyid]));
        transferFrom(msg.sender, add, bunnyid);
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"getPrivAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_mother","type":"uint32"}],"name":"getcoolduwn","outputs":[{"name":"lastTime","type":"uint256"},{"name":"cd","type":"uint256"},{"name":"lefttime","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint32"}],"name":"rabbitSirePrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"promoPause","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getAddressAdmixture","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint32"},{"name":"","type":"uint256"}],"name":"rabbitMother","outputs":[{"name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint32"}],"name":"motherCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_addressAdmixture","type":"address"}],"name":"setAdmixture","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_promoGen0","type":"uint256"}],"name":"setPromoGen0","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint32"}],"name":"rabbitToOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"total","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_bunnyid","type":"uint32"}],"name":"getGiffBlock","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_mother","type":"uint32"}],"name":"getMotherCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint32"}],"name":"ownerOf","outputs":[{"name":"owner","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"addrs","type":"address[]"}],"name":"removeAddressesFromWhitelist","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"name":"sireGenom","outputs":[{"name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"mother","type":"uint32"}],"name":"getRabbitMotherSumm","outputs":[{"name":"count","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"}],"name":"removeAddressFromWhitelist","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_bunny","type":"uint32"}],"name":"getTotalSalaryBunny","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"getMoney","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"setPauseSave","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"addr","type":"address"}],"name":"getInWhitelist","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"countAddress","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_bunny","type":"uint32"}],"name":"getBreed","outputs":[{"name":"interbreed","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_rabbitid","type":"uint32"},{"name":"price","type":"uint256"}],"name":"setRabbitSirePrice","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint32"}],"name":"getSirePrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_privAddress","type":"address"}],"name":"setPriv","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"bunnyid","type":"uint32"}],"name":"getRabbitDNK","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"rabbits","outputs":[{"name":"mother","type":"uint32"},{"name":"sire","type":"uint32"},{"name":"birthblock","type":"uint256"},{"name":"birthCount","type":"uint256"},{"name":"birthLastTime","type":"uint256"},{"name":"role","type":"uint256"},{"name":"genome","type":"uint256"},{"name":"procentAdmixture","type":"uint256"},{"name":"admixture","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isPromoPause","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getOwnerMoney","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint32"}],"name":"totalSalaryBunny","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_bunny","type":"uint32"}],"name":"getBunny","outputs":[{"name":"mother","type":"uint32"},{"name":"sire","type":"uint32"},{"name":"birthblock","type":"uint256"},{"name":"birthCount","type":"uint256"},{"name":"birthLastTime","type":"uint256"},{"name":"role","type":"uint256"},{"name":"genome","type":"uint256"},{"name":"interbreed","type":"bool"},{"name":"leftTime","type":"uint256"},{"name":"lastTime","type":"uint256"},{"name":"price","type":"uint256"},{"name":"motherSumm","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"promoGen0","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isUIntPublic","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalGen0","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lastIdGen0","outputs":[{"name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"fcontr","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint32"}],"name":"rabbitBreedCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isPauseSave","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"}],"name":"addAddressToWhitelist","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isPriv","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_to","type":"address"}],"name":"getOwnerGennezise","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_bunny","type":"uint32"},{"name":"types","type":"uint256"},{"name":"data","type":"uint256"}],"name":"updateBunny","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_tokenId","type":"uint32"}],"name":"transfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"lastTimeGen0","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_tokenId","type":"uint32"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalBunny","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"key","type":"uint256"}],"name":"getWhitelistCheck","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"bunnyid","type":"uint32"},{"name":"add","type":"address"}],"name":"gift","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"whitelist","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"cooldowns","outputs":[{"name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_matron","type":"uint32"},{"name":"_sire","type":"uint32"}],"name":"createChildren","outputs":[{"name":"","type":"uint32"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_rabbitid","type":"uint32"}],"name":"setSireStop","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_tokenId","type":"uint32"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"promoMoney","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"ownerBunnies","outputs":[{"name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getOwnerCEO","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"}],"name":"getTokenOwner","outputs":[{"name":"total","type":"uint256"},{"name":"list","type":"uint32[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"mother","type":"uint32"}],"name":"getRabbitMother","outputs":[{"name":"","type":"uint32[5]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"addrs","type":"address[]"}],"name":"addAddressesToWhitelist","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_promoMoney","type":"uint256"}],"name":"setPromoMoney","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"add","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"commission_system","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"setPromoPause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_matron","type":"uint32"}],"name":"createGennezise","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_ownerMoney","type":"address"}],"name":"transferOwnerMoney","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"anonymous":false,"inputs":[{"indexed":false,"name":"mother","type":"uint32"},{"indexed":false,"name":"summ","type":"uint256"}],"name":"EmotherCount","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"bunnyId","type":"uint32"},{"indexed":false,"name":"dnk","type":"uint256"},{"indexed":false,"name":"blocknumber","type":"uint256"},{"indexed":false,"name":"breed","type":"uint256"},{"indexed":false,"name":"procentAdmixture","type":"uint256"},{"indexed":false,"name":"admixture","type":"uint256"}],"name":"NewBunny","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"bunnyId","type":"uint32"},{"indexed":false,"name":"sex","type":"bool"},{"indexed":false,"name":"price","type":"uint256"}],"name":"ChengeSex","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"bunnyId","type":"uint32"},{"indexed":false,"name":"cost","type":"uint256"}],"name":"SalaryBunny","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"matron","type":"uint32"},{"indexed":false,"name":"sire","type":"uint32"},{"indexed":false,"name":"child","type":"uint32"}],"name":"CreateChildren","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"bunnyId","type":"uint32"},{"indexed":false,"name":"name","type":"string"}],"name":"BunnyDescription","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"bunnyId","type":"uint32"},{"indexed":false,"name":"num","type":"uint256"}],"name":"CoolduwnMother","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"from","type":"address"},{"indexed":false,"name":"matronID","type":"uint32"},{"indexed":false,"name":"childID","type":"uint32"},{"indexed":false,"name":"currentTime","type":"uint256"}],"name":"Referral","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"owner","type":"address"},{"indexed":false,"name":"approved","type":"address"},{"indexed":false,"name":"tokenId","type":"uint32"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"owner","type":"address"},{"indexed":false,"name":"tokenId","type":"uint32"}],"name":"OwnerBunnies","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"from","type":"address"},{"indexed":false,"name":"to","type":"address"},{"indexed":false,"name":"tokenId","type":"uint32"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"addr","type":"address"}],"name":"WhitelistedAddressAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"addr","type":"address"}],"name":"WhitelistedAddressRemoved","type":"event"}]

Deployed Bytecode

0x608060405260043610610338576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806303602e9e1461033d578063068734181461039457806306fdde03146103e95780630847c7a21461047957806309828a47146104c05780630e9aa208146104ef57806312448c3214610546578063146c1b5e146105a357806314a06ff6146105ea57806314c588de1461064557806314f1cf0c1461067257806318160ddd146106e5578063193d5b77146107105780631ee550801461075b57806323b7ec3b146107a257806324953eaa146108155780632573751f1461089357806327904ee0146108ea578063286dd3f5146109315780632a335c171461098c5780633262fd9a146109d35780633350611514610a00578063336968f114610a2f57806342154e9c14610a8a578063433bd92414610ab5578063462a8e0514610b005780634b72bbaf14610b555780634e2fd44e14610b9c5780634fd839c614610bf757806359dc2eec14610c3e5780635ceb8bc814610ccf578063625101d514610cfe5780636b53305714610d5557806370a0823114610d9c57806370a7e2dd14610df357806370d4d7b414610ea35780637214d6c314610ece5780637230ef7f14610efd578063731f49b714610f2857806374479db014610f5f5780637759187f14610f8e5780637878b66a14610fd55780637b9417c8146110045780637cbd54441461105f5780637ea2bbac1461108e5780637edb6923146110e957806380097484146111305780638231ee981461118357806384269ed9146111ae578063847ec2de1461123957806386c6c0111461126457806390eb1f9f146112d157806395d89b41146113245780639b19251a146113b45780639d6fac6f1461140f578063a13a7cee1461145c578063a22ec476146114b2578063a7e94542146114fd578063ad5a157d14611568578063d00dbcb014611593578063d3f73bd414611600578063dc17c9ca14611657578063df4b2970146116f6578063e2ec6ec314611765578063eea23d8a146117e3578063f2fde38b14611810578063f628842214611853578063fae8c29e1461187e578063fd5c669414611895578063fdaacf1b146118c8575b600080fd5b34801561034957600080fd5b5061035261190b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103a057600080fd5b506103c5600480360381019080803563ffffffff169060200190929190505050611990565b60405180848152602001838152602001828152602001935050505060405180910390f35b3480156103f557600080fd5b506103fe611a52565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561043e578082015181840152602081019050610423565b50505050905090810190601f16801561046b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561048557600080fd5b506104aa600480360381019080803563ffffffff169060200190929190505050611a8b565b6040518082815260200191505060405180910390f35b3480156104cc57600080fd5b506104d5611aa3565b604051808215151515815260200191505060405180910390f35b3480156104fb57600080fd5b50610504611ab6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561055257600080fd5b50610581600480360381019080803563ffffffff16906020019092919080359060200190929190505050611b3b565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b3480156105af57600080fd5b506105d4600480360381019080803563ffffffff169060200190929190505050611b79565b6040518082815260200191505060405180910390f35b3480156105f657600080fd5b5061062b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b91565b604051808215151515815260200191505060405180910390f35b34801561065157600080fd5b5061067060048036038101908080359060200190929190505050611c1a565b005b34801561067e57600080fd5b506106a3600480360381019080803563ffffffff169060200190929190505050611c7c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156106f157600080fd5b506106fa611caf565b6040518082815260200191505060405180910390f35b34801561071c57600080fd5b50610741600480360381019080803563ffffffff169060200190929190505050611cb9565b604051808215151515815260200191505060405180910390f35b34801561076757600080fd5b5061078c600480360381019080803563ffffffff169060200190929190505050611cf0565b6040518082815260200191505060405180910390f35b3480156107ae57600080fd5b506107d3600480360381019080803563ffffffff169060200190929190505050611d19565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561082157600080fd5b5061087960048036038101908080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290505050611d62565b604051808215151515815260200191505060405180910390f35b34801561089f57600080fd5b506108c86004803603810190808035906020019092919080359060200190929190505050611e0b565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b3480156108f657600080fd5b5061091b600480360381019080803563ffffffff169060200190929190505050611e53565b6040518082815260200191505060405180910390f35b34801561093d57600080fd5b50610972600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ed7565b604051808215151515815260200191505060405180910390f35b34801561099857600080fd5b506109bd600480360381019080803563ffffffff16906020019092919050505061204b565b6040518082815260200191505060405180910390f35b3480156109df57600080fd5b506109fe60048036038101908080359060200190929190505050612074565b005b348015610a0c57600080fd5b50610a15612161565b604051808215151515815260200191505060405180910390f35b348015610a3b57600080fd5b50610a70600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506121e9565b604051808215151515815260200191505060405180910390f35b348015610a9657600080fd5b50610a9f61223f565b6040518082815260200191505060405180910390f35b348015610ac157600080fd5b50610ae6600480360381019080803563ffffffff169060200190929190505050612245565b604051808215151515815260200191505060405180910390f35b348015610b0c57600080fd5b50610b3b600480360381019080803563ffffffff16906020019092919080359060200190929190505050612336565b604051808215151515815260200191505060405180910390f35b348015610b6157600080fd5b50610b86600480360381019080803563ffffffff1690602001909291905050506125a9565b6040518082815260200191505060405180910390f35b348015610ba857600080fd5b50610bdd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612697565b604051808215151515815260200191505060405180910390f35b348015610c0357600080fd5b50610c28600480360381019080803563ffffffff169060200190929190505050612720565b6040518082815260200191505060405180910390f35b348015610c4a57600080fd5b50610c6960048036038101908080359060200190929190505050612749565b604051808a63ffffffff1663ffffffff1681526020018963ffffffff1663ffffffff168152602001888152602001878152602001868152602001858152602001848152602001838152602001828152602001995050505050505050505060405180910390f35b348015610cdb57600080fd5b50610ce46127c6565b604051808215151515815260200191505060405180910390f35b348015610d0a57600080fd5b50610d136127f6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610d6157600080fd5b50610d86600480360381019080803563ffffffff16906020019092919050505061287b565b6040518082815260200191505060405180910390f35b348015610da857600080fd5b50610ddd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612893565b6040518082815260200191505060405180910390f35b348015610dff57600080fd5b50610e24600480360381019080803563ffffffff1690602001909291905050506128df565b604051808d63ffffffff1663ffffffff1681526020018c63ffffffff1663ffffffff1681526020018b81526020018a8152602001898152602001888152602001878152602001861515151581526020018581526020018481526020018381526020018281526020019c5050505050505050505050505060405180910390f35b348015610eaf57600080fd5b50610eb8612af0565b6040518082815260200191505060405180910390f35b348015610eda57600080fd5b50610ee3612af6565b604051808215151515815260200191505060405180910390f35b348015610f0957600080fd5b50610f12612b12565b6040518082815260200191505060405180910390f35b348015610f3457600080fd5b50610f3d612b18565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b348015610f6b57600080fd5b50610f74612b2e565b604051808215151515815260200191505060405180910390f35b348015610f9a57600080fd5b50610fbf600480360381019080803563ffffffff169060200190929190505050612b41565b6040518082815260200191505060405180910390f35b348015610fe157600080fd5b50610fea612b59565b604051808215151515815260200191505060405180910390f35b34801561101057600080fd5b50611045600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612b71565b604051808215151515815260200191505060405180910390f35b34801561106b57600080fd5b50611074612d43565b604051808215151515815260200191505060405180910390f35b34801561109a57600080fd5b506110cf600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612e0b565b604051808215151515815260200191505060405180910390f35b3480156110f557600080fd5b5061112e600480360381019080803563ffffffff1690602001909291908035906020019092919080359060200190929190505050612e61565b005b34801561113c57600080fd5b50611181600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803563ffffffff169060200190929190505050612fe4565b005b34801561118f57600080fd5b506111986131e1565b6040518082815260200191505060405180910390f35b3480156111ba57600080fd5b5061121f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803563ffffffff1690602001909291905050506131e7565b604051808215151515815260200191505060405180910390f35b34801561124557600080fd5b5061124e6133bc565b6040518082815260200191505060405180910390f35b34801561127057600080fd5b5061128f600480360381019080803590602001909291905050506133c2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156112dd57600080fd5b50611322600480360381019080803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613457565b005b34801561133057600080fd5b50611339613519565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561137957808201518184015260208101905061135e565b50505050905090810190601f1680156113a65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156113c057600080fd5b506113f5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613552565b604051808215151515815260200191505060405180910390f35b34801561141b57600080fd5b5061143a60048036038101908080359060200190929190505050613572565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b611490600480360381019080803563ffffffff169060200190929190803563ffffffff1690602001909291905050506135a1565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b3480156114be57600080fd5b506114e3600480360381019080803563ffffffff169060200190929190505050613c7b565b604051808215151515815260200191505060405180910390f35b34801561150957600080fd5b5061154e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803563ffffffff169060200190929190505050613d6f565b604051808215151515815260200191505060405180910390f35b34801561157457600080fd5b5061157d613d7a565b6040518082815260200191505060405180910390f35b34801561159f57600080fd5b506115de600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613d80565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b34801561160c57600080fd5b50611615613dc8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561166357600080fd5b50611698600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613e49565b6040518083815260200180602001828103825283818151815260200191508051906020019060200280838360005b838110156116e15780820151818401526020810190506116c6565b50505050905001935050505060405180910390f35b34801561170257600080fd5b50611727600480360381019080803563ffffffff169060200190929190505050613f53565b6040518082600560200280838360005b83811015611752578082015181840152602081019050611737565b5050505090500191505060405180910390f35b34801561177157600080fd5b506117c960048036038101908080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290505050613fe9565b604051808215151515815260200191505060405180910390f35b3480156117ef57600080fd5b5061180e60048036038101908080359060200190929190505050614092565b005b34801561181c57600080fd5b50611851600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506140f4565b005b34801561185f57600080fd5b506118686141c9565b6040518082815260200191505060405180910390f35b34801561188a57600080fd5b506118936141cf565b005b3480156118a157600080fd5b506118c6600480360381019080803563ffffffff169060200190929190505050614253565b005b3480156118d457600080fd5b50611909600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506146f4565b005b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561196857600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600080600060196001850363ffffffff168154811015156119ad57fe5b9060005260206000209060080201600201549150600b8211156119cf57600b91505b60196001850363ffffffff168154811015156119e757fe5b906000526020600020906008020160030154601783600c81101515611a0857fe5b600891828204019190066004029054906101000a900463ffffffff1663ffffffff1601925042831115611a4b57611a4842846147ca90919063ffffffff16565b90505b9193909250565b6040805190810160405280600d81526020017f43727970746f526162626974730000000000000000000000000000000000000081525081565b60146020528060005260406000206000915090505481565b600f60009054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611b1357600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b601160205281600052604060002081600581101515611b5657fe5b60089182820401919006600402915091509054906101000a900463ffffffff1681565b60126020528060005260406000206000915090505481565b600081600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081602260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550919050565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611c7257600080fd5b80600d8190555050565b601a6020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000602054905090565b6000601e60008363ffffffff1663ffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b6000601260008363ffffffff1663ffffffff168152602001908152602001600020549050919050565b6000601a60008363ffffffff1663ffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611dc057600080fd5b600090505b8251811015611e0557611dee8382815181101515611ddf57fe5b90602001906020020151611ed7565b15611df857600191505b8080600101915050611dc5565b50919050565b601560205281600052604060002081815481101515611e2657fe5b9060005260206000209060089182820401919006600402915091509054906101000a900463ffffffff1681565b600080600090505b6005811015611ed1576000601160008563ffffffff1663ffffffff16815260200190815260200160002082600581101515611e9257fe5b600891828204019190066004029054906101000a900463ffffffff1663ffffffff16141515611ec45781806001019250505b8080600101915050611e5b565b50919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611f3457600080fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612046576000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507ff1abf01a1043b7c244d128e8595cf0c1d10743b022b03a02dffd8ca3bf729f5a82604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1600190505b919050565b6000601060008363ffffffff1663ffffffff168152602001908152602001600020549050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156120cf57600080fd5b803073ffffffffffffffffffffffffffffffffffffffff1631101515156120f557600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561215d573d6000803e3d6000fd5b5050565b6000600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156121bb57600080fd5b600760009054906101000a900460ff1615600760006101000a81548160ff0219169083151502179055905090565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60065481565b60008060008060196001860363ffffffff1681548110151561226357fe5b906000526020600020906008020160030154925060196001860363ffffffff1681548110151561228f57fe5b9060005260206000209060080201600201549150601782600c811015156122b257fe5b600891828204019190066004029054906101000a900463ffffffff1663ffffffff1690506122e983826147e390919063ffffffff16565b90504281111580156123245750600060196001870363ffffffff1681548110151561231057fe5b906000526020600020906008020160040154145b1561232e57600193505b505050919050565b6000806000612343612b59565b151561234e57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff16601a60008763ffffffff1663ffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156123c757600080fd5b600854841115156123d757600080fd5b6123e085611990565b905050809250508142101515156123f657600080fd5b600160196001870363ffffffff1681548110151561241057fe5b90600052602060002090600802016004015414801561244d575083601460008763ffffffff1663ffffffff16815260200190815260200160002054145b1561245b57600092506125a1565b600160196001870363ffffffff1681548110151561247557fe5b90600052602060002090600802016004018190555083601460008763ffffffff1663ffffffff1681526020019081526020016000208190555060196001860363ffffffff168154811015156124c657fe5b90600052602060002090600802016005015490506015600082815260200190815260200160002085908060018154018082558091505090600182039060005260206000209060089182820401919006600402909192909190916101000a81548163ffffffff021916908363ffffffff160217905550507f23c73fbe30b308411abb0e34d730de433c289c95d4f22ac36485d2d81299faf4856001612569886125a9565b604051808463ffffffff1663ffffffff16815260200183151515158152602001828152602001935050505060405180910390a1600192505b505092915050565b600080600080600160196001870363ffffffff168154811015156125c957fe5b906000526020600020906008020160040154141561268a576064601460008763ffffffff1663ffffffff1681526020019081526020016000205481151561260c57fe5b04925061262360198461480190919063ffffffff16565b915061263a6009548461480190919063ffffffff16565b905061266e601460008763ffffffff1663ffffffff16815260200190815260200160002054836147e390919063ffffffff16565b915061268381836147e390919063ffffffff16565b935061268f565b600093505b505050919050565b600081600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081602160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550919050565b6000601660008363ffffffff1663ffffffff168152602001908152602001600020549050919050565b60198181548110151561275857fe5b90600052602060002090600802016000915090508060000160009054906101000a900463ffffffff16908060000160049054906101000a900463ffffffff16908060010154908060020154908060030154908060040154908060050154908060060154908060070154905089565b60006127d1336121e9565b156127df57600190506127f3565b600f60009054906101000a900460ff161590505b90565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561285357600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60106020528060005260406000206000915090505481565b6000601b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050919050565b6000806000806000806000806000806000806128fa8d6125a9565b915060018d039c5060198d63ffffffff1681548110151561291757fe5b906000526020600020906008020160000160009054906101000a900463ffffffff169b5060198d63ffffffff1681548110151561295057fe5b906000526020600020906008020160000160049054906101000a900463ffffffff169a5060198d63ffffffff1681548110151561298957fe5b906000526020600020906008020160010154995060198d63ffffffff168154811015156129b257fe5b906000526020600020906008020160020154985060198d63ffffffff168154811015156129db57fe5b906000526020600020906008020160030154975060198d63ffffffff16815481101515612a0457fe5b906000526020600020906008020160040154965060198d63ffffffff16815481101515612a2d57fe5b9060005260206000209060080201600501549550600b891115612a4f57600b98505b601260008e63ffffffff1663ffffffff168152602001908152602001600020549050601789600c81101515612a8057fe5b600891828204019190066004029054906101000a900463ffffffff1663ffffffff169250612ab788846147e390919063ffffffff16565b92504283111515612acb5760019450612ae1565b612ade42846147ca90919063ffffffff16565b93505b91939597999b5091939597999b565b600d5481565b6000612b00612b59565b1515612b0b57600080fd5b6001905090565b600b5481565b600a60009054906101000a900463ffffffff1681565b602260149054906101000a900460ff1681565b60136020528060005260406000206000915090505481565b6000600760009054906101000a900460ff1615905090565b6000600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515612bcb57600080fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515612d3e576001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600654016006819055508160056000600654815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fd1bba68c128cc3f427e5831b3c6f99f480b6efa6b9e80c757768f6124158cc3f82604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1600190505b919050565b6000602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ccb0893d6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015612dcb57600080fd5b505af1158015612ddf573d6000803e3d6000fd5b505050506040513d6020811015612df557600080fd5b8101908080519060200190929190505050905090565b6000601f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515612eb957600080fd5b6001821415612ef5578060196001850363ffffffff16815481101515612edb57fe5b906000526020600020906008020160020181905550612fdf565b6002821415612f31578060196001850363ffffffff16815481101515612f1757fe5b906000526020600020906008020160050181905550612fde565b6003821415612f635780601460008563ffffffff1663ffffffff16815260200190815260200160002081905550612fdd565b6004821415612fdc5780601260008563ffffffff1663ffffffff168152602001908152602001600020819055507f6fae13a3fbf9a1fd5751233eb2e75ce60a5321dbc847bb3e1e2e257ef43caa488382604051808363ffffffff1663ffffffff1681526020018281526020019250505060405180910390a15b5b5b5b505050565b600080339150601a60008463ffffffff1663ffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690503373ffffffffffffffffffffffffffffffffffffffff16601a60008563ffffffff1663ffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156130a557600080fd5b8373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156130e057600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415151561311c57600080fd5b613126818461483c565b6131308484614b7a565b7f0daf680c3f528a8760b5142fe1f6f80d5f4ea18bb76f347a7a44a2d565c2b7dc818585604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018263ffffffff1663ffffffff168152602001935050505060405180910390a150505050565b600c5481565b600080601a60008463ffffffff1663ffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151561326657600080fd5b61326f336121e9565b151561327a57600080fd5b8373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156132b557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141515156132f157600080fd5b6132fb818461483c565b6133058484614b7a565b7f0daf680c3f528a8760b5142fe1f6f80d5f4ea18bb76f347a7a44a2d565c2b7dc818585604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018263ffffffff1663ffffffff168152602001935050505060405180910390a160019150509392505050565b60205481565b6000600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561341c57600080fd5b6005600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b3373ffffffffffffffffffffffffffffffffffffffff16601a60008463ffffffff1663ffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156134d057600080fd5b601e60008363ffffffff1663ffffffff16815260200190815260200160002060009054906101000a900460ff1615151561350957600080fd5b6135143382846131e7565b505050565b6040805190810160405280600381526020017f435242000000000000000000000000000000000000000000000000000000000081525081565b60046020528060005260406000206000915054906101000a900460ff1681565b601781600c8110151561358157fe5b60089182820401919006600402915054906101000a900463ffffffff1681565b60008060008060006135b16158a4565b60008060006135be612d43565b15156135c957600080fd5b6135d1612b59565b15156135dc57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff16601a60008d63ffffffff1663ffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561365557600080fd5b6001601960018c0363ffffffff1681548110151561366f57fe5b90600052602060002090600802016004015414151561368d57600080fd5b8963ffffffff168b63ffffffff16141515156136a857600080fd5b6136b18b612245565b15156136bc57600080fd5b6136c58a6125a9565b34101515156136d357600080fd5b6136dd8b8b614ce1565b9750602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166327c5e534601660008e63ffffffff1663ffffffff16815260200190815260200160002054601660008e63ffffffff1663ffffffff168152602001908152602001600020548b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018381526020018281526020019350505050602060405180830381600087803b1580156137be57600080fd5b505af11580156137d2573d6000803e3d6000fd5b505050506040513d60208110156137e857600080fd5b81019080805190602001909291905050509650602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633dd5964f601960018d0363ffffffff1681548110151561385157fe5b906000526020600020906008020160060154601960018f0363ffffffff1681548110151561387b57fe5b9060005260206000209060080201600601546040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506040805180830381600087803b1580156138e557600080fd5b505af11580156138f9573d6000803e3d6000fd5b505050506040513d604081101561390f57600080fd5b8101908080519060200190929190805190602001909291905050508096508197505050610120604051908101604052808c63ffffffff1681526020018b63ffffffff1681526020014381526020016000815260200160008152602001600081526020018981526020018781526020018681525093506019849080600181540180825580915050906001820390600052602060002090600802016000909192909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a81548163ffffffff021916908363ffffffff16021790555060408201518160010155606082015181600201556080820151816003015560a0820151816004015560c0820151816005015560e0820151816006015561010082015181600701555050925086601660008563ffffffff1663ffffffff16815260200190815260200160002081905550613aa26004601460008d63ffffffff1663ffffffff16815260200190815260200160002054614dba90919063ffffffff16565b9150613aae8b83614dd5565b601a60008b63ffffffff1663ffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc601460008d63ffffffff1663ffffffff168152602001908152602001600020549081150290604051600060405180830381858888f19350505050158015613b52573d6000803e3d6000fd5b50613b866064601460008d63ffffffff1663ffffffff16815260200190815260200160002054614dba90919063ffffffff16565b9050613b9d6009548261480190919063ffffffff16565b9050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015613c07573d6000803e3d6000fd5b50613c118b61501b565b613c60601a60008d63ffffffff1663ffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684898b8f8f8c8c61513d565b613c6a838c615283565b829850505050505050505092915050565b6000613c85612b59565b1515613c9057600080fd5b3373ffffffffffffffffffffffffffffffffffffffff16601a60008463ffffffff1663ffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515613d0957600080fd5b600060196001840363ffffffff16815481101515613d2357fe5b9060005260206000209060080201600401819055506000601460008463ffffffff1663ffffffff16815260200190815260200160002081905550613d668261552b565b60019050919050565b600080905092915050565b600e5481565b601b60205281600052604060002081815481101515613d9b57fe5b9060005260206000209060089182820401919006600402915091509054906101000a900463ffffffff1681565b6000600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613e2257600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006060601b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509150601b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480602002602001604051908101604052809291908181526020018280548015613f4757602002820191906000526020600020906000905b82829054906101000a900463ffffffff1663ffffffff1681526020019060040190602082600301049283019260010382029150808411613f0a5790505b50505050509050915091565b613f5b6158fd565b601160008363ffffffff1663ffffffff168152602001908152602001600020600580602002604051908101604052809291908260058015613fdd576020028201916000905b82829054906101000a900463ffffffff1663ffffffff1681526020019060040190602082600301049283019260010382029150808411613fa05790505b50505050509050919050565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561404757600080fd5b600090505b825181101561408c57614075838281518110151561406657fe5b90602001906020020151612b71565b1561407f57600191505b808060010191505061404c565b50919050565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156140ea57600080fd5b80600e8190555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561414f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415156141c657806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b60095481565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561422757600080fd5b600f60009054906101000a900460ff1615600f60006101000a81548160ff021916908315150217905550565b60008061425e6158a4565b600080935061426b612d43565b151561427657600080fd5b61427e612b59565b151561428957600080fd5b6142916127c6565b151561429c57600080fd5b600d54600b5411156142c1576142b1336121e9565b15156142bc57600080fd5b614387565b6142ca336121e9565b151561438657601f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561432957600080fd5b6001601f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600193505b5b602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638f90f2bb336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561444457600080fd5b505af1158015614458573d6000803e3d6000fd5b505050506040513d602081101561446e57600080fd5b8101908080519060200190929190505050925061012060405190810160405280600063ffffffff168152602001600063ffffffff1681526020014381526020016000815260200160008152602001600081526020016000815260200160008152602001600081525091506019829080600181540180825580915050906001820390600052602060002090600802016000909192909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a81548163ffffffff021916908363ffffffff16021790555060408201518160010155606082015181600201556080820151816003015560a0820151816004015560c0820151816005015560e0820151816006015561010082015181600701555050905082601660008363ffffffff1663ffffffff168152602001908152602001600020819055506145d733828560008060006004600061513d565b42600c8190555080600a60006101000a81548163ffffffff021916908363ffffffff160217905550600b6000815480929190600101919050555061461b8186615283565b7f6e0c319a31fe9f53d1b28f06608bbc16136c7d76e852630c488a7abdd6c3d34033868342604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018463ffffffff1663ffffffff1681526020018363ffffffff1663ffffffff16815260200182815260200194505050505060405180910390a183156146ed576001601e60008363ffffffff1663ffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b5050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561474f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415156147c75780600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b60008282111515156147d857fe5b818303905092915050565b60008082840190508381101515156147f757fe5b8091505092915050565b60008060008414156148165760009150614835565b828402905082848281151561482757fe5b0414151561483157fe5b8091505b5092915050565b600080601b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509150600090505b81811015614b73578263ffffffff16601b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020828154811015156148e457fe5b90600052602060002090600891828204019190066004029054906101000a900463ffffffff1663ffffffff161415614b6657601b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208181548110151561496257fe5b90600052602060002090600891828204019190066004026101000a81549063ffffffff021916905560008211801561499d5750600181038214155b15614b0e57601b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600183038154811015156149f157fe5b90600052602060002090600891828204019190066004029054906101000a900463ffffffff16601b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481101515614a6357fe5b90600052602060002090600891828204019190066004026101000a81548163ffffffff021916908363ffffffff160217905550601b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060018303815481101515614ae557fe5b90600052602060002090600891828204019190066004026101000a81549063ffffffff02191690555b601b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480919060019003614b609190615920565b50614b74565b8080600101915050614889565b5b50505050565b601b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081908060018154018082558091505090600182039060005260206000209060089182820401919006600402909192909190916101000a81548163ffffffff021916908363ffffffff160217905550507ffa8e2129ea92b2ced664f0497f946a9596ced2af4bd0950bfccd6c6e2078103a8282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018263ffffffff1663ffffffff1681526020019250505060405180910390a181601a60008363ffffffff1663ffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b60008060196001840363ffffffff16815481101515614cfc57fe5b90600052602060002090600802016005015460196001860363ffffffff16815481101515614d2657fe5b906000526020600020906008020160050154101515614d705760196001850363ffffffff16815481101515614d5757fe5b9060005260206000209060080201600501549050614d9d565b60196001840363ffffffff16815481101515614d8857fe5b90600052602060002090600802016005015490505b614db16001826147e390919063ffffffff16565b91505092915050565b6000808284811515614dc857fe5b0490508091505092915050565b600080600080614de3612b59565b1515614dee57600080fd5b600085111515614dfd57600080fd5b6000614e0887611e53565b111561501357614e1786611e53565b85811515614e2157fe5b049350600092505b614e3286611e53565b831015615012576000601160008863ffffffff1663ffffffff16815260200190815260200160002084600581101515614e6757fe5b600891828204019190066004029054906101000a900463ffffffff1663ffffffff1614151561500557601160008763ffffffff1663ffffffff16815260200190815260200160002083600581101515614ebc57fe5b600891828204019190066004029054906101000a900463ffffffff169150601a60008363ffffffff1663ffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050614f25826157bb565b5083601060008463ffffffff1663ffffffff168152602001908152602001600020600082825401925050819055507f55ac5b34ed9f8bb24a85585c9449a48c9041c752861ed362c3c7fa3ae0028ec782601060008563ffffffff1663ffffffff16815260200190815260200160002054604051808363ffffffff1663ffffffff1681526020018281526020019250505060405180910390a18073ffffffffffffffffffffffffffffffffffffffff166108fc859081150290604051600060405180830381858888f19350505050158015615003573d6000803e3d6000fd5b505b8280600101935050614e29565b5b505050505050565b615023612b59565b151561502e57600080fd5b61506b600160196001840363ffffffff1681548110151561504b57fe5b9060005260206000209060080201600201546147e390919063ffffffff16565b60196001830363ffffffff1681548110151561508357fe5b9060005260206000209060080201600201819055504260196001830363ffffffff168154811015156150b157fe5b9060005260206000209060080201600301819055507f40a71d6481ae5c7839a4c9bb3fa0bb33a4b5816a610c6bc28a590c85e8db5ccc8160196001840363ffffffff1681548110151561510057fe5b906000526020600020906008020160020154604051808363ffffffff1663ffffffff1681526020018281526020019250505060405180910390a150565b7f9c4a4694f3a64b101eb0227609f5af1310a30e4c652a8525972646d443b4feef878743888686604051808763ffffffff1663ffffffff168152602001868152602001858152602001848152602001838152602001828152602001965050505050505060405180910390a17fe207bb77a36191c152d0b5aae045371d330a437a5bf5bd80e530f643c9dc3107848489604051808463ffffffff1663ffffffff1681526020018363ffffffff1663ffffffff1681526020018263ffffffff1663ffffffff168152602001935050505060405180910390a161521d8888614b7a565b6000601060008963ffffffff1663ffffffff168152602001908152602001600020819055506000601260008963ffffffff1663ffffffff168152602001908152602001600020819055506020600081548092919060010191905055505050505050505050565b61528b61595a565b60008060008463ffffffff168663ffffffff16141515156152ab57600080fd5b60009250600091505b60058210156153ee576000601160008763ffffffff1663ffffffff168152602001908152602001600020836005811015156152eb57fe5b600891828204019190066004029054906101000a900463ffffffff1663ffffffff161415156153e157601160008663ffffffff1663ffffffff1681526020019081526020016000208260058110151561534057fe5b600891828204019190066004029054906101000a900463ffffffff168484600b8110151561536a57fe5b602002019063ffffffff16908163ffffffff16815250506000601160008763ffffffff1663ffffffff168152602001908152602001600020836005811015156153af57fe5b600891828204019190066004026101000a81548163ffffffff021916908363ffffffff16021790555082806001019350505b81806001019250506152b4565b848484600b811015156153fd57fe5b602002019063ffffffff16908163ffffffff16815250508280600101935050600090505b60058110156155195760058311156154a3578360018201600b8110151561544457fe5b6020020151601160008863ffffffff1663ffffffff1681526020019081526020016000208260058110151561547557fe5b600891828204019190066004026101000a81548163ffffffff021916908363ffffffff16021790555061550c565b8381600b811015156154b157fe5b6020020151601160008863ffffffff1663ffffffff168152602001908152602001600020826005811015156154e257fe5b600891828204019190066004026101000a81548163ffffffff021916908363ffffffff1602179055505b8080600101915050615421565b615522856157bb565b50505050505050565b600080600060196001850363ffffffff1681548110151561554857fe5b906000526020600020906008020160050154925060156000848152602001908152602001600020805490509150600090505b818110156157b4578363ffffffff1660156000858152602001908152602001600020828154811015156155a957fe5b90600052602060002090600891828204019190066004029054906101000a900463ffffffff1663ffffffff1614156157a75760156000848152602001908152602001600020818154811015156155fb57fe5b90600052602060002090600891828204019190066004026101000a81549063ffffffff02191690556000821180156156365750600181038214155b1561572357601560008481526020019081526020016000206001830381548110151561565e57fe5b90600052602060002090600891828204019190066004029054906101000a900463ffffffff1660156000858152602001908152602001600020828154811015156156a457fe5b90600052602060002090600891828204019190066004026101000a81548163ffffffff021916908363ffffffff16021790555060156000848152602001908152602001600020600183038154811015156156fa57fe5b90600052602060002090600891828204019190066004026101000a81549063ffffffff02191690555b601560008481526020019081526020016000208054809190600190036157499190615920565b507f23c73fbe30b308411abb0e34d730de433c289c95d4f22ac36485d2d81299faf484600080604051808463ffffffff1663ffffffff16815260200183151515158152602001828152602001935050505060405180910390a16157b5565b808060010191505061557a565b5b50505050565b60006157f06001601260008563ffffffff1663ffffffff168152602001908152602001600020546147e390919063ffffffff16565b601260008463ffffffff1663ffffffff168152602001908152602001600020819055507f6fae13a3fbf9a1fd5751233eb2e75ce60a5321dbc847bb3e1e2e257ef43caa4882601260008563ffffffff1663ffffffff16815260200190815260200160002054604051808363ffffffff1663ffffffff1681526020018281526020019250505060405180910390a1601260008363ffffffff1663ffffffff168152602001908152602001600020549050919050565b61012060405190810160405280600063ffffffff168152602001600063ffffffff168152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b60a060405190810160405280600590602082028038833980820191505090505090565b815481835581811115615955576007016008900481600701600890048360005260206000209182019101615954919061597e565b5b505050565b61016060405190810160405280600b90602082028038833980820191505090505090565b6159a091905b8082111561599c576000816000905550600101615984565b5090565b905600a165627a7a72305820ddc5732b897234942e84f2c8dce224aead990f05c6390258d01423560c1af0740029

Swarm Source

bzzr://ddc5732b897234942e84f2c8dce224aead990f05c6390258d01423560c1af074

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.