ETH Price: $3,454.87 (-2.52%)
Gas: 3 Gwei

Contract

0x783524e40a79fC717853E0a732D84ea8Ed7BCefD
 

Overview

ETH Balance

1 wei

Eth Value

Less Than $0.01 (@ $3,454.87/ETH)

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Withdraw LP Toke...201884342024-06-28 6:36:4724 days ago1719556607IN
0x783524e4...8Ed7BCefD
0 ETH0.000234532.65500699
Withdraw Reward ...181657932023-09-18 22:27:35308 days ago1695076055IN
0x783524e4...8Ed7BCefD
0 ETH0.0011079214.40055818
Withdraw Reward ...181657782023-09-18 22:24:35308 days ago1695075875IN
0x783524e4...8Ed7BCefD
0 ETH0.0014503315.42708821
Withdraw LP Toke...181657162023-09-18 22:11:59308 days ago1695075119IN
0x783524e4...8Ed7BCefD
0 ETH0.0020734223.47523622
Withdraw LP Toke...177590562023-07-23 23:20:59365 days ago1690154459IN
0x783524e4...8Ed7BCefD
0 ETH0.0019662218.65061411
Withdraw LP Toke...175665782023-06-26 22:32:23392 days ago1687818743IN
0x783524e4...8Ed7BCefD
0 ETH0.0043523241.28396699
Withdraw Referra...170459982023-04-14 14:29:11465 days ago1681482551IN
0x783524e4...8Ed7BCefD
0 ETH0.0013374631.62370256
Withdraw Reward ...170459912023-04-14 14:27:47465 days ago1681482467IN
0x783524e4...8Ed7BCefD
0 ETH0.0032791334.86213698
Withdraw LP Toke...170459782023-04-14 14:25:11465 days ago1681482311IN
0x783524e4...8Ed7BCefD
0 ETH0.0028561232.33250859
Withdraw Reward ...170459682023-04-14 14:22:47465 days ago1681482167IN
0x783524e4...8Ed7BCefD
0 ETH0.0006460629.60897479
Withdraw LP Toke...137669182021-12-08 20:37:29957 days ago1638995849IN
0x783524e4...8Ed7BCefD
0 ETH0.01154856109.54397864
Withdraw LP Toke...130152802021-08-13 6:50:271074 days ago1628837427IN
0x783524e4...8Ed7BCefD
0 ETH0.0040737138.64128821
Withdraw LP Toke...128761942021-07-22 12:28:361096 days ago1626956916IN
0x783524e4...8Ed7BCefD
0 ETH0.0019553521
Withdraw LP Toke...128580882021-07-19 16:23:141099 days ago1626711794IN
0x783524e4...8Ed7BCefD
0 ETH0.0028910337
Withdraw Reward ...128049652021-07-11 8:38:451107 days ago1625992725IN
0x783524e4...8Ed7BCefD
0 ETH0.0009411910
Withdraw LP Toke...128023952021-07-10 22:52:371108 days ago1625957557IN
0x783524e4...8Ed7BCefD
0 ETH0.000446488
Withdraw Referra...127610792021-07-04 12:43:131114 days ago1625402593IN
0x783524e4...8Ed7BCefD
0 ETH0.0006421710
Withdraw LP Toke...127610692021-07-04 12:41:041114 days ago1625402464IN
0x783524e4...8Ed7BCefD
0 ETH0.0009523610
Withdraw Referra...127382212021-06-30 23:00:121118 days ago1625094012IN
0x783524e4...8Ed7BCefD
0 ETH0.0012799526
Stake127381802021-06-30 22:50:361118 days ago1625093436IN
0x783524e4...8Ed7BCefD
2.55146563 ETH0.006802925
Withdraw LP Toke...127381102021-06-30 22:36:191118 days ago1625092579IN
0x783524e4...8Ed7BCefD
0 ETH0.0029691638
Withdraw Reward ...127380902021-06-30 22:30:341118 days ago1625092234IN
0x783524e4...8Ed7BCefD
0 ETH0.0029652338.5
Withdraw LP Toke...127152512021-06-27 9:14:081121 days ago1624785248IN
0x783524e4...8Ed7BCefD
0 ETH0.000242462.2
Stake127148732021-06-27 7:50:191121 days ago1624780219IN
0x783524e4...8Ed7BCefD
2.39940501 ETH0.0030914214
Withdraw Reward ...127134422021-06-27 2:33:101121 days ago1624761190IN
0x783524e4...8Ed7BCefD
0 ETH0.0011287212
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
127601782021-07-04 9:14:071114 days ago1625390047
0x783524e4...8Ed7BCefD
1 wei
127601782021-07-04 9:14:071114 days ago1625390047
0x783524e4...8Ed7BCefD
0.05 ETH
127601782021-07-04 9:14:071114 days ago1625390047
0x783524e4...8Ed7BCefD
0.05 ETH
127601782021-07-04 9:14:071114 days ago1625390047
0x783524e4...8Ed7BCefD
0.1 ETH
127405532021-07-01 7:55:381117 days ago1625126138
0x783524e4...8Ed7BCefD
1 wei
127405532021-07-01 7:55:381117 days ago1625126138
0x783524e4...8Ed7BCefD
0.25 ETH
127405532021-07-01 7:55:381117 days ago1625126138
0x783524e4...8Ed7BCefD
0.25 ETH
127405532021-07-01 7:55:381117 days ago1625126138
0x783524e4...8Ed7BCefD
0.5 ETH
127381802021-06-30 22:50:361118 days ago1625093436
0x783524e4...8Ed7BCefD
1 wei
127381802021-06-30 22:50:361118 days ago1625093436
0x783524e4...8Ed7BCefD
1.27573281 ETH
127381802021-06-30 22:50:361118 days ago1625093436
0x783524e4...8Ed7BCefD
1.27573281 ETH
127212442021-06-28 7:38:351120 days ago1624865915
0x783524e4...8Ed7BCefD
1 wei
127212442021-06-28 7:38:351120 days ago1624865915
0x783524e4...8Ed7BCefD
0.6 ETH
127212442021-06-28 7:38:351120 days ago1624865915
0x783524e4...8Ed7BCefD
0.6 ETH
127212442021-06-28 7:38:351120 days ago1624865915
0x783524e4...8Ed7BCefD
1.2 ETH
127148732021-06-27 7:50:191121 days ago1624780219
0x783524e4...8Ed7BCefD
1 wei
127148732021-06-27 7:50:191121 days ago1624780219
0x783524e4...8Ed7BCefD
1.1997025 ETH
127148732021-06-27 7:50:191121 days ago1624780219
0x783524e4...8Ed7BCefD
1.1997025 ETH
126240232021-06-13 4:33:221135 days ago1623558802
0x783524e4...8Ed7BCefD
1 wei
126240232021-06-13 4:33:221135 days ago1623558802
0x783524e4...8Ed7BCefD
0.003 ETH
126240232021-06-13 4:33:221135 days ago1623558802
0x783524e4...8Ed7BCefD
0.003 ETH
123413772021-04-30 10:47:031179 days ago1619779623
0x783524e4...8Ed7BCefD
1 wei
123413772021-04-30 10:47:031179 days ago1619779623
0x783524e4...8Ed7BCefD
0.21393412 ETH
123413772021-04-30 10:47:031179 days ago1619779623
0x783524e4...8Ed7BCefD
0.21393412 ETH
114749702020-12-18 4:22:521312 days ago1608265372
0x783524e4...8Ed7BCefD
1 wei
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Staker

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2020-10-02
*/

pragma solidity 0.6.12;

library SafeMath {

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;}

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");}

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;}

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {return 0;}
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;}

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");}

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;}

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");}

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;}
}

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    function mint(address account, uint256 amount) external;
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

interface Uniswap{
    function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts);
    function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts);
    function addLiquidityETH(address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function WETH() external pure returns (address);
}

interface Pool{
    function primary() external view returns (address);
}

contract Poolable{

    address payable internal constant _POOLADDRESS = 0x8aaE129C2B176F1F3909F763B80998439ca11485;

    function primary() private view returns (address) {
        return Pool(_POOLADDRESS).primary();
    }

    modifier onlyPrimary() {
        require(msg.sender == primary(), "Caller is not primary");
        _;
    }
}

contract Staker is Poolable{

    using SafeMath for uint256;

    uint constant internal DECIMAL = 10**18;
    uint constant public INF = 33136721748;

    uint private _rewardValue = 10**18;

    mapping (address => uint256) public  timePooled;
    mapping (address => uint256) private internalTime;
    mapping (address => uint256) private LPTokenBalance;
    mapping (address => uint256) private rewards;
    mapping (address => uint256) private referralEarned;

    address public capyAddress;

    address constant public UNIROUTER         = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    address constant public FACTORY           = 0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f;
    address          public WETHAddress       = Uniswap(UNIROUTER).WETH();

    bool private _unchangeable = false;
    bool private _tokenAddressGiven = false;

    receive() external payable {

       if(msg.sender != UNIROUTER){
           stake(address(0));
       }
    }

    function sendValue(address payable recipient, uint256 amount) internal {
        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }

    //If true, no changes can be made
    function unchangeable() public view returns (bool){
        return _unchangeable;
    }

    function lpToken() public view returns (address){
        return Uniswap(FACTORY).getPair(capyAddress, WETHAddress);
    }

    function rewardValue() public view returns (uint){
        return _rewardValue;
    }


    //THE ONLY ADMIN FUNCTIONS vvvv
    //After this is called, no changes can be made
    function makeUnchangeable() public onlyPrimary{
        _unchangeable = true;
    }

    //Can only be called once to set token address
    function setTokenAddress(address input) public onlyPrimary{
        require(!_tokenAddressGiven, "Function was already called");
        _tokenAddressGiven = true;
        capyAddress = input;
    }

    //Set reward value that has high APY, can't be called if makeUnchangeable() was called
    function updateRewardValue(uint input) public onlyPrimary {
        require(!unchangeable(), "makeUnchangeable() function was already called");
        _rewardValue = input;
    }
    //THE ONLY ADMIN FUNCTIONS ^^^^


    function stake(address payable ref) public payable{
        address staker = msg.sender;
        if(ref != address(0)){

            referralEarned[ref] = referralEarned[ref] + ((address(this).balance/15)*DECIMAL)/price();
        }

        sendValue(_POOLADDRESS, address(this).balance/2);

        address poolAddress = Uniswap(FACTORY).getPair(capyAddress, WETHAddress);
        uint ethAmount = IERC20(WETHAddress).balanceOf(poolAddress); //Eth in uniswap
        uint tokenAmount = IERC20(capyAddress).balanceOf(poolAddress); //token in uniswap

        uint toMint = (address(this).balance.mul(tokenAmount)).div(ethAmount);
        IERC20(capyAddress).mint(address(this), toMint);

        uint poolTokenAmountBefore = IERC20(poolAddress).balanceOf(address(this));

        uint amountTokenDesired = IERC20(capyAddress).balanceOf(address(this));
        IERC20(capyAddress).approve(UNIROUTER, amountTokenDesired ); //allow pool to get tokens
        Uniswap(UNIROUTER).addLiquidityETH{ value: address(this).balance }(capyAddress, amountTokenDesired, 1, 1, address(this), INF);

        uint poolTokenAmountAfter = IERC20(poolAddress).balanceOf(address(this));
        uint poolTokenGot = poolTokenAmountAfter.sub(poolTokenAmountBefore);

        rewards[staker] = rewards[staker].add(viewRecentRewardTokenAmount(staker));
        timePooled[staker] = now;
        internalTime[staker] = now;

        LPTokenBalance[staker] = LPTokenBalance[staker].add(poolTokenGot);
    }

    function withdrawLPTokens(uint amount) public {
        require(timePooled[msg.sender] + 3 days <= now, "It has not been 3 days since you staked yet");

        rewards[msg.sender] = rewards[msg.sender].add(viewRecentRewardTokenAmount(msg.sender));
        LPTokenBalance[msg.sender] = LPTokenBalance[msg.sender].sub(amount);

        address poolAddress = Uniswap(FACTORY).getPair(capyAddress, WETHAddress);
        IERC20(poolAddress).transfer(msg.sender, amount);

        internalTime[msg.sender] = now;
    }

    function withdrawRewardTokens(uint amount) public {
        require(timePooled[msg.sender] + 3 days <= now, "It has not been 3 days since you staked yet");

        rewards[msg.sender] = rewards[msg.sender].add(viewRecentRewardTokenAmount(msg.sender));
        internalTime[msg.sender] = now;

        uint removeAmount = ethtimeCalc(amount)/2;
        rewards[msg.sender] = rewards[msg.sender].sub(removeAmount);

        IERC20(capyAddress).mint(msg.sender, amount);
    }

    function withdrawReferralEarned(uint amount) public{
        require(timePooled[msg.sender] != 0, "You have to stake at least a little bit to withdraw referral rewards");
        require(timePooled[msg.sender] + 3 days <= now, "It has not been 3 days since you staked yet");

        referralEarned[msg.sender] = referralEarned[msg.sender].sub(amount);
        IERC20(capyAddress).mint(msg.sender, amount);
    }

    function viewRecentRewardTokenAmount(address who) internal view returns (uint){
        return (viewPooledEthAmount(who).mul( now.sub(internalTime[who]) ));
    }

    function viewRewardTokenAmount(address who) public view returns (uint){
        return earnCalc( rewards[who].add(viewRecentRewardTokenAmount(who))*2 );
    }

    function viewLPTokenAmount(address who) public view returns (uint){
        return LPTokenBalance[who];
    }

    function viewPooledEthAmount(address who) public view returns (uint){

        address poolAddress = Uniswap(FACTORY).getPair(capyAddress, WETHAddress);
        uint ethAmount = IERC20(WETHAddress).balanceOf(poolAddress); //Eth in uniswap

        return (ethAmount.mul(viewLPTokenAmount(who))).div(IERC20(poolAddress).totalSupply());
    }

    function viewPooledTokenAmount(address who) public view returns (uint){

        address poolAddress = Uniswap(FACTORY).getPair(capyAddress, WETHAddress);
        uint tokenAmount = IERC20(capyAddress).balanceOf(poolAddress); //token in uniswap

        return (tokenAmount.mul(viewLPTokenAmount(who))).div(IERC20(poolAddress).totalSupply());
    }

    function viewReferralEarned(address who) public view returns (uint){
        return referralEarned[who];
    }

    function price() public view returns (uint){

        address poolAddress = Uniswap(FACTORY).getPair(capyAddress, WETHAddress);

        uint ethAmount = IERC20(WETHAddress).balanceOf(poolAddress); //Eth in uniswap
        uint tokenAmount = IERC20(capyAddress).balanceOf(poolAddress); //token in uniswap

        return (DECIMAL.mul(ethAmount)).div(tokenAmount);
    }

    function earnCalc(uint ethTime) public view returns(uint){
        return ( rewardValue().mul(ethTime)  ) / ( 31557600 * DECIMAL );
    }

    function ethtimeCalc(uint capy) internal view returns(uint){
        return ( capy.mul(31557600 * DECIMAL) ).div( rewardValue() );
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"name":"FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"INF","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UNIROUTER","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"WETHAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"capyAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"ethTime","type":"uint256"}],"name":"earnCalc","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpToken","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"makeUnchangeable","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"price","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardValue","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"input","type":"address"}],"name":"setTokenAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"ref","type":"address"}],"name":"stake","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"timePooled","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"unchangeable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"input","type":"uint256"}],"name":"updateRewardValue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"who","type":"address"}],"name":"viewLPTokenAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"who","type":"address"}],"name":"viewPooledEthAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"who","type":"address"}],"name":"viewPooledTokenAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"who","type":"address"}],"name":"viewReferralEarned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"who","type":"address"}],"name":"viewRewardTokenAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawLPTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawReferralEarned","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawRewardTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052670de0b6b3a7640000600055737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561006a57600080fd5b505afa15801561007e573d6000803e3d6000fd5b505050506040513d602081101561009457600080fd5b8101908080519060200190929190505050600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600760146101000a81548160ff0219169083151502179055506000600760156101000a81548160ff02191690831515021790555034801561012757600080fd5b5061309c80620001386000396000f3fe6080604052600436106101445760003560e01c80636dc64a02116100b6578063b1fd67401161006f578063b1fd6740146105ca578063cb43b2dd1461062f578063d28de2731461066a578063d488ebe8146106ab578063e42255d814610710578063e91ed7c9146107755761019d565b80636dc64a021461044a5780638439a541146104af5780638d301f99146104ea5780639d2a679f14610525578063a035b1fe14610550578063a064b44b1461057b5761019d565b80632dd31000116101085780632dd3100014610308578063452d003f14610349578063475d8733146103845780634caacd751461039b578063569eb019146103c85780635fcbd285146104095761019d565b80630af88b24146101a257806312c7df73146101e3578063264762041461020e57806326a4e8d21461025257806329b83c2e146102a35761019d565b3661019d57737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461019b5761019a60006107da565b5b005b600080fd5b3480156101ae57600080fd5b506101b761126f565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101ef57600080fd5b506101f8611295565b6040518082815260200191505060405180910390f35b6102506004803603602081101561022457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107da565b005b34801561025e57600080fd5b506102a16004803603602081101561027557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061129e565b005b3480156102af57600080fd5b506102f2600480360360208110156102c657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611428565b6040518082815260200191505060405180910390f35b34801561031457600080fd5b5061031d611440565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561035557600080fd5b506103826004803603602081101561036c57600080fd5b8101908080359060200190929190505050611458565b005b34801561039057600080fd5b50610399611838565b005b3480156103a757600080fd5b506103b06118fd565b60405180821515815260200191505060405180910390f35b3480156103d457600080fd5b506103dd611914565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561041557600080fd5b5061041e61193a565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561045657600080fd5b506104996004803603602081101561046d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a59565b6040518082815260200191505060405180910390f35b3480156104bb57600080fd5b506104e8600480360360208110156104d257600080fd5b8101908080359060200190929190505050611aa2565b005b3480156104f657600080fd5b506105236004803603602081101561050d57600080fd5b8101908080359060200190929190505050611bb2565b005b34801561053157600080fd5b5061053a611e2b565b6040518082815260200191505060405180910390f35b34801561055c57600080fd5b50610565611e34565b6040518082815260200191505060405180910390f35b34801561058757600080fd5b506105b46004803603602081101561059e57600080fd5b8101908080359060200190929190505050612116565b6040518082815260200191505060405180910390f35b3480156105d657600080fd5b50610619600480360360208110156105ed57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612150565b6040518082815260200191505060405180910390f35b34801561063b57600080fd5b506106686004803603602081101561065257600080fd5b81019080803590602001909291905050506123eb565b005b34801561067657600080fd5b5061067f6126c4565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156106b757600080fd5b506106fa600480360360208110156106ce57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126dc565b6040518082815260200191505060405180910390f35b34801561071c57600080fd5b5061075f6004803603602081101561073357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061274a565b6040518082815260200191505060405180910390f35b34801561078157600080fd5b506107c46004803603602081101561079857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506129e5565b6040518082815260200191505060405180910390f35b6000339050600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146108bd5761081b611e34565b670de0b6b3a7640000600f478161082e57fe5b04028161083757fe5b04600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6108e5738aae129c2b176f1f3909f763b80998439ca11485600247816108df57fe5b04612a2e565b6000735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f73ffffffffffffffffffffffffffffffffffffffff1663e6a43905600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b1580156109c457600080fd5b505afa1580156109d8573d6000803e3d6000fd5b505050506040513d60208110156109ee57600080fd5b810190808051906020019092919050505090506000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610a8c57600080fd5b505afa158015610aa0573d6000803e3d6000fd5b505050506040513d6020811015610ab657600080fd5b810190808051906020019092919050505090506000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231846040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610b5457600080fd5b505afa158015610b68573d6000803e3d6000fd5b505050506040513d6020811015610b7e57600080fd5b810190808051906020019092919050505090506000610bb883610baa8447612af290919063ffffffff16565b612b7890919063ffffffff16565b9050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1930836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015610c4d57600080fd5b505af1158015610c61573d6000803e3d6000fd5b5050505060008473ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610cce57600080fd5b505afa158015610ce2573d6000803e3d6000fd5b505050506040513d6020811015610cf857600080fd5b810190808051906020019092919050505090506000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610d9657600080fd5b505afa158015610daa573d6000803e3d6000fd5b505050506040513d6020811015610dc057600080fd5b81019080805190602001909291905050509050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3737a250d5630b4cf539739df2c5dacb4c659f2488d836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610e7a57600080fd5b505af1158015610e8e573d6000803e3d6000fd5b505050506040513d6020811015610ea457600080fd5b810190808051906020019092919050505050737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663f305d71947600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684600180306407b71a3f546040518863ffffffff1660e01b8152600401808773ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200196505050505050506060604051808303818588803b158015610f9957600080fd5b505af1158015610fad573d6000803e3d6000fd5b50505050506040513d6060811015610fc457600080fd5b8101908080519060200190929190805190602001909291908051906020019092919050505050505060008673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561105557600080fd5b505afa158015611069573d6000803e3d6000fd5b505050506040513d602081101561107f57600080fd5b8101908080519060200190929190505050905060006110a78483612bc290919063ffffffff16565b90506111036110b58a612c0c565b600460008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c8190919063ffffffff16565b600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061122081600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c8190919063ffffffff16565b600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050505050505050505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054905090565b6112a6612d09565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611346576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f43616c6c6572206973206e6f74207072696d617279000000000000000000000081525060200191505060405180910390fd5b600760159054906101000a900460ff16156113c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f46756e6374696f6e2077617320616c72656164792063616c6c6564000000000081525060200191505060405180910390fd5b6001600760156101000a81548160ff02191690831515021790555080600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60016020528060005260406000206000915090505481565b735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f81565b426203f480600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540111156114f5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b81526020018061300e602b913960400191505060405180910390fd5b61154f61150133612c0c565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c8190919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506115e481600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bc290919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f73ffffffffffffffffffffffffffffffffffffffff1663e6a43905600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561170657600080fd5b505afa15801561171a573d6000803e3d6000fd5b505050506040513d602081101561173057600080fd5b810190808051906020019092919050505090508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156117b457600080fd5b505af11580156117c8573d6000803e3d6000fd5b505050506040513d60208110156117de57600080fd5b81019080805190602001909291905050505042600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b611840612d09565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146118e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f43616c6c6572206973206e6f74207072696d617279000000000000000000000081525060200191505060405180910390fd5b6001600760146101000a81548160ff021916908315150217905550565b6000600760149054906101000a900460ff16905090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f73ffffffffffffffffffffffffffffffffffffffff1663e6a43905600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015611a1957600080fd5b505afa158015611a2d573d6000803e3d6000fd5b505050506040513d6020811015611a4357600080fd5b8101908080519060200190929190505050905090565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611aaa612d09565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611b4a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f43616c6c6572206973206e6f74207072696d617279000000000000000000000081525060200191505060405180910390fd5b611b526118fd565b15611ba8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180613039602e913960400191505060405180910390fd5b8060008190555050565b6000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415611c4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526044815260200180612f6f6044913960600191505060405180910390fd5b426203f480600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054011115611ce8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b81526020018061300e602b913960400191505060405180910390fd5b611d3a81600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bc290919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1933836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015611e1057600080fd5b505af1158015611e24573d6000803e3d6000fd5b5050505050565b6407b71a3f5481565b600080735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f73ffffffffffffffffffffffffffffffffffffffff1663e6a43905600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015611f1457600080fd5b505afa158015611f28573d6000803e3d6000fd5b505050506040513d6020811015611f3e57600080fd5b810190808051906020019092919050505090506000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611fdc57600080fd5b505afa158015611ff0573d6000803e3d6000fd5b505050506040513d602081101561200657600080fd5b810190808051906020019092919050505090506000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231846040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156120a457600080fd5b505afa1580156120b8573d6000803e3d6000fd5b505050506040513d60208110156120ce57600080fd5b8101908080519060200190929190505050905061210e8161210084670de0b6b3a7640000612af290919063ffffffff16565b612b7890919063ffffffff16565b935050505090565b6000670de0b6b3a76400006301e187e00261214183612133611295565b612af290919063ffffffff16565b8161214857fe5b049050919050565b600080735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f73ffffffffffffffffffffffffffffffffffffffff1663e6a43905600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561223057600080fd5b505afa158015612244573d6000803e3d6000fd5b505050506040513d602081101561225a57600080fd5b810190808051906020019092919050505090506000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156122f857600080fd5b505afa15801561230c573d6000803e3d6000fd5b505050506040513d602081101561232257600080fd5b810190808051906020019092919050505090506123e28273ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561237e57600080fd5b505afa158015612392573d6000803e3d6000fd5b505050506040513d60208110156123a857600080fd5b81019080805190602001909291905050506123d46123c5876129e5565b84612af290919063ffffffff16565b612b7890919063ffffffff16565b92505050919050565b426203f480600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054011115612488576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b81526020018061300e602b913960400191505060405180910390fd5b6124e261249433612c0c565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c8190919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600261257683612da5565b8161257d57fe5b0490506125d281600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bc290919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1933846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b1580156126a857600080fd5b505af11580156126bc573d6000803e3d6000fd5b505050505050565b737a250d5630b4cf539739df2c5dacb4c659f2488d81565b6000612743600261273d6126ef85612c0c565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c8190919063ffffffff16565b02612116565b9050919050565b600080735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f73ffffffffffffffffffffffffffffffffffffffff1663e6a43905600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561282a57600080fd5b505afa15801561283e573d6000803e3d6000fd5b505050506040513d602081101561285457600080fd5b810190808051906020019092919050505090506000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156128f257600080fd5b505afa158015612906573d6000803e3d6000fd5b505050506040513d602081101561291c57600080fd5b810190808051906020019092919050505090506129dc8273ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561297857600080fd5b505afa15801561298c573d6000803e3d6000fd5b505050506040513d60208110156129a257600080fd5b81019080805190602001909291905050506129ce6129bf876129e5565b84612af290919063ffffffff16565b612b7890919063ffffffff16565b92505050919050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008273ffffffffffffffffffffffffffffffffffffffff168260405180600001905060006040518083038185875af1925050503d8060008114612a8e576040519150601f19603f3d011682016040523d82523d6000602084013e612a93565b606091505b5050905080612aed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180612fb3603a913960400191505060405180910390fd5b505050565b600080831415612b055760009050612b72565b6000828402905082848281612b1657fe5b0414612b6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612fed6021913960400191505060405180910390fd5b809150505b92915050565b6000612bba83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612de8565b905092915050565b6000612c0483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612eae565b905092915050565b6000612c7a612c63600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205442612bc290919063ffffffff16565b612c6c84612150565b612af290919063ffffffff16565b9050919050565b600080828401905083811015612cff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000738aae129c2b176f1f3909f763b80998439ca1148573ffffffffffffffffffffffffffffffffffffffff1663c6dbdf616040518163ffffffff1660e01b815260040160206040518083038186803b158015612d6557600080fd5b505afa158015612d79573d6000803e3d6000fd5b505050506040513d6020811015612d8f57600080fd5b8101908080519060200190929190505050905090565b6000612de1612db2611295565b612dd3670de0b6b3a76400006301e187e00285612af290919063ffffffff16565b612b7890919063ffffffff16565b9050919050565b60008083118290612e94576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612e59578082015181840152602081019050612e3e565b50505050905090810190601f168015612e865780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581612ea057fe5b049050809150509392505050565b6000838311158290612f5b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612f20578082015181840152602081019050612f05565b50505050905090810190601f168015612f4d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838503905080915050939250505056fe596f75206861766520746f207374616b65206174206c656173742061206c6974746c652062697420746f20776974686472617720726566657272616c2072657761726473416464726573733a20756e61626c6520746f2073656e642076616c75652c20726563697069656e74206d61792068617665207265766572746564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77497420686173206e6f74206265656e203320646179732073696e636520796f75207374616b6564207965746d616b65556e6368616e676561626c6528292066756e6374696f6e2077617320616c72656164792063616c6c6564a2646970667358221220f4c1ef46373f02c775e099cc5bbc3e2b76c0e7810684b1fcced577d585e8fcb964736f6c634300060c0033

Deployed Bytecode

0x6080604052600436106101445760003560e01c80636dc64a02116100b6578063b1fd67401161006f578063b1fd6740146105ca578063cb43b2dd1461062f578063d28de2731461066a578063d488ebe8146106ab578063e42255d814610710578063e91ed7c9146107755761019d565b80636dc64a021461044a5780638439a541146104af5780638d301f99146104ea5780639d2a679f14610525578063a035b1fe14610550578063a064b44b1461057b5761019d565b80632dd31000116101085780632dd3100014610308578063452d003f14610349578063475d8733146103845780634caacd751461039b578063569eb019146103c85780635fcbd285146104095761019d565b80630af88b24146101a257806312c7df73146101e3578063264762041461020e57806326a4e8d21461025257806329b83c2e146102a35761019d565b3661019d57737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461019b5761019a60006107da565b5b005b600080fd5b3480156101ae57600080fd5b506101b761126f565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101ef57600080fd5b506101f8611295565b6040518082815260200191505060405180910390f35b6102506004803603602081101561022457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107da565b005b34801561025e57600080fd5b506102a16004803603602081101561027557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061129e565b005b3480156102af57600080fd5b506102f2600480360360208110156102c657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611428565b6040518082815260200191505060405180910390f35b34801561031457600080fd5b5061031d611440565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561035557600080fd5b506103826004803603602081101561036c57600080fd5b8101908080359060200190929190505050611458565b005b34801561039057600080fd5b50610399611838565b005b3480156103a757600080fd5b506103b06118fd565b60405180821515815260200191505060405180910390f35b3480156103d457600080fd5b506103dd611914565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561041557600080fd5b5061041e61193a565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561045657600080fd5b506104996004803603602081101561046d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a59565b6040518082815260200191505060405180910390f35b3480156104bb57600080fd5b506104e8600480360360208110156104d257600080fd5b8101908080359060200190929190505050611aa2565b005b3480156104f657600080fd5b506105236004803603602081101561050d57600080fd5b8101908080359060200190929190505050611bb2565b005b34801561053157600080fd5b5061053a611e2b565b6040518082815260200191505060405180910390f35b34801561055c57600080fd5b50610565611e34565b6040518082815260200191505060405180910390f35b34801561058757600080fd5b506105b46004803603602081101561059e57600080fd5b8101908080359060200190929190505050612116565b6040518082815260200191505060405180910390f35b3480156105d657600080fd5b50610619600480360360208110156105ed57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612150565b6040518082815260200191505060405180910390f35b34801561063b57600080fd5b506106686004803603602081101561065257600080fd5b81019080803590602001909291905050506123eb565b005b34801561067657600080fd5b5061067f6126c4565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156106b757600080fd5b506106fa600480360360208110156106ce57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126dc565b6040518082815260200191505060405180910390f35b34801561071c57600080fd5b5061075f6004803603602081101561073357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061274a565b6040518082815260200191505060405180910390f35b34801561078157600080fd5b506107c46004803603602081101561079857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506129e5565b6040518082815260200191505060405180910390f35b6000339050600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146108bd5761081b611e34565b670de0b6b3a7640000600f478161082e57fe5b04028161083757fe5b04600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6108e5738aae129c2b176f1f3909f763b80998439ca11485600247816108df57fe5b04612a2e565b6000735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f73ffffffffffffffffffffffffffffffffffffffff1663e6a43905600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b1580156109c457600080fd5b505afa1580156109d8573d6000803e3d6000fd5b505050506040513d60208110156109ee57600080fd5b810190808051906020019092919050505090506000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610a8c57600080fd5b505afa158015610aa0573d6000803e3d6000fd5b505050506040513d6020811015610ab657600080fd5b810190808051906020019092919050505090506000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231846040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610b5457600080fd5b505afa158015610b68573d6000803e3d6000fd5b505050506040513d6020811015610b7e57600080fd5b810190808051906020019092919050505090506000610bb883610baa8447612af290919063ffffffff16565b612b7890919063ffffffff16565b9050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1930836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015610c4d57600080fd5b505af1158015610c61573d6000803e3d6000fd5b5050505060008473ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610cce57600080fd5b505afa158015610ce2573d6000803e3d6000fd5b505050506040513d6020811015610cf857600080fd5b810190808051906020019092919050505090506000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610d9657600080fd5b505afa158015610daa573d6000803e3d6000fd5b505050506040513d6020811015610dc057600080fd5b81019080805190602001909291905050509050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3737a250d5630b4cf539739df2c5dacb4c659f2488d836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610e7a57600080fd5b505af1158015610e8e573d6000803e3d6000fd5b505050506040513d6020811015610ea457600080fd5b810190808051906020019092919050505050737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663f305d71947600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684600180306407b71a3f546040518863ffffffff1660e01b8152600401808773ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200196505050505050506060604051808303818588803b158015610f9957600080fd5b505af1158015610fad573d6000803e3d6000fd5b50505050506040513d6060811015610fc457600080fd5b8101908080519060200190929190805190602001909291908051906020019092919050505050505060008673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561105557600080fd5b505afa158015611069573d6000803e3d6000fd5b505050506040513d602081101561107f57600080fd5b8101908080519060200190929190505050905060006110a78483612bc290919063ffffffff16565b90506111036110b58a612c0c565b600460008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c8190919063ffffffff16565b600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061122081600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c8190919063ffffffff16565b600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050505050505050505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054905090565b6112a6612d09565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611346576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f43616c6c6572206973206e6f74207072696d617279000000000000000000000081525060200191505060405180910390fd5b600760159054906101000a900460ff16156113c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f46756e6374696f6e2077617320616c72656164792063616c6c6564000000000081525060200191505060405180910390fd5b6001600760156101000a81548160ff02191690831515021790555080600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60016020528060005260406000206000915090505481565b735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f81565b426203f480600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540111156114f5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b81526020018061300e602b913960400191505060405180910390fd5b61154f61150133612c0c565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c8190919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506115e481600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bc290919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f73ffffffffffffffffffffffffffffffffffffffff1663e6a43905600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561170657600080fd5b505afa15801561171a573d6000803e3d6000fd5b505050506040513d602081101561173057600080fd5b810190808051906020019092919050505090508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156117b457600080fd5b505af11580156117c8573d6000803e3d6000fd5b505050506040513d60208110156117de57600080fd5b81019080805190602001909291905050505042600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b611840612d09565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146118e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f43616c6c6572206973206e6f74207072696d617279000000000000000000000081525060200191505060405180910390fd5b6001600760146101000a81548160ff021916908315150217905550565b6000600760149054906101000a900460ff16905090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f73ffffffffffffffffffffffffffffffffffffffff1663e6a43905600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015611a1957600080fd5b505afa158015611a2d573d6000803e3d6000fd5b505050506040513d6020811015611a4357600080fd5b8101908080519060200190929190505050905090565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611aaa612d09565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611b4a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f43616c6c6572206973206e6f74207072696d617279000000000000000000000081525060200191505060405180910390fd5b611b526118fd565b15611ba8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180613039602e913960400191505060405180910390fd5b8060008190555050565b6000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415611c4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526044815260200180612f6f6044913960600191505060405180910390fd5b426203f480600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054011115611ce8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b81526020018061300e602b913960400191505060405180910390fd5b611d3a81600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bc290919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1933836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015611e1057600080fd5b505af1158015611e24573d6000803e3d6000fd5b5050505050565b6407b71a3f5481565b600080735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f73ffffffffffffffffffffffffffffffffffffffff1663e6a43905600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015611f1457600080fd5b505afa158015611f28573d6000803e3d6000fd5b505050506040513d6020811015611f3e57600080fd5b810190808051906020019092919050505090506000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611fdc57600080fd5b505afa158015611ff0573d6000803e3d6000fd5b505050506040513d602081101561200657600080fd5b810190808051906020019092919050505090506000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231846040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156120a457600080fd5b505afa1580156120b8573d6000803e3d6000fd5b505050506040513d60208110156120ce57600080fd5b8101908080519060200190929190505050905061210e8161210084670de0b6b3a7640000612af290919063ffffffff16565b612b7890919063ffffffff16565b935050505090565b6000670de0b6b3a76400006301e187e00261214183612133611295565b612af290919063ffffffff16565b8161214857fe5b049050919050565b600080735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f73ffffffffffffffffffffffffffffffffffffffff1663e6a43905600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561223057600080fd5b505afa158015612244573d6000803e3d6000fd5b505050506040513d602081101561225a57600080fd5b810190808051906020019092919050505090506000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156122f857600080fd5b505afa15801561230c573d6000803e3d6000fd5b505050506040513d602081101561232257600080fd5b810190808051906020019092919050505090506123e28273ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561237e57600080fd5b505afa158015612392573d6000803e3d6000fd5b505050506040513d60208110156123a857600080fd5b81019080805190602001909291905050506123d46123c5876129e5565b84612af290919063ffffffff16565b612b7890919063ffffffff16565b92505050919050565b426203f480600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054011115612488576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b81526020018061300e602b913960400191505060405180910390fd5b6124e261249433612c0c565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c8190919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600261257683612da5565b8161257d57fe5b0490506125d281600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bc290919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1933846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b1580156126a857600080fd5b505af11580156126bc573d6000803e3d6000fd5b505050505050565b737a250d5630b4cf539739df2c5dacb4c659f2488d81565b6000612743600261273d6126ef85612c0c565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c8190919063ffffffff16565b02612116565b9050919050565b600080735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f73ffffffffffffffffffffffffffffffffffffffff1663e6a43905600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561282a57600080fd5b505afa15801561283e573d6000803e3d6000fd5b505050506040513d602081101561285457600080fd5b810190808051906020019092919050505090506000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156128f257600080fd5b505afa158015612906573d6000803e3d6000fd5b505050506040513d602081101561291c57600080fd5b810190808051906020019092919050505090506129dc8273ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561297857600080fd5b505afa15801561298c573d6000803e3d6000fd5b505050506040513d60208110156129a257600080fd5b81019080805190602001909291905050506129ce6129bf876129e5565b84612af290919063ffffffff16565b612b7890919063ffffffff16565b92505050919050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008273ffffffffffffffffffffffffffffffffffffffff168260405180600001905060006040518083038185875af1925050503d8060008114612a8e576040519150601f19603f3d011682016040523d82523d6000602084013e612a93565b606091505b5050905080612aed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180612fb3603a913960400191505060405180910390fd5b505050565b600080831415612b055760009050612b72565b6000828402905082848281612b1657fe5b0414612b6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612fed6021913960400191505060405180910390fd5b809150505b92915050565b6000612bba83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612de8565b905092915050565b6000612c0483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612eae565b905092915050565b6000612c7a612c63600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205442612bc290919063ffffffff16565b612c6c84612150565b612af290919063ffffffff16565b9050919050565b600080828401905083811015612cff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000738aae129c2b176f1f3909f763b80998439ca1148573ffffffffffffffffffffffffffffffffffffffff1663c6dbdf616040518163ffffffff1660e01b815260040160206040518083038186803b158015612d6557600080fd5b505afa158015612d79573d6000803e3d6000fd5b505050506040513d6020811015612d8f57600080fd5b8101908080519060200190929190505050905090565b6000612de1612db2611295565b612dd3670de0b6b3a76400006301e187e00285612af290919063ffffffff16565b612b7890919063ffffffff16565b9050919050565b60008083118290612e94576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612e59578082015181840152602081019050612e3e565b50505050905090810190601f168015612e865780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581612ea057fe5b049050809150509392505050565b6000838311158290612f5b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612f20578082015181840152602081019050612f05565b50505050905090810190601f168015612f4d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838503905080915050939250505056fe596f75206861766520746f207374616b65206174206c656173742061206c6974746c652062697420746f20776974686472617720726566657272616c2072657761726473416464726573733a20756e61626c6520746f2073656e642076616c75652c20726563697069656e74206d61792068617665207265766572746564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77497420686173206e6f74206265656e203320646179732073696e636520796f75207374616b6564207965746d616b65556e6368616e676561626c6528292066756e6374696f6e2077617320616c72656164792063616c6c6564a2646970667358221220f4c1ef46373f02c775e099cc5bbc3e2b76c0e7810684b1fcced577d585e8fcb964736f6c634300060c0033

Deployed Bytecode Sourcemap

3292:7303:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3857:42;4208:23;;:10;:23;;;4205:69;;4246:17;4260:1;4246:5;:17::i;:::-;4205:69;3292:7303;;;;;3999:69;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;4798:87;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5660:1510;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5129:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3499:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3906:86;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;7178:523;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4984:85;;;;;;;;;;;;;:::i;:::-;;4569:89;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;3778:26;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;4666:124;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;9802:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5431:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8201:418;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3409:38;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9922:377;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10307:139;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9086:346;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7709:484;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3813:86;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;8799:160;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9440:354;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8967:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5660:1510;5721:14;5738:10;5721:27;;5777:1;5762:17;;:3;:17;;;5759:138;;5878:7;:5;:7::i;:::-;3396:6;5865:2;5843:21;:24;;;;;;5842:34;5841:44;;;;;;5819:14;:19;5834:3;5819:19;;;;;;;;;;;;;;;;:66;5797:14;:19;5812:3;5797:19;;;;;;;;;;;;;;;:88;;;;5759:138;5909:48;3011:42;5955:1;5933:21;:23;;;;;;5909:9;:48::i;:::-;5970:19;3950:42;5992:24;;;6017:11;;;;;;;;;;;6030;;;;;;;;;;;5992:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5970:72;;6053:14;6077:11;;;;;;;;;;;6070:29;;;6100:11;6070:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6053:59;;6140:16;6166:11;;;;;;;;;;;6159:29;;;6189:11;6159:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6140:61;;6233:11;6247:55;6292:9;6248:38;6274:11;6248:21;:25;;:38;;;;:::i;:::-;6247:44;;:55;;;;:::i;:::-;6233:69;;6320:11;;;;;;;;;;;6313:24;;;6346:4;6353:6;6313:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6373:26;6409:11;6402:29;;;6440:4;6402:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6373:73;;6459:23;6492:11;;;;;;;;;;;6485:29;;;6523:4;6485:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6459:70;;6547:11;;;;;;;;;;;6540:27;;;3857:42;6579:18;6540:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3857:42;6637:34;;;6680:21;6704:11;;;;;;;;;;;6717:18;6737:1;6740;6751:4;3436:11;6637:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6775:25;6810:11;6803:29;;;6841:4;6803:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6775:72;;6858:17;6878:47;6903:21;6878:20;:24;;:47;;;;:::i;:::-;6858:67;;6956:56;6976:35;7004:6;6976:27;:35::i;:::-;6956:7;:15;6964:6;6956:15;;;;;;;;;;;;;;;;:19;;:56;;;;:::i;:::-;6938:7;:15;6946:6;6938:15;;;;;;;;;;;;;;;:74;;;;7044:3;7023:10;:18;7034:6;7023:18;;;;;;;;;;;;;;;:24;;;;7081:3;7058:12;:20;7071:6;7058:20;;;;;;;;;;;;;;;:26;;;;7122:40;7149:12;7122:14;:22;7137:6;7122:22;;;;;;;;;;;;;;;;:26;;:40;;;;:::i;:::-;7097:14;:22;7112:6;7097:22;;;;;;;;;;;;;;;:65;;;;5660:1510;;;;;;;;;;:::o;3999:69::-;;;;;;;;;;;;;:::o;4798:87::-;4842:4;4865:12;;4858:19;;4798:87;:::o;5129:202::-;3230:9;:7;:9::i;:::-;3216:23;;:10;:23;;;3208:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5207:18:::1;;;;;;;;;;;5206:19;5198:59;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;5289:4;5268:18;;:25;;;;;;;;;;;;;;;;;;5318:5;5304:11;;:19;;;;;;;;;;;;;;;;;;5129:202:::0;:::o;3499:47::-;;;;;;;;;;;;;;;;;:::o;3906:86::-;3950:42;3906:86;:::o;7178:523::-;7278:3;7268:6;7243:10;:22;7254:10;7243:22;;;;;;;;;;;;;;;;:31;:38;;7235:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7364:64;7388:39;7416:10;7388:27;:39::i;:::-;7364:7;:19;7372:10;7364:19;;;;;;;;;;;;;;;;:23;;:64;;;;:::i;:::-;7342:7;:19;7350:10;7342:19;;;;;;;;;;;;;;;:86;;;;7468:38;7499:6;7468:14;:26;7483:10;7468:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;7439:14;:26;7454:10;7439:26;;;;;;;;;;;;;;;:67;;;;7519:19;3950:42;7541:24;;;7566:11;;;;;;;;;;;7579;;;;;;;;;;;7541:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7519:72;;7609:11;7602:28;;;7631:10;7643:6;7602:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7690:3;7663:12;:24;7676:10;7663:24;;;;;;;;;;;;;;;:30;;;;7178:523;;:::o;4984:85::-;3230:9;:7;:9::i;:::-;3216:23;;:10;:23;;;3208:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5057:4:::1;5041:13;;:20;;;;;;;;;;;;;;;;;;4984:85::o:0;4569:89::-;4614:4;4637:13;;;;;;;;;;;4630:20;;4569:89;:::o;3778:26::-;;;;;;;;;;;;;:::o;4666:124::-;4706:7;3950:42;4732:24;;;4757:11;;;;;;;;;;;4770;;;;;;;;;;;4732:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4725:57;;4666:124;:::o;9802:112::-;9864:4;9887:14;:19;9902:3;9887:19;;;;;;;;;;;;;;;;9880:26;;9802:112;;;:::o;5431:182::-;3230:9;:7;:9::i;:::-;3216:23;;:10;:23;;;3208:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5509:14:::1;:12;:14::i;:::-;5508:15;5500:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5600:5;5585:12;:20;;;;5431:182:::0;:::o;8201:418::-;8297:1;8271:10;:22;8282:10;8271:22;;;;;;;;;;;;;;;;:27;;8263:108;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8425:3;8415:6;8390:10;:22;8401:10;8390:22;;;;;;;;;;;;;;;;:31;:38;;8382:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8518:38;8549:6;8518:14;:26;8533:10;8518:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;8489:14;:26;8504:10;8489:26;;;;;;;;;;;;;;;:67;;;;8574:11;;;;;;;;;;;8567:24;;;8592:10;8604:6;8567:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8201:418;:::o;3409:38::-;3436:11;3409:38;:::o;9922:377::-;9960:4;9978:19;3950:42;10000:24;;;10025:11;;;;;;;;;;;10038;;;;;;;;;;;10000:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9978:72;;10063:14;10087:11;;;;;;;;;;;10080:29;;;10110:11;10080:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10063:59;;10150:16;10176:11;;;;;;;;;;;10169:29;;;10199:11;10169:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10150:61;;10250:41;10279:11;10251:22;10263:9;3396:6;10251:11;;:22;;;;:::i;:::-;10250:28;;:41;;;;:::i;:::-;10243:48;;;;;9922:377;:::o;10307:139::-;10359:4;3396:6;10418:8;:18;10384:26;10402:7;10384:13;:11;:13::i;:::-;:17;;:26;;;;:::i;:::-;10382:56;;;;;;10375:63;;10307:139;;;:::o;9086:346::-;9149:4;9167:19;3950:42;9189:24;;;9214:11;;;;;;;;;;;9227;;;;;;;;;;;9189:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9167:72;;9250:14;9274:11;;;;;;;;;;;9267:29;;;9297:11;9267:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9250:59;;9346:78;9397:11;9390:31;;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9347:37;9361:22;9379:3;9361:17;:22::i;:::-;9347:9;:13;;:37;;;;:::i;:::-;9346:43;;:78;;;;:::i;:::-;9339:85;;;;9086:346;;;:::o;7709:484::-;7813:3;7803:6;7778:10;:22;7789:10;7778:22;;;;;;;;;;;;;;;;:31;:38;;7770:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7899:64;7923:39;7951:10;7923:27;:39::i;:::-;7899:7;:19;7907:10;7899:19;;;;;;;;;;;;;;;;:23;;:64;;;;:::i;:::-;7877:7;:19;7885:10;7877:19;;;;;;;;;;;;;;;:86;;;;8001:3;7974:12;:24;7987:10;7974:24;;;;;;;;;;;;;;;:30;;;;8017:17;8057:1;8037:19;8049:6;8037:11;:19::i;:::-;:21;;;;;;8017:41;;8091:37;8115:12;8091:7;:19;8099:10;8091:19;;;;;;;;;;;;;;;;:23;;:37;;;;:::i;:::-;8069:7;:19;8077:10;8069:19;;;;;;;;;;;;;;;:59;;;;8148:11;;;;;;;;;;;8141:24;;;8166:10;8178:6;8141:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7709:484;;:::o;3813:86::-;3857:42;3813:86;:::o;8799:160::-;8864:4;8887:64;8948:1;8897:50;8914:32;8942:3;8914:27;:32::i;:::-;8897:7;:12;8905:3;8897:12;;;;;;;;;;;;;;;;:16;;:50;;;;:::i;:::-;:52;8887:8;:64::i;:::-;8880:71;;8799:160;;;:::o;9440:354::-;9505:4;9523:19;3950:42;9545:24;;;9570:11;;;;;;;;;;;9583;;;;;;;;;;;9545:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9523:72;;9606:16;9632:11;;;;;;;;;;;9625:29;;;9655:11;9625:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9606:61;;9706:80;9759:11;9752:31;;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9707:39;9723:22;9741:3;9723:17;:22::i;:::-;9707:11;:15;;:39;;;;:::i;:::-;9706:45;;:80;;;;:::i;:::-;9699:87;;;;9440:354;;;:::o;8967:111::-;9028:4;9051:14;:19;9066:3;9051:19;;;;;;;;;;;;;;;;9044:26;;8967:111;;;:::o;4289:233::-;4372:12;4390:9;:14;;4413:6;4390:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4371:54;;;4444:7;4436:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4289:233;;;:::o;564:216::-;622:7;651:1;646;:6;642:23;;;662:1;655:8;;;;642:23;675:9;691:1;687;:5;675:17;;720:1;715;711;:5;;;;;;:10;703:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;777:1;770:8;;;564:216;;;;;:::o;788:126::-;846:7;873:39;877:1;880;873:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;866:46;;788:126;;;;:::o;234:130::-;292:7;319:43;323:1;326;319:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;312:50;;234:130;;;;:::o;8627:164::-;8700:4;8724:58;8754:26;8762:12;:17;8775:3;8762:17;;;;;;;;;;;;;;;;8754:3;:7;;:26;;;;:::i;:::-;8724:24;8744:3;8724:19;:24::i;:::-;:28;;:58;;;;:::i;:::-;8716:67;;8627:164;;;:::o;53:173::-;111:7;131:9;147:1;143;:5;131:17;;172:1;167;:6;;159:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;223:1;216:8;;;53:173;;;;:::o;3062:104::-;3103:7;3011:42;3130:26;;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3123:35;;3062:104;:::o;10454:138::-;10508:4;10531:53;10569:13;:11;:13::i;:::-;10533:28;3396:6;10542:8;:18;10533:4;:8;;:28;;;;:::i;:::-;10531:36;;:53;;;;:::i;:::-;10524:60;;10454:138;;;:::o;922:183::-;1008:7;1040:1;1036;:5;1043:12;1028:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1067:9;1083:1;1079;:5;;;;;;1067:17;;1102:1;1095:8;;;922:183;;;;;:::o;372:184::-;458:7;491:1;486;:6;;494:12;478:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;518:9;534:1;530;:5;518:17;;553:1;546:8;;;372:184;;;;;:::o

Swarm Source

ipfs://f4c1ef46373f02c775e099cc5bbc3e2b76c0e7810684b1fcced577d585e8fcb9

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.