MATIC Price: $0.99 (-2.38%)
Gas: 109 GWei
 

Overview

MATIC Balance

Polygon PoS Chain LogoPolygon PoS Chain LogoPolygon PoS Chain Logo0 MATIC

MATIC Value

$0.00

Sponsored

Transaction Hash
Method
Block
From
To
Value
Submit Flag324239182022-08-28 19:51:12578 days ago1661716272IN
0x36A1424D...a7347814A
0 MATIC0.0008079330.00000002
Submit Flag324239182022-08-28 19:51:12578 days ago1661716272IN
0x36A1424D...a7347814A
0 MATIC0.0008098130.07000016
Submit Flag324239182022-08-28 19:51:12578 days ago1661716272IN
0x36A1424D...a7347814A
0 MATIC0.0008079330.00000001
Set CCTF Status323359212022-08-26 7:59:26581 days ago1661500766IN
0x36A1424D...a7347814A
0 MATIC0.0011031245.72357619
Submit Flag323356042022-08-26 7:48:32581 days ago1661500112IN
0x36A1424D...a7347814A
0 MATIC0.005860960.08661286
Submit Flag323352792022-08-26 7:35:12581 days ago1661499312IN
0x36A1424D...a7347814A
0 MATIC0.0063063464.65327225
Register323352612022-08-26 7:34:36581 days ago1661499276IN
0x36A1424D...a7347814A
0 MATIC0.003269971.09258056
Register323349502022-08-26 7:21:45581 days ago1661498505IN
0x36A1424D...a7347814A
0 MATIC0.0038880184.53129211
Submit Flag323347072022-08-26 7:09:07581 days ago1661497747IN
0x36A1424D...a7347814A
0 MATIC0.003553531.00006788
Submit Flag323346312022-08-26 7:06:31581 days ago1661497591IN
0x36A1424D...a7347814A
0 MATIC0.0034370435.23695184
Submit Flag323343782022-08-26 6:55:41581 days ago1661496941IN
0x36A1424D...a7347814A
0 MATIC0.0029258730.00004171
Register323333792022-08-26 6:14:56581 days ago1661494496IN
0x36A1424D...a7347814A
0 MATIC0.0017280337.57014849
Submit Flag323313732022-08-26 4:54:40581 days ago1661489680IN
0x36A1424D...a7347814A
0 MATIC0.0036038736.94724123
Submit Flag323302442022-08-26 4:14:22581 days ago1661487262IN
0x36A1424D...a7347814A
0 MATIC0.0030237731.00000006
Register323302442022-08-26 4:14:22581 days ago1661487262IN
0x36A1424D...a7347814A
0 MATIC0.0015112232.85622812
Submit Flag323295922022-08-26 3:45:30581 days ago1661485530IN
0x36A1424D...a7347814A
0 MATIC0.0029262330.00000001
Submit Flag323291062022-08-26 3:28:50581 days ago1661484530IN
0x36A1424D...a7347814A
0 MATIC0.0009361230.0000003
Register323290452022-08-26 3:26:44581 days ago1661484404IN
0x36A1424D...a7347814A
0 MATIC0.0013798530.00000082
Submit Flag323290232022-08-26 3:25:56581 days ago1661484356IN
0x36A1424D...a7347814A
0 MATIC0.0010659936.47542986
Submit Flag323290222022-08-26 3:25:52581 days ago1661484352IN
0x36A1424D...a7347814A
0 MATIC0.0029262330.00000031
Register323288892022-08-26 3:19:12581 days ago1661483952IN
0x36A1424D...a7347814A
0 MATIC0.0013798530.00000026
Submit Flag323277772022-08-26 2:34:36581 days ago1661481276IN
0x36A1424D...a7347814A
0 MATIC0.0029262330.00000004
Submit Flag323271852022-08-26 2:10:00581 days ago1661479800IN
0x36A1424D...a7347814A
0 MATIC0.0034392330.00000037
Set Flag323268202022-08-26 1:55:18581 days ago1661478918IN
0x36A1424D...a7347814A
0 MATIC0.0011934930.87000001
Set Flag323268092022-08-26 1:54:56581 days ago1661478896IN
0x36A1424D...a7347814A
0 MATIC0.0029503630.87000001
View all transactions

Parent Txn Hash Block From To Value
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
CCTF9

Compiler Version
v0.8.16+commit.07a7930e

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Apache-2.0 license
/**
 *Submitted for verification at polygonscan.com on 2022-08-24
*/

// SPDX-License-Identifier: Apache-2.0
// Authors: six and Silur
pragma solidity ^0.8.16;

contract CCTF9 {
  address public admin;
  uint256 public volStart;
  uint256 public volMaxPoints;
  uint256 public powDiff;
  bool public started;

  enum PlayerStatus {
    Unverified,
    Verified,
    Banned
  }

  struct Player {
    PlayerStatus status;
    uint256 points;
  }

  modifier onlyAdmin {
    require(msg.sender == admin, "Not admin");
    _;
  }

  modifier onlyActive {
    require(started == true, "CCTF not started.");
    _;
  }

  struct Flag {
    address signer;
    bool onlyFirstSolver;
    uint256 points;
    string skill_name;
  }

  mapping (address => Player) public players;
  mapping (uint256 => Flag) public flags;

  event CCTFStarted(uint256 timestamp);
  event FlagAdded(uint256 indexed flagId, address flagSigner);
  event FlagRemoved(uint256 indexed flagId);
  event FlagSolved(uint256 indexed flagId, address indexed solver);

  constructor(uint256 _volMaxPoints, uint256 _powDiff) {
    admin = msg.sender;
    volMaxPoints = _volMaxPoints;
    powDiff = _powDiff;
    started = false;
  }
  
  function setAdmin(address _admin) external onlyAdmin {
    require(_admin != address(0));
    admin = _admin;
  }

  function setCCTFStatus(bool _started) external onlyAdmin {
    started = _started;
  }

  function setFlag(uint256 _flagId, address _flagSigner, bool _onlyFirstSolver, uint256 _points, string memory _skill) external onlyAdmin{
    flags[_flagId] = Flag(_flagSigner, _onlyFirstSolver, _points, _skill);
    emit FlagAdded(_flagId, _flagSigner);
  }

  function setPowDiff(uint256 _powDiff) external onlyAdmin {
    powDiff = _powDiff;
  }


  function register(string memory _RTFM) external {
    require(players[msg.sender].status == PlayerStatus.Unverified, 'Already registered or banned');
    //uint256 pow = uint256(keccak256(abi.encodePacked("CCTF", msg.sender,"registration", nonce)));
    //require(pow < powDiff, "invalid pow");
    require(keccak256(abi.encodePacked('I_read_it')) == keccak256(abi.encodePacked(_RTFM)));  // PoW can be used for harder challenges, this is Entry!
    players[msg.sender].status = PlayerStatus.Verified;
  }

  function setPlayerStatus(address player, PlayerStatus status) external onlyAdmin {
    players[player].status = status;
  }
  
  
////////// Submit flags
    mapping(bytes32 => bool) usedNs;                       // Against replay attack (we only check message signer)
    mapping (address => mapping (uint256 => bool)) Solves;     // address -> challenge ID -> solved/not
    uint256 public submission_success_count = 0;               // For statistics

    function SubmitFlag(bytes32 _message, bytes memory signature, uint256 _submitFor) external onlyActive {
        require(players[msg.sender].status == PlayerStatus.Verified, "You are not even playing");
        require(bytes32(_message).length <= 256, "Too long message.");
        require(!usedNs[_message]);
        usedNs[_message] = true;
        require(recoverSigner(_message, signature) == flags[_submitFor].signer, "Not signed with the correct key.");
        require(Solves[msg.sender][_submitFor] == false);
        
        Solves[msg.sender][_submitFor] = true;
        players[msg.sender].points += flags[_submitFor].points;
        players[msg.sender].points = players[msg.sender].points < volMaxPoints ? players[msg.sender].points : volMaxPoints;
        
        if (flags[_submitFor].onlyFirstSolver) {
            flags[_submitFor].points = 0;
        }
        
        submission_success_count = submission_success_count + 1;
        emit FlagSolved(_submitFor, msg.sender);
    }

    function recoverSigner(bytes32 _ethSignedMessageHash, bytes memory _signature) public pure returns (address) {
        (bytes32 r, bytes32 s, uint8 v) = splitSignature(_signature);
        return ecrecover(_ethSignedMessageHash, v, r, s);
    }

    function splitSignature(bytes memory sig) public pure returns (bytes32 r, bytes32 s, uint8 v){
        require(sig.length == 65, "Invalid signature length");
        assembly {
            r := mload(add(sig, 32))
            s := mload(add(sig, 64))
            v := byte(0, mload(add(sig, 96)))
        }
    }

////////// Check status, scores, etc
  function getPlayerStatus(address _player) external view returns (PlayerStatus) {
    return players[_player].status;
  }

  function getPlayerPoints(address _player) external view returns (uint256) {
    return players[_player].points < volMaxPoints ? players[_player].points : volMaxPoints;
  } 

  function getSuccessfulSubmissionCount() external view returns (uint256){
      return submission_success_count;
  }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"uint256","name":"_volMaxPoints","type":"uint256"},{"internalType":"uint256","name":"_powDiff","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"CCTFStarted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"flagId","type":"uint256"},{"indexed":false,"internalType":"address","name":"flagSigner","type":"address"}],"name":"FlagAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"flagId","type":"uint256"}],"name":"FlagRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"flagId","type":"uint256"},{"indexed":true,"internalType":"address","name":"solver","type":"address"}],"name":"FlagSolved","type":"event"},{"inputs":[{"internalType":"bytes32","name":"_message","type":"bytes32"},{"internalType":"bytes","name":"signature","type":"bytes"},{"internalType":"uint256","name":"_submitFor","type":"uint256"}],"name":"SubmitFlag","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"admin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"flags","outputs":[{"internalType":"address","name":"signer","type":"address"},{"internalType":"bool","name":"onlyFirstSolver","type":"bool"},{"internalType":"uint256","name":"points","type":"uint256"},{"internalType":"string","name":"skill_name","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_player","type":"address"}],"name":"getPlayerPoints","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_player","type":"address"}],"name":"getPlayerStatus","outputs":[{"internalType":"enum CCTF9.PlayerStatus","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getSuccessfulSubmissionCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"players","outputs":[{"internalType":"enum CCTF9.PlayerStatus","name":"status","type":"uint8"},{"internalType":"uint256","name":"points","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"powDiff","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_ethSignedMessageHash","type":"bytes32"},{"internalType":"bytes","name":"_signature","type":"bytes"}],"name":"recoverSigner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"string","name":"_RTFM","type":"string"}],"name":"register","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_admin","type":"address"}],"name":"setAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_started","type":"bool"}],"name":"setCCTFStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_flagId","type":"uint256"},{"internalType":"address","name":"_flagSigner","type":"address"},{"internalType":"bool","name":"_onlyFirstSolver","type":"bool"},{"internalType":"uint256","name":"_points","type":"uint256"},{"internalType":"string","name":"_skill","type":"string"}],"name":"setFlag","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"player","type":"address"},{"internalType":"enum CCTF9.PlayerStatus","name":"status","type":"uint8"}],"name":"setPlayerStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_powDiff","type":"uint256"}],"name":"setPowDiff","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"sig","type":"bytes"}],"name":"splitSignature","outputs":[{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"},{"internalType":"uint8","name":"v","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"started","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"submission_success_count","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"volMaxPoints","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"volStart","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]

608060405260006009553480156200001657600080fd5b506040516200239d3803806200239d83398181016040528101906200003c9190620000ed565b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600281905550806003819055506000600460006101000a81548160ff021916908315150217905550505062000134565b600080fd5b6000819050919050565b620000c781620000b2565b8114620000d357600080fd5b50565b600081519050620000e781620000bc565b92915050565b60008060408385031215620001075762000106620000ad565b5b60006200011785828601620000d6565b92505060206200012a85828601620000d6565b9150509250929050565b61225980620001446000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c806382ba89a4116100ad578063d5aeeafd11610071578063d5aeeafd14610348578063e2eb41ff14610366578063f2c298be14610397578063f46fc883146103b3578063f851a440146103cf5761012c565b806382ba89a41461027a57806397aba7f914610298578063a7bb5803146102c8578063a950c2c9146102fa578063bc34ac1a146103185761012c565b806325f61c73116100f457806325f61c73146101d35780635cc649ee146101f1578063704b6c021461020d5780637313b8111461022957806381274d3a146102475761012c565b8063093f135d146101315780630f45db911461014d5780631f2698ab1461017d57806320df21c21461019b5780632349794d146101b7575b600080fd5b61014b60048036038101906101469190611478565b6103ed565b005b61016760048036038101906101629190611545565b61090d565b60405161017491906115e9565b60405180910390f35b610185610966565b604051610192919061161f565b60405180910390f35b6101b560048036038101906101b09190611707565b610979565b005b6101d160048036038101906101cc91906117c3565b610b1c565b005b6101db610c18565b6040516101e89190611812565b60405180910390f35b61020b6004803603810190610206919061182d565b610c1e565b005b61022760048036038101906102229190611545565b610cb6565b005b610231610dc0565b60405161023e9190611812565b60405180910390f35b610261600480360381019061025c919061182d565b610dc6565b60405161027194939291906118e8565b60405180910390f35b610282610eab565b60405161028f9190611812565b60405180910390f35b6102b260048036038101906102ad9190611934565b610eb1565b6040516102bf9190611990565b60405180910390f35b6102e260048036038101906102dd91906119ab565b610f20565b6040516102f193929190611a1f565b60405180910390f35b610302610f88565b60405161030f9190611812565b60405180910390f35b610332600480360381019061032d9190611545565b610f8e565b60405161033f9190611812565b60405180910390f35b61035061102e565b60405161035d9190611812565b60405180910390f35b610380600480360381019061037b9190611545565b611038565b60405161038e929190611a56565b60405180910390f35b6103b160048036038101906103ac9190611a7f565b611069565b005b6103cd60048036038101906103c89190611ac8565b6111e3565b005b6103d761128e565b6040516103e49190611990565b60405180910390f35b60011515600460009054906101000a900460ff16151514610443576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043a90611b41565b60405180910390fd5b6001600281111561045757610456611572565b5b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff1660028111156104b9576104b8611572565b5b146104f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104f090611bad565b60405180910390fd5b610100602060ff161115610542576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161053990611c19565b60405180910390fd5b6007600084815260200190815260200160002060009054906101000a900460ff161561056d57600080fd5b60016007600085815260200190815260200160002060006101000a81548160ff0219169083151502179055506006600082815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166105f08484610eb1565b73ffffffffffffffffffffffffffffffffffffffff1614610646576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161063d90611c85565b60405180910390fd5b60001515600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002060009054906101000a900460ff161515146106b457600080fd5b6001600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002060006101000a81548160ff0219169083151502179055506006600082815260200190815260200160002060010154600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008282546107859190611cd4565b92505081905550600254600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154106107df57600254610823565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101545b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055506006600082815260200190815260200160002060000160149054906101000a900460ff16156108af57600060066000838152602001908152602001600020600101819055505b60016009546108be9190611cd4565b6009819055503373ffffffffffffffffffffffffffffffffffffffff16817fbdd7e59ea8595dc4ac6c903523577757b4b3c4e0f048d0d83997fc91da92f12d60405160405180910390a3505050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff169050919050565b600460009054906101000a900460ff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a07576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109fe90611d54565b60405180910390fd5b60405180608001604052808573ffffffffffffffffffffffffffffffffffffffff1681526020018415158152602001838152602001828152506006600087815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548160ff021916908315150217905550604082015181600101556060820151816002019081610ad99190611f80565b50905050847fcb09e9816660e3d5ad44afd66c6b0fdc5fb535507d7a3cb51dd6237a09d2e01385604051610b0d9190611990565b60405180910390a25050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610baa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba190611d54565b60405180910390fd5b80600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff02191690836002811115610c0f57610c0e611572565b5b02179055505050565b60025481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610cac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca390611d54565b60405180910390fd5b8060038190555050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3b90611d54565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610d7d57600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60035481565b60066020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060000160149054906101000a900460ff1690806001015490806002018054610e2890611da3565b80601f0160208091040260200160405190810160405280929190818152602001828054610e5490611da3565b8015610ea15780601f10610e7657610100808354040283529160200191610ea1565b820191906000526020600020905b815481529060010190602001808311610e8457829003601f168201915b5050505050905084565b60095481565b600080600080610ec085610f20565b92509250925060018682858560405160008152602001604052604051610ee99493929190612052565b6020604051602081039080840390855afa158015610f0b573d6000803e3d6000fd5b50505060206040510351935050505092915050565b60008060006041845114610f69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f60906120e3565b60405180910390fd5b6020840151925060408401519150606084015160001a90509193909250565b60015481565b6000600254600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015410610fe357600254611027565b600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101545b9050919050565b6000600954905090565b60056020528060005260406000206000915090508060000160009054906101000a900460ff16908060010154905082565b6000600281111561107d5761107c611572565b5b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff1660028111156110df576110de611572565b5b1461111f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111169061214f565b60405180910390fd5b8060405160200161113091906121ab565b604051602081830303815290604052805190602001206040516020016111559061220e565b604051602081830303815290604052805190602001201461117557600080fd5b6001600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff021916908360028111156111db576111da611572565b5b021790555050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611271576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126890611d54565b60405180910390fd5b80600460006101000a81548160ff02191690831515021790555050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b6112d9816112c6565b81146112e457600080fd5b50565b6000813590506112f6816112d0565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61134f82611306565b810181811067ffffffffffffffff8211171561136e5761136d611317565b5b80604052505050565b60006113816112b2565b905061138d8282611346565b919050565b600067ffffffffffffffff8211156113ad576113ac611317565b5b6113b682611306565b9050602081019050919050565b82818337600083830152505050565b60006113e56113e084611392565b611377565b90508281526020810184848401111561140157611400611301565b5b61140c8482856113c3565b509392505050565b600082601f830112611429576114286112fc565b5b81356114398482602086016113d2565b91505092915050565b6000819050919050565b61145581611442565b811461146057600080fd5b50565b6000813590506114728161144c565b92915050565b600080600060608486031215611491576114906112bc565b5b600061149f868287016112e7565b935050602084013567ffffffffffffffff8111156114c0576114bf6112c1565b5b6114cc86828701611414565b92505060406114dd86828701611463565b9150509250925092565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611512826114e7565b9050919050565b61152281611507565b811461152d57600080fd5b50565b60008135905061153f81611519565b92915050565b60006020828403121561155b5761155a6112bc565b5b600061156984828501611530565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600381106115b2576115b1611572565b5b50565b60008190506115c3826115a1565b919050565b60006115d3826115b5565b9050919050565b6115e3816115c8565b82525050565b60006020820190506115fe60008301846115da565b92915050565b60008115159050919050565b61161981611604565b82525050565b60006020820190506116346000830184611610565b92915050565b61164381611604565b811461164e57600080fd5b50565b6000813590506116608161163a565b92915050565b600067ffffffffffffffff82111561168157611680611317565b5b61168a82611306565b9050602081019050919050565b60006116aa6116a584611666565b611377565b9050828152602081018484840111156116c6576116c5611301565b5b6116d18482856113c3565b509392505050565b600082601f8301126116ee576116ed6112fc565b5b81356116fe848260208601611697565b91505092915050565b600080600080600060a08688031215611723576117226112bc565b5b600061173188828901611463565b955050602061174288828901611530565b945050604061175388828901611651565b935050606061176488828901611463565b925050608086013567ffffffffffffffff811115611785576117846112c1565b5b611791888289016116d9565b9150509295509295909350565b600381106117ab57600080fd5b50565b6000813590506117bd8161179e565b92915050565b600080604083850312156117da576117d96112bc565b5b60006117e885828601611530565b92505060206117f9858286016117ae565b9150509250929050565b61180c81611442565b82525050565b60006020820190506118276000830184611803565b92915050565b600060208284031215611843576118426112bc565b5b600061185184828501611463565b91505092915050565b61186381611507565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b838110156118a3578082015181840152602081019050611888565b60008484015250505050565b60006118ba82611869565b6118c48185611874565b93506118d4818560208601611885565b6118dd81611306565b840191505092915050565b60006080820190506118fd600083018761185a565b61190a6020830186611610565b6119176040830185611803565b818103606083015261192981846118af565b905095945050505050565b6000806040838503121561194b5761194a6112bc565b5b6000611959858286016112e7565b925050602083013567ffffffffffffffff81111561197a576119796112c1565b5b61198685828601611414565b9150509250929050565b60006020820190506119a5600083018461185a565b92915050565b6000602082840312156119c1576119c06112bc565b5b600082013567ffffffffffffffff8111156119df576119de6112c1565b5b6119eb84828501611414565b91505092915050565b6119fd816112c6565b82525050565b600060ff82169050919050565b611a1981611a03565b82525050565b6000606082019050611a3460008301866119f4565b611a4160208301856119f4565b611a4e6040830184611a10565b949350505050565b6000604082019050611a6b60008301856115da565b611a786020830184611803565b9392505050565b600060208284031215611a9557611a946112bc565b5b600082013567ffffffffffffffff811115611ab357611ab26112c1565b5b611abf848285016116d9565b91505092915050565b600060208284031215611ade57611add6112bc565b5b6000611aec84828501611651565b91505092915050565b7f43435446206e6f7420737461727465642e000000000000000000000000000000600082015250565b6000611b2b601183611874565b9150611b3682611af5565b602082019050919050565b60006020820190508181036000830152611b5a81611b1e565b9050919050565b7f596f7520617265206e6f74206576656e20706c6179696e670000000000000000600082015250565b6000611b97601883611874565b9150611ba282611b61565b602082019050919050565b60006020820190508181036000830152611bc681611b8a565b9050919050565b7f546f6f206c6f6e67206d6573736167652e000000000000000000000000000000600082015250565b6000611c03601183611874565b9150611c0e82611bcd565b602082019050919050565b60006020820190508181036000830152611c3281611bf6565b9050919050565b7f4e6f74207369676e656420776974682074686520636f7272656374206b65792e600082015250565b6000611c6f602083611874565b9150611c7a82611c39565b602082019050919050565b60006020820190508181036000830152611c9e81611c62565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611cdf82611442565b9150611cea83611442565b9250828201905080821115611d0257611d01611ca5565b5b92915050565b7f4e6f742061646d696e0000000000000000000000000000000000000000000000600082015250565b6000611d3e600983611874565b9150611d4982611d08565b602082019050919050565b60006020820190508181036000830152611d6d81611d31565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611dbb57607f821691505b602082108103611dce57611dcd611d74565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302611e367fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82611df9565b611e408683611df9565b95508019841693508086168417925050509392505050565b6000819050919050565b6000611e7d611e78611e7384611442565b611e58565b611442565b9050919050565b6000819050919050565b611e9783611e62565b611eab611ea382611e84565b848454611e06565b825550505050565b600090565b611ec0611eb3565b611ecb818484611e8e565b505050565b5b81811015611eef57611ee4600082611eb8565b600181019050611ed1565b5050565b601f821115611f3457611f0581611dd4565b611f0e84611de9565b81016020851015611f1d578190505b611f31611f2985611de9565b830182611ed0565b50505b505050565b600082821c905092915050565b6000611f5760001984600802611f39565b1980831691505092915050565b6000611f708383611f46565b9150826002028217905092915050565b611f8982611869565b67ffffffffffffffff811115611fa257611fa1611317565b5b611fac8254611da3565b611fb7828285611ef3565b600060209050601f831160018114611fea5760008415611fd8578287015190505b611fe28582611f64565b86555061204a565b601f198416611ff886611dd4565b60005b8281101561202057848901518255600182019150602085019450602081019050611ffb565b8683101561203d5784890151612039601f891682611f46565b8355505b6001600288020188555050505b505050505050565b600060808201905061206760008301876119f4565b6120746020830186611a10565b61208160408301856119f4565b61208e60608301846119f4565b95945050505050565b7f496e76616c6964207369676e6174757265206c656e6774680000000000000000600082015250565b60006120cd601883611874565b91506120d882612097565b602082019050919050565b600060208201905081810360008301526120fc816120c0565b9050919050565b7f416c72656164792072656769737465726564206f722062616e6e656400000000600082015250565b6000612139601c83611874565b915061214482612103565b602082019050919050565b600060208201905081810360008301526121688161212c565b9050919050565b600081905092915050565b600061218582611869565b61218f818561216f565b935061219f818560208601611885565b80840191505092915050565b60006121b7828461217a565b915081905092915050565b7f495f726561645f69740000000000000000000000000000000000000000000000600082015250565b60006121f860098361216f565b9150612203826121c2565b600982019050919050565b6000612219826121eb565b915081905091905056fea264697066735822122057f91975a95d167128fe27abe5f0550c7f14082b7065eceb2b3479d026ea736264736f6c6343000810003300000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000200

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061012c5760003560e01c806382ba89a4116100ad578063d5aeeafd11610071578063d5aeeafd14610348578063e2eb41ff14610366578063f2c298be14610397578063f46fc883146103b3578063f851a440146103cf5761012c565b806382ba89a41461027a57806397aba7f914610298578063a7bb5803146102c8578063a950c2c9146102fa578063bc34ac1a146103185761012c565b806325f61c73116100f457806325f61c73146101d35780635cc649ee146101f1578063704b6c021461020d5780637313b8111461022957806381274d3a146102475761012c565b8063093f135d146101315780630f45db911461014d5780631f2698ab1461017d57806320df21c21461019b5780632349794d146101b7575b600080fd5b61014b60048036038101906101469190611478565b6103ed565b005b61016760048036038101906101629190611545565b61090d565b60405161017491906115e9565b60405180910390f35b610185610966565b604051610192919061161f565b60405180910390f35b6101b560048036038101906101b09190611707565b610979565b005b6101d160048036038101906101cc91906117c3565b610b1c565b005b6101db610c18565b6040516101e89190611812565b60405180910390f35b61020b6004803603810190610206919061182d565b610c1e565b005b61022760048036038101906102229190611545565b610cb6565b005b610231610dc0565b60405161023e9190611812565b60405180910390f35b610261600480360381019061025c919061182d565b610dc6565b60405161027194939291906118e8565b60405180910390f35b610282610eab565b60405161028f9190611812565b60405180910390f35b6102b260048036038101906102ad9190611934565b610eb1565b6040516102bf9190611990565b60405180910390f35b6102e260048036038101906102dd91906119ab565b610f20565b6040516102f193929190611a1f565b60405180910390f35b610302610f88565b60405161030f9190611812565b60405180910390f35b610332600480360381019061032d9190611545565b610f8e565b60405161033f9190611812565b60405180910390f35b61035061102e565b60405161035d9190611812565b60405180910390f35b610380600480360381019061037b9190611545565b611038565b60405161038e929190611a56565b60405180910390f35b6103b160048036038101906103ac9190611a7f565b611069565b005b6103cd60048036038101906103c89190611ac8565b6111e3565b005b6103d761128e565b6040516103e49190611990565b60405180910390f35b60011515600460009054906101000a900460ff16151514610443576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043a90611b41565b60405180910390fd5b6001600281111561045757610456611572565b5b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff1660028111156104b9576104b8611572565b5b146104f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104f090611bad565b60405180910390fd5b610100602060ff161115610542576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161053990611c19565b60405180910390fd5b6007600084815260200190815260200160002060009054906101000a900460ff161561056d57600080fd5b60016007600085815260200190815260200160002060006101000a81548160ff0219169083151502179055506006600082815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166105f08484610eb1565b73ffffffffffffffffffffffffffffffffffffffff1614610646576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161063d90611c85565b60405180910390fd5b60001515600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002060009054906101000a900460ff161515146106b457600080fd5b6001600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002060006101000a81548160ff0219169083151502179055506006600082815260200190815260200160002060010154600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008282546107859190611cd4565b92505081905550600254600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154106107df57600254610823565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101545b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055506006600082815260200190815260200160002060000160149054906101000a900460ff16156108af57600060066000838152602001908152602001600020600101819055505b60016009546108be9190611cd4565b6009819055503373ffffffffffffffffffffffffffffffffffffffff16817fbdd7e59ea8595dc4ac6c903523577757b4b3c4e0f048d0d83997fc91da92f12d60405160405180910390a3505050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff169050919050565b600460009054906101000a900460ff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a07576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109fe90611d54565b60405180910390fd5b60405180608001604052808573ffffffffffffffffffffffffffffffffffffffff1681526020018415158152602001838152602001828152506006600087815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548160ff021916908315150217905550604082015181600101556060820151816002019081610ad99190611f80565b50905050847fcb09e9816660e3d5ad44afd66c6b0fdc5fb535507d7a3cb51dd6237a09d2e01385604051610b0d9190611990565b60405180910390a25050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610baa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba190611d54565b60405180910390fd5b80600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff02191690836002811115610c0f57610c0e611572565b5b02179055505050565b60025481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610cac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca390611d54565b60405180910390fd5b8060038190555050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3b90611d54565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610d7d57600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60035481565b60066020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060000160149054906101000a900460ff1690806001015490806002018054610e2890611da3565b80601f0160208091040260200160405190810160405280929190818152602001828054610e5490611da3565b8015610ea15780601f10610e7657610100808354040283529160200191610ea1565b820191906000526020600020905b815481529060010190602001808311610e8457829003601f168201915b5050505050905084565b60095481565b600080600080610ec085610f20565b92509250925060018682858560405160008152602001604052604051610ee99493929190612052565b6020604051602081039080840390855afa158015610f0b573d6000803e3d6000fd5b50505060206040510351935050505092915050565b60008060006041845114610f69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f60906120e3565b60405180910390fd5b6020840151925060408401519150606084015160001a90509193909250565b60015481565b6000600254600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015410610fe357600254611027565b600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101545b9050919050565b6000600954905090565b60056020528060005260406000206000915090508060000160009054906101000a900460ff16908060010154905082565b6000600281111561107d5761107c611572565b5b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff1660028111156110df576110de611572565b5b1461111f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111169061214f565b60405180910390fd5b8060405160200161113091906121ab565b604051602081830303815290604052805190602001206040516020016111559061220e565b604051602081830303815290604052805190602001201461117557600080fd5b6001600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff021916908360028111156111db576111da611572565b5b021790555050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611271576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126890611d54565b60405180910390fd5b80600460006101000a81548160ff02191690831515021790555050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b6112d9816112c6565b81146112e457600080fd5b50565b6000813590506112f6816112d0565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61134f82611306565b810181811067ffffffffffffffff8211171561136e5761136d611317565b5b80604052505050565b60006113816112b2565b905061138d8282611346565b919050565b600067ffffffffffffffff8211156113ad576113ac611317565b5b6113b682611306565b9050602081019050919050565b82818337600083830152505050565b60006113e56113e084611392565b611377565b90508281526020810184848401111561140157611400611301565b5b61140c8482856113c3565b509392505050565b600082601f830112611429576114286112fc565b5b81356114398482602086016113d2565b91505092915050565b6000819050919050565b61145581611442565b811461146057600080fd5b50565b6000813590506114728161144c565b92915050565b600080600060608486031215611491576114906112bc565b5b600061149f868287016112e7565b935050602084013567ffffffffffffffff8111156114c0576114bf6112c1565b5b6114cc86828701611414565b92505060406114dd86828701611463565b9150509250925092565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611512826114e7565b9050919050565b61152281611507565b811461152d57600080fd5b50565b60008135905061153f81611519565b92915050565b60006020828403121561155b5761155a6112bc565b5b600061156984828501611530565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600381106115b2576115b1611572565b5b50565b60008190506115c3826115a1565b919050565b60006115d3826115b5565b9050919050565b6115e3816115c8565b82525050565b60006020820190506115fe60008301846115da565b92915050565b60008115159050919050565b61161981611604565b82525050565b60006020820190506116346000830184611610565b92915050565b61164381611604565b811461164e57600080fd5b50565b6000813590506116608161163a565b92915050565b600067ffffffffffffffff82111561168157611680611317565b5b61168a82611306565b9050602081019050919050565b60006116aa6116a584611666565b611377565b9050828152602081018484840111156116c6576116c5611301565b5b6116d18482856113c3565b509392505050565b600082601f8301126116ee576116ed6112fc565b5b81356116fe848260208601611697565b91505092915050565b600080600080600060a08688031215611723576117226112bc565b5b600061173188828901611463565b955050602061174288828901611530565b945050604061175388828901611651565b935050606061176488828901611463565b925050608086013567ffffffffffffffff811115611785576117846112c1565b5b611791888289016116d9565b9150509295509295909350565b600381106117ab57600080fd5b50565b6000813590506117bd8161179e565b92915050565b600080604083850312156117da576117d96112bc565b5b60006117e885828601611530565b92505060206117f9858286016117ae565b9150509250929050565b61180c81611442565b82525050565b60006020820190506118276000830184611803565b92915050565b600060208284031215611843576118426112bc565b5b600061185184828501611463565b91505092915050565b61186381611507565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b838110156118a3578082015181840152602081019050611888565b60008484015250505050565b60006118ba82611869565b6118c48185611874565b93506118d4818560208601611885565b6118dd81611306565b840191505092915050565b60006080820190506118fd600083018761185a565b61190a6020830186611610565b6119176040830185611803565b818103606083015261192981846118af565b905095945050505050565b6000806040838503121561194b5761194a6112bc565b5b6000611959858286016112e7565b925050602083013567ffffffffffffffff81111561197a576119796112c1565b5b61198685828601611414565b9150509250929050565b60006020820190506119a5600083018461185a565b92915050565b6000602082840312156119c1576119c06112bc565b5b600082013567ffffffffffffffff8111156119df576119de6112c1565b5b6119eb84828501611414565b91505092915050565b6119fd816112c6565b82525050565b600060ff82169050919050565b611a1981611a03565b82525050565b6000606082019050611a3460008301866119f4565b611a4160208301856119f4565b611a4e6040830184611a10565b949350505050565b6000604082019050611a6b60008301856115da565b611a786020830184611803565b9392505050565b600060208284031215611a9557611a946112bc565b5b600082013567ffffffffffffffff811115611ab357611ab26112c1565b5b611abf848285016116d9565b91505092915050565b600060208284031215611ade57611add6112bc565b5b6000611aec84828501611651565b91505092915050565b7f43435446206e6f7420737461727465642e000000000000000000000000000000600082015250565b6000611b2b601183611874565b9150611b3682611af5565b602082019050919050565b60006020820190508181036000830152611b5a81611b1e565b9050919050565b7f596f7520617265206e6f74206576656e20706c6179696e670000000000000000600082015250565b6000611b97601883611874565b9150611ba282611b61565b602082019050919050565b60006020820190508181036000830152611bc681611b8a565b9050919050565b7f546f6f206c6f6e67206d6573736167652e000000000000000000000000000000600082015250565b6000611c03601183611874565b9150611c0e82611bcd565b602082019050919050565b60006020820190508181036000830152611c3281611bf6565b9050919050565b7f4e6f74207369676e656420776974682074686520636f7272656374206b65792e600082015250565b6000611c6f602083611874565b9150611c7a82611c39565b602082019050919050565b60006020820190508181036000830152611c9e81611c62565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611cdf82611442565b9150611cea83611442565b9250828201905080821115611d0257611d01611ca5565b5b92915050565b7f4e6f742061646d696e0000000000000000000000000000000000000000000000600082015250565b6000611d3e600983611874565b9150611d4982611d08565b602082019050919050565b60006020820190508181036000830152611d6d81611d31565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611dbb57607f821691505b602082108103611dce57611dcd611d74565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302611e367fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82611df9565b611e408683611df9565b95508019841693508086168417925050509392505050565b6000819050919050565b6000611e7d611e78611e7384611442565b611e58565b611442565b9050919050565b6000819050919050565b611e9783611e62565b611eab611ea382611e84565b848454611e06565b825550505050565b600090565b611ec0611eb3565b611ecb818484611e8e565b505050565b5b81811015611eef57611ee4600082611eb8565b600181019050611ed1565b5050565b601f821115611f3457611f0581611dd4565b611f0e84611de9565b81016020851015611f1d578190505b611f31611f2985611de9565b830182611ed0565b50505b505050565b600082821c905092915050565b6000611f5760001984600802611f39565b1980831691505092915050565b6000611f708383611f46565b9150826002028217905092915050565b611f8982611869565b67ffffffffffffffff811115611fa257611fa1611317565b5b611fac8254611da3565b611fb7828285611ef3565b600060209050601f831160018114611fea5760008415611fd8578287015190505b611fe28582611f64565b86555061204a565b601f198416611ff886611dd4565b60005b8281101561202057848901518255600182019150602085019450602081019050611ffb565b8683101561203d5784890151612039601f891682611f46565b8355505b6001600288020188555050505b505050505050565b600060808201905061206760008301876119f4565b6120746020830186611a10565b61208160408301856119f4565b61208e60608301846119f4565b95945050505050565b7f496e76616c6964207369676e6174757265206c656e6774680000000000000000600082015250565b60006120cd601883611874565b91506120d882612097565b602082019050919050565b600060208201905081810360008301526120fc816120c0565b9050919050565b7f416c72656164792072656769737465726564206f722062616e6e656400000000600082015250565b6000612139601c83611874565b915061214482612103565b602082019050919050565b600060208201905081810360008301526121688161212c565b9050919050565b600081905092915050565b600061218582611869565b61218f818561216f565b935061219f818560208601611885565b80840191505092915050565b60006121b7828461217a565b915081905092915050565b7f495f726561645f69740000000000000000000000000000000000000000000000600082015250565b60006121f860098361216f565b9150612203826121c2565b600982019050919050565b6000612219826121eb565b915081905091905056fea264697066735822122057f91975a95d167128fe27abe5f0550c7f14082b7065eceb2b3479d026ea736264736f6c63430008100033

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

00000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000200

-----Decoded View---------------
Arg [0] : _volMaxPoints (uint256): 4096
Arg [1] : _powDiff (uint256): 512

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000001000
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000200


Deployed Bytecode Sourcemap

95:4724:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2748:1017;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4391:122;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;227:19;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1400:260;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2279:125;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;168:27;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1666:88;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1184:116;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;200:22;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;743:38;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;2664:43;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3773:247;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4028:319;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;140:23;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4519:173;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4699:117;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;696:42;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;1762:511;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1306:88;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;115:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2748:1017;533:4;522:15;;:7;;;;;;;;;;;:15;;;514:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;2899:21:::1;2869:51;;;;;;;;:::i;:::-;;:7;:19;2877:10;2869:19;;;;;;;;;;;;;;;:26;;;;;;;;;;;;:51;;;;;;;;:::i;:::-;;;2861:88;;;;;;;;;;;;:::i;:::-;;;;;;;;;2996:3;2968:24;:31;;;;2960:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;3041:6;:16;3048:8;3041:16;;;;;;;;;;;;;;;;;;;;;3040:17;3032:26;;;::::0;::::1;;3088:4;3069:6;:16;3076:8;3069:16;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;3149:5;:17;3155:10;3149:17;;;;;;;;;;;:24;;;;;;;;;;;;3111:62;;:34;3125:8;3135:9;3111:13;:34::i;:::-;:62;;;3103:107;;;;;;;;;;;;:::i;:::-;;;;;;;;;3263:5;3229:39;;:6;:18;3236:10;3229:18;;;;;;;;;;;;;;;:30;3248:10;3229:30;;;;;;;;;;;;;;;;;;;;;:39;;;3221:48;;;::::0;::::1;;3323:4;3290:6;:18;3297:10;3290:18;;;;;;;;;;;;;;;:30;3309:10;3290:30;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;3368:5;:17;3374:10;3368:17;;;;;;;;;;;:24;;;3338:7;:19;3346:10;3338:19;;;;;;;;;;;;;;;:26;;;:54;;;;;;;:::i;:::-;;;;;;;;3461:12;;3432:7;:19;3440:10;3432:19;;;;;;;;;;;;;;;:26;;;:41;:85;;3505:12;;3432:85;;;3476:7;:19;3484:10;3476:19;;;;;;;;;;;;;;;:26;;;3432:85;3403:7;:19;3411:10;3403:19;;;;;;;;;;;;;;;:26;;:114;;;;3542:5;:17;3548:10;3542:17;;;;;;;;;;;:33;;;;;;;;;;;;3538:94;;;3619:1;3592:5;:17;3598:10;3592:17;;;;;;;;;;;:24;;:28;;;;3538:94;3706:1;3679:24;;:28;;;;:::i;:::-;3652:24;:55;;;;3746:10;3723:34;;3734:10;3723:34;;;;;;;;;;2748:1017:::0;;;:::o;4391:122::-;4456:12;4484:7;:16;4492:7;4484:16;;;;;;;;;;;;;;;:23;;;;;;;;;;;;4477:30;;4391:122;;;:::o;227:19::-;;;;;;;;;;;;;:::o;1400:260::-;448:5;;;;;;;;;;434:19;;:10;:19;;;426:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;1559:52:::1;;;;;;;;1564:11;1559:52;;;;;;1577:16;1559:52;;;;;;1595:7;1559:52;;;;1604:6;1559:52;;::::0;1542:5:::1;:14;1548:7;1542:14;;;;;;;;;;;:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;1633:7;1623:31;1642:11;1623:31;;;;;;:::i;:::-;;;;;;;;1400:260:::0;;;;;:::o;2279:125::-;448:5;;;;;;;;;;434:19;;:10;:19;;;426:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;2392:6:::1;2367:7;:15;2375:6;2367:15;;;;;;;;;;;;;;;:22;;;:31;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;2279:125:::0;;:::o;168:27::-;;;;:::o;1666:88::-;448:5;;;;;;;;;;434:19;;:10;:19;;;426:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;1740:8:::1;1730:7;:18;;;;1666:88:::0;:::o;1184:116::-;448:5;;;;;;;;;;434:19;;:10;:19;;;426:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;1270:1:::1;1252:20;;:6;:20;;::::0;1244:29:::1;;;::::0;::::1;;1288:6;1280:5;::::0;:14:::1;;;;;;;;;;;;;;;;;;1184:116:::0;:::o;200:22::-;;;;:::o;743:38::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2664:43::-;;;;:::o;3773:247::-;3873:7;3894:9;3905;3916:7;3927:26;3942:10;3927:14;:26::i;:::-;3893:60;;;;;;3971:41;3981:21;4004:1;4007;4010;3971:41;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3964:48;;;;;3773:247;;;;:::o;4028:319::-;4091:9;4102;4113:7;4154:2;4140:3;:10;:16;4132:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;4240:2;4235:3;4231:12;4225:19;4220:24;;4278:2;4273:3;4269:12;4263:19;4258:24;;4324:2;4319:3;4315:12;4309:19;4306:1;4301:28;4296:33;;4028:319;;;;;:::o;140:23::-;;;;:::o;4519:173::-;4584:7;4633:12;;4607:7;:16;4615:7;4607:16;;;;;;;;;;;;;;;:23;;;:38;:79;;4674:12;;4607:79;;;4648:7;:16;4656:7;4648:16;;;;;;;;;;;;;;;:23;;;4607:79;4600:86;;4519:173;;;:::o;4699:117::-;4762:7;4786:24;;4779:31;;4699:117;:::o;696:42::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1762:511::-;1855:23;1825:53;;;;;;;;:::i;:::-;;:7;:19;1833:10;1825:19;;;;;;;;;;;;;;;:26;;;;;;;;;;;;:53;;;;;;;;:::i;:::-;;;1817:94;;;;;;;;;;;;:::i;:::-;;;;;;;;;2144:5;2127:23;;;;;;;;:::i;:::-;;;;;;;;;;;;;2117:34;;;;;;2083:29;;;;;;;:::i;:::-;;;;;;;;;;;;;2073:40;;;;;;:78;2065:87;;;;;;2246:21;2217:7;:19;2225:10;2217:19;;;;;;;;;;;;;;;:26;;;:50;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;1762:511;:::o;1306:88::-;448:5;;;;;;;;;;434:19;;:10;:19;;;426:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;1380:8:::1;1370:7;;:18;;;;;;;;;;;;;;;;;;1306:88:::0;:::o;115:20::-;;;;;;;;;;;;:::o;7:75:1:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:139::-;591:5;629:6;616:20;607:29;;645:33;672:5;645:33;:::i;:::-;545:139;;;;:::o;690:117::-;799:1;796;789:12;813:117;922:1;919;912:12;936:102;977:6;1028:2;1024:7;1019:2;1012:5;1008:14;1004:28;994:38;;936:102;;;:::o;1044:180::-;1092:77;1089:1;1082:88;1189:4;1186:1;1179:15;1213:4;1210:1;1203:15;1230:281;1313:27;1335:4;1313:27;:::i;:::-;1305:6;1301:40;1443:6;1431:10;1428:22;1407:18;1395:10;1392:34;1389:62;1386:88;;;1454:18;;:::i;:::-;1386:88;1494:10;1490:2;1483:22;1273:238;1230:281;;:::o;1517:129::-;1551:6;1578:20;;:::i;:::-;1568:30;;1607:33;1635:4;1627:6;1607:33;:::i;:::-;1517:129;;;:::o;1652:307::-;1713:4;1803:18;1795:6;1792:30;1789:56;;;1825:18;;:::i;:::-;1789:56;1863:29;1885:6;1863:29;:::i;:::-;1855:37;;1947:4;1941;1937:15;1929:23;;1652:307;;;:::o;1965:146::-;2062:6;2057:3;2052;2039:30;2103:1;2094:6;2089:3;2085:16;2078:27;1965:146;;;:::o;2117:423::-;2194:5;2219:65;2235:48;2276:6;2235:48;:::i;:::-;2219:65;:::i;:::-;2210:74;;2307:6;2300:5;2293:21;2345:4;2338:5;2334:16;2383:3;2374:6;2369:3;2365:16;2362:25;2359:112;;;2390:79;;:::i;:::-;2359:112;2480:54;2527:6;2522:3;2517;2480:54;:::i;:::-;2200:340;2117:423;;;;;:::o;2559:338::-;2614:5;2663:3;2656:4;2648:6;2644:17;2640:27;2630:122;;2671:79;;:::i;:::-;2630:122;2788:6;2775:20;2813:78;2887:3;2879:6;2872:4;2864:6;2860:17;2813:78;:::i;:::-;2804:87;;2620:277;2559:338;;;;:::o;2903:77::-;2940:7;2969:5;2958:16;;2903:77;;;:::o;2986:122::-;3059:24;3077:5;3059:24;:::i;:::-;3052:5;3049:35;3039:63;;3098:1;3095;3088:12;3039:63;2986:122;:::o;3114:139::-;3160:5;3198:6;3185:20;3176:29;;3214:33;3241:5;3214:33;:::i;:::-;3114:139;;;;:::o;3259:797::-;3345:6;3353;3361;3410:2;3398:9;3389:7;3385:23;3381:32;3378:119;;;3416:79;;:::i;:::-;3378:119;3536:1;3561:53;3606:7;3597:6;3586:9;3582:22;3561:53;:::i;:::-;3551:63;;3507:117;3691:2;3680:9;3676:18;3663:32;3722:18;3714:6;3711:30;3708:117;;;3744:79;;:::i;:::-;3708:117;3849:62;3903:7;3894:6;3883:9;3879:22;3849:62;:::i;:::-;3839:72;;3634:287;3960:2;3986:53;4031:7;4022:6;4011:9;4007:22;3986:53;:::i;:::-;3976:63;;3931:118;3259:797;;;;;:::o;4062:126::-;4099:7;4139:42;4132:5;4128:54;4117:65;;4062:126;;;:::o;4194:96::-;4231:7;4260:24;4278:5;4260:24;:::i;:::-;4249:35;;4194:96;;;:::o;4296:122::-;4369:24;4387:5;4369:24;:::i;:::-;4362:5;4359:35;4349:63;;4408:1;4405;4398:12;4349:63;4296:122;:::o;4424:139::-;4470:5;4508:6;4495:20;4486:29;;4524:33;4551:5;4524:33;:::i;:::-;4424:139;;;;:::o;4569:329::-;4628:6;4677:2;4665:9;4656:7;4652:23;4648:32;4645:119;;;4683:79;;:::i;:::-;4645:119;4803:1;4828:53;4873:7;4864:6;4853:9;4849:22;4828:53;:::i;:::-;4818:63;;4774:117;4569:329;;;;:::o;4904:180::-;4952:77;4949:1;4942:88;5049:4;5046:1;5039:15;5073:4;5070:1;5063:15;5090:120;5178:1;5171:5;5168:12;5158:46;;5184:18;;:::i;:::-;5158:46;5090:120;:::o;5216:141::-;5268:7;5297:5;5286:16;;5303:48;5345:5;5303:48;:::i;:::-;5216:141;;;:::o;5363:::-;5426:9;5459:39;5492:5;5459:39;:::i;:::-;5446:52;;5363:141;;;:::o;5510:157::-;5610:50;5654:5;5610:50;:::i;:::-;5605:3;5598:63;5510:157;;:::o;5673:248::-;5779:4;5817:2;5806:9;5802:18;5794:26;;5830:84;5911:1;5900:9;5896:17;5887:6;5830:84;:::i;:::-;5673:248;;;;:::o;5927:90::-;5961:7;6004:5;5997:13;5990:21;5979:32;;5927:90;;;:::o;6023:109::-;6104:21;6119:5;6104:21;:::i;:::-;6099:3;6092:34;6023:109;;:::o;6138:210::-;6225:4;6263:2;6252:9;6248:18;6240:26;;6276:65;6338:1;6327:9;6323:17;6314:6;6276:65;:::i;:::-;6138:210;;;;:::o;6354:116::-;6424:21;6439:5;6424:21;:::i;:::-;6417:5;6414:32;6404:60;;6460:1;6457;6450:12;6404:60;6354:116;:::o;6476:133::-;6519:5;6557:6;6544:20;6535:29;;6573:30;6597:5;6573:30;:::i;:::-;6476:133;;;;:::o;6615:308::-;6677:4;6767:18;6759:6;6756:30;6753:56;;;6789:18;;:::i;:::-;6753:56;6827:29;6849:6;6827:29;:::i;:::-;6819:37;;6911:4;6905;6901:15;6893:23;;6615:308;;;:::o;6929:425::-;7007:5;7032:66;7048:49;7090:6;7048:49;:::i;:::-;7032:66;:::i;:::-;7023:75;;7121:6;7114:5;7107:21;7159:4;7152:5;7148:16;7197:3;7188:6;7183:3;7179:16;7176:25;7173:112;;;7204:79;;:::i;:::-;7173:112;7294:54;7341:6;7336:3;7331;7294:54;:::i;:::-;7013:341;6929:425;;;;;:::o;7374:340::-;7430:5;7479:3;7472:4;7464:6;7460:17;7456:27;7446:122;;7487:79;;:::i;:::-;7446:122;7604:6;7591:20;7629:79;7704:3;7696:6;7689:4;7681:6;7677:17;7629:79;:::i;:::-;7620:88;;7436:278;7374:340;;;;:::o;7720:1085::-;7822:6;7830;7838;7846;7854;7903:3;7891:9;7882:7;7878:23;7874:33;7871:120;;;7910:79;;:::i;:::-;7871:120;8030:1;8055:53;8100:7;8091:6;8080:9;8076:22;8055:53;:::i;:::-;8045:63;;8001:117;8157:2;8183:53;8228:7;8219:6;8208:9;8204:22;8183:53;:::i;:::-;8173:63;;8128:118;8285:2;8311:50;8353:7;8344:6;8333:9;8329:22;8311:50;:::i;:::-;8301:60;;8256:115;8410:2;8436:53;8481:7;8472:6;8461:9;8457:22;8436:53;:::i;:::-;8426:63;;8381:118;8566:3;8555:9;8551:19;8538:33;8598:18;8590:6;8587:30;8584:117;;;8620:79;;:::i;:::-;8584:117;8725:63;8780:7;8771:6;8760:9;8756:22;8725:63;:::i;:::-;8715:73;;8509:289;7720:1085;;;;;;;;:::o;8811:114::-;8899:1;8892:5;8889:12;8879:40;;8915:1;8912;8905:12;8879:40;8811:114;:::o;8931:169::-;8992:5;9030:6;9017:20;9008:29;;9046:48;9088:5;9046:48;:::i;:::-;8931:169;;;;:::o;9106:504::-;9189:6;9197;9246:2;9234:9;9225:7;9221:23;9217:32;9214:119;;;9252:79;;:::i;:::-;9214:119;9372:1;9397:53;9442:7;9433:6;9422:9;9418:22;9397:53;:::i;:::-;9387:63;;9343:117;9499:2;9525:68;9585:7;9576:6;9565:9;9561:22;9525:68;:::i;:::-;9515:78;;9470:133;9106:504;;;;;:::o;9616:118::-;9703:24;9721:5;9703:24;:::i;:::-;9698:3;9691:37;9616:118;;:::o;9740:222::-;9833:4;9871:2;9860:9;9856:18;9848:26;;9884:71;9952:1;9941:9;9937:17;9928:6;9884:71;:::i;:::-;9740:222;;;;:::o;9968:329::-;10027:6;10076:2;10064:9;10055:7;10051:23;10047:32;10044:119;;;10082:79;;:::i;:::-;10044:119;10202:1;10227:53;10272:7;10263:6;10252:9;10248:22;10227:53;:::i;:::-;10217:63;;10173:117;9968:329;;;;:::o;10303:118::-;10390:24;10408:5;10390:24;:::i;:::-;10385:3;10378:37;10303:118;;:::o;10427:99::-;10479:6;10513:5;10507:12;10497:22;;10427:99;;;:::o;10532:169::-;10616:11;10650:6;10645:3;10638:19;10690:4;10685:3;10681:14;10666:29;;10532:169;;;;:::o;10707:246::-;10788:1;10798:113;10812:6;10809:1;10806:13;10798:113;;;10897:1;10892:3;10888:11;10882:18;10878:1;10873:3;10869:11;10862:39;10834:2;10831:1;10827:10;10822:15;;10798:113;;;10945:1;10936:6;10931:3;10927:16;10920:27;10769:184;10707:246;;;:::o;10959:377::-;11047:3;11075:39;11108:5;11075:39;:::i;:::-;11130:71;11194:6;11189:3;11130:71;:::i;:::-;11123:78;;11210:65;11268:6;11263:3;11256:4;11249:5;11245:16;11210:65;:::i;:::-;11300:29;11322:6;11300:29;:::i;:::-;11295:3;11291:39;11284:46;;11051:285;10959:377;;;;:::o;11342:632::-;11533:4;11571:3;11560:9;11556:19;11548:27;;11585:71;11653:1;11642:9;11638:17;11629:6;11585:71;:::i;:::-;11666:66;11728:2;11717:9;11713:18;11704:6;11666:66;:::i;:::-;11742:72;11810:2;11799:9;11795:18;11786:6;11742:72;:::i;:::-;11861:9;11855:4;11851:20;11846:2;11835:9;11831:18;11824:48;11889:78;11962:4;11953:6;11889:78;:::i;:::-;11881:86;;11342:632;;;;;;;:::o;11980:652::-;12057:6;12065;12114:2;12102:9;12093:7;12089:23;12085:32;12082:119;;;12120:79;;:::i;:::-;12082:119;12240:1;12265:53;12310:7;12301:6;12290:9;12286:22;12265:53;:::i;:::-;12255:63;;12211:117;12395:2;12384:9;12380:18;12367:32;12426:18;12418:6;12415:30;12412:117;;;12448:79;;:::i;:::-;12412:117;12553:62;12607:7;12598:6;12587:9;12583:22;12553:62;:::i;:::-;12543:72;;12338:287;11980:652;;;;;:::o;12638:222::-;12731:4;12769:2;12758:9;12754:18;12746:26;;12782:71;12850:1;12839:9;12835:17;12826:6;12782:71;:::i;:::-;12638:222;;;;:::o;12866:507::-;12934:6;12983:2;12971:9;12962:7;12958:23;12954:32;12951:119;;;12989:79;;:::i;:::-;12951:119;13137:1;13126:9;13122:17;13109:31;13167:18;13159:6;13156:30;13153:117;;;13189:79;;:::i;:::-;13153:117;13294:62;13348:7;13339:6;13328:9;13324:22;13294:62;:::i;:::-;13284:72;;13080:286;12866:507;;;;:::o;13379:118::-;13466:24;13484:5;13466:24;:::i;:::-;13461:3;13454:37;13379:118;;:::o;13503:86::-;13538:7;13578:4;13571:5;13567:16;13556:27;;13503:86;;;:::o;13595:112::-;13678:22;13694:5;13678:22;:::i;:::-;13673:3;13666:35;13595:112;;:::o;13713:434::-;13858:4;13896:2;13885:9;13881:18;13873:26;;13909:71;13977:1;13966:9;13962:17;13953:6;13909:71;:::i;:::-;13990:72;14058:2;14047:9;14043:18;14034:6;13990:72;:::i;:::-;14072:68;14136:2;14125:9;14121:18;14112:6;14072:68;:::i;:::-;13713:434;;;;;;:::o;14153:358::-;14287:4;14325:2;14314:9;14310:18;14302:26;;14338:84;14419:1;14408:9;14404:17;14395:6;14338:84;:::i;:::-;14432:72;14500:2;14489:9;14485:18;14476:6;14432:72;:::i;:::-;14153:358;;;;;:::o;14517:509::-;14586:6;14635:2;14623:9;14614:7;14610:23;14606:32;14603:119;;;14641:79;;:::i;:::-;14603:119;14789:1;14778:9;14774:17;14761:31;14819:18;14811:6;14808:30;14805:117;;;14841:79;;:::i;:::-;14805:117;14946:63;15001:7;14992:6;14981:9;14977:22;14946:63;:::i;:::-;14936:73;;14732:287;14517:509;;;;:::o;15032:323::-;15088:6;15137:2;15125:9;15116:7;15112:23;15108:32;15105:119;;;15143:79;;:::i;:::-;15105:119;15263:1;15288:50;15330:7;15321:6;15310:9;15306:22;15288:50;:::i;:::-;15278:60;;15234:114;15032:323;;;;:::o;15361:167::-;15501:19;15497:1;15489:6;15485:14;15478:43;15361:167;:::o;15534:366::-;15676:3;15697:67;15761:2;15756:3;15697:67;:::i;:::-;15690:74;;15773:93;15862:3;15773:93;:::i;:::-;15891:2;15886:3;15882:12;15875:19;;15534:366;;;:::o;15906:419::-;16072:4;16110:2;16099:9;16095:18;16087:26;;16159:9;16153:4;16149:20;16145:1;16134:9;16130:17;16123:47;16187:131;16313:4;16187:131;:::i;:::-;16179:139;;15906:419;;;:::o;16331:174::-;16471:26;16467:1;16459:6;16455:14;16448:50;16331:174;:::o;16511:366::-;16653:3;16674:67;16738:2;16733:3;16674:67;:::i;:::-;16667:74;;16750:93;16839:3;16750:93;:::i;:::-;16868:2;16863:3;16859:12;16852:19;;16511:366;;;:::o;16883:419::-;17049:4;17087:2;17076:9;17072:18;17064:26;;17136:9;17130:4;17126:20;17122:1;17111:9;17107:17;17100:47;17164:131;17290:4;17164:131;:::i;:::-;17156:139;;16883:419;;;:::o;17308:167::-;17448:19;17444:1;17436:6;17432:14;17425:43;17308:167;:::o;17481:366::-;17623:3;17644:67;17708:2;17703:3;17644:67;:::i;:::-;17637:74;;17720:93;17809:3;17720:93;:::i;:::-;17838:2;17833:3;17829:12;17822:19;;17481:366;;;:::o;17853:419::-;18019:4;18057:2;18046:9;18042:18;18034:26;;18106:9;18100:4;18096:20;18092:1;18081:9;18077:17;18070:47;18134:131;18260:4;18134:131;:::i;:::-;18126:139;;17853:419;;;:::o;18278:182::-;18418:34;18414:1;18406:6;18402:14;18395:58;18278:182;:::o;18466:366::-;18608:3;18629:67;18693:2;18688:3;18629:67;:::i;:::-;18622:74;;18705:93;18794:3;18705:93;:::i;:::-;18823:2;18818:3;18814:12;18807:19;;18466:366;;;:::o;18838:419::-;19004:4;19042:2;19031:9;19027:18;19019:26;;19091:9;19085:4;19081:20;19077:1;19066:9;19062:17;19055:47;19119:131;19245:4;19119:131;:::i;:::-;19111:139;;18838:419;;;:::o;19263:180::-;19311:77;19308:1;19301:88;19408:4;19405:1;19398:15;19432:4;19429:1;19422:15;19449:191;19489:3;19508:20;19526:1;19508:20;:::i;:::-;19503:25;;19542:20;19560:1;19542:20;:::i;:::-;19537:25;;19585:1;19582;19578:9;19571:16;;19606:3;19603:1;19600:10;19597:36;;;19613:18;;:::i;:::-;19597:36;19449:191;;;;:::o;19646:159::-;19786:11;19782:1;19774:6;19770:14;19763:35;19646:159;:::o;19811:365::-;19953:3;19974:66;20038:1;20033:3;19974:66;:::i;:::-;19967:73;;20049:93;20138:3;20049:93;:::i;:::-;20167:2;20162:3;20158:12;20151:19;;19811:365;;;:::o;20182:419::-;20348:4;20386:2;20375:9;20371:18;20363:26;;20435:9;20429:4;20425:20;20421:1;20410:9;20406:17;20399:47;20463:131;20589:4;20463:131;:::i;:::-;20455:139;;20182:419;;;:::o;20607:180::-;20655:77;20652:1;20645:88;20752:4;20749:1;20742:15;20776:4;20773:1;20766:15;20793:320;20837:6;20874:1;20868:4;20864:12;20854:22;;20921:1;20915:4;20911:12;20942:18;20932:81;;20998:4;20990:6;20986:17;20976:27;;20932:81;21060:2;21052:6;21049:14;21029:18;21026:38;21023:84;;21079:18;;:::i;:::-;21023:84;20844:269;20793:320;;;:::o;21119:141::-;21168:4;21191:3;21183:11;;21214:3;21211:1;21204:14;21248:4;21245:1;21235:18;21227:26;;21119:141;;;:::o;21266:93::-;21303:6;21350:2;21345;21338:5;21334:14;21330:23;21320:33;;21266:93;;;:::o;21365:107::-;21409:8;21459:5;21453:4;21449:16;21428:37;;21365:107;;;;:::o;21478:393::-;21547:6;21597:1;21585:10;21581:18;21620:97;21650:66;21639:9;21620:97;:::i;:::-;21738:39;21768:8;21757:9;21738:39;:::i;:::-;21726:51;;21810:4;21806:9;21799:5;21795:21;21786:30;;21859:4;21849:8;21845:19;21838:5;21835:30;21825:40;;21554:317;;21478:393;;;;;:::o;21877:60::-;21905:3;21926:5;21919:12;;21877:60;;;:::o;21943:142::-;21993:9;22026:53;22044:34;22053:24;22071:5;22053:24;:::i;:::-;22044:34;:::i;:::-;22026:53;:::i;:::-;22013:66;;21943:142;;;:::o;22091:75::-;22134:3;22155:5;22148:12;;22091:75;;;:::o;22172:269::-;22282:39;22313:7;22282:39;:::i;:::-;22343:91;22392:41;22416:16;22392:41;:::i;:::-;22384:6;22377:4;22371:11;22343:91;:::i;:::-;22337:4;22330:105;22248:193;22172:269;;;:::o;22447:73::-;22492:3;22447:73;:::o;22526:189::-;22603:32;;:::i;:::-;22644:65;22702:6;22694;22688:4;22644:65;:::i;:::-;22579:136;22526:189;;:::o;22721:186::-;22781:120;22798:3;22791:5;22788:14;22781:120;;;22852:39;22889:1;22882:5;22852:39;:::i;:::-;22825:1;22818:5;22814:13;22805:22;;22781:120;;;22721:186;;:::o;22913:543::-;23014:2;23009:3;23006:11;23003:446;;;23048:38;23080:5;23048:38;:::i;:::-;23132:29;23150:10;23132:29;:::i;:::-;23122:8;23118:44;23315:2;23303:10;23300:18;23297:49;;;23336:8;23321:23;;23297:49;23359:80;23415:22;23433:3;23415:22;:::i;:::-;23405:8;23401:37;23388:11;23359:80;:::i;:::-;23018:431;;23003:446;22913:543;;;:::o;23462:117::-;23516:8;23566:5;23560:4;23556:16;23535:37;;23462:117;;;;:::o;23585:169::-;23629:6;23662:51;23710:1;23706:6;23698:5;23695:1;23691:13;23662:51;:::i;:::-;23658:56;23743:4;23737;23733:15;23723:25;;23636:118;23585:169;;;;:::o;23759:295::-;23835:4;23981:29;24006:3;24000:4;23981:29;:::i;:::-;23973:37;;24043:3;24040:1;24036:11;24030:4;24027:21;24019:29;;23759:295;;;;:::o;24059:1395::-;24176:37;24209:3;24176:37;:::i;:::-;24278:18;24270:6;24267:30;24264:56;;;24300:18;;:::i;:::-;24264:56;24344:38;24376:4;24370:11;24344:38;:::i;:::-;24429:67;24489:6;24481;24475:4;24429:67;:::i;:::-;24523:1;24547:4;24534:17;;24579:2;24571:6;24568:14;24596:1;24591:618;;;;25253:1;25270:6;25267:77;;;25319:9;25314:3;25310:19;25304:26;25295:35;;25267:77;25370:67;25430:6;25423:5;25370:67;:::i;:::-;25364:4;25357:81;25226:222;24561:887;;24591:618;24643:4;24639:9;24631:6;24627:22;24677:37;24709:4;24677:37;:::i;:::-;24736:1;24750:208;24764:7;24761:1;24758:14;24750:208;;;24843:9;24838:3;24834:19;24828:26;24820:6;24813:42;24894:1;24886:6;24882:14;24872:24;;24941:2;24930:9;24926:18;24913:31;;24787:4;24784:1;24780:12;24775:17;;24750:208;;;24986:6;24977:7;24974:19;24971:179;;;25044:9;25039:3;25035:19;25029:26;25087:48;25129:4;25121:6;25117:17;25106:9;25087:48;:::i;:::-;25079:6;25072:64;24994:156;24971:179;25196:1;25192;25184:6;25180:14;25176:22;25170:4;25163:36;24598:611;;;24561:887;;24151:1303;;;24059:1395;;:::o;25460:545::-;25633:4;25671:3;25660:9;25656:19;25648:27;;25685:71;25753:1;25742:9;25738:17;25729:6;25685:71;:::i;:::-;25766:68;25830:2;25819:9;25815:18;25806:6;25766:68;:::i;:::-;25844:72;25912:2;25901:9;25897:18;25888:6;25844:72;:::i;:::-;25926;25994:2;25983:9;25979:18;25970:6;25926:72;:::i;:::-;25460:545;;;;;;;:::o;26011:174::-;26151:26;26147:1;26139:6;26135:14;26128:50;26011:174;:::o;26191:366::-;26333:3;26354:67;26418:2;26413:3;26354:67;:::i;:::-;26347:74;;26430:93;26519:3;26430:93;:::i;:::-;26548:2;26543:3;26539:12;26532:19;;26191:366;;;:::o;26563:419::-;26729:4;26767:2;26756:9;26752:18;26744:26;;26816:9;26810:4;26806:20;26802:1;26791:9;26787:17;26780:47;26844:131;26970:4;26844:131;:::i;:::-;26836:139;;26563:419;;;:::o;26988:178::-;27128:30;27124:1;27116:6;27112:14;27105:54;26988:178;:::o;27172:366::-;27314:3;27335:67;27399:2;27394:3;27335:67;:::i;:::-;27328:74;;27411:93;27500:3;27411:93;:::i;:::-;27529:2;27524:3;27520:12;27513:19;;27172:366;;;:::o;27544:419::-;27710:4;27748:2;27737:9;27733:18;27725:26;;27797:9;27791:4;27787:20;27783:1;27772:9;27768:17;27761:47;27825:131;27951:4;27825:131;:::i;:::-;27817:139;;27544:419;;;:::o;27969:148::-;28071:11;28108:3;28093:18;;27969:148;;;;:::o;28123:390::-;28229:3;28257:39;28290:5;28257:39;:::i;:::-;28312:89;28394:6;28389:3;28312:89;:::i;:::-;28305:96;;28410:65;28468:6;28463:3;28456:4;28449:5;28445:16;28410:65;:::i;:::-;28500:6;28495:3;28491:16;28484:23;;28233:280;28123:390;;;;:::o;28519:275::-;28651:3;28673:95;28764:3;28755:6;28673:95;:::i;:::-;28666:102;;28785:3;28778:10;;28519:275;;;;:::o;28800:159::-;28940:11;28936:1;28928:6;28924:14;28917:35;28800:159;:::o;28965:400::-;29125:3;29146:84;29228:1;29223:3;29146:84;:::i;:::-;29139:91;;29239:93;29328:3;29239:93;:::i;:::-;29357:1;29352:3;29348:11;29341:18;;28965:400;;;:::o;29371:381::-;29556:3;29578:148;29722:3;29578:148;:::i;:::-;29571:155;;29743:3;29736:10;;29371:381;;;:::o

Swarm Source

ipfs://57f91975a95d167128fe27abe5f0550c7f14082b7065eceb2b3479d026ea7362

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

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

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