ETH Price: $3,422.74 (+1.94%)

Contract

0x2F73b6567B866302e132273f67661fB89b5a66F2
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Poke212748032024-11-26 22:06:3510 hrs ago1732658795IN
0x2F73b656...89b5a66F2
0 ETH0.001363579.73803804
Poke212737572024-11-26 18:36:3514 hrs ago1732646195IN
0x2F73b656...89b5a66F2
0 ETH0.0029172220.83879799
Poke212657792024-11-25 15:51:2341 hrs ago1732549883IN
0x2F73b656...89b5a66F2
0 ETH0.0031463422.47546662
Poke212655712024-11-25 15:09:2341 hrs ago1732547363IN
0x2F73b656...89b5a66F2
0 ETH0.0040376428.84485827
Poke212639252024-11-25 9:37:4747 hrs ago1732527467IN
0x2F73b656...89b5a66F2
0 ETH0.0018355613.11320863
Poke212633552024-11-25 7:43:232 days ago1732520603IN
0x2F73b656...89b5a66F2
0 ETH0.001080137.71646729
Poke212576282024-11-24 12:33:232 days ago1732451603IN
0x2F73b656...89b5a66F2
0 ETH0.0014983510.70241118
Poke212492592024-11-23 8:31:234 days ago1732350683IN
0x2F73b656...89b5a66F2
0 ETH0.0017613212.57964196
Poke212426492024-11-22 10:23:234 days ago1732271003IN
0x2F73b656...89b5a66F2
0 ETH0.0015744511.24405076
Poke212408802024-11-22 4:27:235 days ago1732249643IN
0x2F73b656...89b5a66F2
0 ETH0.0017094912.21154239
Poke212374232024-11-21 16:53:355 days ago1732208015IN
0x2F73b656...89b5a66F2
0 ETH0.002698719.27620468
Poke212360292024-11-21 12:13:235 days ago1732191203IN
0x2F73b656...89b5a66F2
0 ETH0.0039958628.53415524
Poke212337462024-11-21 4:33:236 days ago1732163603IN
0x2F73b656...89b5a66F2
0 ETH0.0021071715.05359402
Poke212307012024-11-20 18:21:236 days ago1732126883IN
0x2F73b656...89b5a66F2
0 ETH0.0026981319.27543348
Poke212278312024-11-20 8:43:237 days ago1732092203IN
0x2F73b656...89b5a66F2
0 ETH0.001193328.52220254
Poke212206462024-11-19 8:41:238 days ago1732005683IN
0x2F73b656...89b5a66F2
0 ETH0.001230548.78797218
Poke212167302024-11-18 19:35:238 days ago1731958523IN
0x2F73b656...89b5a66F2
0 ETH0.0028088520.06296696
Poke212157322024-11-18 16:15:238 days ago1731946523IN
0x2F73b656...89b5a66F2
0 ETH0.0036090625.7764913
Poke212122822024-11-18 4:42:359 days ago1731904955IN
0x2F73b656...89b5a66F2
0 ETH0.0014485110.34638295
Poke212051002024-11-17 4:40:3510 days ago1731818435IN
0x2F73b656...89b5a66F2
0 ETH0.001394619.96051845
Poke212043842024-11-17 2:16:3510 days ago1731809795IN
0x2F73b656...89b5a66F2
0 ETH0.002097114.98420989
Poke211961452024-11-15 22:42:3511 days ago1731710555IN
0x2F73b656...89b5a66F2
0 ETH0.002820820.15180317
Poke211937402024-11-15 14:38:3511 days ago1731681515IN
0x2F73b656...89b5a66F2
0 ETH0.0037373326.70402219
Poke211930192024-11-15 12:12:4711 days ago1731672767IN
0x2F73b656...89b5a66F2
0 ETH0.0021908915.65035576
Poke211892552024-11-14 23:36:3512 days ago1731627395IN
0x2F73b656...89b5a66F2
0 ETH0.0035105325.07707072
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
212780552024-11-27 9:00:231 min ago1732698023
0x2F73b656...89b5a66F2
0 ETH
212777552024-11-27 8:00:111 hr ago1732694411
0x2F73b656...89b5a66F2
0 ETH
212774582024-11-27 7:00:232 hrs ago1732690823
0x2F73b656...89b5a66F2
0 ETH
212771572024-11-27 6:00:113 hrs ago1732687211
0x2F73b656...89b5a66F2
0 ETH
212768572024-11-27 5:00:114 hrs ago1732683611
0x2F73b656...89b5a66F2
0 ETH
212766632024-11-27 4:20:474 hrs ago1732681247
0x2F73b656...89b5a66F2
0 ETH
212766632024-11-27 4:20:474 hrs ago1732681247
0x2F73b656...89b5a66F2
0 ETH
212766632024-11-27 4:20:474 hrs ago1732681247
0x2F73b656...89b5a66F2
0 ETH
212766632024-11-27 4:20:474 hrs ago1732681247
0x2F73b656...89b5a66F2
0 ETH
212766632024-11-27 4:20:474 hrs ago1732681247
0x2F73b656...89b5a66F2
0 ETH
212766632024-11-27 4:20:474 hrs ago1732681247
0x2F73b656...89b5a66F2
0 ETH
212766632024-11-27 4:20:474 hrs ago1732681247
0x2F73b656...89b5a66F2
0 ETH
212766632024-11-27 4:20:474 hrs ago1732681247
0x2F73b656...89b5a66F2
0 ETH
212766632024-11-27 4:20:474 hrs ago1732681247
0x2F73b656...89b5a66F2
0 ETH
212766632024-11-27 4:20:474 hrs ago1732681247
0x2F73b656...89b5a66F2
0 ETH
212766632024-11-27 4:20:474 hrs ago1732681247
0x2F73b656...89b5a66F2
0 ETH
212766632024-11-27 4:20:474 hrs ago1732681247
0x2F73b656...89b5a66F2
0 ETH
212766632024-11-27 4:20:474 hrs ago1732681247
0x2F73b656...89b5a66F2
0 ETH
212766632024-11-27 4:20:474 hrs ago1732681247
0x2F73b656...89b5a66F2
0 ETH
212765602024-11-27 4:00:115 hrs ago1732680011
0x2F73b656...89b5a66F2
0 ETH
212765602024-11-27 4:00:115 hrs ago1732680011
0x2F73b656...89b5a66F2
0 ETH
212762622024-11-27 3:00:116 hrs ago1732676411
0x2F73b656...89b5a66F2
0 ETH
212759622024-11-27 2:00:117 hrs ago1732672811
0x2F73b656...89b5a66F2
0 ETH
212756672024-11-27 1:00:118 hrs ago1732669211
0x2F73b656...89b5a66F2
0 ETH
212753722024-11-27 0:00:359 hrs ago1732665635
0x2F73b656...89b5a66F2
0 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
MedianWSTETHUSD

Compiler Version
v0.5.12+commit.7709ece9

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, GNU GPLv3 license
/**
 *Submitted for verification at Etherscan.io on 2021-09-20
*/

// Copyright (C) 2017-2020 Maker Ecosystem Growth Holdings, INC.

// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program.  If not, see <https://www.gnu.org/licenses/>.

pragma solidity >=0.5.10;

contract LibNote {
  event LogNote(
    bytes4   indexed sig,
    address  indexed usr,
    bytes32  indexed arg1,
    bytes32  indexed arg2,
    bytes data
  ) anonymous;

  modifier note {
    _;
    assembly {
    // log an 'anonymous' event with a constant 6 words of calldata
    // and four indexed topics: selector, caller, arg1 and arg2
      let mark := msize()                         // end of memory ensures zero
      mstore(0x40, add(mark, 288))                // update free memory pointer
      mstore(mark, 0x20)                          // bytes type data offset
      mstore(add(mark, 0x20), 224)                // bytes size (padded)
      calldatacopy(add(mark, 0x40), 0, 224)       // bytes payload
      log4(
      mark, 288, // calldata
      shl(224, shr(224, calldataload(0))), // msg.sig
      caller(), // msg.sender
      calldataload(4), // arg1
      calldataload(36)                        // arg2
      )
    }
  }
}

contract MedianWSTETHUSD is LibNote {
  mapping(address => uint) public wards;

  function rely(address usr) external note auth {wards[usr] = 1;}

  function deny(address usr) external note auth {wards[usr] = 0;}
  modifier auth {
    require(wards[msg.sender] == 1, "Median/not-authorized");
    _;
  }

  uint128        val;
  uint32  public age;
  bytes32 public constant wat = "WSTETHUSD";
  uint256 public bar = 1;

  // Authorized oracles, set by an auth
  mapping(address => uint256) public orcl;

  // Permitted contracts, set by an auth
  mapping(address => uint256) public bud;

  // Mapping for at most 256 oracles
  mapping(uint8 => address) public slot;

  modifier toll {
    require(bud[msg.sender] == 1, "Median/contract-not-whitelisted");
    _;
  }

  event LogMedianPrice(uint256 val, uint256 age);

  //Set type of Oracle
  constructor() public {
    wards[msg.sender] = 1;
  }

  function read() external view toll returns (uint256) {
    require(val > 0, "Median/invalid-price-feed");
    return val;
  }

  function peek() external view toll returns (uint256, bool) {
    return (val, val > 0);
  }

  function recover(uint256 val_, uint256 age_, uint8 v, bytes32 r, bytes32 s) internal pure returns (address) {
    return ecrecover(
      keccak256(abi.encodePacked("\x19Ethereum Signed Message:\n32", keccak256(abi.encodePacked(val_, age_, wat)))),
      v, r, s
    );
  }

  function poke(
    uint256[] calldata val_, uint256[] calldata age_,
    uint8[] calldata v, bytes32[] calldata r, bytes32[] calldata s) external
  {
    require(val_.length == bar, "Median/bar-too-low");

    uint256 bloom = 0;
    uint256 last = 0;
    uint256 zzz = age;

    for (uint i = 0; i < val_.length; i++) {
      // Validate the values were signed by an authorized oracle
      address signer = recover(val_[i], age_[i], v[i], r[i], s[i]);
      // Check that signer is an oracle
      require(orcl[signer] == 1, "Median/invalid-oracle");
      // Price feed age greater than last medianizer age
      require(age_[i] > zzz, "Median/stale-message");
      // Check for ordered values
      require(val_[i] >= last, "Median/messages-not-in-order");
      last = val_[i];
      // Bloom filter for signer uniqueness
      uint8 sl = uint8(uint256(signer) >> 152);
      require((bloom >> sl) % 2 == 0, "Median/oracle-already-signed");
      bloom += uint256(2) ** sl;
    }

    val = uint128(val_[val_.length >> 1]);
    age = uint32(block.timestamp);

    emit LogMedianPrice(val, age);
  }

  function lift(address[] calldata a) external note auth {
    for (uint i = 0; i < a.length; i++) {
      require(a[i] != address(0), "Median/no-oracle-0");
      uint8 s = uint8(uint256(a[i]) >> 152);
      require(slot[s] == address(0), "Median/signer-already-exists");
      orcl[a[i]] = 1;
      slot[s] = a[i];
    }
  }

  function drop(address[] calldata a) external note auth {
    for (uint i = 0; i < a.length; i++) {
      orcl[a[i]] = 0;
      slot[uint8(uint256(a[i]) >> 152)] = address(0);
    }
  }

  function setBar(uint256 bar_) external note auth {
    require(bar_ > 0, "Median/quorum-is-zero");
    require(bar_ % 2 != 0, "Median/quorum-not-odd-number");
    bar = bar_;
  }

  function kiss(address a) external note auth {
    require(a != address(0), "Median/no-contract-0");
    bud[a] = 1;
  }

  function kiss(address[] calldata a) external note auth {
    for (uint i = 0; i < a.length; i++) {
      require(a[i] != address(0), "Median/no-contract-0");
      bud[a[i]] = 1;
    }
  }

  function diss(address a) external note auth {
    bud[a] = 0;
  }

  function diss(address[] calldata a) external note auth {
    for (uint i = 0; i < a.length; i++) {
      bud[a[i]] = 0;
    }
  }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"val","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"age","type":"uint256"}],"name":"LogMedianPrice","type":"event"},{"anonymous":true,"inputs":[{"indexed":true,"internalType":"bytes4","name":"sig","type":"bytes4"},{"indexed":true,"internalType":"address","name":"usr","type":"address"},{"indexed":true,"internalType":"bytes32","name":"arg1","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"arg2","type":"bytes32"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"}],"name":"LogNote","type":"event"},{"constant":true,"inputs":[],"name":"age","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"bar","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bud","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"usr","type":"address"}],"name":"deny","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address[]","name":"a","type":"address[]"}],"name":"diss","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"diss","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address[]","name":"a","type":"address[]"}],"name":"drop","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address[]","name":"a","type":"address[]"}],"name":"kiss","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"kiss","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address[]","name":"a","type":"address[]"}],"name":"lift","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"orcl","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"peek","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256[]","name":"val_","type":"uint256[]"},{"internalType":"uint256[]","name":"age_","type":"uint256[]"},{"internalType":"uint8[]","name":"v","type":"uint8[]"},{"internalType":"bytes32[]","name":"r","type":"bytes32[]"},{"internalType":"bytes32[]","name":"s","type":"bytes32[]"}],"name":"poke","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"read","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"usr","type":"address"}],"name":"rely","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"bar_","type":"uint256"}],"name":"setBar","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"uint8","name":"","type":"uint8"}],"name":"slot","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"wards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"wat","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"}]

6080604052600160025534801561001557600080fd5b5060016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506122b5806100696000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c806365c4ce7a116100ad578063943181061161007157806394318106146106c45780639c52a7f11461073d578063bf353dbb14610781578063f29c29c4146107d9578063febb0f7e1461081d57610121565b806365c4ce7a1461038557806365fae35e146103c957806389bbb8b21461040d5780638d0e5a9a146105da5780638ef5eaf01461064b57610121565b806346d4577d116100f457806346d4577d1461024f5780634ca29923146102c85780634fce7a2a146102e657806357de26a41461033e57806359e02dd71461035c57610121565b8063020b2e32146101265780631b25b65f1461017e578063262a9dff146101f7578063352d3fba14610221575b600080fd5b6101686004803603602081101561013c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061083b565b6040518082815260200191505060405180910390f35b6101f56004803603602081101561019457600080fd5b81019080803590602001906401000000008111156101b157600080fd5b8201836020820111156101c357600080fd5b803590602001918460208302840111640100000000831117156101e557600080fd5b9091929391929390505050610853565b005b6101ff610a95565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b61024d6004803603602081101561023757600080fd5b8101908080359060200190929190505050610aab565b005b6102c66004803603602081101561026557600080fd5b810190808035906020019064010000000081111561028257600080fd5b82018360208201111561029457600080fd5b803590602001918460208302840111640100000000831117156102b657600080fd5b9091929391929390505050610c93565b005b6102d0610e0a565b6040518082815260200191505060405180910390f35b610328600480360360208110156102fc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e2e565b6040518082815260200191505060405180910390f35b610346610e46565b6040518082815260200191505060405180910390f35b610364610fd9565b60405180838152602001821515151581526020019250505060405180910390f35b6103c76004803603602081101561039b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611101565b005b61040b600480360360208110156103df57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611230565b005b6105d8600480360360a081101561042357600080fd5b810190808035906020019064010000000081111561044057600080fd5b82018360208201111561045257600080fd5b8035906020019184602083028401116401000000008311171561047457600080fd5b90919293919293908035906020019064010000000081111561049557600080fd5b8201836020820111156104a757600080fd5b803590602001918460208302840111640100000000831117156104c957600080fd5b9091929391929390803590602001906401000000008111156104ea57600080fd5b8201836020820111156104fc57600080fd5b8035906020019184602083028401116401000000008311171561051e57600080fd5b90919293919293908035906020019064010000000081111561053f57600080fd5b82018360208201111561055157600080fd5b8035906020019184602083028401116401000000008311171561057357600080fd5b90919293919293908035906020019064010000000081111561059457600080fd5b8201836020820111156105a657600080fd5b803590602001918460208302840111640100000000831117156105c857600080fd5b909192939192939050505061135e565b005b610609600480360360208110156105f057600080fd5b81019080803560ff169060200190929190505050611820565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106c26004803603602081101561066157600080fd5b810190808035906020019064010000000081111561067e57600080fd5b82018360208201111561069057600080fd5b803590602001918460208302840111640100000000831117156106b257600080fd5b9091929391929390505050611853565b005b61073b600480360360208110156106da57600080fd5b81019080803590602001906401000000008111156106f757600080fd5b82018360208201111561070957600080fd5b8035906020019184602083028401116401000000008311171561072b57600080fd5b9091929391929390505050611a65565b005b61077f6004803603602081101561075357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e4a565b005b6107c36004803603602081101561079757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f78565b6040518082815260200191505060405180910390f35b61081b600480360360208110156107ef57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f90565b005b610825612162565b6040518082815260200191505060405180910390f35b60036020528060005260406000206000915090505481565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610907576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f4d656469616e2f6e6f742d617574686f72697a6564000000000000000000000081525060200191505060405180910390fd5b60008090505b82829050811015610a5d57600073ffffffffffffffffffffffffffffffffffffffff1683838381811061093c57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156109e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f4d656469616e2f6e6f2d636f6e74726163742d3000000000000000000000000081525060200191505060405180910390fd5b6001600460008585858181106109f557fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550808060010191505061090d565b505961012081016040526020815260e0602082015260e0600060408301376024356004353360003560e01c60e01b61012085a4505050565b600160109054906101000a900463ffffffff1681565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610b5f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f4d656469616e2f6e6f742d617574686f72697a6564000000000000000000000081525060200191505060405180910390fd5b60008111610bd5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f4d656469616e2f71756f72756d2d69732d7a65726f000000000000000000000081525060200191505060405180910390fd5b600060028281610be157fe5b061415610c56576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4d656469616e2f71756f72756d2d6e6f742d6f64642d6e756d6265720000000081525060200191505060405180910390fd5b806002819055505961012081016040526020815260e0602082015260e0600060408301376024356004353360003560e01c60e01b61012085a45050565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610d47576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f4d656469616e2f6e6f742d617574686f72697a6564000000000000000000000081525060200191505060405180910390fd5b60008090505b82829050811015610dd257600060046000858585818110610d6a57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508080600101915050610d4d565b505961012081016040526020815260e0602082015260e0600060408301376024356004353360003560e01c60e01b61012085a4505050565b7f575354455448555344000000000000000000000000000000000000000000000081565b60046020528060005260406000206000915090505481565b60006001600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610efd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f4d656469616e2f636f6e74726163742d6e6f742d77686974656c69737465640081525060200191505060405180910390fd5b6000600160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1611610fa3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f4d656469616e2f696e76616c69642d70726963652d666565640000000000000081525060200191505060405180910390fd5b600160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16905090565b6000806001600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611091576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f4d656469616e2f636f6e74726163742d6e6f742d77686974656c69737465640081525060200191505060405180910390fd5b600160009054906101000a90046fffffffffffffffffffffffffffffffff166000600160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1611816fffffffffffffffffffffffffffffffff169150915091509091565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146111b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f4d656469616e2f6e6f742d617574686f72697a6564000000000000000000000081525060200191505060405180910390fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505961012081016040526020815260e0602082015260e0600060408301376024356004353360003560e01c60e01b61012085a45050565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146112e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f4d656469616e2f6e6f742d617574686f72697a6564000000000000000000000081525060200191505060405180910390fd5b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505961012081016040526020815260e0602082015260e0600060408301376024356004353360003560e01c60e01b61012085a45050565b6002548a8a9050146113d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4d656469616e2f6261722d746f6f2d6c6f77000000000000000000000000000081525060200191505060405180910390fd5b600080905060008090506000600160109054906101000a900463ffffffff1663ffffffff16905060008090505b8d8d905081101561171657600061147c8f8f8481811061142157fe5b905060200201358e8e8581811061143457fe5b905060200201358d8d8681811061144757fe5b9050602002013560ff168c8c8781811061145d57fe5b905060200201358b8b8881811061147057fe5b90506020020135612168565b90506001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611533576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f4d656469616e2f696e76616c69642d6f7261636c65000000000000000000000081525060200191505060405180910390fd5b828d8d8481811061154057fe5b90506020020135116115ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f4d656469616e2f7374616c652d6d65737361676500000000000000000000000081525060200191505060405180910390fd5b838f8f848181106115c757fe5b905060200201351015611642576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4d656469616e2f6d657373616765732d6e6f742d696e2d6f726465720000000081525060200191505060405180910390fd5b8e8e8381811061164e57fe5b905060200201359350600060988273ffffffffffffffffffffffffffffffffffffffff16901c9050600060028260ff1688901c8161168857fe5b06146116fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4d656469616e2f6f7261636c652d616c72656164792d7369676e65640000000081525060200191505060405180910390fd5b8060ff1660020a8601955050508080600101915050611405565b508c8c60018f8f9050901c81811061172a57fe5b90506020020135600160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555042600160106101000a81548163ffffffff021916908363ffffffff1602179055507fb78ebc573f1f889ca9e1e0fb62c843c836f3d3a2e1f43ef62940e9b894f4ea4c600160009054906101000a90046fffffffffffffffffffffffffffffffff16600160109054906101000a900463ffffffff1660405180836fffffffffffffffffffffffffffffffff1681526020018263ffffffff1681526020019250505060405180910390a150505050505050505050505050565b60056020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611907576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f4d656469616e2f6e6f742d617574686f72697a6564000000000000000000000081525060200191505060405180910390fd5b60008090505b82829050811015611a2d5760006003600085858581811061192a57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600060056000609886868681811061199957fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16901c60ff1660ff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808060010191505061190d565b505961012081016040526020815260e0602082015260e0600060408301376024356004353360003560e01c60e01b61012085a4505050565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611b19576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f4d656469616e2f6e6f742d617574686f72697a6564000000000000000000000081525060200191505060405180910390fd5b60008090505b82829050811015611e1257600073ffffffffffffffffffffffffffffffffffffffff16838383818110611b4e57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611bf5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4d656469616e2f6e6f2d6f7261636c652d30000000000000000000000000000081525060200191505060405180910390fd5b60006098848484818110611c0557fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16901c9050600073ffffffffffffffffffffffffffffffffffffffff16600560008360ff1660ff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611d17576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4d656469616e2f7369676e65722d616c72656164792d6578697374730000000081525060200191505060405180910390fd5b600160036000868686818110611d2957fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550838383818110611d9057fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff16600560008360ff1660ff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550508080600101915050611b1f565b505961012081016040526020815260e0602082015260e0600060408301376024356004353360003560e01c60e01b61012085a4505050565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611efe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f4d656469616e2f6e6f742d617574686f72697a6564000000000000000000000081525060200191505060405180910390fd5b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505961012081016040526020815260e0602082015260e0600060408301376024356004353360003560e01c60e01b61012085a45050565b60006020528060005260406000206000915090505481565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414612044576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f4d656469616e2f6e6f742d617574686f72697a6564000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156120e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f4d656469616e2f6e6f2d636f6e74726163742d3000000000000000000000000081525060200191505060405180910390fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505961012081016040526020815260e0602082015260e0600060408301376024356004353360003560e01c60e01b61012085a45050565b60025481565b6000600186867f57535445544855534400000000000000000000000000000000000000000000006040516020018084815260200183815260200182815260200193505050506040516020818303038152906040528051906020012060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c018281526020019150506040516020818303038152906040528051906020012085858560405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa15801561226b573d6000803e3d6000fd5b5050506020604051035190509594505050505056fea265627a7a723158203508048e6edab0e32554aa515ee8f7dfb0e98553e409782b64891970382aa9ec64736f6c634300050c0032

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101215760003560e01c806365c4ce7a116100ad578063943181061161007157806394318106146106c45780639c52a7f11461073d578063bf353dbb14610781578063f29c29c4146107d9578063febb0f7e1461081d57610121565b806365c4ce7a1461038557806365fae35e146103c957806389bbb8b21461040d5780638d0e5a9a146105da5780638ef5eaf01461064b57610121565b806346d4577d116100f457806346d4577d1461024f5780634ca29923146102c85780634fce7a2a146102e657806357de26a41461033e57806359e02dd71461035c57610121565b8063020b2e32146101265780631b25b65f1461017e578063262a9dff146101f7578063352d3fba14610221575b600080fd5b6101686004803603602081101561013c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061083b565b6040518082815260200191505060405180910390f35b6101f56004803603602081101561019457600080fd5b81019080803590602001906401000000008111156101b157600080fd5b8201836020820111156101c357600080fd5b803590602001918460208302840111640100000000831117156101e557600080fd5b9091929391929390505050610853565b005b6101ff610a95565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b61024d6004803603602081101561023757600080fd5b8101908080359060200190929190505050610aab565b005b6102c66004803603602081101561026557600080fd5b810190808035906020019064010000000081111561028257600080fd5b82018360208201111561029457600080fd5b803590602001918460208302840111640100000000831117156102b657600080fd5b9091929391929390505050610c93565b005b6102d0610e0a565b6040518082815260200191505060405180910390f35b610328600480360360208110156102fc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e2e565b6040518082815260200191505060405180910390f35b610346610e46565b6040518082815260200191505060405180910390f35b610364610fd9565b60405180838152602001821515151581526020019250505060405180910390f35b6103c76004803603602081101561039b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611101565b005b61040b600480360360208110156103df57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611230565b005b6105d8600480360360a081101561042357600080fd5b810190808035906020019064010000000081111561044057600080fd5b82018360208201111561045257600080fd5b8035906020019184602083028401116401000000008311171561047457600080fd5b90919293919293908035906020019064010000000081111561049557600080fd5b8201836020820111156104a757600080fd5b803590602001918460208302840111640100000000831117156104c957600080fd5b9091929391929390803590602001906401000000008111156104ea57600080fd5b8201836020820111156104fc57600080fd5b8035906020019184602083028401116401000000008311171561051e57600080fd5b90919293919293908035906020019064010000000081111561053f57600080fd5b82018360208201111561055157600080fd5b8035906020019184602083028401116401000000008311171561057357600080fd5b90919293919293908035906020019064010000000081111561059457600080fd5b8201836020820111156105a657600080fd5b803590602001918460208302840111640100000000831117156105c857600080fd5b909192939192939050505061135e565b005b610609600480360360208110156105f057600080fd5b81019080803560ff169060200190929190505050611820565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106c26004803603602081101561066157600080fd5b810190808035906020019064010000000081111561067e57600080fd5b82018360208201111561069057600080fd5b803590602001918460208302840111640100000000831117156106b257600080fd5b9091929391929390505050611853565b005b61073b600480360360208110156106da57600080fd5b81019080803590602001906401000000008111156106f757600080fd5b82018360208201111561070957600080fd5b8035906020019184602083028401116401000000008311171561072b57600080fd5b9091929391929390505050611a65565b005b61077f6004803603602081101561075357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e4a565b005b6107c36004803603602081101561079757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f78565b6040518082815260200191505060405180910390f35b61081b600480360360208110156107ef57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f90565b005b610825612162565b6040518082815260200191505060405180910390f35b60036020528060005260406000206000915090505481565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610907576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f4d656469616e2f6e6f742d617574686f72697a6564000000000000000000000081525060200191505060405180910390fd5b60008090505b82829050811015610a5d57600073ffffffffffffffffffffffffffffffffffffffff1683838381811061093c57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156109e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f4d656469616e2f6e6f2d636f6e74726163742d3000000000000000000000000081525060200191505060405180910390fd5b6001600460008585858181106109f557fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550808060010191505061090d565b505961012081016040526020815260e0602082015260e0600060408301376024356004353360003560e01c60e01b61012085a4505050565b600160109054906101000a900463ffffffff1681565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610b5f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f4d656469616e2f6e6f742d617574686f72697a6564000000000000000000000081525060200191505060405180910390fd5b60008111610bd5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f4d656469616e2f71756f72756d2d69732d7a65726f000000000000000000000081525060200191505060405180910390fd5b600060028281610be157fe5b061415610c56576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4d656469616e2f71756f72756d2d6e6f742d6f64642d6e756d6265720000000081525060200191505060405180910390fd5b806002819055505961012081016040526020815260e0602082015260e0600060408301376024356004353360003560e01c60e01b61012085a45050565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610d47576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f4d656469616e2f6e6f742d617574686f72697a6564000000000000000000000081525060200191505060405180910390fd5b60008090505b82829050811015610dd257600060046000858585818110610d6a57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508080600101915050610d4d565b505961012081016040526020815260e0602082015260e0600060408301376024356004353360003560e01c60e01b61012085a4505050565b7f575354455448555344000000000000000000000000000000000000000000000081565b60046020528060005260406000206000915090505481565b60006001600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610efd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f4d656469616e2f636f6e74726163742d6e6f742d77686974656c69737465640081525060200191505060405180910390fd5b6000600160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1611610fa3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f4d656469616e2f696e76616c69642d70726963652d666565640000000000000081525060200191505060405180910390fd5b600160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16905090565b6000806001600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611091576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f4d656469616e2f636f6e74726163742d6e6f742d77686974656c69737465640081525060200191505060405180910390fd5b600160009054906101000a90046fffffffffffffffffffffffffffffffff166000600160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1611816fffffffffffffffffffffffffffffffff169150915091509091565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146111b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f4d656469616e2f6e6f742d617574686f72697a6564000000000000000000000081525060200191505060405180910390fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505961012081016040526020815260e0602082015260e0600060408301376024356004353360003560e01c60e01b61012085a45050565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146112e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f4d656469616e2f6e6f742d617574686f72697a6564000000000000000000000081525060200191505060405180910390fd5b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505961012081016040526020815260e0602082015260e0600060408301376024356004353360003560e01c60e01b61012085a45050565b6002548a8a9050146113d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4d656469616e2f6261722d746f6f2d6c6f77000000000000000000000000000081525060200191505060405180910390fd5b600080905060008090506000600160109054906101000a900463ffffffff1663ffffffff16905060008090505b8d8d905081101561171657600061147c8f8f8481811061142157fe5b905060200201358e8e8581811061143457fe5b905060200201358d8d8681811061144757fe5b9050602002013560ff168c8c8781811061145d57fe5b905060200201358b8b8881811061147057fe5b90506020020135612168565b90506001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611533576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f4d656469616e2f696e76616c69642d6f7261636c65000000000000000000000081525060200191505060405180910390fd5b828d8d8481811061154057fe5b90506020020135116115ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f4d656469616e2f7374616c652d6d65737361676500000000000000000000000081525060200191505060405180910390fd5b838f8f848181106115c757fe5b905060200201351015611642576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4d656469616e2f6d657373616765732d6e6f742d696e2d6f726465720000000081525060200191505060405180910390fd5b8e8e8381811061164e57fe5b905060200201359350600060988273ffffffffffffffffffffffffffffffffffffffff16901c9050600060028260ff1688901c8161168857fe5b06146116fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4d656469616e2f6f7261636c652d616c72656164792d7369676e65640000000081525060200191505060405180910390fd5b8060ff1660020a8601955050508080600101915050611405565b508c8c60018f8f9050901c81811061172a57fe5b90506020020135600160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555042600160106101000a81548163ffffffff021916908363ffffffff1602179055507fb78ebc573f1f889ca9e1e0fb62c843c836f3d3a2e1f43ef62940e9b894f4ea4c600160009054906101000a90046fffffffffffffffffffffffffffffffff16600160109054906101000a900463ffffffff1660405180836fffffffffffffffffffffffffffffffff1681526020018263ffffffff1681526020019250505060405180910390a150505050505050505050505050565b60056020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611907576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f4d656469616e2f6e6f742d617574686f72697a6564000000000000000000000081525060200191505060405180910390fd5b60008090505b82829050811015611a2d5760006003600085858581811061192a57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600060056000609886868681811061199957fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16901c60ff1660ff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808060010191505061190d565b505961012081016040526020815260e0602082015260e0600060408301376024356004353360003560e01c60e01b61012085a4505050565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611b19576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f4d656469616e2f6e6f742d617574686f72697a6564000000000000000000000081525060200191505060405180910390fd5b60008090505b82829050811015611e1257600073ffffffffffffffffffffffffffffffffffffffff16838383818110611b4e57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611bf5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4d656469616e2f6e6f2d6f7261636c652d30000000000000000000000000000081525060200191505060405180910390fd5b60006098848484818110611c0557fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16901c9050600073ffffffffffffffffffffffffffffffffffffffff16600560008360ff1660ff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611d17576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4d656469616e2f7369676e65722d616c72656164792d6578697374730000000081525060200191505060405180910390fd5b600160036000868686818110611d2957fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550838383818110611d9057fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff16600560008360ff1660ff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550508080600101915050611b1f565b505961012081016040526020815260e0602082015260e0600060408301376024356004353360003560e01c60e01b61012085a4505050565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611efe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f4d656469616e2f6e6f742d617574686f72697a6564000000000000000000000081525060200191505060405180910390fd5b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505961012081016040526020815260e0602082015260e0600060408301376024356004353360003560e01c60e01b61012085a45050565b60006020528060005260406000206000915090505481565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414612044576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f4d656469616e2f6e6f742d617574686f72697a6564000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156120e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f4d656469616e2f6e6f2d636f6e74726163742d3000000000000000000000000081525060200191505060405180910390fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505961012081016040526020815260e0602082015260e0600060408301376024356004353360003560e01c60e01b61012085a45050565b60025481565b6000600186867f57535445544855534400000000000000000000000000000000000000000000006040516020018084815260200183815260200182815260200193505050506040516020818303038152906040528051906020012060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c018281526020019150506040516020818303038152906040528051906020012085858560405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa15801561226b573d6000803e3d6000fd5b5050506020604051035190509594505050505056fea265627a7a723158203508048e6edab0e32554aa515ee8f7dfb0e98553e409782b64891970382aa9ec64736f6c634300050c0032

Deployed Bytecode Sourcemap

1761:3851:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1761:3851:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2241:39;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2241:39:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5204:193;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5204:193:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;5204:193:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;5204:193:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;5204:193:0;;;;;;;;;;;;:::i;:::-;;2102:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4888:182;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4888:182:0;;;;;;;;;;;;;;;;;:::i;:::-;;5476:133;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5476:133:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;5476:133:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;5476:133:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;5476:133:0;;;;;;;;;;;;:::i;:::-;;2125:41;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2329:38;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2329:38:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2699:128;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2833:93;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5403:67;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5403:67:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;1846:63;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1846:63:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;3216:1133;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;3216:1133:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;3216:1133:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;3216:1133:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;3216:1133:0;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;3216:1133:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;3216:1133:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;3216:1133:0;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;3216:1133:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;3216:1133:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;3216:1133:0;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;3216:1133:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;3216:1133:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;3216:1133:0;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;3216:1133:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;3216:1133:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;3216:1133:0;;;;;;;;;;;;:::i;:::-;;2412:37;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2412:37:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4693:189;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4693:189:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;4693:189:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;4693:189:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;4693:189:0;;;;;;;;;;;;:::i;:::-;;4355:332;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4355:332:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;4355:332:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;4355:332:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;4355:332:0;;;;;;;;;;;;:::i;:::-;;1915:63;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1915:63:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;1802:37;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1802:37:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5076:122;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5076:122:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;2171:22;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2241:39;;;;;;;;;;;;;;;;;:::o;5204:193::-;2032:1;2011:5;:17;2017:10;2011:17;;;;;;;;;;;;;;;;:22;2003:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5271:6;5280:1;5271:10;;5266:126;5287:1;;:8;;5283:1;:12;5266:126;;;5335:1;5319:18;;:1;;5321;5319:4;;;;;;;;;;;;;;;:18;;;;5311:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5383:1;5371:3;:9;5375:1;;5377;5375:4;;;;;;;;;;;;;;;5371:9;;;;;;;;;;;;;;;:13;;;;5297:3;;;;;;;5266:126;;;;1156:7;1248:3;1242:4;1238:14;1232:4;1225:28;1319:4;1313;1306:18;1407:3;1400:4;1394;1390:15;1383:28;1490:3;1487:1;1480:4;1474;1470:15;1457:37;1699:2;1686:16;1667:1;1654:15;1623:8;1599:1;1586:15;1581:3;1577:25;1572:3;1568:35;1544:3;1538:4;1525:217;1001:748;;;:::o;2102:18::-;;;;;;;;;;;;;:::o;4888:182::-;2032:1;2011:5;:17;2017:10;2011:17;;;;;;;;;;;;;;;;:22;2003:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4959:1;4952:4;:8;4944:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5013:1;5008;5001:4;:8;;;;;;:13;;4993:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5060:4;5054:3;:10;;;;1156:7;1248:3;1242:4;1238:14;1232:4;1225:28;1319:4;1313;1306:18;1407:3;1400:4;1394;1390:15;1383:28;1490:3;1487:1;1480:4;1474;1470:15;1457:37;1699:2;1686:16;1667:1;1654:15;1623:8;1599:1;1586:15;1581:3;1577:25;1572:3;1568:35;1544:3;1538:4;1525:217;1001:748;;:::o;5476:133::-;2032:1;2011:5;:17;2017:10;2011:17;;;;;;;;;;;;;;;;:22;2003:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5543:6;5552:1;5543:10;;5538:66;5559:1;;:8;;5555:1;:12;5538:66;;;5595:1;5583:3;:9;5587:1;;5589;5587:4;;;;;;;;;;;;;;;5583:9;;;;;;;;;;;;;;;:13;;;;5569:3;;;;;;;5538:66;;;;1156:7;1248:3;1242:4;1238:14;1232:4;1225:28;1319:4;1313;1306:18;1407:3;1400:4;1394;1390:15;1383:28;1490:3;1487:1;1480:4;1474;1470:15;1457:37;1699:2;1686:16;1667:1;1654:15;1623:8;1599:1;1586:15;1581:3;1577:25;1572:3;1568:35;1544:3;1538:4;1525:217;1001:748;;;:::o;2125:41::-;;;:::o;2329:38::-;;;;;;;;;;;;;;;;;:::o;2699:128::-;2743:7;2504:1;2485:3;:15;2489:10;2485:15;;;;;;;;;;;;;;;;:20;2477:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2773:1;2767:3;;;;;;;;;;;:7;;;2759:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2818:3;;;;;;;;;;;2811:10;;;;2699:128;:::o;2833:93::-;2877:7;2886:4;2504:1;2485:3;:15;2489:10;2485:15;;;;;;;;;;;;;;;;:20;2477:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2907:3;;;;;;;;;;;2918:1;2912:3;;;;;;;;;;;:7;;;2899:21;;;;;;;;;2833:93;;:::o;5403:67::-;2032:1;2011:5;:17;2017:10;2011:17;;;;;;;;;;;;;;;;:22;2003:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5463:1;5454:3;:6;5458:1;5454:6;;;;;;;;;;;;;;;:10;;;;1156:7;1248:3;1242:4;1238:14;1232:4;1225:28;1319:4;1313;1306:18;1407:3;1400:4;1394;1390:15;1383:28;1490:3;1487:1;1480:4;1474;1470:15;1457:37;1699:2;1686:16;1667:1;1654:15;1623:8;1599:1;1586:15;1581:3;1577:25;1572:3;1568:35;1544:3;1538:4;1525:217;1001:748;;:::o;1846:63::-;2032:1;2011:5;:17;2017:10;2011:17;;;;;;;;;;;;;;;;:22;2003:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1906:1;1893:5;:10;1899:3;1893:10;;;;;;;;;;;;;;;:14;;;;1156:7;1248:3;1242:4;1238:14;1232:4;1225:28;1319:4;1313;1306:18;1407:3;1400:4;1394;1390:15;1383:28;1490:3;1487:1;1480:4;1474;1470:15;1457:37;1699:2;1686:16;1667:1;1654:15;1623:8;1599:1;1586:15;1581:3;1577:25;1572:3;1568:35;1544:3;1538:4;1525:217;1001:748;;:::o;3216:1133::-;3397:3;;3382:4;;:11;;:18;3374:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3432:13;3448:1;3432:17;;3456:12;3471:1;3456:16;;3479:11;3493:3;;;;;;;;;;;3479:17;;;;3510:6;3519:1;3510:10;;3505:719;3526:4;;:11;;3522:1;:15;3505:719;;;3619:14;3636:43;3644:4;;3649:1;3644:7;;;;;;;;;;;;;3653:4;;3658:1;3653:7;;;;;;;;;;;;;3662:1;;3664;3662:4;;;;;;;;;;;;;;;3668:1;;3670;3668:4;;;;;;;;;;;;;3674:1;;3676;3674:4;;;;;;;;;;;;;3636:7;:43::i;:::-;3619:60;;3753:1;3737:4;:12;3742:6;3737:12;;;;;;;;;;;;;;;;:17;3729:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3865:3;3855:4;;3860:1;3855:7;;;;;;;;;;;;;:13;3847:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3956:4;3945;;3950:1;3945:7;;;;;;;;;;;;;:15;;3937:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4009:4;;4014:1;4009:7;;;;;;;;;;;;;4002:14;;4070:8;4106:3;4095:6;4087:15;;:22;;4070:40;;4148:1;4143;4137:2;4128:11;;:5;:11;;4127:17;;;;;;:22;4119:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4214:2;4200:16;;4208:1;4200:16;4191:25;;;;3505:719;;3539:3;;;;;;;3505:719;;;;4246:4;;4266:1;4251:4;;:11;;:16;;4246:22;;;;;;;;;;;;;4232:3;;:37;;;;;;;;;;;;;;;;;;4289:15;4276:3;;:29;;;;;;;;;;;;;;;;;;4319:24;4334:3;;;;;;;;;;;4339;;;;;;;;;;;4319:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;3216:1133;;;;;;;;;;;;;:::o;2412:37::-;;;;;;;;;;;;;;;;;;;;;;:::o;4693:189::-;2032:1;2011:5;:17;2017:10;2011:17;;;;;;;;;;;;;;;;:22;2003:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4760:6;4769:1;4760:10;;4755:122;4776:1;;:8;;4772:1;:12;4755:122;;;4813:1;4800:4;:10;4805:1;;4807;4805:4;;;;;;;;;;;;;;;4800:10;;;;;;;;;;;;;;;:14;;;;4867:1;4823:4;:33;4851:3;4842:1;;4844;4842:4;;;;;;;;;;;;;;;4834:13;;:20;;4823:33;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;4786:3;;;;;;;4755:122;;;;1156:7;1248:3;1242:4;1238:14;1232:4;1225:28;1319:4;1313;1306:18;1407:3;1400:4;1394;1390:15;1383:28;1490:3;1487:1;1480:4;1474;1470:15;1457:37;1699:2;1686:16;1667:1;1654:15;1623:8;1599:1;1586:15;1581:3;1577:25;1572:3;1568:35;1544:3;1538:4;1525:217;1001:748;;;:::o;4355:332::-;2032:1;2011:5;:17;2017:10;2011:17;;;;;;;;;;;;;;;;:22;2003:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4422:6;4431:1;4422:10;;4417:265;4438:1;;:8;;4434:1;:12;4417:265;;;4486:1;4470:18;;:1;;4472;4470:4;;;;;;;;;;;;;;;:18;;;;4462:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4520:7;4553:3;4544:1;;4546;4544:4;;;;;;;;;;;;;;;4536:13;;:20;;4520:37;;4593:1;4574:21;;:4;:7;4579:1;4574:7;;;;;;;;;;;;;;;;;;;;;;;;;:21;;;4566:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4650:1;4637:4;:10;4642:1;;4644;4642:4;;;;;;;;;;;;;;;4637:10;;;;;;;;;;;;;;;:14;;;;4670:1;;4672;4670:4;;;;;;;;;;;;;;;4660;:7;4665:1;4660:7;;;;;;;;;;;;;;;;:14;;;;;;;;;;;;;;;;;;4417:265;4448:3;;;;;;;4417:265;;;;1156:7;1248:3;1242:4;1238:14;1232:4;1225:28;1319:4;1313;1306:18;1407:3;1400:4;1394;1390:15;1383:28;1490:3;1487:1;1480:4;1474;1470:15;1457:37;1699:2;1686:16;1667:1;1654:15;1623:8;1599:1;1586:15;1581:3;1577:25;1572:3;1568:35;1544:3;1538:4;1525:217;1001:748;;;:::o;1915:63::-;2032:1;2011:5;:17;2017:10;2011:17;;;;;;;;;;;;;;;;:22;2003:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1975:1;1962:5;:10;1968:3;1962:10;;;;;;;;;;;;;;;:14;;;;1156:7;1248:3;1242:4;1238:14;1232:4;1225:28;1319:4;1313;1306:18;1407:3;1400:4;1394;1390:15;1383:28;1490:3;1487:1;1480:4;1474;1470:15;1457:37;1699:2;1686:16;1667:1;1654:15;1623:8;1599:1;1586:15;1581:3;1577:25;1572:3;1568:35;1544:3;1538:4;1525:217;1001:748;;:::o;1802:37::-;;;;;;;;;;;;;;;;;:::o;5076:122::-;2032:1;2011:5;:17;2017:10;2011:17;;;;;;;;;;;;;;;;:22;2003:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5148:1;5135:15;;:1;:15;;;;5127:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5191:1;5182:3;:6;5186:1;5182:6;;;;;;;;;;;;;;;:10;;;;1156:7;1248:3;1242:4;1238:14;1232:4;1225:28;1319:4;1313;1306:18;1407:3;1400:4;1394;1390:15;1383:28;1490:3;1487:1;1480:4;1474;1470:15;1457:37;1699:2;1686:16;1667:1;1654:15;1623:8;1599:1;1586:15;1581:3;1577:25;1572:3;1568:35;1544:3;1538:4;1525:217;1001:748;;:::o;2171:22::-;;;;:::o;2932:278::-;3031:7;3054:150;3162:4;3168;3174:3;3145:33;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;3145:33:0;;;3135:44;;;;;;3082:98;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;3082:98:0;;;3072:109;;;;;;3190:1;3193;3196;3054:150;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3054:150:0;;;;;;;;3047:157;;2932:278;;;;;;;:::o

Swarm Source

bzzr://3508048e6edab0e32554aa515ee8f7dfb0e98553e409782b64891970382aa9ec

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  ]

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.