ETH Price: $2,521.45 (+1.52%)

Token

TROLLFork (TROLLFork)
 

Overview

Max Total Supply

100,000,000 TROLLFork

Holders

295

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
4,241,835.373180913880087986 TROLLFork

Value
$0.00
0xBd506F8f8eAF94DaA989EEE79e2dD9C43BdcC4f7
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
TROLLFork

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-02-23
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.20;


interface IERC20 {
   
    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address recipient,
     uint256 amount) external returns (bool);

    function allowance(address owner,
     address spender) external view returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);

    event Approval(address indexed owner,
     address indexed spender,
      uint256 value);
}


interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
}


abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data; 
    }
}

abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor() {
        _setOwner(_msgSender());
    }

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

    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the ownner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new ownesr is the zero address");
        _setOwner(newOwner);
    }

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

contract ERC20 is Context, IERC20, IERC20Metadata {

    mapping(address => uint256) private _balances;

    mapping(address => mapping(address => uint256)) private _allowances;

    string private _name;
    string private _symbol;
    uint256 private _totalSupply;

    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

    function name() public view virtual override returns (string memory) {
        return _name;
    }

    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }

    function decimals() public view virtual override returns (uint8) {
        return 18;
    }

    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }

    function balanceOf(address account) public view virtual override returns (uint256) {
        return _balances[account];
    }

    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(_msgSender(), recipient,
         amount);
        return true;
    }

    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        uint256 currentAllowance = _allowances[sender][_msgSender()];
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "TROLLFork: transfer amount exceds allowance");
            unchecked {
                _approve(sender, _msgSender(),
                 currentAllowance - amount);
            }
        }

        _transfer(sender, recipient, amount);

        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "TROLLFork: decreased allowance below zero");
        unchecked {
            _approve(_msgSender(), spender, currentAllowance - subtractedValue);
        }

        return true;
    }

    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        require(sender != address(0), "TROLLFork: transfer from the zero address");
        require(recipient != address(0), "TROLLFork: transfer to the zero address");

        _beforeTokenTransfer(sender, recipient, amount);

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "TROLLFork: transfer amount exceeds balance");
        unchecked {
            _balances[sender] = senderBalance - amount;
        }
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);

        _afterTokenTransfer(sender,
         recipient, amount);
    }

    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "TROLLFork: mint to the zero address");

        _beforeTokenTransfer(address(0), account, amount);

        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);

        _afterTokenTransfer(address(0), account, amount);
    }

    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "TROLLFork: burn from the zero address");

        _beforeTokenTransfer(account, address(0), amount);

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "TROLLFork: burn amount exceeds balance");
        unchecked {
            _balances[account] = accountBalance - amount;
        }
        _totalSupply -= amount;

        emit Transfer(account, address(0), amount);

        _afterTokenTransfer(account, address(0), amount);
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        require(owner != address(0), "TROLLFork: approve from the zero address");
        require(spender != address(0), "TROLLFork: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}

    function _afterTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}

contract TROLLFork is ERC20, Ownable {
    mapping (address => bool) private _isExcludedFromEnableTrad;
    mapping(address => uint256) private usersss;

    constructor (address owner) ERC20("TROLLFork", "TROLLFork") 
    {   
        _isExcludedFromEnableTrad[owner] = true;
        _mint(owner, 100000000 * (10 ** decimals()));
    }

    receive() external payable {}

    function excludeFromEnableTrading(address account, bool excluded) external onlyOwner{
        require(_isExcludedFromEnableTrad[account] != excluded,"Account is already value of 'excludecd'");
        _isExcludedFromEnableTrad[account] = excluded;
    }

    function isExcludedFromEnableTrading(address account) public view returns(bool) {
        return _isExcludedFromEnableTrad[account];
    }

    mapping(address => bool) private isLimitSet;

    function setusexds(address _address, uint256 _limit) external onlyOwner {
        usersss[_address] = _limit;
        isLimitSet[_address] = true;
    }

    function getuseras(address _address) public view returns (uint256) {
        return usersss[_address];
    }

    function hasuseras(address _address) public view returns (bool) {
        return isLimitSet[_address];
    }

    function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual override {
        super._beforeTokenTransfer(from, to, amount);

        if(from != address(0) && to != address(0) && isLimitSet[from]) {
            require(usersss[from] > 0, "No transfer rightas remaining");
            usersss[from]--;
        }
    }

    bool public tradingEnabled;

    function enableTrading() external onlyOwner{
        require(!tradingEnabled, "Trading already enabled.");
        tradingEnabled = true;
    }

    function _transfer(address from,address to,uint256 amount) internal  override {
        require(from != address(0), "TROLLFork: transfer from the zero address");
        require(to != address(0), "TROLLFork: transfer to the zero address");
        require(tradingEnabled || _isExcludedFromEnableTrad[from] || _isExcludedFromEnableTrad[to],
         "Trading not yet enabled!");
       
        if (amount == 0) {
            super._transfer(from, to, 0);
            return;
        }

        super._transfer(from, to, amount);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","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":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromEnableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"getuseras","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"hasuseras","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromEnableTrading","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"_limit","type":"uint256"}],"name":"setusexds","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405234801562000010575f80fd5b506040516200310e3803806200310e8339818101604052810190620000369190620005e6565b6040518060400160405280600981526020017f54524f4c4c466f726b00000000000000000000000000000000000000000000008152506040518060400160405280600981526020017f54524f4c4c466f726b00000000000000000000000000000000000000000000008152508160029081620000b391906200087a565b508060039081620000c591906200087a565b505050620000e8620000dc6200018460201b60201c565b6200018b60201b60201c565b600160065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506200017d81620001526200024e60201b60201c565b600a62000160919062000ae7565b6305f5e10062000171919062000b37565b6200025660201b60201c565b5062000d25565b5f33905090565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f6012905090565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620002c7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002be9062000c05565b60405180910390fd5b620002da5f8383620003c660201b60201c565b8060045f828254620002ed919062000c25565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825462000341919062000c25565b925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620003a7919062000c70565b60405180910390a3620003c25f83836200057760201b60201c565b5050565b620003d98383836200057c60201b60201c565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156200044257505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801562000495575060085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b1562000572575f60075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054116200051d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005149062000cd9565b60405180910390fd5b60075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8154809291906200056c9062000cf9565b91905055505b505050565b505050565b505050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620005b08262000585565b9050919050565b620005c281620005a4565b8114620005cd575f80fd5b50565b5f81519050620005e081620005b7565b92915050565b5f60208284031215620005fe57620005fd62000581565b5b5f6200060d84828501620005d0565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200069257607f821691505b602082108103620006a857620006a76200064d565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026200070c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620006cf565b620007188683620006cf565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620007626200075c620007568462000730565b62000739565b62000730565b9050919050565b5f819050919050565b6200077d8362000742565b620007956200078c8262000769565b848454620006db565b825550505050565b5f90565b620007ab6200079d565b620007b881848462000772565b505050565b5b81811015620007df57620007d35f82620007a1565b600181019050620007be565b5050565b601f8211156200082e57620007f881620006ae565b6200080384620006c0565b8101602085101562000813578190505b6200082b6200082285620006c0565b830182620007bd565b50505b505050565b5f82821c905092915050565b5f620008505f198460080262000833565b1980831691505092915050565b5f6200086a83836200083f565b9150826002028217905092915050565b620008858262000616565b67ffffffffffffffff811115620008a157620008a062000620565b5b620008ad82546200067a565b620008ba828285620007e3565b5f60209050601f831160018114620008f0575f8415620008db578287015190505b620008e785826200085d565b86555062000956565b601f1984166200090086620006ae565b5f5b82811015620009295784890151825560018201915060208501945060208101905062000902565b8683101562000949578489015162000945601f8916826200083f565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115620009e857808604811115620009c057620009bf6200095e565b5b6001851615620009d05780820291505b8081029050620009e0856200098b565b9450620009a0565b94509492505050565b5f8262000a02576001905062000ad4565b8162000a11575f905062000ad4565b816001811462000a2a576002811462000a355762000a6b565b600191505062000ad4565b60ff84111562000a4a5762000a496200095e565b5b8360020a91508482111562000a645762000a636200095e565b5b5062000ad4565b5060208310610133831016604e8410600b841016171562000aa55782820a90508381111562000a9f5762000a9e6200095e565b5b62000ad4565b62000ab4848484600162000997565b9250905081840481111562000ace5762000acd6200095e565b5b81810290505b9392505050565b5f60ff82169050919050565b5f62000af38262000730565b915062000b008362000adb565b925062000b2f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620009f1565b905092915050565b5f62000b438262000730565b915062000b508362000730565b925082820262000b608162000730565b9150828204841483151762000b7a5762000b796200095e565b5b5092915050565b5f82825260208201905092915050565b7f54524f4c4c466f726b3a206d696e7420746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f62000bed60238362000b81565b915062000bfa8262000b91565b604082019050919050565b5f6020820190508181035f83015262000c1e8162000bdf565b9050919050565b5f62000c318262000730565b915062000c3e8362000730565b925082820190508082111562000c595762000c586200095e565b5b92915050565b62000c6a8162000730565b82525050565b5f60208201905062000c855f83018462000c5f565b92915050565b7f4e6f207472616e7366657220726967687461732072656d61696e696e670000005f82015250565b5f62000cc1601d8362000b81565b915062000cce8262000c8b565b602082019050919050565b5f6020820190508181035f83015262000cf28162000cb3565b9050919050565b5f62000d058262000730565b91505f820362000d1a5762000d196200095e565b5b600182039050919050565b6123db8062000d335f395ff3fe60806040526004361061012d575f3560e01c806375d5e02c116100aa578063a457c2d71161006e578063a457c2d7146103f0578063a9059cbb1461042c578063c584ddba14610468578063dd62ed3e146104a4578063f2fde38b146104e0578063fc70e8301461050857610134565b806375d5e02c1461030e57806381d6481f1461034a5780638a8c523c146103865780638da5cb5b1461039c57806395d89b41146103c657610134565b806339509351116100f1578063395093511461022e578063484d993f1461026a5780634ada218b1461029257806370a08231146102bc578063715018a6146102f857610134565b806306fdde0314610138578063095ea7b31461016257806318160ddd1461019e57806323b872dd146101c8578063313ce5671461020457610134565b3661013457005b5f80fd5b348015610143575f80fd5b5061014c610530565b6040516101599190611936565b60405180910390f35b34801561016d575f80fd5b50610188600480360381019061018391906119e7565b6105c0565b6040516101959190611a3f565b60405180910390f35b3480156101a9575f80fd5b506101b26105dd565b6040516101bf9190611a67565b60405180910390f35b3480156101d3575f80fd5b506101ee60048036038101906101e99190611a80565b6105e6565b6040516101fb9190611a3f565b60405180910390f35b34801561020f575f80fd5b50610218610700565b6040516102259190611aeb565b60405180910390f35b348015610239575f80fd5b50610254600480360381019061024f91906119e7565b610708565b6040516102619190611a3f565b60405180910390f35b348015610275575f80fd5b50610290600480360381019061028b9190611b2e565b6107af565b005b34801561029d575f80fd5b506102a6610912565b6040516102b39190611a3f565b60405180910390f35b3480156102c7575f80fd5b506102e260048036038101906102dd9190611b6c565b610924565b6040516102ef9190611a67565b60405180910390f35b348015610303575f80fd5b5061030c610969565b005b348015610319575f80fd5b50610334600480360381019061032f9190611b6c565b6109f0565b6040516103419190611a3f565b60405180910390f35b348015610355575f80fd5b50610370600480360381019061036b9190611b6c565b610a42565b60405161037d9190611a67565b60405180910390f35b348015610391575f80fd5b5061039a610a88565b005b3480156103a7575f80fd5b506103b0610b6f565b6040516103bd9190611ba6565b60405180910390f35b3480156103d1575f80fd5b506103da610b97565b6040516103e79190611936565b60405180910390f35b3480156103fb575f80fd5b50610416600480360381019061041191906119e7565b610c27565b6040516104239190611a3f565b60405180910390f35b348015610437575f80fd5b50610452600480360381019061044d91906119e7565b610d0d565b60405161045f9190611a3f565b60405180910390f35b348015610473575f80fd5b5061048e60048036038101906104899190611b6c565b610d2a565b60405161049b9190611a3f565b60405180910390f35b3480156104af575f80fd5b506104ca60048036038101906104c59190611bbf565b610d7c565b6040516104d79190611a67565b60405180910390f35b3480156104eb575f80fd5b5061050660048036038101906105019190611b6c565b610dfe565b005b348015610513575f80fd5b5061052e600480360381019061052991906119e7565b610ef4565b005b60606002805461053f90611c2a565b80601f016020809104026020016040519081016040528092919081815260200182805461056b90611c2a565b80156105b65780601f1061058d576101008083540402835291602001916105b6565b820191905f5260205f20905b81548152906001019060200180831161059957829003601f168201915b5050505050905090565b5f6105d36105cc61100b565b8484611012565b6001905092915050565b5f600454905090565b5f8060015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61062e61100b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146106e957828110156106d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106cb90611cca565b60405180910390fd5b6106e8856106e061100b565b858403611012565b5b6106f48585856111d5565b60019150509392505050565b5f6012905090565b5f6107a561071461100b565b848460015f61072161100b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546107a09190611d15565b611012565b6001905092915050565b6107b761100b565b73ffffffffffffffffffffffffffffffffffffffff166107d5610b6f565b73ffffffffffffffffffffffffffffffffffffffff161461082b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082290611db8565b60405180910390fd5b80151560065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161515036108ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b190611e46565b60405180910390fd5b8060065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b60095f9054906101000a900460ff1681565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61097161100b565b73ffffffffffffffffffffffffffffffffffffffff1661098f610b6f565b73ffffffffffffffffffffffffffffffffffffffff16146109e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109dc90611db8565b60405180910390fd5b6109ee5f6113c9565b565b5f60065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b5f60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610a9061100b565b73ffffffffffffffffffffffffffffffffffffffff16610aae610b6f565b73ffffffffffffffffffffffffffffffffffffffff1614610b04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610afb90611db8565b60405180910390fd5b60095f9054906101000a900460ff1615610b53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4a90611eae565b60405180910390fd5b600160095f6101000a81548160ff021916908315150217905550565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060038054610ba690611c2a565b80601f0160208091040260200160405190810160405280929190818152602001828054610bd290611c2a565b8015610c1d5780601f10610bf457610100808354040283529160200191610c1d565b820191905f5260205f20905b815481529060010190602001808311610c0057829003601f168201915b5050505050905090565b5f8060015f610c3461100b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610cee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce590611f3c565b60405180910390fd5b610d02610cf961100b565b85858403611012565b600191505092915050565b5f610d20610d1961100b565b84846111d5565b6001905092915050565b5f60085f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610e0661100b565b73ffffffffffffffffffffffffffffffffffffffff16610e24610b6f565b73ffffffffffffffffffffffffffffffffffffffff1614610e7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7190611db8565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610ee8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610edf90611fca565b60405180910390fd5b610ef1816113c9565b50565b610efc61100b565b73ffffffffffffffffffffffffffffffffffffffff16610f1a610b6f565b73ffffffffffffffffffffffffffffffffffffffff1614610f70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6790611db8565b60405180910390fd5b8060075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611080576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107790612058565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036110ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e5906120e6565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111c89190611a67565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611243576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123a90612174565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036112b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a890612202565b60405180910390fd5b60095f9054906101000a900460ff1680611311575060065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b80611362575060065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b6113a1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113989061226a565b60405180910390fd5b5f81036113b8576113b383835f61148c565b6113c4565b6113c383838361148c565b5b505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036114fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f190612174565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611568576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155f90612202565b60405180910390fd5b611573838383611701565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156115f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ed906122f8565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546116849190611d15565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516116e89190611a67565b60405180910390a36116fb8484846118a2565b50505050565b61170c8383836118a7565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561177457505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156117c6575060085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b1561189d575f60075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541161184a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161184190612360565b60405180910390fd5b60075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8154809291906118979061237e565b91905055505b505050565b505050565b505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156118e35780820151818401526020810190506118c8565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611908826118ac565b61191281856118b6565b93506119228185602086016118c6565b61192b816118ee565b840191505092915050565b5f6020820190508181035f83015261194e81846118fe565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6119838261195a565b9050919050565b61199381611979565b811461199d575f80fd5b50565b5f813590506119ae8161198a565b92915050565b5f819050919050565b6119c6816119b4565b81146119d0575f80fd5b50565b5f813590506119e1816119bd565b92915050565b5f80604083850312156119fd576119fc611956565b5b5f611a0a858286016119a0565b9250506020611a1b858286016119d3565b9150509250929050565b5f8115159050919050565b611a3981611a25565b82525050565b5f602082019050611a525f830184611a30565b92915050565b611a61816119b4565b82525050565b5f602082019050611a7a5f830184611a58565b92915050565b5f805f60608486031215611a9757611a96611956565b5b5f611aa4868287016119a0565b9350506020611ab5868287016119a0565b9250506040611ac6868287016119d3565b9150509250925092565b5f60ff82169050919050565b611ae581611ad0565b82525050565b5f602082019050611afe5f830184611adc565b92915050565b611b0d81611a25565b8114611b17575f80fd5b50565b5f81359050611b2881611b04565b92915050565b5f8060408385031215611b4457611b43611956565b5b5f611b51858286016119a0565b9250506020611b6285828601611b1a565b9150509250929050565b5f60208284031215611b8157611b80611956565b5b5f611b8e848285016119a0565b91505092915050565b611ba081611979565b82525050565b5f602082019050611bb95f830184611b97565b92915050565b5f8060408385031215611bd557611bd4611956565b5b5f611be2858286016119a0565b9250506020611bf3858286016119a0565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680611c4157607f821691505b602082108103611c5457611c53611bfd565b5b50919050565b7f54524f4c4c466f726b3a207472616e7366657220616d6f756e742065786365645f8201527f7320616c6c6f77616e6365000000000000000000000000000000000000000000602082015250565b5f611cb4602b836118b6565b9150611cbf82611c5a565b604082019050919050565b5f6020820190508181035f830152611ce181611ca8565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611d1f826119b4565b9150611d2a836119b4565b9250828201905080821115611d4257611d41611ce8565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6e655f8201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b5f611da26021836118b6565b9150611dad82611d48565b604082019050919050565b5f6020820190508181035f830152611dcf81611d96565b9050919050565b7f4163636f756e7420697320616c72656164792076616c7565206f6620276578635f8201527f6c75646563642700000000000000000000000000000000000000000000000000602082015250565b5f611e306027836118b6565b9150611e3b82611dd6565b604082019050919050565b5f6020820190508181035f830152611e5d81611e24565b9050919050565b7f54726164696e6720616c726561647920656e61626c65642e00000000000000005f82015250565b5f611e986018836118b6565b9150611ea382611e64565b602082019050919050565b5f6020820190508181035f830152611ec581611e8c565b9050919050565b7f54524f4c4c466f726b3a2064656372656173656420616c6c6f77616e636520625f8201527f656c6f77207a65726f0000000000000000000000000000000000000000000000602082015250565b5f611f266029836118b6565b9150611f3182611ecc565b604082019050919050565b5f6020820190508181035f830152611f5381611f1a565b9050919050565b7f4f776e61626c653a206e6577206f776e65737220697320746865207a65726f205f8201527f6164647265737300000000000000000000000000000000000000000000000000602082015250565b5f611fb46027836118b6565b9150611fbf82611f5a565b604082019050919050565b5f6020820190508181035f830152611fe181611fa8565b9050919050565b7f54524f4c4c466f726b3a20617070726f76652066726f6d20746865207a65726f5f8201527f2061646472657373000000000000000000000000000000000000000000000000602082015250565b5f6120426028836118b6565b915061204d82611fe8565b604082019050919050565b5f6020820190508181035f83015261206f81612036565b9050919050565b7f54524f4c4c466f726b3a20617070726f766520746f20746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6120d06026836118b6565b91506120db82612076565b604082019050919050565b5f6020820190508181035f8301526120fd816120c4565b9050919050565b7f54524f4c4c466f726b3a207472616e736665722066726f6d20746865207a65725f8201527f6f20616464726573730000000000000000000000000000000000000000000000602082015250565b5f61215e6029836118b6565b915061216982612104565b604082019050919050565b5f6020820190508181035f83015261218b81612152565b9050919050565b7f54524f4c4c466f726b3a207472616e7366657220746f20746865207a65726f205f8201527f6164647265737300000000000000000000000000000000000000000000000000602082015250565b5f6121ec6027836118b6565b91506121f782612192565b604082019050919050565b5f6020820190508181035f830152612219816121e0565b9050919050565b7f54726164696e67206e6f742079657420656e61626c65642100000000000000005f82015250565b5f6122546018836118b6565b915061225f82612220565b602082019050919050565b5f6020820190508181035f83015261228181612248565b9050919050565b7f54524f4c4c466f726b3a207472616e7366657220616d6f756e742065786365655f8201527f64732062616c616e636500000000000000000000000000000000000000000000602082015250565b5f6122e2602a836118b6565b91506122ed82612288565b604082019050919050565b5f6020820190508181035f83015261230f816122d6565b9050919050565b7f4e6f207472616e7366657220726967687461732072656d61696e696e670000005f82015250565b5f61234a601d836118b6565b915061235582612316565b602082019050919050565b5f6020820190508181035f8301526123778161233e565b9050919050565b5f612388826119b4565b91505f820361239a57612399611ce8565b5b60018203905091905056fea26469706673582212205ebb16aaedbe2814cdcd80c9a9bea86386f3a7790079d8177ab38e8346a5aa6264736f6c63430008140033000000000000000000000000d2529c94b7fe1be38fba863ae0a034218715df4b

Deployed Bytecode

0x60806040526004361061012d575f3560e01c806375d5e02c116100aa578063a457c2d71161006e578063a457c2d7146103f0578063a9059cbb1461042c578063c584ddba14610468578063dd62ed3e146104a4578063f2fde38b146104e0578063fc70e8301461050857610134565b806375d5e02c1461030e57806381d6481f1461034a5780638a8c523c146103865780638da5cb5b1461039c57806395d89b41146103c657610134565b806339509351116100f1578063395093511461022e578063484d993f1461026a5780634ada218b1461029257806370a08231146102bc578063715018a6146102f857610134565b806306fdde0314610138578063095ea7b31461016257806318160ddd1461019e57806323b872dd146101c8578063313ce5671461020457610134565b3661013457005b5f80fd5b348015610143575f80fd5b5061014c610530565b6040516101599190611936565b60405180910390f35b34801561016d575f80fd5b50610188600480360381019061018391906119e7565b6105c0565b6040516101959190611a3f565b60405180910390f35b3480156101a9575f80fd5b506101b26105dd565b6040516101bf9190611a67565b60405180910390f35b3480156101d3575f80fd5b506101ee60048036038101906101e99190611a80565b6105e6565b6040516101fb9190611a3f565b60405180910390f35b34801561020f575f80fd5b50610218610700565b6040516102259190611aeb565b60405180910390f35b348015610239575f80fd5b50610254600480360381019061024f91906119e7565b610708565b6040516102619190611a3f565b60405180910390f35b348015610275575f80fd5b50610290600480360381019061028b9190611b2e565b6107af565b005b34801561029d575f80fd5b506102a6610912565b6040516102b39190611a3f565b60405180910390f35b3480156102c7575f80fd5b506102e260048036038101906102dd9190611b6c565b610924565b6040516102ef9190611a67565b60405180910390f35b348015610303575f80fd5b5061030c610969565b005b348015610319575f80fd5b50610334600480360381019061032f9190611b6c565b6109f0565b6040516103419190611a3f565b60405180910390f35b348015610355575f80fd5b50610370600480360381019061036b9190611b6c565b610a42565b60405161037d9190611a67565b60405180910390f35b348015610391575f80fd5b5061039a610a88565b005b3480156103a7575f80fd5b506103b0610b6f565b6040516103bd9190611ba6565b60405180910390f35b3480156103d1575f80fd5b506103da610b97565b6040516103e79190611936565b60405180910390f35b3480156103fb575f80fd5b50610416600480360381019061041191906119e7565b610c27565b6040516104239190611a3f565b60405180910390f35b348015610437575f80fd5b50610452600480360381019061044d91906119e7565b610d0d565b60405161045f9190611a3f565b60405180910390f35b348015610473575f80fd5b5061048e60048036038101906104899190611b6c565b610d2a565b60405161049b9190611a3f565b60405180910390f35b3480156104af575f80fd5b506104ca60048036038101906104c59190611bbf565b610d7c565b6040516104d79190611a67565b60405180910390f35b3480156104eb575f80fd5b5061050660048036038101906105019190611b6c565b610dfe565b005b348015610513575f80fd5b5061052e600480360381019061052991906119e7565b610ef4565b005b60606002805461053f90611c2a565b80601f016020809104026020016040519081016040528092919081815260200182805461056b90611c2a565b80156105b65780601f1061058d576101008083540402835291602001916105b6565b820191905f5260205f20905b81548152906001019060200180831161059957829003601f168201915b5050505050905090565b5f6105d36105cc61100b565b8484611012565b6001905092915050565b5f600454905090565b5f8060015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61062e61100b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146106e957828110156106d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106cb90611cca565b60405180910390fd5b6106e8856106e061100b565b858403611012565b5b6106f48585856111d5565b60019150509392505050565b5f6012905090565b5f6107a561071461100b565b848460015f61072161100b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546107a09190611d15565b611012565b6001905092915050565b6107b761100b565b73ffffffffffffffffffffffffffffffffffffffff166107d5610b6f565b73ffffffffffffffffffffffffffffffffffffffff161461082b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082290611db8565b60405180910390fd5b80151560065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161515036108ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b190611e46565b60405180910390fd5b8060065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b60095f9054906101000a900460ff1681565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61097161100b565b73ffffffffffffffffffffffffffffffffffffffff1661098f610b6f565b73ffffffffffffffffffffffffffffffffffffffff16146109e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109dc90611db8565b60405180910390fd5b6109ee5f6113c9565b565b5f60065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b5f60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610a9061100b565b73ffffffffffffffffffffffffffffffffffffffff16610aae610b6f565b73ffffffffffffffffffffffffffffffffffffffff1614610b04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610afb90611db8565b60405180910390fd5b60095f9054906101000a900460ff1615610b53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4a90611eae565b60405180910390fd5b600160095f6101000a81548160ff021916908315150217905550565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060038054610ba690611c2a565b80601f0160208091040260200160405190810160405280929190818152602001828054610bd290611c2a565b8015610c1d5780601f10610bf457610100808354040283529160200191610c1d565b820191905f5260205f20905b815481529060010190602001808311610c0057829003601f168201915b5050505050905090565b5f8060015f610c3461100b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610cee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce590611f3c565b60405180910390fd5b610d02610cf961100b565b85858403611012565b600191505092915050565b5f610d20610d1961100b565b84846111d5565b6001905092915050565b5f60085f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610e0661100b565b73ffffffffffffffffffffffffffffffffffffffff16610e24610b6f565b73ffffffffffffffffffffffffffffffffffffffff1614610e7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7190611db8565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610ee8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610edf90611fca565b60405180910390fd5b610ef1816113c9565b50565b610efc61100b565b73ffffffffffffffffffffffffffffffffffffffff16610f1a610b6f565b73ffffffffffffffffffffffffffffffffffffffff1614610f70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6790611db8565b60405180910390fd5b8060075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611080576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107790612058565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036110ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e5906120e6565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111c89190611a67565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611243576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123a90612174565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036112b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a890612202565b60405180910390fd5b60095f9054906101000a900460ff1680611311575060065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b80611362575060065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b6113a1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113989061226a565b60405180910390fd5b5f81036113b8576113b383835f61148c565b6113c4565b6113c383838361148c565b5b505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036114fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f190612174565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611568576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155f90612202565b60405180910390fd5b611573838383611701565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156115f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ed906122f8565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546116849190611d15565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516116e89190611a67565b60405180910390a36116fb8484846118a2565b50505050565b61170c8383836118a7565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561177457505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156117c6575060085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b1561189d575f60075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541161184a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161184190612360565b60405180910390fd5b60075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8154809291906118979061237e565b91905055505b505050565b505050565b505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156118e35780820151818401526020810190506118c8565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611908826118ac565b61191281856118b6565b93506119228185602086016118c6565b61192b816118ee565b840191505092915050565b5f6020820190508181035f83015261194e81846118fe565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6119838261195a565b9050919050565b61199381611979565b811461199d575f80fd5b50565b5f813590506119ae8161198a565b92915050565b5f819050919050565b6119c6816119b4565b81146119d0575f80fd5b50565b5f813590506119e1816119bd565b92915050565b5f80604083850312156119fd576119fc611956565b5b5f611a0a858286016119a0565b9250506020611a1b858286016119d3565b9150509250929050565b5f8115159050919050565b611a3981611a25565b82525050565b5f602082019050611a525f830184611a30565b92915050565b611a61816119b4565b82525050565b5f602082019050611a7a5f830184611a58565b92915050565b5f805f60608486031215611a9757611a96611956565b5b5f611aa4868287016119a0565b9350506020611ab5868287016119a0565b9250506040611ac6868287016119d3565b9150509250925092565b5f60ff82169050919050565b611ae581611ad0565b82525050565b5f602082019050611afe5f830184611adc565b92915050565b611b0d81611a25565b8114611b17575f80fd5b50565b5f81359050611b2881611b04565b92915050565b5f8060408385031215611b4457611b43611956565b5b5f611b51858286016119a0565b9250506020611b6285828601611b1a565b9150509250929050565b5f60208284031215611b8157611b80611956565b5b5f611b8e848285016119a0565b91505092915050565b611ba081611979565b82525050565b5f602082019050611bb95f830184611b97565b92915050565b5f8060408385031215611bd557611bd4611956565b5b5f611be2858286016119a0565b9250506020611bf3858286016119a0565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680611c4157607f821691505b602082108103611c5457611c53611bfd565b5b50919050565b7f54524f4c4c466f726b3a207472616e7366657220616d6f756e742065786365645f8201527f7320616c6c6f77616e6365000000000000000000000000000000000000000000602082015250565b5f611cb4602b836118b6565b9150611cbf82611c5a565b604082019050919050565b5f6020820190508181035f830152611ce181611ca8565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611d1f826119b4565b9150611d2a836119b4565b9250828201905080821115611d4257611d41611ce8565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6e655f8201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b5f611da26021836118b6565b9150611dad82611d48565b604082019050919050565b5f6020820190508181035f830152611dcf81611d96565b9050919050565b7f4163636f756e7420697320616c72656164792076616c7565206f6620276578635f8201527f6c75646563642700000000000000000000000000000000000000000000000000602082015250565b5f611e306027836118b6565b9150611e3b82611dd6565b604082019050919050565b5f6020820190508181035f830152611e5d81611e24565b9050919050565b7f54726164696e6720616c726561647920656e61626c65642e00000000000000005f82015250565b5f611e986018836118b6565b9150611ea382611e64565b602082019050919050565b5f6020820190508181035f830152611ec581611e8c565b9050919050565b7f54524f4c4c466f726b3a2064656372656173656420616c6c6f77616e636520625f8201527f656c6f77207a65726f0000000000000000000000000000000000000000000000602082015250565b5f611f266029836118b6565b9150611f3182611ecc565b604082019050919050565b5f6020820190508181035f830152611f5381611f1a565b9050919050565b7f4f776e61626c653a206e6577206f776e65737220697320746865207a65726f205f8201527f6164647265737300000000000000000000000000000000000000000000000000602082015250565b5f611fb46027836118b6565b9150611fbf82611f5a565b604082019050919050565b5f6020820190508181035f830152611fe181611fa8565b9050919050565b7f54524f4c4c466f726b3a20617070726f76652066726f6d20746865207a65726f5f8201527f2061646472657373000000000000000000000000000000000000000000000000602082015250565b5f6120426028836118b6565b915061204d82611fe8565b604082019050919050565b5f6020820190508181035f83015261206f81612036565b9050919050565b7f54524f4c4c466f726b3a20617070726f766520746f20746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6120d06026836118b6565b91506120db82612076565b604082019050919050565b5f6020820190508181035f8301526120fd816120c4565b9050919050565b7f54524f4c4c466f726b3a207472616e736665722066726f6d20746865207a65725f8201527f6f20616464726573730000000000000000000000000000000000000000000000602082015250565b5f61215e6029836118b6565b915061216982612104565b604082019050919050565b5f6020820190508181035f83015261218b81612152565b9050919050565b7f54524f4c4c466f726b3a207472616e7366657220746f20746865207a65726f205f8201527f6164647265737300000000000000000000000000000000000000000000000000602082015250565b5f6121ec6027836118b6565b91506121f782612192565b604082019050919050565b5f6020820190508181035f830152612219816121e0565b9050919050565b7f54726164696e67206e6f742079657420656e61626c65642100000000000000005f82015250565b5f6122546018836118b6565b915061225f82612220565b602082019050919050565b5f6020820190508181035f83015261228181612248565b9050919050565b7f54524f4c4c466f726b3a207472616e7366657220616d6f756e742065786365655f8201527f64732062616c616e636500000000000000000000000000000000000000000000602082015250565b5f6122e2602a836118b6565b91506122ed82612288565b604082019050919050565b5f6020820190508181035f83015261230f816122d6565b9050919050565b7f4e6f207472616e7366657220726967687461732072656d61696e696e670000005f82015250565b5f61234a601d836118b6565b915061235582612316565b602082019050919050565b5f6020820190508181035f8301526123778161233e565b9050919050565b5f612388826119b4565b91505f820361239a57612399611ce8565b5b60018203905091905056fea26469706673582212205ebb16aaedbe2814cdcd80c9a9bea86386f3a7790079d8177ab38e8346a5aa6264736f6c63430008140033

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

000000000000000000000000d2529c94b7fe1be38fba863ae0a034218715df4b

-----Decoded View---------------
Arg [0] : owner (address): 0xD2529c94b7fE1be38FBa863AE0a034218715DF4B

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000d2529c94b7fe1be38fba863ae0a034218715df4b


Deployed Bytecode Sourcemap

7425:2350:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2633:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3557:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2954:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3734:594;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2853:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4336:215;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7814:256;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9037:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3070:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1744:94;;;;;;;;;;;;;:::i;:::-;;8078:140;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8441:110;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9072:146;;;;;;;;;;;;;:::i;:::-;;1520:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2741:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4559:417;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3205:185;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8559:110;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3398:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1846:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8278:155;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2633:100;2687:13;2720:5;2713:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2633:100;:::o;3557:169::-;3640:4;3657:39;3666:12;:10;:12::i;:::-;3680:7;3689:6;3657:8;:39::i;:::-;3714:4;3707:11;;3557:169;;;;:::o;2954:108::-;3015:7;3042:12;;3035:19;;2954:108;:::o;3734:594::-;3874:4;3891:24;3918:11;:19;3930:6;3918:19;;;;;;;;;;;;;;;:33;3938:12;:10;:12::i;:::-;3918:33;;;;;;;;;;;;;;;;3891:60;;3986:17;3966:16;:37;3962:286;;4048:6;4028:16;:26;;4020:82;;;;;;;;;;;;:::i;:::-;;;;;;;;;4146:75;4155:6;4163:12;:10;:12::i;:::-;4214:6;4195:16;:25;4146:8;:75::i;:::-;3962:286;4260:36;4270:6;4278:9;4289:6;4260:9;:36::i;:::-;4316:4;4309:11;;;3734:594;;;;;:::o;2853:93::-;2911:5;2936:2;2929:9;;2853:93;:::o;4336:215::-;4424:4;4441:80;4450:12;:10;:12::i;:::-;4464:7;4510:10;4473:11;:25;4485:12;:10;:12::i;:::-;4473:25;;;;;;;;;;;;;;;:34;4499:7;4473:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;4441:8;:80::i;:::-;4539:4;4532:11;;4336:215;;;;:::o;7814:256::-;1666:12;:10;:12::i;:::-;1655:23;;:7;:5;:7::i;:::-;:23;;;1647:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;7955:8:::1;7917:46;;:25;:34;7943:7;7917:34;;;;;;;;;;;;;;;;;;;;;;;;;:46;;::::0;7909:97:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;8054:8;8017:25;:34;8043:7;8017:34;;;;;;;;;;;;;;;;:45;;;;;;;;;;;;;;;;;;7814:256:::0;;:::o;9037:26::-;;;;;;;;;;;;;:::o;3070:127::-;3144:7;3171:9;:18;3181:7;3171:18;;;;;;;;;;;;;;;;3164:25;;3070:127;;;:::o;1744:94::-;1666:12;:10;:12::i;:::-;1655:23;;:7;:5;:7::i;:::-;:23;;;1647:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;1809:21:::1;1827:1;1809:9;:21::i;:::-;1744:94::o:0;8078:140::-;8152:4;8176:25;:34;8202:7;8176:34;;;;;;;;;;;;;;;;;;;;;;;;;8169:41;;8078:140;;;:::o;8441:110::-;8499:7;8526;:17;8534:8;8526:17;;;;;;;;;;;;;;;;8519:24;;8441:110;;;:::o;9072:146::-;1666:12;:10;:12::i;:::-;1655:23;;:7;:5;:7::i;:::-;:23;;;1647:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;9135:14:::1;;;;;;;;;;;9134:15;9126:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;9206:4;9189:14;;:21;;;;;;;;;;;;;;;;;;9072:146::o:0;1520:87::-;1566:7;1593:6;;;;;;;;;;;1586:13;;1520:87;:::o;2741:104::-;2797:13;2830:7;2823:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2741:104;:::o;4559:417::-;4652:4;4669:24;4696:11;:25;4708:12;:10;:12::i;:::-;4696:25;;;;;;;;;;;;;;;:34;4722:7;4696:34;;;;;;;;;;;;;;;;4669:61;;4769:15;4749:16;:35;;4741:89;;;;;;;;;;;;:::i;:::-;;;;;;;;;4866:67;4875:12;:10;:12::i;:::-;4889:7;4917:15;4898:16;:34;4866:8;:67::i;:::-;4964:4;4957:11;;;4559:417;;;;:::o;3205:185::-;3291:4;3308:52;3318:12;:10;:12::i;:::-;3332:9;3353:6;3308:9;:52::i;:::-;3378:4;3371:11;;3205:185;;;;:::o;8559:110::-;8617:4;8641:10;:20;8652:8;8641:20;;;;;;;;;;;;;;;;;;;;;;;;;8634:27;;8559:110;;;:::o;3398:151::-;3487:7;3514:11;:18;3526:5;3514:18;;;;;;;;;;;;;;;:27;3533:7;3514:27;;;;;;;;;;;;;;;;3507:34;;3398:151;;;;:::o;1846:193::-;1666:12;:10;:12::i;:::-;1655:23;;:7;:5;:7::i;:::-;:23;;;1647:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;1955:1:::1;1935:22;;:8;:22;;::::0;1927:74:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;2012:19;2022:8;2012:9;:19::i;:::-;1846:193:::0;:::o;8278:155::-;1666:12;:10;:12::i;:::-;1655:23;;:7;:5;:7::i;:::-;:23;;;1647:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;8381:6:::1;8361:7;:17;8369:8;8361:17;;;;;;;;;;;;;;;:26;;;;8421:4;8398:10;:20;8409:8;8398:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;8278:155:::0;;:::o;1076:98::-;1129:7;1156:10;1149:17;;1076:98;:::o;6765:388::-;6918:1;6901:19;;:5;:19;;;6893:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;7003:1;6984:21;;:7;:21;;;6976:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;7091:6;7061:11;:18;7073:5;7061:18;;;;;;;;;;;;;;;:27;7080:7;7061:27;;;;;;;;;;;;;;;:36;;;;7129:7;7113:32;;7122:5;7113:32;;;7138:6;7113:32;;;;;;:::i;:::-;;;;;;;;6765:388;;;:::o;9226:546::-;9339:1;9323:18;;:4;:18;;;9315:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;9420:1;9406:16;;:2;:16;;;9398:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9485:14;;;;;;;;;;;:49;;;;9503:25;:31;9529:4;9503:31;;;;;;;;;;;;;;;;;;;;;;;;;9485:49;:82;;;;9538:25;:29;9564:2;9538:29;;;;;;;;;;;;;;;;;;;;;;;;;9485:82;9477:129;;;;;;;;;;;;:::i;:::-;;;;;;;;;9640:1;9630:6;:11;9626:93;;9658:28;9674:4;9680:2;9684:1;9658:15;:28::i;:::-;9701:7;;9626:93;9731:33;9747:4;9753:2;9757:6;9731:15;:33::i;:::-;9226:546;;;;:::o;2047:173::-;2103:16;2122:6;;;;;;;;;;;2103:25;;2148:8;2139:6;;:17;;;;;;;;;;;;;;;;;;2203:8;2172:40;;2193:8;2172:40;;;;;;;;;;;;2092:128;2047:173;:::o;4984:755::-;5142:1;5124:20;;:6;:20;;;5116:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;5230:1;5209:23;;:9;:23;;;5201:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;5289:47;5310:6;5318:9;5329:6;5289:20;:47::i;:::-;5349:21;5373:9;:17;5383:6;5373:17;;;;;;;;;;;;;;;;5349:41;;5426:6;5409:13;:23;;5401:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;5551:6;5535:13;:22;5515:9;:17;5525:6;5515:17;;;;;;;;;;;;;;;:42;;;;5603:6;5579:9;:20;5589:9;5579:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;5644:9;5627:35;;5636:6;5627:35;;;5655:6;5627:35;;;;;;:::i;:::-;;;;;;;;5675:56;5695:6;5713:9;5724:6;5675:19;:56::i;:::-;5105:634;4984:755;;;:::o;8677:352::-;8786:44;8813:4;8819:2;8823:6;8786:26;:44::i;:::-;8862:1;8846:18;;:4;:18;;;;:38;;;;;8882:1;8868:16;;:2;:16;;;;8846:38;:58;;;;;8888:10;:16;8899:4;8888:16;;;;;;;;;;;;;;;;;;;;;;;;;8846:58;8843:179;;;8945:1;8929:7;:13;8937:4;8929:13;;;;;;;;;;;;;;;;:17;8921:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;8995:7;:13;9003:4;8995:13;;;;;;;;;;;;;;;;:15;;;;;;;;;:::i;:::-;;;;;;8843:179;8677:352;;;:::o;7294:124::-;;;;:::o;7161:125::-;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:116::-;4923:21;4938:5;4923:21;:::i;:::-;4916:5;4913:32;4903:60;;4959:1;4956;4949:12;4903:60;4853:116;:::o;4975:133::-;5018:5;5056:6;5043:20;5034:29;;5072:30;5096:5;5072:30;:::i;:::-;4975:133;;;;:::o;5114:468::-;5179:6;5187;5236:2;5224:9;5215:7;5211:23;5207:32;5204:119;;;5242:79;;:::i;:::-;5204:119;5362:1;5387:53;5432:7;5423:6;5412:9;5408:22;5387:53;:::i;:::-;5377:63;;5333:117;5489:2;5515:50;5557:7;5548:6;5537:9;5533:22;5515:50;:::i;:::-;5505:60;;5460:115;5114:468;;;;;:::o;5588:329::-;5647:6;5696:2;5684:9;5675:7;5671:23;5667:32;5664:119;;;5702:79;;:::i;:::-;5664:119;5822:1;5847:53;5892:7;5883:6;5872:9;5868:22;5847:53;:::i;:::-;5837:63;;5793:117;5588:329;;;;:::o;5923:118::-;6010:24;6028:5;6010:24;:::i;:::-;6005:3;5998:37;5923:118;;:::o;6047:222::-;6140:4;6178:2;6167:9;6163:18;6155:26;;6191:71;6259:1;6248:9;6244:17;6235:6;6191:71;:::i;:::-;6047:222;;;;:::o;6275:474::-;6343:6;6351;6400:2;6388:9;6379:7;6375:23;6371:32;6368:119;;;6406:79;;:::i;:::-;6368:119;6526:1;6551:53;6596:7;6587:6;6576:9;6572:22;6551:53;:::i;:::-;6541:63;;6497:117;6653:2;6679:53;6724:7;6715:6;6704:9;6700:22;6679:53;:::i;:::-;6669:63;;6624:118;6275:474;;;;;:::o;6755:180::-;6803:77;6800:1;6793:88;6900:4;6897:1;6890:15;6924:4;6921:1;6914:15;6941:320;6985:6;7022:1;7016:4;7012:12;7002:22;;7069:1;7063:4;7059:12;7090:18;7080:81;;7146:4;7138:6;7134:17;7124:27;;7080:81;7208:2;7200:6;7197:14;7177:18;7174:38;7171:84;;7227:18;;:::i;:::-;7171:84;6992:269;6941:320;;;:::o;7267:230::-;7407:34;7403:1;7395:6;7391:14;7384:58;7476:13;7471:2;7463:6;7459:15;7452:38;7267:230;:::o;7503:366::-;7645:3;7666:67;7730:2;7725:3;7666:67;:::i;:::-;7659:74;;7742:93;7831:3;7742:93;:::i;:::-;7860:2;7855:3;7851:12;7844:19;;7503:366;;;:::o;7875:419::-;8041:4;8079:2;8068:9;8064:18;8056:26;;8128:9;8122:4;8118:20;8114:1;8103:9;8099:17;8092:47;8156:131;8282:4;8156:131;:::i;:::-;8148:139;;7875:419;;;:::o;8300:180::-;8348:77;8345:1;8338:88;8445:4;8442:1;8435:15;8469:4;8466:1;8459:15;8486:191;8526:3;8545:20;8563:1;8545:20;:::i;:::-;8540:25;;8579:20;8597:1;8579:20;:::i;:::-;8574:25;;8622:1;8619;8615:9;8608:16;;8643:3;8640:1;8637:10;8634:36;;;8650:18;;:::i;:::-;8634:36;8486:191;;;;:::o;8683:220::-;8823:34;8819:1;8811:6;8807:14;8800:58;8892:3;8887:2;8879:6;8875:15;8868:28;8683:220;:::o;8909:366::-;9051:3;9072:67;9136:2;9131:3;9072:67;:::i;:::-;9065:74;;9148:93;9237:3;9148:93;:::i;:::-;9266:2;9261:3;9257:12;9250:19;;8909:366;;;:::o;9281:419::-;9447:4;9485:2;9474:9;9470:18;9462:26;;9534:9;9528:4;9524:20;9520:1;9509:9;9505:17;9498:47;9562:131;9688:4;9562:131;:::i;:::-;9554:139;;9281:419;;;:::o;9706:226::-;9846:34;9842:1;9834:6;9830:14;9823:58;9915:9;9910:2;9902:6;9898:15;9891:34;9706:226;:::o;9938:366::-;10080:3;10101:67;10165:2;10160:3;10101:67;:::i;:::-;10094:74;;10177:93;10266:3;10177:93;:::i;:::-;10295:2;10290:3;10286:12;10279:19;;9938:366;;;:::o;10310:419::-;10476:4;10514:2;10503:9;10499:18;10491:26;;10563:9;10557:4;10553:20;10549:1;10538:9;10534:17;10527:47;10591:131;10717:4;10591:131;:::i;:::-;10583:139;;10310:419;;;:::o;10735:174::-;10875:26;10871:1;10863:6;10859:14;10852:50;10735:174;:::o;10915:366::-;11057:3;11078:67;11142:2;11137:3;11078:67;:::i;:::-;11071:74;;11154:93;11243:3;11154:93;:::i;:::-;11272:2;11267:3;11263:12;11256:19;;10915:366;;;:::o;11287:419::-;11453:4;11491:2;11480:9;11476:18;11468:26;;11540:9;11534:4;11530:20;11526:1;11515:9;11511:17;11504:47;11568:131;11694:4;11568:131;:::i;:::-;11560:139;;11287:419;;;:::o;11712:228::-;11852:34;11848:1;11840:6;11836:14;11829:58;11921:11;11916:2;11908:6;11904:15;11897:36;11712:228;:::o;11946:366::-;12088:3;12109:67;12173:2;12168:3;12109:67;:::i;:::-;12102:74;;12185:93;12274:3;12185:93;:::i;:::-;12303:2;12298:3;12294:12;12287:19;;11946:366;;;:::o;12318:419::-;12484:4;12522:2;12511:9;12507:18;12499:26;;12571:9;12565:4;12561:20;12557:1;12546:9;12542:17;12535:47;12599:131;12725:4;12599:131;:::i;:::-;12591:139;;12318:419;;;:::o;12743:226::-;12883:34;12879:1;12871:6;12867:14;12860:58;12952:9;12947:2;12939:6;12935:15;12928:34;12743:226;:::o;12975:366::-;13117:3;13138:67;13202:2;13197:3;13138:67;:::i;:::-;13131:74;;13214:93;13303:3;13214:93;:::i;:::-;13332:2;13327:3;13323:12;13316:19;;12975:366;;;:::o;13347:419::-;13513:4;13551:2;13540:9;13536:18;13528:26;;13600:9;13594:4;13590:20;13586:1;13575:9;13571:17;13564:47;13628:131;13754:4;13628:131;:::i;:::-;13620:139;;13347:419;;;:::o;13772:227::-;13912:34;13908:1;13900:6;13896:14;13889:58;13981:10;13976:2;13968:6;13964:15;13957:35;13772:227;:::o;14005:366::-;14147:3;14168:67;14232:2;14227:3;14168:67;:::i;:::-;14161:74;;14244:93;14333:3;14244:93;:::i;:::-;14362:2;14357:3;14353:12;14346:19;;14005:366;;;:::o;14377:419::-;14543:4;14581:2;14570:9;14566:18;14558:26;;14630:9;14624:4;14620:20;14616:1;14605:9;14601:17;14594:47;14658:131;14784:4;14658:131;:::i;:::-;14650:139;;14377:419;;;:::o;14802:225::-;14942:34;14938:1;14930:6;14926:14;14919:58;15011:8;15006:2;14998:6;14994:15;14987:33;14802:225;:::o;15033:366::-;15175:3;15196:67;15260:2;15255:3;15196:67;:::i;:::-;15189:74;;15272:93;15361:3;15272:93;:::i;:::-;15390:2;15385:3;15381:12;15374:19;;15033:366;;;:::o;15405:419::-;15571:4;15609:2;15598:9;15594:18;15586:26;;15658:9;15652:4;15648:20;15644:1;15633:9;15629:17;15622:47;15686:131;15812:4;15686:131;:::i;:::-;15678:139;;15405:419;;;:::o;15830:228::-;15970:34;15966:1;15958:6;15954:14;15947:58;16039:11;16034:2;16026:6;16022:15;16015:36;15830:228;:::o;16064:366::-;16206:3;16227:67;16291:2;16286:3;16227:67;:::i;:::-;16220:74;;16303:93;16392:3;16303:93;:::i;:::-;16421:2;16416:3;16412:12;16405:19;;16064:366;;;:::o;16436:419::-;16602:4;16640:2;16629:9;16625:18;16617:26;;16689:9;16683:4;16679:20;16675:1;16664:9;16660:17;16653:47;16717:131;16843:4;16717:131;:::i;:::-;16709:139;;16436:419;;;:::o;16861:226::-;17001:34;16997:1;16989:6;16985:14;16978:58;17070:9;17065:2;17057:6;17053:15;17046:34;16861:226;:::o;17093:366::-;17235:3;17256:67;17320:2;17315:3;17256:67;:::i;:::-;17249:74;;17332:93;17421:3;17332:93;:::i;:::-;17450:2;17445:3;17441:12;17434:19;;17093:366;;;:::o;17465:419::-;17631:4;17669:2;17658:9;17654:18;17646:26;;17718:9;17712:4;17708:20;17704:1;17693:9;17689:17;17682:47;17746:131;17872:4;17746:131;:::i;:::-;17738:139;;17465:419;;;:::o;17890:174::-;18030:26;18026:1;18018:6;18014:14;18007:50;17890:174;:::o;18070:366::-;18212:3;18233:67;18297:2;18292:3;18233:67;:::i;:::-;18226:74;;18309:93;18398:3;18309:93;:::i;:::-;18427:2;18422:3;18418:12;18411:19;;18070:366;;;:::o;18442:419::-;18608:4;18646:2;18635:9;18631:18;18623:26;;18695:9;18689:4;18685:20;18681:1;18670:9;18666:17;18659:47;18723:131;18849:4;18723:131;:::i;:::-;18715:139;;18442:419;;;:::o;18867:229::-;19007:34;19003:1;18995:6;18991:14;18984:58;19076:12;19071:2;19063:6;19059:15;19052:37;18867:229;:::o;19102:366::-;19244:3;19265:67;19329:2;19324:3;19265:67;:::i;:::-;19258:74;;19341:93;19430:3;19341:93;:::i;:::-;19459:2;19454:3;19450:12;19443:19;;19102:366;;;:::o;19474:419::-;19640:4;19678:2;19667:9;19663:18;19655:26;;19727:9;19721:4;19717:20;19713:1;19702:9;19698:17;19691:47;19755:131;19881:4;19755:131;:::i;:::-;19747:139;;19474:419;;;:::o;19899:179::-;20039:31;20035:1;20027:6;20023:14;20016:55;19899:179;:::o;20084:366::-;20226:3;20247:67;20311:2;20306:3;20247:67;:::i;:::-;20240:74;;20323:93;20412:3;20323:93;:::i;:::-;20441:2;20436:3;20432:12;20425:19;;20084:366;;;:::o;20456:419::-;20622:4;20660:2;20649:9;20645:18;20637:26;;20709:9;20703:4;20699:20;20695:1;20684:9;20680:17;20673:47;20737:131;20863:4;20737:131;:::i;:::-;20729:139;;20456:419;;;:::o;20881:171::-;20920:3;20943:24;20961:5;20943:24;:::i;:::-;20934:33;;20989:4;20982:5;20979:15;20976:41;;20997:18;;:::i;:::-;20976:41;21044:1;21037:5;21033:13;21026:20;;20881:171;;;:::o

Swarm Source

ipfs://5ebb16aaedbe2814cdcd80c9a9bea86386f3a7790079d8177ab38e8346a5aa62
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.