ETH Price: $1,971.76 (+0.16%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer Ownersh...240433892025-12-19 1:32:5965 days ago1766107979IN
0xA8bC9744...ab5652c76
0 ETH0.000062712.02585217
Add Operator239440412025-12-05 3:17:3579 days ago1764904655IN
0xA8bC9744...ab5652c76
0 ETH0.000096732.02211281
Convert From Bob...151724022022-07-19 9:59:421313 days ago1658224782IN
0xA8bC9744...ab5652c76
0 ETH0.0019231310.15191541
Convert From Bob...151723342022-07-19 9:45:041313 days ago1658223904IN
0xA8bC9744...ab5652c76
0 ETH0.0018972610.01532128
Convert From Bob...151722382022-07-19 9:25:291313 days ago1658222729IN
0xA8bC9744...ab5652c76
0 ETH0.0039713120.96387225
Convert From Bob...151721982022-07-19 9:17:271313 days ago1658222247IN
0xA8bC9744...ab5652c76
0 ETH0.0022600911.93067836
Convert From Bob...151597662022-07-17 10:58:161315 days ago1658055496IN
0xA8bC9744...ab5652c76
0 ETH0.0019842710.47464816
Convert From Bob...151537372022-07-16 12:26:161316 days ago1657974376IN
0xA8bC9744...ab5652c76
0 ETH0.0021495311.34704882
Convert From Bob...151534822022-07-16 11:30:501316 days ago1657971050IN
0xA8bC9744...ab5652c76
0 ETH0.001366567.21383487
Convert From Bob...151533902022-07-16 11:12:241316 days ago1657969944IN
0xA8bC9744...ab5652c76
0 ETH0.0022065911.64824983
Convert From Bob...150822772022-07-05 11:41:521327 days ago1657021312IN
0xA8bC9744...ab5652c76
0 ETH0.0035520218.75054342
Convert From Bob...149760472022-06-16 23:40:281346 days ago1655422828IN
0xA8bC9744...ab5652c76
0 ETH0.0105594754.36415659
Convert From Bob...148045582022-05-19 10:57:051374 days ago1652957825IN
0xA8bC9744...ab5652c76
0 ETH0.005394128.47457466
Convert From Bob...148038712022-05-19 8:10:131375 days ago1652947813IN
0xA8bC9744...ab5652c76
0 ETH0.0036425323.08526992
Convert From Bob...148038492022-05-19 8:05:281375 days ago1652947528IN
0xA8bC9744...ab5652c76
0 ETH0.0034202121.67627716
Convert From Bob...148038462022-05-19 8:04:411375 days ago1652947481IN
0xA8bC9744...ab5652c76
0 ETH0.0026016816.4887104
Convert From Bob...148038432022-05-19 8:04:171375 days ago1652947457IN
0xA8bC9744...ab5652c76
0 ETH0.0032202420.40894317
Convert From Bob...148033852022-05-19 6:07:391375 days ago1652940459IN
0xA8bC9744...ab5652c76
0 ETH0.0041955222.1474774
Convert From Bob...146079162022-04-18 7:42:191406 days ago1650267739IN
0xA8bC9744...ab5652c76
0 ETH0.0030873816.29777581
Convert From Bob...145624322022-04-11 5:11:191413 days ago1649653879IN
0xA8bC9744...ab5652c76
0 ETH0.0041146521.72053471
Convert From Bob...145568072022-04-10 8:13:261414 days ago1649578406IN
0xA8bC9744...ab5652c76
0 ETH0.0048289525.49120472
Convert From Bob...143062132022-03-02 7:23:501453 days ago1646205830IN
0xA8bC9744...ab5652c76
0 ETH0.0058725131
Convert From Bob...127548502021-07-03 13:23:341694 days ago1625318614IN
0xA8bC9744...ab5652c76
0 ETH0.000794185
Convert From Bob...126496692021-06-17 4:05:481711 days ago1623902748IN
0xA8bC9744...ab5652c76
0 ETH0.0017309212.39601326
Convert From Bob...125937162021-06-08 11:54:381719 days ago1623153278IN
0xA8bC9744...ab5652c76
0 ETH0.0020169113.04300689
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

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

Contract Source Code Verified (Exact Match)

Contract Name:
ERC721ConverterWithCSPLCard

Compiler Version
v0.5.16+commit.9c3226ce

Optimization Enabled:
No with 200 runs

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

// Copyright (c) 2018-2020 double jump.tokyo inc.
pragma solidity 0.5.16;

interface IERC721Converter /* is IERC721TokenReceiver */{
    function draftAliceToken(uint256 _aliceTokenId, uint256 _bobTokenId) external;
    function draftBobToken(uint256 _BobTokenId, uint256 _aliceTokenId) external;
    function getAliceTokenID(uint256 _bobTokenId) external view returns(uint256);
    function getBobTokenID(uint256 _aliceTokenId) external view returns(uint256);
    function convertFromAliceToBob(uint256 _tokenId) external;
    function convertFromBobToAlice(uint256 _tokenId) external;
}

library Roles {
    struct Role {
        mapping (address => bool) bearer;
    }

    function add(Role storage role, address account) internal {
        require(!has(role, account), "role already has the account");
        role.bearer[account] = true;
    }

    function remove(Role storage role, address account) internal {
        require(has(role, account), "role dosen't have the account");
        role.bearer[account] = false;
    }

    function has(Role storage role, address account) internal view returns (bool) {
        return role.bearer[account];
    }
}

interface IERC721TokenReceiver {
    /// @notice Handle the receipt of an NFT
    /// @dev The ERC721 smart contract calls this function on the recipient
    ///  after a `transfer`. This function MAY throw to revert and reject the
    ///  transfer. Return of other than the magic value MUST result in the
    ///  transaction being reverted.
    ///  Note: the contract address is always the message sender.
    /// @param _operator The address which called `safeTransferFrom` function
    /// @param _from The address which previously owned the token
    /// @param _tokenId The NFT identifier which is being transferred
    /// @param _data Additional data with no specified format
    /// @return `bytes4(keccak256("onERC721Received(address,address,uint256,bytes)"))`
    ///  unless throwing
    function onERC721Received(
        address _operator,
        address _from,
        uint256 _tokenId,
        bytes calldata _data
    )
        external
        returns(bytes4);
}

interface IERC165 {
    function supportsInterface(bytes4 interfaceID) external view returns (bool);
}

/// @title ERC-165 Standard Interface Detection
/// @dev See https://eips.ethereum.org/EIPS/eip-165
contract ERC165 is IERC165 {
    bytes4 private constant _INTERFACE_ID_ERC165 = 0x01ffc9a7;
    mapping(bytes4 => bool) private _supportedInterfaces;

    constructor () internal {
        _registerInterface(_INTERFACE_ID_ERC165);
    }

    function supportsInterface(bytes4 interfaceId) external view returns (bool) {
        return _supportedInterfaces[interfaceId];
    }

    function _registerInterface(bytes4 interfaceId) internal {
        require(interfaceId != 0xffffffff, "ERC165: invalid interface id");
        _supportedInterfaces[interfaceId] = true;
    }
}

interface IERC173 /* is ERC165 */ {
    /// @dev This emits when ownership of a contract changes.
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /// @notice Get the address of the owner
    /// @return The address of the owner.
    function owner() external view returns (address);

    /// @notice Set the address of the new owner of the contract
    /// @param _newOwner The address of the new owner of the contract
    function transferOwnership(address _newOwner) external;
}

contract ERC173 is IERC173, ERC165  {
    address private _owner;

    constructor() public {
        _registerInterface(0x7f5828d0);
        _transferOwnership(msg.sender);
    }

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

    function owner() public view returns (address) {
        return _owner;
    }

    function transferOwnership(address _newOwner) public onlyOwner() {
        _transferOwnership(_newOwner);
    }

    function _transferOwnership(address _newOwner) internal {
        address previousOwner = owner();
	_owner = _newOwner;
        emit OwnershipTransferred(previousOwner, _newOwner);
    }
}

contract ERC721Holder is IERC721TokenReceiver {
    function onERC721Received(address, address, uint256, bytes memory) public returns (bytes4) {
        return this.onERC721Received.selector;
    }
}

contract Operatable is ERC173 {
    using Roles for Roles.Role;

    event OperatorAdded(address indexed account);
    event OperatorRemoved(address indexed account);

    event Paused(address account);
    event Unpaused(address account);

    bool private _paused;
    Roles.Role private operators;

    constructor() public {
        operators.add(msg.sender);
        _paused = false;
    }

    modifier onlyOperator() {
        require(isOperator(msg.sender), "Must be operator");
        _;
    }

    modifier whenNotPaused() {
        require(!_paused, "Pausable: paused");
        _;
    }

    modifier whenPaused() {
        require(_paused, "Pausable: not paused");
        _;
    }

    function transferOwnership(address _newOwner) public onlyOperator() {
        _transferOwnership(_newOwner);
    }

    function isOperator(address account) public view returns (bool) {
        return operators.has(account);
    }

    function addOperator(address account) public onlyOperator() {
        operators.add(account);
        emit OperatorAdded(account);
    }

    function removeOperator(address account) public onlyOperator() {
        operators.remove(account);
        emit OperatorRemoved(account);
    }

    function paused() public view returns (bool) {
        return _paused;
    }

    function pause() public onlyOperator() whenNotPaused() {
        _paused = true;
        emit Paused(msg.sender);
    }

    function unpause() public onlyOperator() whenPaused() {
        _paused = false;
        emit Unpaused(msg.sender);
    }

    function withdrawEther() public onlyOperator() {
        msg.sender.transfer(address(this).balance);
    }

}

interface ICSPLCard {
    function safeTransferFrom(address _from, address _to, uint256 _tokenId) external payable;
}

interface IERC721Mintable {
    function exist(uint256 _tokenId) external view returns (bool);
    function mint(address _owner, uint256 _tokenId) external;
    function safeTransferFrom(address _from, address _to, uint256 _tokenId) external payable;
}

contract ERC721ConverterWithCSPLCard is IERC721Converter, ERC721Holder, Operatable {
    ICSPLCard public Alice;
    IERC721Mintable public Bob;

    mapping (uint256 => uint256) private _idMapAliceToBob;
    mapping (uint256 => uint256) private _idMapBobToAlice;

    constructor() public {}

    function updateAlice(address _newAlice) external onlyOperator() {
        Alice = ICSPLCard(_newAlice);
    }

    function updateBob(address _newBob) external onlyOperator() {
        Bob = IERC721Mintable(_newBob);
    }

    function draftAliceTokens(uint256[] memory _aliceTokenIds, uint256[] memory _bobTokenIds) public onlyOperator() {
        require(_aliceTokenIds.length == _bobTokenIds.length);
        for (uint256 i = 0; i < _aliceTokenIds.length; i++) {
            draftAliceToken(_aliceTokenIds[i], _bobTokenIds[i]);
        }
    }

    function draftBobTokens(uint256[] memory _bobTokenIds, uint256[] memory _aliceTokenIds) public onlyOperator() {
        require(_aliceTokenIds.length == _bobTokenIds.length);
        for (uint256 i = 0; i < _aliceTokenIds.length; i++) {
            draftBobToken(_bobTokenIds[i], _aliceTokenIds[i]);
        }
    }

    function draftAliceToken(uint256 _aliceTokenId, uint256 _bobTokenId) public onlyOperator() {
        require(_idMapAliceToBob[_aliceTokenId] == 0, "_aliceTokenId is already assignd");
        require(_idMapBobToAlice[_bobTokenId] == 0, "_bobTokenId is already assignd");

        _idMapAliceToBob[_aliceTokenId] = _bobTokenId;
        _idMapBobToAlice[_bobTokenId] = _aliceTokenId;
    }

    function draftBobToken(uint256 _bobTokenId, uint256 _aliceTokenId) public onlyOperator() {
        require(_idMapBobToAlice[_bobTokenId] == 0, "_bobTokenId is already assignd");
        require(_idMapAliceToBob[_aliceTokenId] == 0, "_aliceTokenId is already assignd");

        _idMapBobToAlice[_bobTokenId] = _aliceTokenId;
        _idMapAliceToBob[_aliceTokenId] = _bobTokenId;
    }

    function getBobTokenID(uint256 _aliceTokenId) public view returns(uint256) {
        return _idMapAliceToBob[_aliceTokenId];
    }

    function getAliceTokenID(uint256 _bobTokenId) public view returns(uint256) {
        return _idMapBobToAlice[_bobTokenId];
    }

    function convertFromAliceToBob(uint256 _tokenId) public whenNotPaused() {
        Alice.safeTransferFrom(msg.sender, address(this), _tokenId);

        uint256 convertTo = getBobTokenID(_tokenId);
        if (Bob.exist(convertTo)) {
            Bob.safeTransferFrom(address(this), msg.sender, convertTo);
        } else {
            Bob.mint(msg.sender, convertTo);
        }
    }

    function convertFromBobToAlice(uint256 _tokenId) public whenNotPaused() {
        Bob.safeTransferFrom(msg.sender, address(this), _tokenId);

        uint256 convertTo = getAliceTokenID(_tokenId);
        Alice.safeTransferFrom(address(this), msg.sender, convertTo);
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"OperatorAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"OperatorRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"constant":true,"inputs":[],"name":"Alice","outputs":[{"internalType":"contract ICSPLCard","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"Bob","outputs":[{"internalType":"contract IERC721Mintable","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"addOperator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"convertFromAliceToBob","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"convertFromBobToAlice","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_aliceTokenId","type":"uint256"},{"internalType":"uint256","name":"_bobTokenId","type":"uint256"}],"name":"draftAliceToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256[]","name":"_aliceTokenIds","type":"uint256[]"},{"internalType":"uint256[]","name":"_bobTokenIds","type":"uint256[]"}],"name":"draftAliceTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_bobTokenId","type":"uint256"},{"internalType":"uint256","name":"_aliceTokenId","type":"uint256"}],"name":"draftBobToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256[]","name":"_bobTokenIds","type":"uint256[]"},{"internalType":"uint256[]","name":"_aliceTokenIds","type":"uint256[]"}],"name":"draftBobTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_bobTokenId","type":"uint256"}],"name":"getAliceTokenID","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_aliceTokenId","type":"uint256"}],"name":"getBobTokenID","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOperator","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC721Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"removeOperator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_newAlice","type":"address"}],"name":"updateAlice","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_newBob","type":"address"}],"name":"updateBob","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"withdrawEther","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]

60806040523480156200001157600080fd5b506200002a6301ffc9a760e01b6200008f60201b60201c565b62000042637f5828d060e01b6200008f60201b60201c565b62000053336200019860201b60201c565b6200006e3360026200024b60201b62001e951790919060201c565b6000600160146101000a81548160ff021916908315150217905550620003b2565b63ffffffff60e01b817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614156200012c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4552433136353a20696e76616c696420696e746572666163652069640000000081525060200191505060405180910390fd5b6001600080837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000620001aa6200032f60201b60201c565b905081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6200025d82826200035960201b60201c565b15620002d1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f726f6c6520616c72656164792068617320746865206163636f756e740000000081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b61212a80620003c26000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c80636f7c0e05116100c35780638da5cb5b1161007c5780638da5cb5b1461082c5780639870d7fe146108765780639877bdff146108ba578063ac8a584a14610904578063f2fde38b14610948578063ffe6722d1461098c5761014d565b80636f7c0e051461072c5780637362377b146107705780637debc2991461077a5780638456cb59146107bc5780638a23f03e146107c65780638cf0e507146107f45761014d565b80633bb0cc4e116101155780633bb0cc4e146104e05780633f4ba83a1461050e5780635c975abb146105185780635e0a21341461053a5780636d70f7ae146106865780636d877f91146106e25761014d565b806301ffc9a714610152578063150b7a02146101b75780632533796c1461030e578063320b84671461045a578063353f12121461049c575b600080fd5b61019d6004803603602081101561016857600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506109c4565b604051808215151515815260200191505060405180910390f35b6102ba600480360360808110156101cd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561023457600080fd5b82018360208201111561024657600080fd5b8035906020019184600183028401116401000000008311171561026857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610a2b565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b6104586004803603604081101561032457600080fd5b810190808035906020019064010000000081111561034157600080fd5b82018360208201111561035357600080fd5b8035906020019184602083028401116401000000008311171561037557600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156103d557600080fd5b8201836020820111156103e757600080fd5b8035906020019184602083028401116401000000008311171561040957600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050610a3f565b005b6104866004803603602081101561047057600080fd5b8101908080359060200190929190505050610b19565b6040518082815260200191505060405180910390f35b6104de600480360360208110156104b257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b36565b005b61050c600480360360208110156104f657600080fd5b8101908080359060200190929190505050610bf5565b005b610516610e73565b005b610520610ff0565b604051808215151515815260200191505060405180910390f35b6106846004803603604081101561055057600080fd5b810190808035906020019064010000000081111561056d57600080fd5b82018360208201111561057f57600080fd5b803590602001918460208302840111640100000000831117156105a157600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561060157600080fd5b82018360208201111561061357600080fd5b8035906020019184602083028401116401000000008311171561063557600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050611007565b005b6106c86004803603602081101561069c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110e1565b604051808215151515815260200191505060405180910390f35b6106ea6110fe565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61076e6004803603602081101561074257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611124565b005b6107786111e3565b005b6107a66004803603602081101561079057600080fd5b81019080803590602001909291905050506112a7565b6040518082815260200191505060405180910390f35b6107c46112c4565b005b6107f2600480360360208110156107dc57600080fd5b8101908080359060200190929190505050611441565b005b61082a6004803603604081101561080a57600080fd5b810190808035906020019092919080359060200190929190505050611839565b005b6108346119fa565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6108b86004803603602081101561088c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a24565b005b6108c2611af9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6109466004803603602081101561091a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b1f565b005b61098a6004803603602081101561095e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611bf4565b005b6109c2600480360360408110156109a257600080fd5b810190808035906020019092919080359060200190929190505050611c7b565b005b6000806000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900460ff169050919050565b600063150b7a0260e01b9050949350505050565b610a48336110e1565b610aba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f4d757374206265206f70657261746f720000000000000000000000000000000081525060200191505060405180910390fd5b8051825114610ac857600080fd5b60008090505b8251811015610b1457610b07838281518110610ae657fe5b6020026020010151838381518110610afa57fe5b6020026020010151611c7b565b8080600101915050610ace565b505050565b600060066000838152602001908152602001600020549050919050565b610b3f336110e1565b610bb1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f4d757374206265206f70657261746f720000000000000000000000000000000081525060200191505060405180910390fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600160149054906101000a900460ff1615610c78576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342842e0e3330846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b158015610d5557600080fd5b505af1158015610d69573d6000803e3d6000fd5b505050506000610d7882610b19565b9050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342842e0e3033846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b158015610e5757600080fd5b505af1158015610e6b573d6000803e3d6000fd5b505050505050565b610e7c336110e1565b610eee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f4d757374206265206f70657261746f720000000000000000000000000000000081525060200191505060405180910390fd5b600160149054906101000a900460ff16610f70576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5061757361626c653a206e6f742070617573656400000000000000000000000081525060200191505060405180910390fd5b6000600160146101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b6000600160149054906101000a900460ff16905090565b611010336110e1565b611082576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f4d757374206265206f70657261746f720000000000000000000000000000000081525060200191505060405180910390fd5b815181511461109057600080fd5b60008090505b81518110156110dc576110cf8382815181106110ae57fe5b60200260200101518383815181106110c257fe5b6020026020010151611839565b8080600101915050611096565b505050565b60006110f7826002611e3c90919063ffffffff16565b9050919050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61112d336110e1565b61119f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f4d757374206265206f70657261746f720000000000000000000000000000000081525060200191505060405180910390fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6111ec336110e1565b61125e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f4d757374206265206f70657261746f720000000000000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f193505050501580156112a4573d6000803e3d6000fd5b50565b600060056000838152602001908152602001600020549050919050565b6112cd336110e1565b61133f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f4d757374206265206f70657261746f720000000000000000000000000000000081525060200191505060405180910390fd5b600160149054906101000a900460ff16156113c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b60018060146101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b600160149054906101000a900460ff16156114c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342842e0e3330846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b1580156115a157600080fd5b505af11580156115b5573d6000803e3d6000fd5b5050505060006115c4826112a7565b9050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634ebbc92a826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561163957600080fd5b505afa15801561164d573d6000803e3d6000fd5b505050506040513d602081101561166357600080fd5b81019080805190602001909291905050501561177357600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342842e0e3033846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b15801561175657600080fd5b505af115801561176a573d6000803e3d6000fd5b50505050611835565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1933836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561181c57600080fd5b505af1158015611830573d6000803e3d6000fd5b505050505b5050565b611842336110e1565b6118b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f4d757374206265206f70657261746f720000000000000000000000000000000081525060200191505060405180910390fd5b600060066000848152602001908152602001600020541461193d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f5f626f62546f6b656e496420697320616c72656164792061737369676e64000081525060200191505060405180910390fd5b60006005600083815260200190815260200160002054146119c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f5f616c696365546f6b656e496420697320616c72656164792061737369676e6481525060200191505060405180910390fd5b8060066000848152602001908152602001600020819055508160056000838152602001908152602001600020819055505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611a2d336110e1565b611a9f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f4d757374206265206f70657261746f720000000000000000000000000000000081525060200191505060405180910390fd5b611ab3816002611e9590919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fac6fa858e9350a46cec16539926e0fde25b7629f84b5a72bffaae4df888ae86d60405160405180910390a250565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611b28336110e1565b611b9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f4d757374206265206f70657261746f720000000000000000000000000000000081525060200191505060405180910390fd5b611bae816002611f7090919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f80c0b871b97b595b16a7741c1b06fed0c6f6f558639f18ccbce50724325dc40d60405160405180910390a250565b611bfd336110e1565b611c6f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f4d757374206265206f70657261746f720000000000000000000000000000000081525060200191505060405180910390fd5b611c788161204a565b50565b611c84336110e1565b611cf6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f4d757374206265206f70657261746f720000000000000000000000000000000081525060200191505060405180910390fd5b6000600560008481526020019081526020016000205414611d7f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f5f616c696365546f6b656e496420697320616c72656164792061737369676e6481525060200191505060405180910390fd5b6000600660008381526020019081526020016000205414611e08576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f5f626f62546f6b656e496420697320616c72656164792061737369676e64000081525060200191505060405180910390fd5b8060056000848152602001908152602001600020819055508160066000838152602001908152602001600020819055505050565b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b611e9f8282611e3c565b15611f12576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f726f6c6520616c72656164792068617320746865206163636f756e740000000081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b611f7a8282611e3c565b611fec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f726f6c6520646f73656e2774206861766520746865206163636f756e7400000081525060200191505060405180910390fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60006120546119fa565b905081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505056fea265627a7a72315820ba630b54e384264562f78a749b51546e1b72fdefa5c0848db0027f8d3921067764736f6c63430005100032

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061014d5760003560e01c80636f7c0e05116100c35780638da5cb5b1161007c5780638da5cb5b1461082c5780639870d7fe146108765780639877bdff146108ba578063ac8a584a14610904578063f2fde38b14610948578063ffe6722d1461098c5761014d565b80636f7c0e051461072c5780637362377b146107705780637debc2991461077a5780638456cb59146107bc5780638a23f03e146107c65780638cf0e507146107f45761014d565b80633bb0cc4e116101155780633bb0cc4e146104e05780633f4ba83a1461050e5780635c975abb146105185780635e0a21341461053a5780636d70f7ae146106865780636d877f91146106e25761014d565b806301ffc9a714610152578063150b7a02146101b75780632533796c1461030e578063320b84671461045a578063353f12121461049c575b600080fd5b61019d6004803603602081101561016857600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506109c4565b604051808215151515815260200191505060405180910390f35b6102ba600480360360808110156101cd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561023457600080fd5b82018360208201111561024657600080fd5b8035906020019184600183028401116401000000008311171561026857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610a2b565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b6104586004803603604081101561032457600080fd5b810190808035906020019064010000000081111561034157600080fd5b82018360208201111561035357600080fd5b8035906020019184602083028401116401000000008311171561037557600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156103d557600080fd5b8201836020820111156103e757600080fd5b8035906020019184602083028401116401000000008311171561040957600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050610a3f565b005b6104866004803603602081101561047057600080fd5b8101908080359060200190929190505050610b19565b6040518082815260200191505060405180910390f35b6104de600480360360208110156104b257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b36565b005b61050c600480360360208110156104f657600080fd5b8101908080359060200190929190505050610bf5565b005b610516610e73565b005b610520610ff0565b604051808215151515815260200191505060405180910390f35b6106846004803603604081101561055057600080fd5b810190808035906020019064010000000081111561056d57600080fd5b82018360208201111561057f57600080fd5b803590602001918460208302840111640100000000831117156105a157600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561060157600080fd5b82018360208201111561061357600080fd5b8035906020019184602083028401116401000000008311171561063557600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050611007565b005b6106c86004803603602081101561069c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110e1565b604051808215151515815260200191505060405180910390f35b6106ea6110fe565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61076e6004803603602081101561074257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611124565b005b6107786111e3565b005b6107a66004803603602081101561079057600080fd5b81019080803590602001909291905050506112a7565b6040518082815260200191505060405180910390f35b6107c46112c4565b005b6107f2600480360360208110156107dc57600080fd5b8101908080359060200190929190505050611441565b005b61082a6004803603604081101561080a57600080fd5b810190808035906020019092919080359060200190929190505050611839565b005b6108346119fa565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6108b86004803603602081101561088c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a24565b005b6108c2611af9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6109466004803603602081101561091a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b1f565b005b61098a6004803603602081101561095e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611bf4565b005b6109c2600480360360408110156109a257600080fd5b810190808035906020019092919080359060200190929190505050611c7b565b005b6000806000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900460ff169050919050565b600063150b7a0260e01b9050949350505050565b610a48336110e1565b610aba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f4d757374206265206f70657261746f720000000000000000000000000000000081525060200191505060405180910390fd5b8051825114610ac857600080fd5b60008090505b8251811015610b1457610b07838281518110610ae657fe5b6020026020010151838381518110610afa57fe5b6020026020010151611c7b565b8080600101915050610ace565b505050565b600060066000838152602001908152602001600020549050919050565b610b3f336110e1565b610bb1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f4d757374206265206f70657261746f720000000000000000000000000000000081525060200191505060405180910390fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600160149054906101000a900460ff1615610c78576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342842e0e3330846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b158015610d5557600080fd5b505af1158015610d69573d6000803e3d6000fd5b505050506000610d7882610b19565b9050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342842e0e3033846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b158015610e5757600080fd5b505af1158015610e6b573d6000803e3d6000fd5b505050505050565b610e7c336110e1565b610eee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f4d757374206265206f70657261746f720000000000000000000000000000000081525060200191505060405180910390fd5b600160149054906101000a900460ff16610f70576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5061757361626c653a206e6f742070617573656400000000000000000000000081525060200191505060405180910390fd5b6000600160146101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b6000600160149054906101000a900460ff16905090565b611010336110e1565b611082576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f4d757374206265206f70657261746f720000000000000000000000000000000081525060200191505060405180910390fd5b815181511461109057600080fd5b60008090505b81518110156110dc576110cf8382815181106110ae57fe5b60200260200101518383815181106110c257fe5b6020026020010151611839565b8080600101915050611096565b505050565b60006110f7826002611e3c90919063ffffffff16565b9050919050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61112d336110e1565b61119f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f4d757374206265206f70657261746f720000000000000000000000000000000081525060200191505060405180910390fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6111ec336110e1565b61125e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f4d757374206265206f70657261746f720000000000000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f193505050501580156112a4573d6000803e3d6000fd5b50565b600060056000838152602001908152602001600020549050919050565b6112cd336110e1565b61133f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f4d757374206265206f70657261746f720000000000000000000000000000000081525060200191505060405180910390fd5b600160149054906101000a900460ff16156113c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b60018060146101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b600160149054906101000a900460ff16156114c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342842e0e3330846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b1580156115a157600080fd5b505af11580156115b5573d6000803e3d6000fd5b5050505060006115c4826112a7565b9050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634ebbc92a826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561163957600080fd5b505afa15801561164d573d6000803e3d6000fd5b505050506040513d602081101561166357600080fd5b81019080805190602001909291905050501561177357600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342842e0e3033846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b15801561175657600080fd5b505af115801561176a573d6000803e3d6000fd5b50505050611835565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1933836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561181c57600080fd5b505af1158015611830573d6000803e3d6000fd5b505050505b5050565b611842336110e1565b6118b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f4d757374206265206f70657261746f720000000000000000000000000000000081525060200191505060405180910390fd5b600060066000848152602001908152602001600020541461193d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f5f626f62546f6b656e496420697320616c72656164792061737369676e64000081525060200191505060405180910390fd5b60006005600083815260200190815260200160002054146119c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f5f616c696365546f6b656e496420697320616c72656164792061737369676e6481525060200191505060405180910390fd5b8060066000848152602001908152602001600020819055508160056000838152602001908152602001600020819055505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611a2d336110e1565b611a9f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f4d757374206265206f70657261746f720000000000000000000000000000000081525060200191505060405180910390fd5b611ab3816002611e9590919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fac6fa858e9350a46cec16539926e0fde25b7629f84b5a72bffaae4df888ae86d60405160405180910390a250565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611b28336110e1565b611b9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f4d757374206265206f70657261746f720000000000000000000000000000000081525060200191505060405180910390fd5b611bae816002611f7090919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f80c0b871b97b595b16a7741c1b06fed0c6f6f558639f18ccbce50724325dc40d60405160405180910390a250565b611bfd336110e1565b611c6f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f4d757374206265206f70657261746f720000000000000000000000000000000081525060200191505060405180910390fd5b611c788161204a565b50565b611c84336110e1565b611cf6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f4d757374206265206f70657261746f720000000000000000000000000000000081525060200191505060405180910390fd5b6000600560008481526020019081526020016000205414611d7f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f5f616c696365546f6b656e496420697320616c72656164792061737369676e6481525060200191505060405180910390fd5b6000600660008381526020019081526020016000205414611e08576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f5f626f62546f6b656e496420697320616c72656164792061737369676e64000081525060200191505060405180910390fd5b8060056000848152602001908152602001600020819055508160066000838152602001908152602001600020819055505050565b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b611e9f8282611e3c565b15611f12576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f726f6c6520616c72656164792068617320746865206163636f756e740000000081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b611f7a8282611e3c565b611fec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f726f6c6520646f73656e2774206861766520746865206163636f756e7400000081525060200191505060405180910390fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60006120546119fa565b905081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505056fea265627a7a72315820ba630b54e384264562f78a749b51546e1b72fdefa5c0848db0027f8d3921067764736f6c63430005100032

Deployed Bytecode Sourcemap

6586:2960:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6586:2960:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2663:135;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2663:135:0;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4305:147;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;4305:147:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;4305:147:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;4305:147:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;4305:147:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;4305:147:0;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;7129:324;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7129:324:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;7129:324:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;7129:324: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;7129:324:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;7129:324:0;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;7129:324:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;7129:324: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;7129:324:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;7129:324:0;;;;;;;;;;;;;;;:::i;:::-;;8729:130;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8729:130:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6893:111;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6893:111:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;9266:277;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9266:277:0;;;;;;;;;;;;;;;;;:::i;:::-;;5954:124;;;:::i;:::-;;5738:78;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7461:320;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7461:320:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;7461:320:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;7461:320: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;7461:320:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;7461:320:0;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;7461:320:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;7461:320: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;7461:320:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;7461:320:0;;;;;;;;;;;;;;;:::i;:::-;;5316:112;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5316:112:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6705:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7012:109;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7012:109:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;6086:108;;;:::i;:::-;;8589:132;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8589:132:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5824:122;;;:::i;:::-;;8867:391;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8867:391:0;;;;;;;;;;;;;;;;;:::i;:::-;;8190;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8190:391:0;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3847:79;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5436:139;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5436:139:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;6676:22;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5583:147;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5583:147:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;5192:116;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5192:116:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;7789:393;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7789:393:0;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2663:135;2733:4;2757:20;:33;2778:11;2757:33;;;;;;;;;;;;;;;;;;;;;;;;;;;2750:40;;2663:135;;;:::o;4305:147::-;4388:6;4414:30;;;4407:37;;4305:147;;;;;;:::o;7129:324::-;4919:22;4930:10;4919;:22::i;:::-;4911:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7285:12;:19;7260:14;:21;:44;7252:53;;;;;;7321:9;7333:1;7321:13;;7316:130;7340:14;:21;7336:1;:25;7316:130;;;7383:51;7399:14;7414:1;7399:17;;;;;;;;;;;;;;7418:12;7431:1;7418:15;;;;;;;;;;;;;;7383;:51::i;:::-;7363:3;;;;;;;7316:130;;;;7129:324;;:::o;8729:130::-;8795:7;8822:16;:29;8839:11;8822:29;;;;;;;;;;;;8815:36;;8729:130;;;:::o;6893:111::-;4919:22;4930:10;4919;:22::i;:::-;4911:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6986:9;6968:5;;:28;;;;;;;;;;;;;;;;;;6893:111;:::o;9266:277::-;5035:7;;;;;;;;;;;5034:8;5026:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9349:3;;;;;;;;;;;:20;;;9370:10;9390:4;9397:8;9349:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9349:57:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9349:57:0;;;;9419:17;9439:25;9455:8;9439:15;:25::i;:::-;9419:45;;9475:5;;;;;;;;;;;:22;;;9506:4;9513:10;9525:9;9475:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9475:60:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9475:60:0;;;;5074:1;9266:277;:::o;5954:124::-;4919:22;4930:10;4919;:22::i;:::-;4911:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5132:7;;;;;;;;;;;5124:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6029:5;6019:7;;:15;;;;;;;;;;;;;;;;;;6050:20;6059:10;6050:20;;;;;;;;;;;;;;;;;;;;;;5954:124::o;5738:78::-;5777:4;5801:7;;;;;;;;;;;5794:14;;5738:78;:::o;7461:320::-;4919:22;4930:10;4919;:22::i;:::-;4911:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7615:12;:19;7590:14;:21;:44;7582:53;;;;;;7651:9;7663:1;7651:13;;7646:128;7670:14;:21;7666:1;:25;7646:128;;;7713:49;7727:12;7740:1;7727:15;;;;;;;;;;;;;;7744:14;7759:1;7744:17;;;;;;;;;;;;;;7713:13;:49::i;:::-;7693:3;;;;;;;7646:128;;;;7461:320;;:::o;5316:112::-;5374:4;5398:22;5412:7;5398:9;:13;;:22;;;;:::i;:::-;5391:29;;5316:112;;;:::o;6705:26::-;;;;;;;;;;;;;:::o;7012:109::-;4919:22;4930:10;4919;:22::i;:::-;4911:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7105:7;7083:3;;:30;;;;;;;;;;;;;;;;;;7012:109;:::o;6086:108::-;4919:22;4930:10;4919;:22::i;:::-;4911:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6144:10;:19;;:42;6164:21;6144:42;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6144:42:0;6086:108::o;8589:132::-;8655:7;8682:16;:31;8699:13;8682:31;;;;;;;;;;;;8675:38;;8589:132;;;:::o;5824:122::-;4919:22;4930:10;4919;:22::i;:::-;4911:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5035:7;;;;;;;;;;;5034:8;5026:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5900:4;5890:7;;:14;;;;;;;;;;;;;;;;;;5920:18;5927:10;5920:18;;;;;;;;;;;;;;;;;;;;;;5824:122::o;8867:391::-;5035:7;;;;;;;;;;;5034:8;5026:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8950:5;;;;;;;;;;;:22;;;8973:10;8993:4;9000:8;8950:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8950:59:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8950:59:0;;;;9022:17;9042:23;9056:8;9042:13;:23::i;:::-;9022:43;;9080:3;;;;;;;;;;;:9;;;9090;9080:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9080:20:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9080:20:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9080:20:0;;;;;;;;;;;;;;;;9076:175;;;9117:3;;;;;;;;;;;:20;;;9146:4;9153:10;9165:9;9117:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9117:58:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9117:58:0;;;;9076:175;;;9208:3;;;;;;;;;;;:8;;;9217:10;9229:9;9208:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9208:31:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9208:31:0;;;;9076:175;5074:1;8867:391;:::o;8190:::-;4919:22;4930:10;4919;:22::i;:::-;4911:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8331:1;8298:16;:29;8315:11;8298:29;;;;;;;;;;;;:34;8290:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8421:1;8386:16;:31;8403:13;8386:31;;;;;;;;;;;;:36;8378:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8504:13;8472:16;:29;8489:11;8472:29;;;;;;;;;;;:45;;;;8562:11;8528:16;:31;8545:13;8528:31;;;;;;;;;;;:45;;;;8190:391;;:::o;3847:79::-;3885:7;3912:6;;;;;;;;;;;3905:13;;3847:79;:::o;5436:139::-;4919:22;4930:10;4919;:22::i;:::-;4911:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5507:22;5521:7;5507:9;:13;;:22;;;;:::i;:::-;5559:7;5545:22;;;;;;;;;;;;5436:139;:::o;6676:22::-;;;;;;;;;;;;;:::o;5583:147::-;4919:22;4930:10;4919;:22::i;:::-;4911:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5657:25;5674:7;5657:9;:16;;:25;;;;:::i;:::-;5714:7;5698:24;;;;;;;;;;;;5583:147;:::o;5192:116::-;4919:22;4930:10;4919;:22::i;:::-;4911:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5271:29;5290:9;5271:18;:29::i;:::-;5192:116;:::o;7789:393::-;4919:22;4930:10;4919;:22::i;:::-;4911:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7934:1;7899:16;:31;7916:13;7899:31;;;;;;;;;;;;:36;7891:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8024:1;7991:16;:29;8008:11;7991:29;;;;;;;;;;;;:34;7983:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8107:11;8073:16;:31;8090:13;8073:31;;;;;;;;;;;:45;;;;8161:13;8129:16;:29;8146:11;8129:29;;;;;;;;;;;:45;;;;7789:393;;:::o;1064:124::-;1136:4;1160;:11;;:20;1172:7;1160:20;;;;;;;;;;;;;;;;;;;;;;;;;1153:27;;1064:124;;;;:::o;694:175::-;772:18;776:4;782:7;772:3;:18::i;:::-;771:19;763:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;857:4;834;:11;;:20;846:7;834:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;694:175;;:::o;877:179::-;957:18;961:4;967:7;957:3;:18::i;:::-;949:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1043:5;1020:4;:11;;:20;1032:7;1020:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;877:179;;:::o;4055:190::-;4122:21;4146:7;:5;:7::i;:::-;4122:31;;4166:9;4157:6;;:18;;;;;;;;;;;;;;;;;;4227:9;4191:46;;4212:13;4191:46;;;;;;;;;;;;4055:190;;:::o

Swarm Source

bzzr://ba630b54e384264562f78a749b51546e1b72fdefa5c0848db0027f8d39210677

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]

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