ETH Price: $3,503.92 (+3.05%)
Gas: 12 Gwei

Token

For the Culture (Memeshi)
 

Overview

Max Total Supply

1,000,000,000 Memeshi

Holders

81

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
57,510,186.213558172377359639 Memeshi

Value
$0.00
0x7d5d22d17da5dbac275b690b7d84cb659cbb5280
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:
Memeshi

Compiler Version
v0.8.15+commit.e14f2714

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-01-28
*/

// SPDX-License-Identifier: Unlicensed

pragma solidity ^0.8.15;

abstract contract Context {
    function _msgSender() internal view virtual returns (address payable) {
        return payable(msg.sender);
    }

    function _msgData() internal view virtual returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}


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);


}

library SafeMath {

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

        return c;
    }

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

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

        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }


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

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

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

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

library Address {

    function isContract(address account) internal view returns (bool) {
        // According to EIP-1052, 0x0 is the value returned for not-yet created accounts
        // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned
        // for accounts without code, i.e. `keccak256('')`
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        // solhint-disable-next-line no-inline-assembly
        assembly { codehash := extcodehash(account) }
        return (codehash != accountHash && codehash != 0x0);
    }

    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        // solhint-disable-next-line avoid-low-level-calls, avoid-call-value
        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }


    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
      return functionCall(target, data, "Address: low-level call failed");
    }

    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        return _functionCallWithValue(target, data, 0, errorMessage);
    }

    function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }

    function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        return _functionCallWithValue(target, data, value, errorMessage);
    }

    function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) {
        require(isContract(target), "Address: call to non-contract");

        (bool success, bytes memory returndata) = target.call{ value: weiValue }(data);
        if (success) {
            return returndata;
        } else {

            if (returndata.length > 0) {
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    uint256 private _lockTime;

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

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

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

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

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

contract Memeshi is Context, IERC20, Ownable {

    using SafeMath for uint256;
    using Address for address;

    event NewMessage(string value);

    string private _name = "For the Culture";
    string private _symbol = "Memeshi";
    uint8 private _decimals = 18;
    uint256 private _totalSupply = 1000000000 * 10**_decimals;

    string public _message;

    address payable public marketingAddress = payable(0xD89d72EB8FfA30d275c610bCB86B9ea40B275573);
    address payable public deadAddress = payable(0x000000000000000000000000000000000000dEaD);
    address public messageAdmin;

    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromMaxBalanceMEMESHI;

    uint256 private _totalFeesMEMESHI;
    uint256 private _maxBalanceWalletMEMESHI;

    constructor () {
        _isExcludedFromMaxBalanceMEMESHI[owner()] = true;
        _isExcludedFromMaxBalanceMEMESHI[address(this)] = true;
        _isExcludedFromMaxBalanceMEMESHI[marketingAddress] = true;

        _totalFeesMEMESHI = 1;

        _maxBalanceWalletMEMESHI = 1000000000 * 10**_decimals;

        messageAdmin = _msgSender();
        _message = "Memeshi - For the Culture";

        _balances[_msgSender()] = _totalSupply;
        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

    receive() external payable {}

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

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

    function decimals() public view returns (uint8) {
        return _decimals;
    }

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

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

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

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

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

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

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

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
        return true;
    }

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

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

    function setMarketingAddress(address payable newMarketingAddress) external onlyOwner {
        marketingAddress = newMarketingAddress;
    }

    function changeMessage(string memory messageText) external {
        require(_msgSender() == messageAdmin, "only messageAdmin can do this");
        _message = messageText;
        emit NewMessage(_message);
    }

    function isExcludedFromMaxBalance(address account) public view returns(bool) {
        return _isExcludedFromMaxBalanceMEMESHI[account];
    }

    function excludeFromMaxBalance(address account) public onlyOwner {
        _isExcludedFromMaxBalanceMEMESHI[account] = true;
    }

    function includeInMaxBalance(address account) public onlyOwner {
        _isExcludedFromMaxBalanceMEMESHI[account] = false;
    }

    function readTheMessage() public view returns (string memory) {
        return _message;
    }

    function totalFees() public view returns (uint256) {
        return _totalFeesMEMESHI;
    }

    function maxBalance() public view returns (uint256) {
        return _maxBalanceWalletMEMESHI;
    }

    function setMaxBalance() public onlyOwner {
      _maxBalanceWalletMEMESHI = 20000000 * 10**_decimals;
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

        if(
            from != owner() &&
            to != owner() &&
            !_isExcludedFromMaxBalanceMEMESHI[to]
        ) {
            require(
                balanceOf(to).add(amount) <= _maxBalanceWalletMEMESHI,
                "Max Balance is reached."
            );
        }

        if(
            from != owner() &&
            to != owner() &&
            from != marketingAddress &&
            to != marketingAddress
        ) {
        	  uint256 feesToContract = amount.mul(_totalFeesMEMESHI).div(100);

        	  amount = amount.sub(feesToContract);

            transferToken(from, address(this), feesToContract);
        }

        transferToken(from, to, amount);
    }

    function transferToken(address sender, address recipient, uint256 amount) private {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[],"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":false,"internalType":"string","name":"value","type":"string"}],"name":"NewMessage","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":[],"name":"_message","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"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":[{"internalType":"string","name":"messageText","type":"string"}],"name":"changeMessage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"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":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromMaxBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInMaxBalance","outputs":[],"stateMutability":"nonpayable","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":"isExcludedFromMaxBalance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"messageAdmin","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"readTheMessage","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newMarketingAddress","type":"address"}],"name":"setMarketingAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setMaxBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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"}]

60c0604052600f60809081526e466f72207468652043756c7475726560881b60a052600390620000309082620002fb565b506040805180820190915260078152664d656d6573686960c81b60208201526004906200005e9082620002fb565b506005805460ff191660129081179091556200007c90600a620004dc565b6200008c90633b9aca00620004f4565b600655600880546001600160a01b031990811673d89d72eb8ffa30d275c610bcb86b9ea40b275573179091556009805490911661dead179055348015620000d257600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506001600d60006200012d6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055308152600d9093528183208054851660019081179091556008549091168352912080549092168117909155600e556005546200019c9060ff16600a620004dc565b620001ac90633b9aca00620004f4565b600f55600a80546001600160a01b0319163317905560408051808201909152601981527f4d656d65736869202d20466f72207468652043756c74757265000000000000006020820152600790620002049082620002fb565b50600654336000818152600b6020908152604080832085905551938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a362000516565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200028157607f821691505b602082108103620002a257634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620002f657600081815260208120601f850160051c81016020861015620002d15750805b601f850160051c820191505b81811015620002f257828155600101620002dd565b5050505b505050565b81516001600160401b0381111562000317576200031762000256565b6200032f816200032884546200026c565b84620002a8565b602080601f8311600181146200036757600084156200034e5750858301515b600019600386901b1c1916600185901b178555620002f2565b600085815260208120601f198616915b82811015620003985788860151825594840194600190910190840162000377565b5085821015620003b75787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200041e578160001904821115620004025762000402620003c7565b808516156200041057918102915b93841c9390800290620003e2565b509250929050565b6000826200043757506001620004d6565b816200044657506000620004d6565b81600181146200045f57600281146200046a576200048a565b6001915050620004d6565b60ff8411156200047e576200047e620003c7565b50506001821b620004d6565b5060208310610133831016604e8410600b8410161715620004af575081810a620004d6565b620004bb8383620003dd565b8060001904821115620004d257620004d2620003c7565b0290505b92915050565b6000620004ed60ff84168362000426565b9392505050565b6000816000190483118215151615620005115762000511620003c7565b500290565b6117bb80620005266000396000f3fe6080604052600436106101a05760003560e01c806360fd1c4f116100ec578063a457c2d71161008a578063b90c771311610064578063b90c7713146104ad578063d68dff19146104cd578063dd62ed3e146104e2578063f2fde38b1461052857600080fd5b8063a457c2d71461044d578063a5ece9411461046d578063a9059cbb1461048d57600080fd5b806373ad468a116100c657806373ad468a146103e55780638da5cb5b146103fa578063906e9dd01461041857806395d89b411461043857600080fd5b806360fd1c4f1461037a57806370a082311461039a578063715018a6146103d057600080fd5b8063181cec1c116101595780632b151cfe116101335780632b151cfe146102f8578063313ce56714610318578063395093511461033a5780635eb10c941461035a57600080fd5b8063181cec1c1461026757806323b872dd146102a057806327c8f835146102c057600080fd5b806306fdde03146101ac578063095ea7b3146101d75780630adde0eb1461020757806313114a9d1461021c57806317917c8c1461023b57806318160ddd1461025257600080fd5b366101a757005b600080fd5b3480156101b857600080fd5b506101c1610548565b6040516101ce9190611112565b60405180910390f35b3480156101e357600080fd5b506101f76101f236600461117f565b6105da565b60405190151581526020016101ce565b34801561021357600080fd5b506101c16105f1565b34801561022857600080fd5b50600e545b6040519081526020016101ce565b34801561024757600080fd5b5061025061067f565b005b34801561025e57600080fd5b5060065461022d565b34801561027357600080fd5b506101f76102823660046111ab565b6001600160a01b03166000908152600d602052604090205460ff1690565b3480156102ac57600080fd5b506101f76102bb3660046111c8565b6106d6565b3480156102cc57600080fd5b506009546102e0906001600160a01b031681565b6040516001600160a01b0390911681526020016101ce565b34801561030457600080fd5b506102506103133660046111ab565b61073f565b34801561032457600080fd5b5060055460405160ff90911681526020016101ce565b34801561034657600080fd5b506101f761035536600461117f565b61078d565b34801561036657600080fd5b506102506103753660046111ab565b6107c3565b34801561038657600080fd5b5061025061039536600461121f565b61080e565b3480156103a657600080fd5b5061022d6103b53660046111ab565b6001600160a01b03166000908152600b602052604090205490565b3480156103dc57600080fd5b506102506108b9565b3480156103f157600080fd5b50600f5461022d565b34801561040657600080fd5b506000546001600160a01b03166102e0565b34801561042457600080fd5b506102506104333660046111ab565b61092d565b34801561044457600080fd5b506101c1610979565b34801561045957600080fd5b506101f761046836600461117f565b610988565b34801561047957600080fd5b506008546102e0906001600160a01b031681565b34801561049957600080fd5b506101f76104a836600461117f565b6109d7565b3480156104b957600080fd5b50600a546102e0906001600160a01b031681565b3480156104d957600080fd5b506101c16109e4565b3480156104ee57600080fd5b5061022d6104fd3660046112d0565b6001600160a01b039182166000908152600c6020908152604080832093909416825291909152205490565b34801561053457600080fd5b506102506105433660046111ab565b6109f3565b60606003805461055790611309565b80601f016020809104026020016040519081016040528092919081815260200182805461058390611309565b80156105d05780601f106105a5576101008083540402835291602001916105d0565b820191906000526020600020905b8154815290600101906020018083116105b357829003601f168201915b5050505050905090565b60006105e7338484610add565b5060015b92915050565b600780546105fe90611309565b80601f016020809104026020016040519081016040528092919081815260200182805461062a90611309565b80156106775780601f1061064c57610100808354040283529160200191610677565b820191906000526020600020905b81548152906001019060200180831161065a57829003601f168201915b505050505081565b6000546001600160a01b031633146106b25760405162461bcd60e51b81526004016106a990611343565b60405180910390fd5b6005546106c39060ff16600a611472565b6106d1906301312d00611481565b600f55565b60006106e3848484610c02565b610735843361073085604051806060016040528060288152602001611739602891396001600160a01b038a166000908152600c602090815260408083203384529091529020549190610e32565b610add565b5060019392505050565b6000546001600160a01b031633146107695760405162461bcd60e51b81526004016106a990611343565b6001600160a01b03166000908152600d60205260409020805460ff19166001179055565b336000818152600c602090815260408083206001600160a01b038716845290915281205490916105e79185906107309086610e6c565b6000546001600160a01b031633146107ed5760405162461bcd60e51b81526004016106a990611343565b6001600160a01b03166000908152600d60205260409020805460ff19169055565b600a546001600160a01b0316336001600160a01b0316146108715760405162461bcd60e51b815260206004820152601d60248201527f6f6e6c79206d65737361676541646d696e2063616e20646f207468697300000060448201526064016106a9565b600761087d82826114ee565b507f476e04c786e60f629af918e59f7b2d948f3b488bf1258cab1bf3a4351521b46f60076040516108ae91906115ae565b60405180910390a150565b6000546001600160a01b031633146108e35760405162461bcd60e51b81526004016106a990611343565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146109575760405162461bcd60e51b81526004016106a990611343565b600880546001600160a01b0319166001600160a01b0392909216919091179055565b60606004805461055790611309565b60006105e733846107308560405180606001604052806025815260200161176160259139336000908152600c602090815260408083206001600160a01b038d1684529091529020549190610e32565b60006105e7338484610c02565b60606007805461055790611309565b6000546001600160a01b03163314610a1d5760405162461bcd60e51b81526004016106a990611343565b6001600160a01b038116610a825760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106a9565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610b3f5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106a9565b6001600160a01b038216610ba05760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106a9565b6001600160a01b038381166000818152600c602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610c285760405162461bcd60e51b81526004016106a990611639565b6001600160a01b038216610c4e5760405162461bcd60e51b81526004016106a99061167e565b60008111610cb05760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016106a9565b6000546001600160a01b03848116911614801590610cdc57506000546001600160a01b03838116911614155b8015610d0157506001600160a01b0382166000908152600d602052604090205460ff16155b15610d8057600f54610d3282610d2c856001600160a01b03166000908152600b602052604090205490565b90610e6c565b1115610d805760405162461bcd60e51b815260206004820152601760248201527f4d61782042616c616e636520697320726561636865642e00000000000000000060448201526064016106a9565b6000546001600160a01b03848116911614801590610dac57506000546001600160a01b03838116911614155b8015610dc657506008546001600160a01b03848116911614155b8015610de057506008546001600160a01b03838116911614155b15610e22576000610e076064610e01600e5485610ed290919063ffffffff16565b90610f54565b9050610e138282610f96565b9150610e20843083610fd8565b505b610e2d838383610fd8565b505050565b60008184841115610e565760405162461bcd60e51b81526004016106a99190611112565b506000610e6384866116c1565b95945050505050565b600080610e7983856116d8565b905083811015610ecb5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106a9565b9392505050565b600082600003610ee4575060006105eb565b6000610ef08385611481565b905082610efd85836116f0565b14610ecb5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106a9565b6000610ecb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506110e4565b6000610ecb83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610e32565b6001600160a01b038316610ffe5760405162461bcd60e51b81526004016106a990611639565b6001600160a01b0382166110245760405162461bcd60e51b81526004016106a99061167e565b61106181604051806060016040528060268152602001611713602691396001600160a01b0386166000908152600b60205260409020549190610e32565b6001600160a01b038085166000908152600b602052604080822093909355908416815220546110909082610e6c565b6001600160a01b038084166000818152600b602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610bf59085815260200190565b600081836111055760405162461bcd60e51b81526004016106a99190611112565b506000610e6384866116f0565b600060208083528351808285015260005b8181101561113f57858101830151858201604001528201611123565b81811115611151576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461117c57600080fd5b50565b6000806040838503121561119257600080fd5b823561119d81611167565b946020939093013593505050565b6000602082840312156111bd57600080fd5b8135610ecb81611167565b6000806000606084860312156111dd57600080fd5b83356111e881611167565b925060208401356111f881611167565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561123157600080fd5b813567ffffffffffffffff8082111561124957600080fd5b818401915084601f83011261125d57600080fd5b81358181111561126f5761126f611209565b604051601f8201601f19908116603f0116810190838211818310171561129757611297611209565b816040528281528760208487010111156112b057600080fd5b826020860160208301376000928101602001929092525095945050505050565b600080604083850312156112e357600080fd5b82356112ee81611167565b915060208301356112fe81611167565b809150509250929050565b600181811c9082168061131d57607f821691505b60208210810361133d57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156113c95781600019048211156113af576113af611378565b808516156113bc57918102915b93841c9390800290611393565b509250929050565b6000826113e0575060016105eb565b816113ed575060006105eb565b8160018114611403576002811461140d57611429565b60019150506105eb565b60ff84111561141e5761141e611378565b50506001821b6105eb565b5060208310610133831016604e8410600b841016171561144c575081810a6105eb565b611456838361138e565b806000190482111561146a5761146a611378565b029392505050565b6000610ecb60ff8416836113d1565b600081600019048311821515161561149b5761149b611378565b500290565b601f821115610e2d57600081815260208120601f850160051c810160208610156114c75750805b601f850160051c820191505b818110156114e6578281556001016114d3565b505050505050565b815167ffffffffffffffff81111561150857611508611209565b61151c816115168454611309565b846114a0565b602080601f83116001811461155157600084156115395750858301515b600019600386901b1c1916600185901b1785556114e6565b600085815260208120601f198616915b8281101561158057888601518255948401946001909101908401611561565b508582101561159e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020808352600084546115c281611309565b808487015260406001808416600081146115e357600181146115fd5761162b565b60ff1985168984015283151560051b89018301955061162b565b896000528660002060005b858110156116235781548b8201860152908301908801611608565b8a0184019650505b509398975050505050505050565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b6000828210156116d3576116d3611378565b500390565b600082198211156116eb576116eb611378565b500190565b60008261170d57634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220821814c86686a441d8e8887178d0f4aef56a3b3561d73bc4912e03424937cb1064736f6c634300080f0033

Deployed Bytecode

0x6080604052600436106101a05760003560e01c806360fd1c4f116100ec578063a457c2d71161008a578063b90c771311610064578063b90c7713146104ad578063d68dff19146104cd578063dd62ed3e146104e2578063f2fde38b1461052857600080fd5b8063a457c2d71461044d578063a5ece9411461046d578063a9059cbb1461048d57600080fd5b806373ad468a116100c657806373ad468a146103e55780638da5cb5b146103fa578063906e9dd01461041857806395d89b411461043857600080fd5b806360fd1c4f1461037a57806370a082311461039a578063715018a6146103d057600080fd5b8063181cec1c116101595780632b151cfe116101335780632b151cfe146102f8578063313ce56714610318578063395093511461033a5780635eb10c941461035a57600080fd5b8063181cec1c1461026757806323b872dd146102a057806327c8f835146102c057600080fd5b806306fdde03146101ac578063095ea7b3146101d75780630adde0eb1461020757806313114a9d1461021c57806317917c8c1461023b57806318160ddd1461025257600080fd5b366101a757005b600080fd5b3480156101b857600080fd5b506101c1610548565b6040516101ce9190611112565b60405180910390f35b3480156101e357600080fd5b506101f76101f236600461117f565b6105da565b60405190151581526020016101ce565b34801561021357600080fd5b506101c16105f1565b34801561022857600080fd5b50600e545b6040519081526020016101ce565b34801561024757600080fd5b5061025061067f565b005b34801561025e57600080fd5b5060065461022d565b34801561027357600080fd5b506101f76102823660046111ab565b6001600160a01b03166000908152600d602052604090205460ff1690565b3480156102ac57600080fd5b506101f76102bb3660046111c8565b6106d6565b3480156102cc57600080fd5b506009546102e0906001600160a01b031681565b6040516001600160a01b0390911681526020016101ce565b34801561030457600080fd5b506102506103133660046111ab565b61073f565b34801561032457600080fd5b5060055460405160ff90911681526020016101ce565b34801561034657600080fd5b506101f761035536600461117f565b61078d565b34801561036657600080fd5b506102506103753660046111ab565b6107c3565b34801561038657600080fd5b5061025061039536600461121f565b61080e565b3480156103a657600080fd5b5061022d6103b53660046111ab565b6001600160a01b03166000908152600b602052604090205490565b3480156103dc57600080fd5b506102506108b9565b3480156103f157600080fd5b50600f5461022d565b34801561040657600080fd5b506000546001600160a01b03166102e0565b34801561042457600080fd5b506102506104333660046111ab565b61092d565b34801561044457600080fd5b506101c1610979565b34801561045957600080fd5b506101f761046836600461117f565b610988565b34801561047957600080fd5b506008546102e0906001600160a01b031681565b34801561049957600080fd5b506101f76104a836600461117f565b6109d7565b3480156104b957600080fd5b50600a546102e0906001600160a01b031681565b3480156104d957600080fd5b506101c16109e4565b3480156104ee57600080fd5b5061022d6104fd3660046112d0565b6001600160a01b039182166000908152600c6020908152604080832093909416825291909152205490565b34801561053457600080fd5b506102506105433660046111ab565b6109f3565b60606003805461055790611309565b80601f016020809104026020016040519081016040528092919081815260200182805461058390611309565b80156105d05780601f106105a5576101008083540402835291602001916105d0565b820191906000526020600020905b8154815290600101906020018083116105b357829003601f168201915b5050505050905090565b60006105e7338484610add565b5060015b92915050565b600780546105fe90611309565b80601f016020809104026020016040519081016040528092919081815260200182805461062a90611309565b80156106775780601f1061064c57610100808354040283529160200191610677565b820191906000526020600020905b81548152906001019060200180831161065a57829003601f168201915b505050505081565b6000546001600160a01b031633146106b25760405162461bcd60e51b81526004016106a990611343565b60405180910390fd5b6005546106c39060ff16600a611472565b6106d1906301312d00611481565b600f55565b60006106e3848484610c02565b610735843361073085604051806060016040528060288152602001611739602891396001600160a01b038a166000908152600c602090815260408083203384529091529020549190610e32565b610add565b5060019392505050565b6000546001600160a01b031633146107695760405162461bcd60e51b81526004016106a990611343565b6001600160a01b03166000908152600d60205260409020805460ff19166001179055565b336000818152600c602090815260408083206001600160a01b038716845290915281205490916105e79185906107309086610e6c565b6000546001600160a01b031633146107ed5760405162461bcd60e51b81526004016106a990611343565b6001600160a01b03166000908152600d60205260409020805460ff19169055565b600a546001600160a01b0316336001600160a01b0316146108715760405162461bcd60e51b815260206004820152601d60248201527f6f6e6c79206d65737361676541646d696e2063616e20646f207468697300000060448201526064016106a9565b600761087d82826114ee565b507f476e04c786e60f629af918e59f7b2d948f3b488bf1258cab1bf3a4351521b46f60076040516108ae91906115ae565b60405180910390a150565b6000546001600160a01b031633146108e35760405162461bcd60e51b81526004016106a990611343565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146109575760405162461bcd60e51b81526004016106a990611343565b600880546001600160a01b0319166001600160a01b0392909216919091179055565b60606004805461055790611309565b60006105e733846107308560405180606001604052806025815260200161176160259139336000908152600c602090815260408083206001600160a01b038d1684529091529020549190610e32565b60006105e7338484610c02565b60606007805461055790611309565b6000546001600160a01b03163314610a1d5760405162461bcd60e51b81526004016106a990611343565b6001600160a01b038116610a825760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106a9565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610b3f5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106a9565b6001600160a01b038216610ba05760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106a9565b6001600160a01b038381166000818152600c602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610c285760405162461bcd60e51b81526004016106a990611639565b6001600160a01b038216610c4e5760405162461bcd60e51b81526004016106a99061167e565b60008111610cb05760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016106a9565b6000546001600160a01b03848116911614801590610cdc57506000546001600160a01b03838116911614155b8015610d0157506001600160a01b0382166000908152600d602052604090205460ff16155b15610d8057600f54610d3282610d2c856001600160a01b03166000908152600b602052604090205490565b90610e6c565b1115610d805760405162461bcd60e51b815260206004820152601760248201527f4d61782042616c616e636520697320726561636865642e00000000000000000060448201526064016106a9565b6000546001600160a01b03848116911614801590610dac57506000546001600160a01b03838116911614155b8015610dc657506008546001600160a01b03848116911614155b8015610de057506008546001600160a01b03838116911614155b15610e22576000610e076064610e01600e5485610ed290919063ffffffff16565b90610f54565b9050610e138282610f96565b9150610e20843083610fd8565b505b610e2d838383610fd8565b505050565b60008184841115610e565760405162461bcd60e51b81526004016106a99190611112565b506000610e6384866116c1565b95945050505050565b600080610e7983856116d8565b905083811015610ecb5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106a9565b9392505050565b600082600003610ee4575060006105eb565b6000610ef08385611481565b905082610efd85836116f0565b14610ecb5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106a9565b6000610ecb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506110e4565b6000610ecb83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610e32565b6001600160a01b038316610ffe5760405162461bcd60e51b81526004016106a990611639565b6001600160a01b0382166110245760405162461bcd60e51b81526004016106a99061167e565b61106181604051806060016040528060268152602001611713602691396001600160a01b0386166000908152600b60205260409020549190610e32565b6001600160a01b038085166000908152600b602052604080822093909355908416815220546110909082610e6c565b6001600160a01b038084166000818152600b602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610bf59085815260200190565b600081836111055760405162461bcd60e51b81526004016106a99190611112565b506000610e6384866116f0565b600060208083528351808285015260005b8181101561113f57858101830151858201604001528201611123565b81811115611151576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461117c57600080fd5b50565b6000806040838503121561119257600080fd5b823561119d81611167565b946020939093013593505050565b6000602082840312156111bd57600080fd5b8135610ecb81611167565b6000806000606084860312156111dd57600080fd5b83356111e881611167565b925060208401356111f881611167565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561123157600080fd5b813567ffffffffffffffff8082111561124957600080fd5b818401915084601f83011261125d57600080fd5b81358181111561126f5761126f611209565b604051601f8201601f19908116603f0116810190838211818310171561129757611297611209565b816040528281528760208487010111156112b057600080fd5b826020860160208301376000928101602001929092525095945050505050565b600080604083850312156112e357600080fd5b82356112ee81611167565b915060208301356112fe81611167565b809150509250929050565b600181811c9082168061131d57607f821691505b60208210810361133d57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156113c95781600019048211156113af576113af611378565b808516156113bc57918102915b93841c9390800290611393565b509250929050565b6000826113e0575060016105eb565b816113ed575060006105eb565b8160018114611403576002811461140d57611429565b60019150506105eb565b60ff84111561141e5761141e611378565b50506001821b6105eb565b5060208310610133831016604e8410600b841016171561144c575081810a6105eb565b611456838361138e565b806000190482111561146a5761146a611378565b029392505050565b6000610ecb60ff8416836113d1565b600081600019048311821515161561149b5761149b611378565b500290565b601f821115610e2d57600081815260208120601f850160051c810160208610156114c75750805b601f850160051c820191505b818110156114e6578281556001016114d3565b505050505050565b815167ffffffffffffffff81111561150857611508611209565b61151c816115168454611309565b846114a0565b602080601f83116001811461155157600084156115395750858301515b600019600386901b1c1916600185901b1785556114e6565b600085815260208120601f198616915b8281101561158057888601518255948401946001909101908401611561565b508582101561159e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020808352600084546115c281611309565b808487015260406001808416600081146115e357600181146115fd5761162b565b60ff1985168984015283151560051b89018301955061162b565b896000528660002060005b858110156116235781548b8201860152908301908801611608565b8a0184019650505b509398975050505050505050565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b6000828210156116d3576116d3611378565b500390565b600082198211156116eb576116eb611378565b500190565b60008261170d57634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220821814c86686a441d8e8887178d0f4aef56a3b3561d73bc4912e03424937cb1064736f6c634300080f0033

Deployed Bytecode Sourcemap

6420:6433:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7888:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8726:161;;;;;;;;;;-1:-1:-1;8726:161:0;;;;;:::i;:::-;;:::i;:::-;;;1237:14:1;;1230:22;1212:41;;1200:2;1185:18;8726:161:0;1072:187:1;6769:22:0;;;;;;;;;;;;;:::i;10974:94::-;;;;;;;;;;-1:-1:-1;11043:17:0;;10974:94;;;1410:25:1;;;1398:2;1383:18;10974:94:0;1264:177:1;11186:110:0;;;;;;;;;;;;;:::i;:::-;;8165:100;;;;;;;;;;-1:-1:-1;8245:12:0;;8165:100;;10439:144;;;;;;;;;;-1:-1:-1;10439:144:0;;;;;:::i;:::-;-1:-1:-1;;;;;10534:41:0;10510:4;10534:41;;;:32;:41;;;;;;;;;10439:144;8895:313;;;;;;;;;;-1:-1:-1;8895:313:0;;;;;:::i;:::-;;:::i;6900:88::-;;;;;;;;;;-1:-1:-1;6900:88:0;;;;-1:-1:-1;;;;;6900:88:0;;;;;;-1:-1:-1;;;;;2339:32:1;;;2321:51;;2309:2;2294:18;6900:88:0;2159:219:1;10591:132:0;;;;;;;;;;-1:-1:-1;10591:132:0;;;;;:::i;:::-;;:::i;8074:83::-;;;;;;;;;;-1:-1:-1;8140:9:0;;8074:83;;8140:9;;;;2525:36:1;;2513:2;2498:18;8074:83:0;2383:184:1;9216:218:0;;;;;;;;;;-1:-1:-1;9216:218:0;;;;;:::i;:::-;;:::i;10731:131::-;;;;;;;;;;-1:-1:-1;10731:131:0;;;;;:::i;:::-;;:::i;10214:217::-;;;;;;;;;;-1:-1:-1;10214:217:0;;;;;:::i;:::-;;:::i;8273:119::-;;;;;;;;;;-1:-1:-1;8273:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;8366:18:0;8339:7;8366:18;;;:9;:18;;;;;;;8273:119;6013:148;;;;;;;;;;;;;:::i;11076:102::-;;;;;;;;;;-1:-1:-1;11146:24:0;;11076:102;;5799:79;;;;;;;;;;-1:-1:-1;5837:7:0;5864:6;-1:-1:-1;;;;;5864:6:0;5799:79;;10064:142;;;;;;;;;;-1:-1:-1;10064:142:0;;;;;:::i;:::-;;:::i;7979:87::-;;;;;;;;;;;;;:::i;9442:269::-;;;;;;;;;;-1:-1:-1;9442:269:0;;;;;:::i;:::-;;:::i;6800:93::-;;;;;;;;;;-1:-1:-1;6800:93:0;;;;-1:-1:-1;;;;;6800:93:0;;;8400:167;;;;;;;;;;-1:-1:-1;8400:167:0;;;;;:::i;:::-;;:::i;6995:27::-;;;;;;;;;;-1:-1:-1;6995:27:0;;;;-1:-1:-1;;;;;6995:27:0;;;10870:96;;;;;;;;;;;;;:::i;8575:143::-;;;;;;;;;;-1:-1:-1;8575:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;8683:18:0;;;8656:7;8683:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8575:143;6169:244;;;;;;;;;;-1:-1:-1;6169:244:0;;;;;:::i;:::-;;:::i;7888:83::-;7925:13;7958:5;7951:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7888:83;:::o;8726:161::-;8801:4;8818:39;199:10;8841:7;8850:6;8818:8;:39::i;:::-;-1:-1:-1;8875:4:0;8726:161;;;;;:::o;6769:22::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;11186:110::-;5926:6;;-1:-1:-1;;;;;5926:6:0;199:10;5926:22;5918:67;;;;-1:-1:-1;;;5918:67:0;;;;;;;:::i;:::-;;;;;;;;;11279:9:::1;::::0;11275:13:::1;::::0;11279:9:::1;;11275:2;:13;:::i;:::-;11264:24;::::0;:8:::1;:24;:::i;:::-;11237;:51:::0;11186:110::o;8895:313::-;8993:4;9010:36;9020:6;9028:9;9039:6;9010:9;:36::i;:::-;9057:121;9066:6;199:10;9088:89;9126:6;9088:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9088:19:0;;;;;;:11;:19;;;;;;;;199:10;9088:33;;;;;;;;;;:37;:89::i;:::-;9057:8;:121::i;:::-;-1:-1:-1;9196:4:0;8895:313;;;;;:::o;10591:132::-;5926:6;;-1:-1:-1;;;;;5926:6:0;199:10;5926:22;5918:67;;;;-1:-1:-1;;;5918:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10667:41:0::1;;::::0;;;:32:::1;:41;::::0;;;;:48;;-1:-1:-1;;10667:48:0::1;10711:4;10667:48;::::0;;10591:132::o;9216:218::-;199:10;9304:4;9353:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;9353:34:0;;;;;;;;;;9304:4;;9321:83;;9344:7;;9353:50;;9392:10;9353:38;:50::i;10731:131::-;5926:6;;-1:-1:-1;;;;;5926:6:0;199:10;5926:22;5918:67;;;;-1:-1:-1;;;5918:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10805:41:0::1;10849:5;10805:41:::0;;;:32:::1;:41;::::0;;;;:49;;-1:-1:-1;;10805:49:0::1;::::0;;10731:131::o;10214:217::-;10308:12;;-1:-1:-1;;;;;10308:12:0;199:10;-1:-1:-1;;;;;10292:28:0;;10284:70;;;;-1:-1:-1;;;10284:70:0;;7128:2:1;10284:70:0;;;7110:21:1;7167:2;7147:18;;;7140:30;7206:31;7186:18;;;7179:59;7255:18;;10284:70:0;6926:353:1;10284:70:0;10365:8;:22;10376:11;10365:8;:22;:::i;:::-;;10403:20;10414:8;10403:20;;;;;;:::i;:::-;;;;;;;;10214:217;:::o;6013:148::-;5926:6;;-1:-1:-1;;;;;5926:6:0;199:10;5926:22;5918:67;;;;-1:-1:-1;;;5918:67:0;;;;;;;:::i;:::-;6120:1:::1;6104:6:::0;;6083:40:::1;::::0;-1:-1:-1;;;;;6104:6:0;;::::1;::::0;6083:40:::1;::::0;6120:1;;6083:40:::1;6151:1;6134:19:::0;;-1:-1:-1;;;;;;6134:19:0::1;::::0;;6013:148::o;10064:142::-;5926:6;;-1:-1:-1;;;;;5926:6:0;199:10;5926:22;5918:67;;;;-1:-1:-1;;;5918:67:0;;;;;;;:::i;:::-;10160:16:::1;:38:::0;;-1:-1:-1;;;;;;10160:38:0::1;-1:-1:-1::0;;;;;10160:38:0;;;::::1;::::0;;;::::1;::::0;;10064:142::o;7979:87::-;8018:13;8051:7;8044:14;;;;;:::i;9442:269::-;9535:4;9552:129;199:10;9575:7;9584:96;9623:15;9584:96;;;;;;;;;;;;;;;;;199:10;9584:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;9584:34:0;;;;;;;;;;;;:38;:96::i;8400:167::-;8478:4;8495:42;199:10;8519:9;8530:6;8495:9;:42::i;10870:96::-;10917:13;10950:8;10943:15;;;;;:::i;6169:244::-;5926:6;;-1:-1:-1;;;;;5926:6:0;199:10;5926:22;5918:67;;;;-1:-1:-1;;;5918:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;6258:22:0;::::1;6250:73;;;::::0;-1:-1:-1;;;6250:73:0;;10658:2:1;6250:73:0::1;::::0;::::1;10640:21:1::0;10697:2;10677:18;;;10670:30;10736:34;10716:18;;;10709:62;-1:-1:-1;;;10787:18:1;;;10780:36;10833:19;;6250:73:0::1;10456:402:1::0;6250:73:0::1;6360:6;::::0;;6339:38:::1;::::0;-1:-1:-1;;;;;6339:38:0;;::::1;::::0;6360:6;::::1;::::0;6339:38:::1;::::0;::::1;6388:6;:17:::0;;-1:-1:-1;;;;;;6388:17:0::1;-1:-1:-1::0;;;;;6388:17:0;;;::::1;::::0;;;::::1;::::0;;6169:244::o;9719:337::-;-1:-1:-1;;;;;9812:19:0;;9804:68;;;;-1:-1:-1;;;9804:68:0;;11065:2:1;9804:68:0;;;11047:21:1;11104:2;11084:18;;;11077:30;11143:34;11123:18;;;11116:62;-1:-1:-1;;;11194:18:1;;;11187:34;11238:19;;9804:68:0;10863:400:1;9804:68:0;-1:-1:-1;;;;;9891:21:0;;9883:68;;;;-1:-1:-1;;;9883:68:0;;11470:2:1;9883:68:0;;;11452:21:1;11509:2;11489:18;;;11482:30;11548:34;11528:18;;;11521:62;-1:-1:-1;;;11599:18:1;;;11592:32;11641:19;;9883:68:0;11268:398:1;9883:68:0;-1:-1:-1;;;;;9964:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10016:32;;1410:25:1;;;10016:32:0;;1383:18:1;10016:32:0;;;;;;;;9719:337;;;:::o;11304:1062::-;-1:-1:-1;;;;;11426:18:0;;11418:68;;;;-1:-1:-1;;;11418:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11505:16:0;;11497:64;;;;-1:-1:-1;;;11497:64:0;;;;;;;:::i;:::-;11589:1;11580:6;:10;11572:64;;;;-1:-1:-1;;;11572:64:0;;12683:2:1;11572:64:0;;;12665:21:1;12722:2;12702:18;;;12695:30;12761:34;12741:18;;;12734:62;-1:-1:-1;;;12812:18:1;;;12805:39;12861:19;;11572:64:0;12481:405:1;11572:64:0;5837:7;5864:6;-1:-1:-1;;;;;11666:15:0;;;5864:6;;11666:15;;;;:45;;-1:-1:-1;5837:7:0;5864:6;-1:-1:-1;;;;;11698:13:0;;;5864:6;;11698:13;;11666:45;:99;;;;-1:-1:-1;;;;;;11729:36:0;;;;;;:32;:36;;;;;;;;11728:37;11666:99;11649:293;;;11847:24;;11818:25;11836:6;11818:13;11828:2;-1:-1:-1;;;;;8366:18:0;8339:7;8366:18;;;:9;:18;;;;;;;8273:119;11818:13;:17;;:25::i;:::-;:53;;11792:138;;;;-1:-1:-1;;;11792:138:0;;13093:2:1;11792:138:0;;;13075:21:1;13132:2;13112:18;;;13105:30;13171:25;13151:18;;;13144:53;13214:18;;11792:138:0;12891:347:1;11792:138:0;5837:7;5864:6;-1:-1:-1;;;;;11971:15:0;;;5864:6;;11971:15;;;;:45;;-1:-1:-1;5837:7:0;5864:6;-1:-1:-1;;;;;12003:13:0;;;5864:6;;12003:13;;11971:45;:86;;;;-1:-1:-1;12041:16:0;;-1:-1:-1;;;;;12033:24:0;;;12041:16;;12033:24;;11971:86;:125;;;;-1:-1:-1;12080:16:0;;-1:-1:-1;;;;;12074:22:0;;;12080:16;;12074:22;;11971:125;11954:361;;;12122:22;12147:38;12181:3;12147:29;12158:17;;12147:6;:10;;:29;;;;:::i;:::-;:33;;:38::i;:::-;12122:63;-1:-1:-1;12210:26:0;:6;12122:63;12210:10;:26::i;:::-;12201:35;;12253:50;12267:4;12281;12288:14;12253:13;:50::i;:::-;12108:207;11954:361;12327:31;12341:4;12347:2;12351:6;12327:13;:31::i;:::-;11304:1062;;;:::o;1510:192::-;1596:7;1632:12;1624:6;;;;1616:29;;;;-1:-1:-1;;;1616:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1656:9:0;1668:5;1672:1;1668;:5;:::i;:::-;1656:17;1510:192;-1:-1:-1;;;;;1510:192:0:o;1177:181::-;1235:7;;1267:5;1271:1;1267;:5;:::i;:::-;1255:17;;1296:1;1291;:6;;1283:46;;;;-1:-1:-1;;;1283:46:0;;13708:2:1;1283:46:0;;;13690:21:1;13747:2;13727:18;;;13720:30;13786:29;13766:18;;;13759:57;13833:18;;1283:46:0;13506:351:1;1283:46:0;1349:1;1177:181;-1:-1:-1;;;1177:181:0:o;1710:250::-;1768:7;1792:1;1797;1792:6;1788:47;;-1:-1:-1;1822:1:0;1815:8;;1788:47;1847:9;1859:5;1863:1;1859;:5;:::i;:::-;1847:17;-1:-1:-1;1892:1:0;1883:5;1887:1;1847:17;1883:5;:::i;:::-;:10;1875:56;;;;-1:-1:-1;;;1875:56:0;;14286:2:1;1875:56:0;;;14268:21:1;14325:2;14305:18;;;14298:30;14364:34;14344:18;;;14337:62;-1:-1:-1;;;14415:18:1;;;14408:31;14456:19;;1875:56:0;14084:397:1;1970:132:0;2028:7;2055:39;2059:1;2062;2055:39;;;;;;;;;;;;;;;;;:3;:39::i;1366:136::-;1424:7;1451:43;1455:1;1458;1451:43;;;;;;;;;;;;;;;;;:3;:43::i;12374:474::-;-1:-1:-1;;;;;12475:20:0;;12467:70;;;;-1:-1:-1;;;12467:70:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12556:23:0;;12548:71;;;;-1:-1:-1;;;12548:71:0;;;;;;;:::i;:::-;12652;12674:6;12652:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12652:17:0;;;;;;:9;:17;;;;;;;:71;:21;:71::i;:::-;-1:-1:-1;;;;;12632:17:0;;;;;;;:9;:17;;;;;;:91;;;;12757:20;;;;;;;:32;;12782:6;12757:24;:32::i;:::-;-1:-1:-1;;;;;12734:20:0;;;;;;;:9;:20;;;;;;;:55;;;;12805:35;;;;;;;;;;12833:6;1410:25:1;;1398:2;1383:18;;1264:177;2110:278:0;2196:7;2231:12;2224:5;2216:28;;;;-1:-1:-1;;;2216:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2255:9:0;2267:5;2271:1;2267;:5;:::i;14:597:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:1;574:15;-1:-1:-1;;570:29:1;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:1:o;616:131::-;-1:-1:-1;;;;;691:31:1;;681:42;;671:70;;737:1;734;727:12;671:70;616:131;:::o;752:315::-;820:6;828;881:2;869:9;860:7;856:23;852:32;849:52;;;897:1;894;887:12;849:52;936:9;923:23;955:31;980:5;955:31;:::i;:::-;1005:5;1057:2;1042:18;;;;1029:32;;-1:-1:-1;;;752:315:1:o;1446:247::-;1505:6;1558:2;1546:9;1537:7;1533:23;1529:32;1526:52;;;1574:1;1571;1564:12;1526:52;1613:9;1600:23;1632:31;1657:5;1632:31;:::i;1698:456::-;1775:6;1783;1791;1844:2;1832:9;1823:7;1819:23;1815:32;1812:52;;;1860:1;1857;1850:12;1812:52;1899:9;1886:23;1918:31;1943:5;1918:31;:::i;:::-;1968:5;-1:-1:-1;2025:2:1;2010:18;;1997:32;2038:33;1997:32;2038:33;:::i;:::-;1698:456;;2090:7;;-1:-1:-1;;;2144:2:1;2129:18;;;;2116:32;;1698:456::o;2572:127::-;2633:10;2628:3;2624:20;2621:1;2614:31;2664:4;2661:1;2654:15;2688:4;2685:1;2678:15;2704:922;2773:6;2826:2;2814:9;2805:7;2801:23;2797:32;2794:52;;;2842:1;2839;2832:12;2794:52;2882:9;2869:23;2911:18;2952:2;2944:6;2941:14;2938:34;;;2968:1;2965;2958:12;2938:34;3006:6;2995:9;2991:22;2981:32;;3051:7;3044:4;3040:2;3036:13;3032:27;3022:55;;3073:1;3070;3063:12;3022:55;3109:2;3096:16;3131:2;3127;3124:10;3121:36;;;3137:18;;:::i;:::-;3212:2;3206:9;3180:2;3266:13;;-1:-1:-1;;3262:22:1;;;3286:2;3258:31;3254:40;3242:53;;;3310:18;;;3330:22;;;3307:46;3304:72;;;3356:18;;:::i;:::-;3396:10;3392:2;3385:22;3431:2;3423:6;3416:18;3471:7;3466:2;3461;3457;3453:11;3449:20;3446:33;3443:53;;;3492:1;3489;3482:12;3443:53;3548:2;3543;3539;3535:11;3530:2;3522:6;3518:15;3505:46;3593:1;3571:15;;;3588:2;3567:24;3560:35;;;;-1:-1:-1;3575:6:1;2704:922;-1:-1:-1;;;;;2704:922:1:o;4099:388::-;4167:6;4175;4228:2;4216:9;4207:7;4203:23;4199:32;4196:52;;;4244:1;4241;4234:12;4196:52;4283:9;4270:23;4302:31;4327:5;4302:31;:::i;:::-;4352:5;-1:-1:-1;4409:2:1;4394:18;;4381:32;4422:33;4381:32;4422:33;:::i;:::-;4474:7;4464:17;;;4099:388;;;;;:::o;4492:380::-;4571:1;4567:12;;;;4614;;;4635:61;;4689:4;4681:6;4677:17;4667:27;;4635:61;4742:2;4734:6;4731:14;4711:18;4708:38;4705:161;;4788:10;4783:3;4779:20;4776:1;4769:31;4823:4;4820:1;4813:15;4851:4;4848:1;4841:15;4705:161;;4492:380;;;:::o;4877:356::-;5079:2;5061:21;;;5098:18;;;5091:30;5157:34;5152:2;5137:18;;5130:62;5224:2;5209:18;;4877:356::o;5238:127::-;5299:10;5294:3;5290:20;5287:1;5280:31;5330:4;5327:1;5320:15;5354:4;5351:1;5344:15;5370:422;5459:1;5502:5;5459:1;5516:270;5537:7;5527:8;5524:21;5516:270;;;5596:4;5592:1;5588:6;5584:17;5578:4;5575:27;5572:53;;;5605:18;;:::i;:::-;5655:7;5645:8;5641:22;5638:55;;;5675:16;;;;5638:55;5754:22;;;;5714:15;;;;5516:270;;;5520:3;5370:422;;;;;:::o;5797:806::-;5846:5;5876:8;5866:80;;-1:-1:-1;5917:1:1;5931:5;;5866:80;5965:4;5955:76;;-1:-1:-1;6002:1:1;6016:5;;5955:76;6047:4;6065:1;6060:59;;;;6133:1;6128:130;;;;6040:218;;6060:59;6090:1;6081:10;;6104:5;;;6128:130;6165:3;6155:8;6152:17;6149:43;;;6172:18;;:::i;:::-;-1:-1:-1;;6228:1:1;6214:16;;6243:5;;6040:218;;6342:2;6332:8;6329:16;6323:3;6317:4;6314:13;6310:36;6304:2;6294:8;6291:16;6286:2;6280:4;6277:12;6273:35;6270:77;6267:159;;;-1:-1:-1;6379:19:1;;;6411:5;;6267:159;6458:34;6483:8;6477:4;6458:34;:::i;:::-;6528:6;6524:1;6520:6;6516:19;6507:7;6504:32;6501:58;;;6539:18;;:::i;:::-;6577:20;;5797:806;-1:-1:-1;;;5797:806:1:o;6608:140::-;6666:5;6695:47;6736:4;6726:8;6722:19;6716:4;6695:47;:::i;6753:168::-;6793:7;6859:1;6855;6851:6;6847:14;6844:1;6841:21;6836:1;6829:9;6822:17;6818:45;6815:71;;;6866:18;;:::i;:::-;-1:-1:-1;6906:9:1;;6753:168::o;7410:545::-;7512:2;7507:3;7504:11;7501:448;;;7548:1;7573:5;7569:2;7562:17;7618:4;7614:2;7604:19;7688:2;7676:10;7672:19;7669:1;7665:27;7659:4;7655:38;7724:4;7712:10;7709:20;7706:47;;;-1:-1:-1;7747:4:1;7706:47;7802:2;7797:3;7793:12;7790:1;7786:20;7780:4;7776:31;7766:41;;7857:82;7875:2;7868:5;7865:13;7857:82;;;7920:17;;;7901:1;7890:13;7857:82;;;7861:3;;;7410:545;;;:::o;8131:1352::-;8257:3;8251:10;8284:18;8276:6;8273:30;8270:56;;;8306:18;;:::i;:::-;8335:97;8425:6;8385:38;8417:4;8411:11;8385:38;:::i;:::-;8379:4;8335:97;:::i;:::-;8487:4;;8551:2;8540:14;;8568:1;8563:663;;;;9270:1;9287:6;9284:89;;;-1:-1:-1;9339:19:1;;;9333:26;9284:89;-1:-1:-1;;8088:1:1;8084:11;;;8080:24;8076:29;8066:40;8112:1;8108:11;;;8063:57;9386:81;;8533:944;;8563:663;7357:1;7350:14;;;7394:4;7381:18;;-1:-1:-1;;8599:20:1;;;8717:236;8731:7;8728:1;8725:14;8717:236;;;8820:19;;;8814:26;8799:42;;8912:27;;;;8880:1;8868:14;;;;8747:19;;8717:236;;;8721:3;8981:6;8972:7;8969:19;8966:201;;;9042:19;;;9036:26;-1:-1:-1;;9125:1:1;9121:14;;;9137:3;9117:24;9113:37;9109:42;9094:58;9079:74;;8966:201;-1:-1:-1;;;;;9213:1:1;9197:14;;;9193:22;9180:36;;-1:-1:-1;8131:1352:1:o;9488:963::-;9597:4;9626:2;9655;9644:9;9637:21;9678:1;9711:6;9705:13;9741:36;9767:9;9741:36;:::i;:::-;9813:6;9808:2;9797:9;9793:18;9786:34;9839:2;9860:1;9892:2;9881:9;9877:18;9909:1;9904:158;;;;10076:1;10071:354;;;;9870:555;;9904:158;-1:-1:-1;;9952:24:1;;9932:18;;;9925:52;10030:14;;10023:22;10020:1;10016:30;10001:46;;9997:55;;;-1:-1:-1;9904:158:1;;10071:354;10102:6;10099:1;10092:17;10150:2;10147:1;10137:16;10175:1;10189:180;10203:6;10200:1;10197:13;10189:180;;;10296:14;;10272:17;;;10268:26;;10261:50;10339:16;;;;10218:10;;10189:180;;;10393:17;;10389:26;;;-1:-1:-1;;9870:555:1;-1:-1:-1;10442:3:1;;9488:963;-1:-1:-1;;;;;;;;9488:963:1:o;11671:401::-;11873:2;11855:21;;;11912:2;11892:18;;;11885:30;11951:34;11946:2;11931:18;;11924:62;-1:-1:-1;;;12017:2:1;12002:18;;11995:35;12062:3;12047:19;;11671:401::o;12077:399::-;12279:2;12261:21;;;12318:2;12298:18;;;12291:30;12357:34;12352:2;12337:18;;12330:62;-1:-1:-1;;;12423:2:1;12408:18;;12401:33;12466:3;12451:19;;12077:399::o;13243:125::-;13283:4;13311:1;13308;13305:8;13302:34;;;13316:18;;:::i;:::-;-1:-1:-1;13353:9:1;;13243:125::o;13373:128::-;13413:3;13444:1;13440:6;13437:1;13434:13;13431:39;;;13450:18;;:::i;:::-;-1:-1:-1;13486:9:1;;13373:128::o;13862:217::-;13902:1;13928;13918:132;;13972:10;13967:3;13963:20;13960:1;13953:31;14007:4;14004:1;13997:15;14035:4;14032:1;14025:15;13918:132;-1:-1:-1;14064:9:1;;13862:217::o

Swarm Source

ipfs://821814c86686a441d8e8887178d0f4aef56a3b3561d73bc4912e03424937cb10
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.