ETH Price: $2,100.98 (-2.48%)

Contract

0x93bcD59Cd1798BB25c9065F7e2B9AD2Ab729B68D
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer103331922020-06-25 6:03:342095 days ago1593065014IN
0x93bcD59C...Ab729B68D
0.1 ETH0.0007740531.90000123
Buy Level103331622020-06-25 5:57:552095 days ago1593064675IN
0x93bcD59C...Ab729B68D
0.1 ETH0.000719531.90000123
Buy Level103330942020-06-25 5:41:112095 days ago1593063671IN
0x93bcD59C...Ab729B68D
0.1 ETH0.000719531.90000123
Buy Level103291752020-06-24 15:03:262096 days ago1593011006IN
0x93bcD59C...Ab729B68D
0.1 ETH0.0012179754
Buy Level103291732020-06-24 15:03:172096 days ago1593010997IN
0x93bcD59C...Ab729B68D
0.1 ETH0.001150351
Buy Level103290942020-06-24 14:48:262096 days ago1593010106IN
0x93bcD59C...Ab729B68D
0.1 ETH0.000902240
Transfer103221922020-06-23 13:07:042097 days ago1592917624IN
0x93bcD59C...Ab729B68D
0.1 ETH0.0012132550
Transfer103206632020-06-23 7:23:302097 days ago1592897010IN
0x93bcD59C...Ab729B68D
0.1 ETH0.0009220738
Transfer103200232020-06-23 4:58:472097 days ago1592888327IN
0x93bcD59C...Ab729B68D
0.1 ETH0.0005580923
Transfer103197752020-06-23 4:00:392097 days ago1592884839IN
0x93bcD59C...Ab729B68D
0.00412031 ETH0.0011131338
Transfer103197372020-06-23 3:54:002097 days ago1592884440IN
0x93bcD59C...Ab729B68D
0.004 ETH0.0009959634
Transfer103171312020-06-22 18:18:172098 days ago1592849897IN
0x93bcD59C...Ab729B68D
0.1 ETH0.0009220738
Transfer103171012020-06-22 18:10:362098 days ago1592849436IN
0x93bcD59C...Ab729B68D
0.06952112 ETH0.0009959634
Transfer103170572020-06-22 17:59:352098 days ago1592848775IN
0x93bcD59C...Ab729B68D
0.1 ETH0.0008735436
Transfer103150732020-06-22 10:42:452098 days ago1592822565IN
0x93bcD59C...Ab729B68D
0.1 ETH0.00075636

Advanced mode:
Parent Transaction Hash Method Block
From
To
View All Internal Transactions
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
GiganticWaves

Compiler Version
v0.5.7+commit.6da8b019

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2020-06-22
*/

// ----------------------------------------------------------------------------
// Company Name : Gigantic Waves 
// Website      : www.giganticwaves.com
//
// (c) by GIGANTIC WAVES INC. The MIT Licence.
// --

pragma solidity ^0.5.7;


library SafeMath {

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

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

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

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

}


contract Ownable {

  address public owner;
  address public manager;
  address public ownerWallet;

  constructor() public {
    owner = msg.sender;
    manager = msg.sender;
    ownerWallet = 0x7717c2D73dC6A4C0A824Ff1815dfCF174AC3bfef;
  }

  modifier onlyOwner() {
    require(msg.sender == owner, "only for owner");
    _;
  }

  modifier onlyOwnerOrManager() {
     require((msg.sender == owner)||(msg.sender == manager), "only for owner or manager");
      _;
  }

  function transferOwnership(address newOwner) public onlyOwner {
    owner = newOwner;
  }

  function setManager(address _manager) public onlyOwnerOrManager {
      manager = _manager;
  }
}

contract GiganticWaves is Ownable {

    event regLevelEvent(address indexed _user, address indexed _referrer, uint _time);
    event buyLevelEvent(address indexed _user, uint _level, uint _time);
    event prolongateLevelEvent(address indexed _user, uint _level, uint _time);
    event getMoneyForLevelEvent(address indexed _user, address indexed _referral, uint _level, uint _time);
    event lostMoneyForLevelEvent(address indexed _user, address indexed _referral, uint _level, uint _time);
    //------------------------------

    mapping (uint => uint) public LEVEL_PRICE;
    uint REFERRER_1_LEVEL_LIMIT = 3;
    uint PERIOD_LENGTH = 365 days;


    struct UserStruct {
        bool isExist;
        uint id;
        uint referrerID;
        address[] referral;
        mapping (uint => uint) levelExpired;
    }

    mapping (address => UserStruct) public users;
    mapping (uint => address) public userList;
    uint public currUserID = 0;




    constructor() public {

        LEVEL_PRICE[1] = 0.10 ether;
        LEVEL_PRICE[2] = 0.10 ether;
        LEVEL_PRICE[3] = 0.20 ether;
        LEVEL_PRICE[4] = 0.40 ether;
        LEVEL_PRICE[5] = 1.00 ether;
        LEVEL_PRICE[6] = 5.00 ether;
        LEVEL_PRICE[7] = 8.00 ether;
        LEVEL_PRICE[8] = 20.00 ether;
        LEVEL_PRICE[9] = 100.00 ether;

        UserStruct memory userStruct;
        currUserID++;

        userStruct = UserStruct({
            isExist : true,
            id : currUserID,
            referrerID : 0,
            referral : new address[](0)
        });
        users[ownerWallet] = userStruct;
        userList[currUserID] = ownerWallet;

        users[ownerWallet].levelExpired[1] = 77777777777;
        users[ownerWallet].levelExpired[2] = 77777777777;
        users[ownerWallet].levelExpired[3] = 77777777777;
        users[ownerWallet].levelExpired[4] = 77777777777;
        users[ownerWallet].levelExpired[5] = 77777777777;
        users[ownerWallet].levelExpired[6] = 77777777777;
        users[ownerWallet].levelExpired[7] = 77777777777;
        users[ownerWallet].levelExpired[8] = 77777777777;
        users[ownerWallet].levelExpired[9] = 77777777777;

    }

    function () external payable {

        uint level;

        if(msg.value == LEVEL_PRICE[1]){
            level = 1;
        }else if(msg.value == LEVEL_PRICE[2]){
            level = 2;
        }else if(msg.value == LEVEL_PRICE[3]){
            level = 3;
        }else if(msg.value == LEVEL_PRICE[4]){
            level = 4;
        }else if(msg.value == LEVEL_PRICE[5]){
            level = 5;
        }else if(msg.value == LEVEL_PRICE[6]){
            level = 6;
        }else if(msg.value == LEVEL_PRICE[7]){
            level = 7;
        }else if(msg.value == LEVEL_PRICE[8]){
            level = 8;
        }else if(msg.value == LEVEL_PRICE[9]){
            level = 9;
        }else {
            revert('Incorrect Value send');
        }

        if(users[msg.sender].isExist){
            buyLevel(level);
        } else if(level == 1) {
            uint refId = 0;
            address referrer = bytesToAddress(msg.data);

            if (users[referrer].isExist){
                refId = users[referrer].id;
            } else {
                revert('Incorrect referrer');
            }

            regUser(refId);
        } else {
            revert("Please buy first level for 0.10 ETH");
        }
    }

    function regUser(uint _referrerID) public payable {
        require(!users[msg.sender].isExist, 'User exist');

        require(_referrerID > 0 && _referrerID <= currUserID, 'Incorrect referrer Id');

        require(msg.value==LEVEL_PRICE[1], 'Incorrect Value');


        if(users[userList[_referrerID]].referral.length >= REFERRER_1_LEVEL_LIMIT)
        {
            _referrerID = users[findFreeReferrer(userList[_referrerID])].id;
        }


        UserStruct memory userStruct;
        currUserID++;

        userStruct = UserStruct({
            isExist : true,
            id : currUserID,
            referrerID : _referrerID,
            referral : new address[](0)
        });

        users[msg.sender] = userStruct;
        userList[currUserID] = msg.sender;

        users[msg.sender].levelExpired[1] = now + PERIOD_LENGTH;
        users[msg.sender].levelExpired[2] = 0;
        users[msg.sender].levelExpired[3] = 0;
        users[msg.sender].levelExpired[4] = 0;
        users[msg.sender].levelExpired[5] = 0;
        users[msg.sender].levelExpired[6] = 0;
        users[msg.sender].levelExpired[7] = 0;
        users[msg.sender].levelExpired[8] = 0;
        users[msg.sender].levelExpired[9] = 0;

        users[userList[_referrerID]].referral.push(msg.sender);

        payForLevel(1, msg.sender);

        emit regLevelEvent(msg.sender, userList[_referrerID], now);
    }

    function buyLevel(uint _level) public payable {
        require(users[msg.sender].isExist, 'User not exist');

        require( _level>0 && _level<=8, 'Incorrect level');

        if(_level == 1){
            require(msg.value==LEVEL_PRICE[1], 'Incorrect Value');
            users[msg.sender].levelExpired[1] += PERIOD_LENGTH;
        } else {
            require(msg.value==LEVEL_PRICE[_level], 'Incorrect Value');

            for(uint l =_level-1; l>0; l-- ){
                require(users[msg.sender].levelExpired[l] >= now, 'Buy the previous level');
            }

            if(users[msg.sender].levelExpired[_level] == 0){
                users[msg.sender].levelExpired[_level] = now + PERIOD_LENGTH;
            } else {
                users[msg.sender].levelExpired[_level] += PERIOD_LENGTH;
            }
        }
        payForLevel(_level, msg.sender);
        emit buyLevelEvent(msg.sender, _level, now);
    }

    function payForLevel(uint _level, address _user) internal {

        address referer;
        address referer1;
        address referer2;
        address referer3;
        if(_level == 1 || _level == 5){
            referer = userList[users[_user].referrerID];
        } else if(_level == 2 || _level == 6){
            referer1 = userList[users[_user].referrerID];
            referer = userList[users[referer1].referrerID];
        } else if(_level == 3 || _level == 7){
            referer1 = userList[users[_user].referrerID];
            referer2 = userList[users[referer1].referrerID];
            referer = userList[users[referer2].referrerID];
        } else if(_level == 4 || _level == 9){
            referer1 = userList[users[_user].referrerID];
            referer2 = userList[users[referer1].referrerID];
            referer3 = userList[users[referer2].referrerID];
            referer = userList[users[referer3].referrerID];
        }

        if(!users[referer].isExist){
            referer = userList[1];
        }

        if(users[referer].levelExpired[_level] >= now ){
            bool result;
            result = address(uint160(referer)).send(LEVEL_PRICE[_level]);
            emit getMoneyForLevelEvent(referer, msg.sender, _level, now);
        } else {
            emit lostMoneyForLevelEvent(referer, msg.sender, _level, now);
            payForLevel(_level,referer);
        }
    }

    function findFreeReferrer(address _user) public view returns(address) {
        if(users[_user].referral.length < REFERRER_1_LEVEL_LIMIT){
            return _user;
        }

        address[] memory referrals = new address[](363);
        referrals[0] = users[_user].referral[0]; 
        referrals[1] = users[_user].referral[1];
        referrals[2] = users[_user].referral[2];

        address freeReferrer;
        bool noFreeReferrer = true;

        for(uint i =0; i<363;i++){
            if(users[referrals[i]].referral.length == REFERRER_1_LEVEL_LIMIT){
                if(i<120){
                    referrals[(i+1)*3] = users[referrals[i]].referral[0];
                    referrals[(i+1)*3+1] = users[referrals[i]].referral[1];
                    referrals[(i+1)*3+2] = users[referrals[i]].referral[2];
                }
            }else{
                noFreeReferrer = false;
                freeReferrer = referrals[i];
                break;
            }
        }
        require(!noFreeReferrer, 'No Free Referrer');
        return freeReferrer;

    }

    function viewUserReferral(address _user) public view returns(address[] memory) {
        return users[_user].referral;
    }

    function viewUserLevelExpired(address _user, uint _level) public view returns(uint) {
        return users[_user].levelExpired[_level];
    }
    function bytesToAddress(bytes memory bys) private pure returns (address  addr ) {
        assembly {
            addr := mload(add(bys, 20))
        }
    }
}

Contract Security Audit

Contract ABI

API
[{"constant":true,"inputs":[{"name":"_user","type":"address"}],"name":"findFreeReferrer","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"manager","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_user","type":"address"}],"name":"viewUserReferral","outputs":[{"name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"LEVEL_PRICE","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_referrerID","type":"uint256"}],"name":"regUser","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ownerWallet","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"userList","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"currUserID","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"users","outputs":[{"name":"isExist","type":"bool"},{"name":"id","type":"uint256"},{"name":"referrerID","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_manager","type":"address"}],"name":"setManager","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_user","type":"address"},{"name":"_level","type":"uint256"}],"name":"viewUserLevelExpired","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_level","type":"uint256"}],"name":"buyLevel","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_user","type":"address"},{"indexed":true,"name":"_referrer","type":"address"},{"indexed":false,"name":"_time","type":"uint256"}],"name":"regLevelEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_user","type":"address"},{"indexed":false,"name":"_level","type":"uint256"},{"indexed":false,"name":"_time","type":"uint256"}],"name":"buyLevelEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_user","type":"address"},{"indexed":false,"name":"_level","type":"uint256"},{"indexed":false,"name":"_time","type":"uint256"}],"name":"prolongateLevelEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_user","type":"address"},{"indexed":true,"name":"_referral","type":"address"},{"indexed":false,"name":"_level","type":"uint256"},{"indexed":false,"name":"_time","type":"uint256"}],"name":"getMoneyForLevelEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_user","type":"address"},{"indexed":true,"name":"_referral","type":"address"},{"indexed":false,"name":"_level","type":"uint256"},{"indexed":false,"name":"_time","type":"uint256"}],"name":"lostMoneyForLevelEvent","type":"event"}]

608060405260036004556301e1338060055560006008553480156200002357600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550737717c2d73dc6a4c0a824ff1815dfcf174ac3bfef600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555067016345785d8a000060036000600181526020019081526020016000208190555067016345785d8a00006003600060028152602001908152602001600020819055506702c68af0bb14000060036000600381526020019081526020016000208190555067058d15e176280000600360006004815260200190815260200160002081905550670de0b6b3a7640000600360006005815260200190815260200160002081905550674563918244f40000600360006006815260200190815260200160002081905550676f05b59d3b2000006003600060078152602001908152602001600020819055506801158e460913d0000060036000600881526020019081526020016000208190555068056bc75e2d631000006003600060098152602001908152602001600020819055506200022f62000850565b60086000815480929190600101919050555060405180608001604052806001151581526020016008548152602001600081526020016000604051908082528060200260200182016040528015620002955781602001602082028038833980820191505090505b5081525090508060066000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548160ff021916908315150217905550602082015181600101556040820151816002015560608201518160030190805190602001906200034f9291906200087a565b50905050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660076000600854815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555064121beab47160066000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206004016000600181526020019081526020016000208190555064121beab47160066000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206004016000600281526020019081526020016000208190555064121beab47160066000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206004016000600381526020019081526020016000208190555064121beab47160066000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206004016000600481526020019081526020016000208190555064121beab47160066000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206004016000600581526020019081526020016000208190555064121beab47160066000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206004016000600681526020019081526020016000208190555064121beab47160066000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206004016000600781526020019081526020016000208190555064121beab47160066000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206004016000600881526020019081526020016000208190555064121beab47160066000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040160006009815260200190815260200160002081905550506200094f565b60405180608001604052806000151581526020016000815260200160008152602001606081525090565b828054828255906000526020600020908101928215620008f6579160200282015b82811115620008f55782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550916020019190600101906200089b565b5b50905062000905919062000909565b5090565b6200094c91905b808211156200094857600081816101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555060010162000910565b5090565b90565b612baa806200095f6000396000f3fe6080604052600436106100dd5760003560e01c80639f4216e81161007f578063d0ebdbe711610059578063d0ebdbe7146108ad578063d2840073146108fe578063f2fde38b1461096d578063f6838a72146109be576100dd565b80639f4216e814610790578063a4bb170d1461080b578063a87430ba14610836576100dd565b806379378e30116100bb57806379378e30146106655780638853b53e146106b45780638da5cb5b146106e25780639335dcb714610739576100dd565b8063132c8c9b146104d7578063481c6a75146105685780634a4baa8f146105bf575b600060036000600181526020019081526020016000205434141561010457600190506102a2565b60036000600281526020019081526020016000205434141561012957600290506102a1565b60036000600381526020019081526020016000205434141561014e57600390506102a0565b600360006004815260200190815260200160002054341415610173576004905061029f565b600360006005815260200190815260200160002054341415610198576005905061029e565b6003600060068152602001908152602001600020543414156101bd576006905061029d565b6003600060078152602001908152602001600020543414156101e2576007905061029c565b600360006008815260200190815260200160002054341415610207576008905061029b565b60036000600981526020019081526020016000205434141561022c576009905061029a565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f496e636f72726563742056616c75652073656e6400000000000000000000000081525060200191505060405180910390fd5b5b5b5b5b5b5b5b5b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff161561030557610300816109ec565b6104d4565b600181141561048257600080905060006103636000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610f23565b9050600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff161561040457600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101549150610472565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f496e636f7272656374207265666572726572000000000000000000000000000081525060200191505060405180910390fd5b61047b82610f31565b50506104d3565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180612b5c6023913960400191505060405180910390fd5b5b50005b3480156104e357600080fd5b50610526600480360360208110156104fa57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061180a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561057457600080fd5b5061057d611e9c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105cb57600080fd5b5061060e600480360360208110156105e257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ec2565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015610651578082015181840152602081019050610636565b505050509050019250505060405180910390f35b34801561067157600080fd5b5061069e6004803603602081101561068857600080fd5b8101908080359060200190929190505050611f92565b6040518082815260200191505060405180910390f35b6106e0600480360360208110156106ca57600080fd5b8101908080359060200190929190505050610f31565b005b3480156106ee57600080fd5b506106f7611faa565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561074557600080fd5b5061074e611fcf565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561079c57600080fd5b506107c9600480360360208110156107b357600080fd5b8101908080359060200190929190505050611ff5565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561081757600080fd5b50610820612028565b6040518082815260200191505060405180910390f35b34801561084257600080fd5b506108856004803603602081101561085957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061202e565b6040518084151515158152602001838152602001828152602001935050505060405180910390f35b3480156108b957600080fd5b506108fc600480360360208110156108d057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612065565b005b34801561090a57600080fd5b506109576004803603604081101561092157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506121c3565b6040518082815260200191505060405180910390f35b34801561097957600080fd5b506109bc6004803603602081101561099057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612221565b005b6109ea600480360360208110156109d457600080fd5b81019080803590602001909291905050506109ec565b005b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff16610aae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f55736572206e6f7420657869737400000000000000000000000000000000000081525060200191505060405180910390fd5b600081118015610abf575060088111155b610b31576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f496e636f7272656374206c6576656c000000000000000000000000000000000081525060200191505060405180910390fd5b6001811415610c2c576003600060018152602001908152602001600020543414610bc3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f496e636f72726563742056616c7565000000000000000000000000000000000081525060200191505060405180910390fd5b600554600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040160006001815260200190815260200160002060008282540192505081905550610ec0565b60036000828152602001908152602001600020543414610cb4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f496e636f72726563742056616c7565000000000000000000000000000000000081525060200191505060405180910390fd5b60006001820390505b6000811115610d9d5742600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206004016000838152602001908152602001600020541015610d8f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f427579207468652070726576696f7573206c6576656c0000000000000000000081525060200191505060405180910390fd5b808060019003915050610cbd565b506000600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206004016000838152602001908152602001600020541415610e5b576005544201600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401600083815260200190815260200160002081905550610ebf565b600554600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206004016000838152602001908152602001600020600082825401925050819055505b5b610eca8133612326565b3373ffffffffffffffffffffffffffffffffffffffff167f9ea70f0eb33d898c3336ecf2c0e3cf1c0195c13ad3fbcb34447777dbfd5ff2d08242604051808381526020018281526020019250505060405180910390a250565b600060148201519050919050565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff1615610ff4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f557365722065786973740000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60008111801561100657506008548111155b611078576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f496e636f7272656374207265666572726572204964000000000000000000000081525060200191505060405180910390fd5b6003600060018152602001908152602001600020543414611101576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f496e636f72726563742056616c7565000000000000000000000000000000000081525060200191505060405180910390fd5b600454600660006007600085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301805490501061120357600660006111c26007600085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661180a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015490505b61120b612a64565b60086000815480929190600101919050555060405180608001604052806001151581526020016008548152602001838152602001600060405190808252806020026020018201604052801561126f5781602001602082028038833980820191505090505b50815250905080600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548160ff02191690831515021790555060208201518160010155604082015181600201556060820151816003019080519060200190611305929190612a8e565b509050503360076000600854815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506005544201600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401600060018152602001908152602001600020819055506000600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401600060028152602001908152602001600020819055506000600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401600060038152602001908152602001600020819055506000600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401600060048152602001908152602001600020819055506000600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401600060058152602001908152602001600020819055506000600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401600060068152602001908152602001600020819055506000600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401600060078152602001908152602001600020819055506000600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401600060088152602001908152602001600020819055506000600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040160006009815260200190815260200160002081905550600660006007600085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206003013390806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505061176e600133612326565b6007600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f788c06d2405ae89dd3f0528d38be7691289474d72176408bc2c2406dc5e342f1426040518082815260200191505060405180910390a35050565b6000600454600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030180549050101561186357819050611e97565b606061016b6040519080825280602002602001820160405280156118965781602001602082028038833980820191505090505b509050600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206003016000815481106118e757fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160008151811061191f57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206003016001815481106119a757fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16816001815181106119df57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301600281548110611a6757fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600281518110611a9f57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506000806001905060008090505b61016b811015611e1b5760045460066000868481518110611b0357fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301805490501415611def576078811015611dea5760066000858381518110611b6b57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301600081548110611bbc57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846003600184010281518110611bf957fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060066000858381518110611c4357fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301600181548110611c9457fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846001600360018501020181518110611cd457fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060066000858381518110611d1e57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301600281548110611d6f57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846002600360018501020181518110611daf57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505b611e0e565b60009150838181518110611dff57fe5b60200260200101519250611e1b565b8080600101915050611ae6565b508015611e90576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f4e6f20467265652052656665727265720000000000000000000000000000000081525060200191505060405180910390fd5b8193505050505b919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6060600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301805480602002602001604051908101604052809291908181526020018280548015611f8657602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311611f3c575b50505050509050919050565b60036020528060005260406000206000915090505481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60076020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60085481565b60066020528060005260406000206000915090508060000160009054906101000a900460ff16908060010154908060020154905083565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061210d5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b61217f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f6f6e6c7920666f72206f776e6572206f72206d616e616765720000000000000081525060200191505060405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401600083815260200190815260200160002054905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146122e3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6f6e6c7920666f72206f776e657200000000000000000000000000000000000081525060200191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080600080600186148061233b5750600586145b156123bd5760076000600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16935061283f565b60028614806123cc5750600686145b156124c65760076000600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16925060076000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16935061283e565b60038614806124d55750600786145b156126475760076000600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16925060076000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915060076000600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16935061283d565b60048614806126565750600986145b1561283c5760076000600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16925060076000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915060076000600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060076000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1693505b5b5b5b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff166128cb57600760006001815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1693505b42600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401600088815260200190815260200160002054106129e45760008473ffffffffffffffffffffffffffffffffffffffff166108fc600360008a8152602001908152602001600020549081150290604051600060405180830381858888f1935050505090503373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fce7dc747411ac40191c5335943fcc79d8c2d8c01ca5ae83d9fed160409fa61208942604051808381526020018281526020019250505060405180910390a350612a5c565b3373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f7df0f6bac5c770af7783500bb7f1c0d073adb11316004ba6f9f6c704af1a1aea8842604051808381526020018281526020019250505060405180910390a3612a5b8685612326565b5b505050505050565b60405180608001604052806000151581526020016000815260200160008152602001606081525090565b828054828255906000526020600020908101928215612b07579160200282015b82811115612b065782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555091602001919060010190612aae565b5b509050612b149190612b18565b5090565b612b5891905b80821115612b5457600081816101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550600101612b1e565b5090565b9056fe506c6561736520627579206669727374206c6576656c20666f7220302e313020455448a165627a7a7230582081ef411b1133772566c2c7732336c1cb2c46c728d7e4fdd129ee8bf7f7f3d10c0029

Deployed Bytecode

0x6080604052600436106100dd5760003560e01c80639f4216e81161007f578063d0ebdbe711610059578063d0ebdbe7146108ad578063d2840073146108fe578063f2fde38b1461096d578063f6838a72146109be576100dd565b80639f4216e814610790578063a4bb170d1461080b578063a87430ba14610836576100dd565b806379378e30116100bb57806379378e30146106655780638853b53e146106b45780638da5cb5b146106e25780639335dcb714610739576100dd565b8063132c8c9b146104d7578063481c6a75146105685780634a4baa8f146105bf575b600060036000600181526020019081526020016000205434141561010457600190506102a2565b60036000600281526020019081526020016000205434141561012957600290506102a1565b60036000600381526020019081526020016000205434141561014e57600390506102a0565b600360006004815260200190815260200160002054341415610173576004905061029f565b600360006005815260200190815260200160002054341415610198576005905061029e565b6003600060068152602001908152602001600020543414156101bd576006905061029d565b6003600060078152602001908152602001600020543414156101e2576007905061029c565b600360006008815260200190815260200160002054341415610207576008905061029b565b60036000600981526020019081526020016000205434141561022c576009905061029a565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f496e636f72726563742056616c75652073656e6400000000000000000000000081525060200191505060405180910390fd5b5b5b5b5b5b5b5b5b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff161561030557610300816109ec565b6104d4565b600181141561048257600080905060006103636000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610f23565b9050600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff161561040457600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101549150610472565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f496e636f7272656374207265666572726572000000000000000000000000000081525060200191505060405180910390fd5b61047b82610f31565b50506104d3565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180612b5c6023913960400191505060405180910390fd5b5b50005b3480156104e357600080fd5b50610526600480360360208110156104fa57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061180a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561057457600080fd5b5061057d611e9c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105cb57600080fd5b5061060e600480360360208110156105e257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ec2565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015610651578082015181840152602081019050610636565b505050509050019250505060405180910390f35b34801561067157600080fd5b5061069e6004803603602081101561068857600080fd5b8101908080359060200190929190505050611f92565b6040518082815260200191505060405180910390f35b6106e0600480360360208110156106ca57600080fd5b8101908080359060200190929190505050610f31565b005b3480156106ee57600080fd5b506106f7611faa565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561074557600080fd5b5061074e611fcf565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561079c57600080fd5b506107c9600480360360208110156107b357600080fd5b8101908080359060200190929190505050611ff5565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561081757600080fd5b50610820612028565b6040518082815260200191505060405180910390f35b34801561084257600080fd5b506108856004803603602081101561085957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061202e565b6040518084151515158152602001838152602001828152602001935050505060405180910390f35b3480156108b957600080fd5b506108fc600480360360208110156108d057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612065565b005b34801561090a57600080fd5b506109576004803603604081101561092157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506121c3565b6040518082815260200191505060405180910390f35b34801561097957600080fd5b506109bc6004803603602081101561099057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612221565b005b6109ea600480360360208110156109d457600080fd5b81019080803590602001909291905050506109ec565b005b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff16610aae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f55736572206e6f7420657869737400000000000000000000000000000000000081525060200191505060405180910390fd5b600081118015610abf575060088111155b610b31576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f496e636f7272656374206c6576656c000000000000000000000000000000000081525060200191505060405180910390fd5b6001811415610c2c576003600060018152602001908152602001600020543414610bc3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f496e636f72726563742056616c7565000000000000000000000000000000000081525060200191505060405180910390fd5b600554600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040160006001815260200190815260200160002060008282540192505081905550610ec0565b60036000828152602001908152602001600020543414610cb4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f496e636f72726563742056616c7565000000000000000000000000000000000081525060200191505060405180910390fd5b60006001820390505b6000811115610d9d5742600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206004016000838152602001908152602001600020541015610d8f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f427579207468652070726576696f7573206c6576656c0000000000000000000081525060200191505060405180910390fd5b808060019003915050610cbd565b506000600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206004016000838152602001908152602001600020541415610e5b576005544201600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401600083815260200190815260200160002081905550610ebf565b600554600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206004016000838152602001908152602001600020600082825401925050819055505b5b610eca8133612326565b3373ffffffffffffffffffffffffffffffffffffffff167f9ea70f0eb33d898c3336ecf2c0e3cf1c0195c13ad3fbcb34447777dbfd5ff2d08242604051808381526020018281526020019250505060405180910390a250565b600060148201519050919050565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff1615610ff4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f557365722065786973740000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60008111801561100657506008548111155b611078576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f496e636f7272656374207265666572726572204964000000000000000000000081525060200191505060405180910390fd5b6003600060018152602001908152602001600020543414611101576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f496e636f72726563742056616c7565000000000000000000000000000000000081525060200191505060405180910390fd5b600454600660006007600085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301805490501061120357600660006111c26007600085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661180a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015490505b61120b612a64565b60086000815480929190600101919050555060405180608001604052806001151581526020016008548152602001838152602001600060405190808252806020026020018201604052801561126f5781602001602082028038833980820191505090505b50815250905080600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548160ff02191690831515021790555060208201518160010155604082015181600201556060820151816003019080519060200190611305929190612a8e565b509050503360076000600854815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506005544201600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401600060018152602001908152602001600020819055506000600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401600060028152602001908152602001600020819055506000600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401600060038152602001908152602001600020819055506000600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401600060048152602001908152602001600020819055506000600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401600060058152602001908152602001600020819055506000600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401600060068152602001908152602001600020819055506000600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401600060078152602001908152602001600020819055506000600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401600060088152602001908152602001600020819055506000600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040160006009815260200190815260200160002081905550600660006007600085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206003013390806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505061176e600133612326565b6007600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f788c06d2405ae89dd3f0528d38be7691289474d72176408bc2c2406dc5e342f1426040518082815260200191505060405180910390a35050565b6000600454600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030180549050101561186357819050611e97565b606061016b6040519080825280602002602001820160405280156118965781602001602082028038833980820191505090505b509050600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206003016000815481106118e757fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160008151811061191f57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206003016001815481106119a757fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16816001815181106119df57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301600281548110611a6757fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600281518110611a9f57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506000806001905060008090505b61016b811015611e1b5760045460066000868481518110611b0357fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301805490501415611def576078811015611dea5760066000858381518110611b6b57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301600081548110611bbc57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846003600184010281518110611bf957fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060066000858381518110611c4357fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301600181548110611c9457fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846001600360018501020181518110611cd457fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060066000858381518110611d1e57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301600281548110611d6f57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846002600360018501020181518110611daf57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505b611e0e565b60009150838181518110611dff57fe5b60200260200101519250611e1b565b8080600101915050611ae6565b508015611e90576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f4e6f20467265652052656665727265720000000000000000000000000000000081525060200191505060405180910390fd5b8193505050505b919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6060600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301805480602002602001604051908101604052809291908181526020018280548015611f8657602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311611f3c575b50505050509050919050565b60036020528060005260406000206000915090505481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60076020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60085481565b60066020528060005260406000206000915090508060000160009054906101000a900460ff16908060010154908060020154905083565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061210d5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b61217f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f6f6e6c7920666f72206f776e6572206f72206d616e616765720000000000000081525060200191505060405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401600083815260200190815260200160002054905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146122e3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6f6e6c7920666f72206f776e657200000000000000000000000000000000000081525060200191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080600080600186148061233b5750600586145b156123bd5760076000600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16935061283f565b60028614806123cc5750600686145b156124c65760076000600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16925060076000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16935061283e565b60038614806124d55750600786145b156126475760076000600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16925060076000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915060076000600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16935061283d565b60048614806126565750600986145b1561283c5760076000600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16925060076000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915060076000600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060076000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1693505b5b5b5b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff166128cb57600760006001815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1693505b42600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401600088815260200190815260200160002054106129e45760008473ffffffffffffffffffffffffffffffffffffffff166108fc600360008a8152602001908152602001600020549081150290604051600060405180830381858888f1935050505090503373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fce7dc747411ac40191c5335943fcc79d8c2d8c01ca5ae83d9fed160409fa61208942604051808381526020018281526020019250505060405180910390a350612a5c565b3373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f7df0f6bac5c770af7783500bb7f1c0d073adb11316004ba6f9f6c704af1a1aea8842604051808381526020018281526020019250505060405180910390a3612a5b8685612326565b5b505050505050565b60405180608001604052806000151581526020016000815260200160008152602001606081525090565b828054828255906000526020600020908101928215612b07579160200282015b82811115612b065782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555091602001919060010190612aae565b5b509050612b149190612b18565b5090565b612b5891905b80821115612b5457600081816101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550600101612b1e565b5090565b9056fe506c6561736520627579206669727374206c6576656c20666f7220302e313020455448a165627a7a7230582081ef411b1133772566c2c7732336c1cb2c46c728d7e4fdd129ee8bf7f7f3d10c0029

Deployed Bytecode Sourcemap

1501:8918:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3779:10;3818:11;:14;3830:1;3818:14;;;;;;;;;;;;3805:9;:27;3802:705;;;3856:1;3848:9;;3802:705;;;3890:11;:14;3902:1;3890:14;;;;;;;;;;;;3877:9;:27;3874:633;;;3928:1;3920:9;;3874:633;;;3962:11;:14;3974:1;3962:14;;;;;;;;;;;;3949:9;:27;3946:561;;;4000:1;3992:9;;3946:561;;;4034:11;:14;4046:1;4034:14;;;;;;;;;;;;4021:9;:27;4018:489;;;4072:1;4064:9;;4018:489;;;4106:11;:14;4118:1;4106:14;;;;;;;;;;;;4093:9;:27;4090:417;;;4144:1;4136:9;;4090:417;;;4178:11;:14;4190:1;4178:14;;;;;;;;;;;;4165:9;:27;4162:345;;;4216:1;4208:9;;4162:345;;;4250:11;:14;4262:1;4250:14;;;;;;;;;;;;4237:9;:27;4234:273;;;4288:1;4280:9;;4234:273;;;4322:11;:14;4334:1;4322:14;;;;;;;;;;;;4309:9;:27;4306:201;;;4360:1;4352:9;;4306:201;;;4394:11;:14;4406:1;4394:14;;;;;;;;;;;;4381:9;:27;4378:129;;;4432:1;4424:9;;4378:129;;;4465:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4378:129;4306:201;4234:273;4162:345;4090:417;4018:489;3946:561;3874:633;3802:705;4522:5;:17;4528:10;4522:17;;;;;;;;;;;;;;;:25;;;;;;;;;;;;4519:474;;;4563:15;4572:5;4563:8;:15::i;:::-;4519:474;;;4608:1;4599:5;:10;4596:397;;;4626:10;4639:1;4626:14;;4655:16;4674:24;4689:8;;4674:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;4674:24:0;;;;;;:14;:24::i;:::-;4655:43;;4719:5;:15;4725:8;4719:15;;;;;;;;;;;;;;;:23;;;;;;;;;;;;4715:158;;;4770:5;:15;4776:8;4770:15;;;;;;;;;;;;;;;:18;;;4762:26;;4715:158;;;4829:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4715:158;4889:14;4897:5;4889:7;:14::i;:::-;4596:397;;;;;4936:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4596:397;4519:474;3737:1263;1501:8918;8862:1103;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8862:1103:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8862:1103:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;854:22;;8:9:-1;5:2;;;30:1;27;20:12;5:2;854:22:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9973:126;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9973:126:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9973:126:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;9973:126:0;;;;;;;;;;;;;;;;;2046:41;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2046:41:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2046:41:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5008:1434;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5008:1434:0;;;;;;;;;;;;;;;;;:::i;:::-;;829:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;829:20:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;881:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;881:26:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2399:41;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2399:41:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2399:41:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2447:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2447:26:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2348:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2348:44:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2348:44:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1397:97;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1397:97:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1397:97:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;10107:143;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10107:143:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10107:143:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1300:91;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1300:91:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1300:91:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;6450:951;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6450:951:0;;;;;;;;;;;;;;;;;:::i;:::-;;;6515:5;:17;6521:10;6515:17;;;;;;;;;;;;;;;:25;;;;;;;;;;;;6507:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6588:1;6581:6;:8;:21;;;;;6601:1;6593:6;:9;;6581:21;6572:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6648:1;6638:6;:11;6635:663;;;6684:11;:14;6696:1;6684:14;;;;;;;;;;;;6673:9;:25;6665:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6770:13;;6733:5;:17;6739:10;6733:17;;;;;;;;;;;;;;;:30;;:33;6764:1;6733:33;;;;;;;;;;;;:50;;;;;;;;;;;6635:663;;;6835:11;:19;6847:6;6835:19;;;;;;;;;;;;6824:9;:30;6816:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6895:6;6910:1;6903:6;:8;6895:16;;6891:142;6915:1;6913;:3;6891:142;;;6987:3;6950:5;:17;6956:10;6950:17;;;;;;;;;;;;;;;:30;;:33;6981:1;6950:33;;;;;;;;;;;;:40;;6942:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6918:3;;;;;;;;6891:142;;;;7094:1;7052:5;:17;7058:10;7052:17;;;;;;;;;;;;;;;:30;;:38;7083:6;7052:38;;;;;;;;;;;;:43;7049:238;;;7162:13;;7156:3;:19;7115:5;:17;7121:10;7115:17;;;;;;;;;;;;;;;:30;;:38;7146:6;7115:38;;;;;;;;;;;:60;;;;7049:238;;;7258:13;;7216:5;:17;7222:10;7216:17;;;;;;;;;;;;;;;:30;;:38;7247:6;7216:38;;;;;;;;;;;;:55;;;;;;;;;;;7049:238;6635:663;7308:31;7320:6;7328:10;7308:11;:31::i;:::-;7369:10;7355:38;;;7381:6;7389:3;7355:38;;;;;;;;;;;;;;;;;;;;;;;;6450:951;:::o;10256:160::-;10320:13;10394:2;10389:3;10385:12;10379:19;10371:27;;10356:53;;;:::o;5008:1434::-;5078:5;:17;5084:10;5078:17;;;;;;;;;;;;;;;:25;;;;;;;;;;;;5077:26;5069:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5153:1;5139:11;:15;:44;;;;;5173:10;;5158:11;:25;;5139:44;5131:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5241:11;:14;5253:1;5241:14;;;;;;;;;;;;5230:9;:25;5222:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5341:22;;5293:5;:28;5299:8;:21;5308:11;5299:21;;;;;;;;;;;;;;;;;;;;;5293:28;;;;;;;;;;;;;;;:37;;:44;;;;:70;5290:174;;5403:5;:46;5409:39;5426:8;:21;5435:11;5426:21;;;;;;;;;;;;;;;;;;;;;5409:16;:39::i;:::-;5403:46;;;;;;;;;;;;;;;:49;;;5389:63;;5290:174;5478:28;;:::i;:::-;5517:10;;:12;;;;;;;;;;;;;5555:163;;;;;;;;5591:4;5555:163;;;;;;5615:10;;5555:163;;;;5653:11;5555:163;;;;5704:1;5690:16;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;5690:16:0;;;;5555:163;;;5542:176;;5751:10;5731:5;:17;5737:10;5731:17;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;5795:10;5772:8;:20;5781:10;;5772:20;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;5860:13;;5854:3;:19;5818:5;:17;5824:10;5818:17;;;;;;;;;;;;;;;:30;;:33;5849:1;5818:33;;;;;;;;;;;:55;;;;5920:1;5884:5;:17;5890:10;5884:17;;;;;;;;;;;;;;;:30;;:33;5915:1;5884:33;;;;;;;;;;;:37;;;;5968:1;5932:5;:17;5938:10;5932:17;;;;;;;;;;;;;;;:30;;:33;5963:1;5932:33;;;;;;;;;;;:37;;;;6016:1;5980:5;:17;5986:10;5980:17;;;;;;;;;;;;;;;:30;;:33;6011:1;5980:33;;;;;;;;;;;:37;;;;6064:1;6028:5;:17;6034:10;6028:17;;;;;;;;;;;;;;;:30;;:33;6059:1;6028:33;;;;;;;;;;;:37;;;;6112:1;6076:5;:17;6082:10;6076:17;;;;;;;;;;;;;;;:30;;:33;6107:1;6076:33;;;;;;;;;;;:37;;;;6160:1;6124:5;:17;6130:10;6124:17;;;;;;;;;;;;;;;:30;;:33;6155:1;6124:33;;;;;;;;;;;:37;;;;6208:1;6172:5;:17;6178:10;6172:17;;;;;;;;;;;;;;;:30;;:33;6203:1;6172:33;;;;;;;;;;;:37;;;;6256:1;6220:5;:17;6226:10;6220:17;;;;;;;;;;;;;;;:30;;:33;6251:1;6220:33;;;;;;;;;;;:37;;;;6270:5;:28;6276:8;:21;6285:11;6276:21;;;;;;;;;;;;;;;;;;;;;6270:28;;;;;;;;;;;;;;;:37;;6313:10;6270:54;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;6270:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6337:26;6349:1;6352:10;6337:11;:26::i;:::-;6407:8;:21;6416:11;6407:21;;;;;;;;;;;;;;;;;;;;;6381:53;;6395:10;6381:53;;;6430:3;6381:53;;;;;;;;;;;;;;;;;;5008:1434;;:::o;8862:1103::-;8923:7;8977:22;;8946:5;:12;8952:5;8946:12;;;;;;;;;;;;;;;:21;;:28;;;;:53;8943:96;;;9022:5;9015:12;;;;8943:96;9051:26;9094:3;9080:18;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;9080:18:0;;;;9051:47;;9124:5;:12;9130:5;9124:12;;;;;;;;;;;;;;;:21;;9146:1;9124:24;;;;;;;;;;;;;;;;;;;;;;;;;9109:9;9119:1;9109:12;;;;;;;;;;;;;:39;;;;;;;;;;;9175:5;:12;9181:5;9175:12;;;;;;;;;;;;;;;:21;;9197:1;9175:24;;;;;;;;;;;;;;;;;;;;;;;;;9160:9;9170:1;9160:12;;;;;;;;;;;;;:39;;;;;;;;;;;9225:5;:12;9231:5;9225:12;;;;;;;;;;;;;;;:21;;9247:1;9225:24;;;;;;;;;;;;;;;;;;;;;;;;;9210:9;9220:1;9210:12;;;;;;;;;;;;;:39;;;;;;;;;;;9262:20;9293:19;9315:4;9293:26;;9336:6;9344:1;9336:9;;9332:539;9349:3;9347:1;:5;9332:539;;;9414:22;;9375:5;:19;9381:9;9391:1;9381:12;;;;;;;;;;;;;;9375:19;;;;;;;;;;;;;;;:28;;:35;;;;:61;9372:488;;;9461:3;9459:1;:5;9456:258;;;9509:5;:19;9515:9;9525:1;9515:12;;;;;;;;;;;;;;9509:19;;;;;;;;;;;;;;;:28;;9538:1;9509:31;;;;;;;;;;;;;;;;;;;;;;;;;9488:9;9504:1;9501;9499;:3;9498:7;9488:18;;;;;;;;;;;;;:52;;;;;;;;;;;9586:5;:19;9592:9;9602:1;9592:12;;;;;;;;;;;;;;9586:19;;;;;;;;;;;;;;;:28;;9615:1;9586:31;;;;;;;;;;;;;;;;;;;;;;;;;9563:9;9581:1;9579;9576;9574;:3;9573:7;:9;9563:20;;;;;;;;;;;;;:54;;;;;;;;;;;9663:5;:19;9669:9;9679:1;9669:12;;;;;;;;;;;;;;9663:19;;;;;;;;;;;;;;;:28;;9692:1;9663:31;;;;;;;;;;;;;;;;;;;;;;;;;9640:9;9658:1;9656;9653;9651;:3;9650:7;:9;9640:20;;;;;;;;;;;;;:54;;;;;;;;;;;9456:258;9372:488;;;9769:5;9752:22;;9808:9;9818:1;9808:12;;;;;;;;;;;;;;9793:27;;9839:5;;9372:488;9353:3;;;;;;;9332:539;;;;9890:14;9889:15;9881:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9943:12;9936:19;;;;;8862:1103;;;;:::o;854:22::-;;;;;;;;;;;;;:::o;9973:126::-;10034:16;10070:5;:12;10076:5;10070:12;;;;;;;;;;;;;;;:21;;10063:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9973:126;;;:::o;2046:41::-;;;;;;;;;;;;;;;;;:::o;829:20::-;;;;;;;;;;;;;:::o;881:26::-;;;;;;;;;;;;;:::o;2399:41::-;;;;;;;;;;;;;;;;;;;;;;:::o;2447:26::-;;;;:::o;2348:44::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1397:97::-;1217:5;;;;;;;;;;;1203:19;;:10;:19;;;1202:46;;;;1240:7;;;;;;;;;;;1226:21;;:10;:21;;;1202:46;1194:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1480:8;1470:7;;:18;;;;;;;;;;;;;;;;;;1397:97;:::o;10107:143::-;10185:4;10209:5;:12;10215:5;10209:12;;;;;;;;;;;;;;;:25;;:33;10235:6;10209:33;;;;;;;;;;;;10202:40;;10107:143;;;;:::o;1300:91::-;1112:5;;;;;;;;;;;1098:19;;:10;:19;;;1090:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1377:8;1369:5;;:16;;;;;;;;;;;;;;;;;;1300:91;:::o;7409:1445::-;7480:15;7506:16;7533;7560;7600:1;7590:6;:11;:26;;;;7615:1;7605:6;:11;7590:26;7587:790;;;7642:8;:33;7651:5;:12;7657:5;7651:12;;;;;;;;;;;;;;;:23;;;7642:33;;;;;;;;;;;;;;;;;;;;;7632:43;;7587:790;;;7706:1;7696:6;:11;:26;;;;7721:1;7711:6;:11;7696:26;7693:684;;;7749:8;:33;7758:5;:12;7764:5;7758:12;;;;;;;;;;;;;;;:23;;;7749:33;;;;;;;;;;;;;;;;;;;;;7738:44;;7807:8;:36;7816:5;:15;7822:8;7816:15;;;;;;;;;;;;;;;:26;;;7807:36;;;;;;;;;;;;;;;;;;;;;7797:46;;7693:684;;;7874:1;7864:6;:11;:26;;;;7889:1;7879:6;:11;7864:26;7861:516;;;7917:8;:33;7926:5;:12;7932:5;7926:12;;;;;;;;;;;;;;;:23;;;7917:33;;;;;;;;;;;;;;;;;;;;;7906:44;;7976:8;:36;7985:5;:15;7991:8;7985:15;;;;;;;;;;;;;;;:26;;;7976:36;;;;;;;;;;;;;;;;;;;;;7965:47;;8037:8;:36;8046:5;:15;8052:8;8046:15;;;;;;;;;;;;;;;:26;;;8037:36;;;;;;;;;;;;;;;;;;;;;8027:46;;7861:516;;;8104:1;8094:6;:11;:26;;;;8119:1;8109:6;:11;8094:26;8091:286;;;8147:8;:33;8156:5;:12;8162:5;8156:12;;;;;;;;;;;;;;;:23;;;8147:33;;;;;;;;;;;;;;;;;;;;;8136:44;;8206:8;:36;8215:5;:15;8221:8;8215:15;;;;;;;;;;;;;;;:26;;;8206:36;;;;;;;;;;;;;;;;;;;;;8195:47;;8268:8;:36;8277:5;:15;8283:8;8277:15;;;;;;;;;;;;;;;:26;;;8268:36;;;;;;;;;;;;;;;;;;;;;8257:47;;8329:8;:36;8338:5;:15;8344:8;8338:15;;;;;;;;;;;;;;;:26;;;8329:36;;;;;;;;;;;;;;;;;;;;;8319:46;;8091:286;7861:516;7693:684;7587:790;8393:5;:14;8399:7;8393:14;;;;;;;;;;;;;;;:22;;;;;;;;;;;;8389:75;;8441:8;:11;8450:1;8441:11;;;;;;;;;;;;;;;;;;;;;8431:21;;8389:75;8518:3;8479:5;:14;8485:7;8479:14;;;;;;;;;;;;;;;:27;;:35;8507:6;8479:35;;;;;;;;;;;;:42;8476:371;;8538:11;8589:7;8573:30;;:51;8604:11;:19;8616:6;8604:19;;;;;;;;;;;;8573:51;;;;;;;;;;;;;;;;;;;;;;;8564:60;;8675:10;8644:55;;8666:7;8644:55;;;8687:6;8695:3;8644:55;;;;;;;;;;;;;;;;;;;;;;;;8476:371;;;;8769:10;8737:56;;8760:7;8737:56;;;8781:6;8789:3;8737:56;;;;;;;;;;;;;;;;;;;;;;;;8808:27;8820:6;8827:7;8808:11;:27::i;:::-;8476:371;7409:1445;;;;;;:::o;1501:8918::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o

Swarm Source

bzzr://81ef411b1133772566c2c7732336c1cb2c46c728d7e4fdd129ee8bf7f7f3d10c

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ 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.