ETH Price: $2,589.83 (-2.55%)

Token

Baby Ryoshi (BABYRYOSHI)
 

Overview

Max Total Supply

1,000,000,000,000 BABYRYOSHI

Holders

10

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
23,579,710,417.054376685 BABYRYOSHI

Value
$0.00
0x8eac5a3dfa995752ccc83902cecf14fba2d7c00d
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:
BabyRyoshi

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-09-30
*/

/**
 * 
 

 https://t.me/BabyRyoshi
 
 
*/




/**
 *
*/

/**
 //SPDX-License-Identifier: UNLICENSED
 




*/

pragma solidity ^0.8.4;

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

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;
        return c;
    }

}

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    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);
    }

}  

interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract BabyRyoshi is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public isExcludedFromFee;
    mapping (address => bool) public isExcludedFromLimit;
    mapping (address => bool) private bots;
    mapping (address => uint) private cooldown;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1_000_000_000_000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;

    uint256 public swapThreshold = 100_000_000 * 10**9;
    
    uint256 private _reflectionFee = 2;
    uint256 private _teamFee = 2;
    address payable private _feeAddrWallet1;
    address payable private _feeAddrWallet2;
    
    string private constant _name = "Baby Ryoshi";
    string private constant _symbol = "BABYRYOSHI";
    uint8 private constant _decimals = 9;
    
    IUniswapV2Router02 private uniswapV2Router;
    address public uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap;
    bool private swapEnabled;
    bool private cooldownEnabled;

    uint256 private _maxTxAmount = 40_000_000_000 * 10**9;
    uint256 private _maxWalletAmount = 40_000_000_000 * 10**9;

    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor (address wallet1, address wallet2) {
        _feeAddrWallet1 = payable(wallet1);
        _feeAddrWallet2 = payable(wallet2);
        _rOwned[_msgSender()] = _rTotal;

        isExcludedFromFee[owner()] = true;
        isExcludedFromFee[address(this)] = true;
        isExcludedFromFee[_feeAddrWallet1] = true;
        isExcludedFromFee[_feeAddrWallet2] = true;

        isExcludedFromLimit[owner()] = true;
        isExcludedFromLimit[address(this)] = true;
        isExcludedFromLimit[address(0xdead)] = true;
        isExcludedFromLimit[_feeAddrWallet1] = true;
        isExcludedFromLimit[_feeAddrWallet2] = true;

        emit Transfer(address(this), _msgSender(), _tTotal);
    }

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

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

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

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return tokenFromReflection(_rOwned[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 setCooldownEnabled(bool onoff) external onlyOwner {
        cooldownEnabled = onoff;
    }

    function tokenFromReflection(uint256 rAmount) private view returns(uint256) {
        require(rAmount <= _rTotal, "Amount must be less than total reflections");
        uint256 currentRate =  _getRate();
        return rAmount.div(currentRate);
    }

    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 _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(balanceOf(from) >= amount, "ERC20: transfer amount exceeds balance");

        if (from != owner() && to != owner()) {

            require(!bots[from] && !bots[to]);

            if (!isExcludedFromLimit[from] || (from == uniswapV2Pair && !isExcludedFromLimit[to])) {
                require(amount <= _maxTxAmount, "Anti-whale: Transfer amount exceeds max limit");
            }
            if (!isExcludedFromLimit[to]) {
                require(balanceOf(to) + amount <= _maxWalletAmount, "Anti-whale: Wallet amount exceeds max limit");
            }

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && !isExcludedFromFee[to] && cooldownEnabled) {
                // Cooldown
                require(cooldown[to] < block.timestamp);
                cooldown[to] = block.timestamp + (60 seconds);
            }

            uint256 contractTokenBalance = balanceOf(address(this));

            if (!inSwap && from != uniswapV2Pair && swapEnabled && contractTokenBalance >= swapThreshold) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }
		
        _tokenTransfer(from,to,amount);
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }
        
    function sendETHToFee(uint256 amount) private {
        _feeAddrWallet1.transfer(amount.div(2));
        _feeAddrWallet2.transfer(amount.div(2));
    }
    
    function openTrading() external onlyOwner() {
        require(!tradingOpen, "trading is already open");

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());

        isExcludedFromLimit[address(uniswapV2Router)] = true;
        isExcludedFromLimit[uniswapV2Pair] = true;

        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);

        swapEnabled = true;
        cooldownEnabled = true;
        tradingOpen = true;

        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }

    function changeMaxTxAmount(uint256 amount) public onlyOwner {
        _maxTxAmount = amount;
    }

    function changeMaxWalletAmount(uint256 amount) public onlyOwner {
        _maxWalletAmount = amount;
    }

    function changeSwapThreshold(uint256 amount) public onlyOwner {
        swapThreshold = amount;
    }

    function excludeFromFees(address account, bool excluded) public onlyOwner {
        isExcludedFromFee[account] = excluded;
    }

    function excludeFromLimits(address account, bool excluded) public onlyOwner {
        isExcludedFromLimit[account] = excluded;
    }
        
    function _tokenTransfer(address sender, address recipient, uint256 amount) private {
        _transferStandard(sender, recipient, amount);
    }

    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rReflect, uint256 tTransferAmount, uint256 tReflect, uint256 tTeam) = _getValues(tAmount);
        
        _rOwned[sender] = _rOwned[sender].sub(rAmount);

        if (isExcludedFromFee[sender] || isExcludedFromFee[recipient]) {
            _rOwned[recipient] = _rOwned[recipient].add(rAmount); 

            emit Transfer(sender, recipient, tAmount);
        } else {
            _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); 
            _takeTeam(tTeam);
            _reflectFee(rReflect, tReflect);

            emit Transfer(sender, recipient, tTransferAmount);
        }
    }

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate =  _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    receive() external payable {}
    
    function manualSwap() external {
        require(_msgSender() == _feeAddrWallet1);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }
    
    function manualSend() external {
        require(_msgSender() == _feeAddrWallet1);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }

    function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tReflect, uint256 tTeam) = _getTValues(tAmount, _reflectionFee, _teamFee);

        uint256 currentRate =  _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rReflect) = _getRValues(tAmount, tReflect, tTeam, currentRate);

        return (rAmount, rTransferAmount, rReflect, tTransferAmount, tReflect, tTeam);
    }

    function _getTValues(uint256 tAmount, uint256 reflectFee, uint256 teamFee) private pure returns (uint256, uint256, uint256) {
        uint256 tReflect = tAmount.mul(reflectFee).div(100);
        uint256 tTeam = tAmount.mul(teamFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tReflect).sub(tTeam);
        return (tTransferAmount, tReflect, tTeam);
    }

    function _getRValues(uint256 tAmount, uint256 tReflect, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256, uint256) {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rReflect = tReflect.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rReflect).sub(rTeam);
        return (rAmount, rTransferAmount, rReflect);
    }

	function _getRate() private view returns(uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns(uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;      
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"wallet1","type":"address"},{"internalType":"address","name":"wallet2","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":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"changeMaxTxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"changeMaxWalletAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"changeSwapThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","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":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","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":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526200001b683635c9adc5dea0000060001962000347565b620000299060001962000323565b60095567016345785d8a0000600b556002600c556002600d5568022b1c8c1227a0000060125568022b1c8c1227a000006013553480156200006957600080fd5b5060405162002047380380620020478339810160408190526200008c91620002ec565b600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600e80546001600160a01b038085166001600160a01b031992831617909255600f805492841692909116919091179055600954600260006200010c3390565b6001600160a01b03166001600160a01b031681526020019081526020016000208190555060016005600062000146620002c060201b60201c565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526005909352818320805485166001908117909155600e54821684528284208054861682179055600f54909116835290822080549093168117909255600690620001c86000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260069093528183208054851660019081179091557f1aecba4ebe7a4e0673e4891b2b092b2228e4322380b579fb494fad3da8586e228054861682179055600e54821684528284208054861682179055600f54909116835291208054909216179055620002623390565b6001600160a01b0316306001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef683635c9adc5dea00000604051620002b091815260200190565b60405180910390a3505062000368565b6000546001600160a01b031690565b80516001600160a01b0381168114620002e757600080fd5b919050565b60008060408385031215620002ff578182fd5b6200030a83620002cf565b91506200031a60208401620002cf565b90509250929050565b6000828210156200034257634e487b7160e01b81526011600452602481fd5b500390565b6000826200036357634e487b7160e01b81526012600452602481fd5b500690565b611ccf80620003786000396000f3fe60806040526004361061014f5760003560e01c8063715018a6116100b6578063c02466681161006f578063c0246668146103ee578063c0a904a21461040e578063c9567bf91461042e578063d94160e014610443578063dd62ed3e14610473578063f4293890146104b957600080fd5b8063715018a61461032857806381bfdcca1461033d57806389f425e71461035d5780638da5cb5b1461037d57806395d89b411461039b578063a9059cbb146103ce57600080fd5b806349bd5a5e1161010857806349bd5a5e1461024957806351bc3c85146102815780635342acb4146102985780635932ead1146102c8578063677daa57146102e857806370a082311461030857600080fd5b80630445b6671461015b57806306fdde0314610184578063095ea7b3146101c157806318160ddd146101f157806323b872dd1461020d578063313ce5671461022d57600080fd5b3661015657005b600080fd5b34801561016757600080fd5b50610171600b5481565b6040519081526020015b60405180910390f35b34801561019057600080fd5b5060408051808201909152600b81526a426162792052796f73686960a81b60208201525b60405161017b9190611ad2565b3480156101cd57600080fd5b506101e16101dc366004611a2a565b6104ce565b604051901515815260200161017b565b3480156101fd57600080fd5b50683635c9adc5dea00000610171565b34801561021957600080fd5b506101e16102283660046119bd565b6104e5565b34801561023957600080fd5b506040516009815260200161017b565b34801561025557600080fd5b50601154610269906001600160a01b031681565b6040516001600160a01b03909116815260200161017b565b34801561028d57600080fd5b5061029661054e565b005b3480156102a457600080fd5b506101e16102b336600461194d565b60056020526000908152604090205460ff1681565b3480156102d457600080fd5b506102966102e3366004611a55565b610587565b3480156102f457600080fd5b50610296610303366004611a8d565b6105d8565b34801561031457600080fd5b5061017161032336600461194d565b610607565b34801561033457600080fd5b50610296610629565b34801561034957600080fd5b50610296610358366004611a8d565b61069d565b34801561036957600080fd5b50610296610378366004611a8d565b6106cc565b34801561038957600080fd5b506000546001600160a01b0316610269565b3480156103a757600080fd5b5060408051808201909152600a8152694241425952594f53484960b01b60208201526101b4565b3480156103da57600080fd5b506101e16103e9366004611a2a565b6106fb565b3480156103fa57600080fd5b506102966104093660046119fd565b610708565b34801561041a57600080fd5b506102966104293660046119fd565b61075d565b34801561043a57600080fd5b506102966107b2565b34801561044f57600080fd5b506101e161045e36600461194d565b60066020526000908152604090205460ff1681565b34801561047f57600080fd5b5061017161048e366004611985565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156104c557600080fd5b50610296610ba1565b60006104db338484610bcb565b5060015b92915050565b60006104f2848484610cef565b610544843361053f85604051806060016040528060288152602001611c72602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190611135565b610bcb565b5060019392505050565b600e546001600160a01b0316336001600160a01b03161461056e57600080fd5b600061057930610607565b90506105848161116f565b50565b6000546001600160a01b031633146105ba5760405162461bcd60e51b81526004016105b190611b25565b60405180910390fd5b60118054911515600160b81b0260ff60b81b19909216919091179055565b6000546001600160a01b031633146106025760405162461bcd60e51b81526004016105b190611b25565b601255565b6001600160a01b0381166000908152600260205260408120546104df90611314565b6000546001600160a01b031633146106535760405162461bcd60e51b81526004016105b190611b25565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106c75760405162461bcd60e51b81526004016105b190611b25565b601355565b6000546001600160a01b031633146106f65760405162461bcd60e51b81526004016105b190611b25565b600b55565b60006104db338484610cef565b6000546001600160a01b031633146107325760405162461bcd60e51b81526004016105b190611b25565b6001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146107875760405162461bcd60e51b81526004016105b190611b25565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146107dc5760405162461bcd60e51b81526004016105b190611b25565b601154600160a01b900460ff16156108365760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016105b1565b601080546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556108733082683635c9adc5dea00000610bcb565b806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156108ac57600080fd5b505afa1580156108c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e49190611969565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561092c57600080fd5b505afa158015610940573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109649190611969565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156109ac57600080fd5b505af11580156109c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e49190611969565b601180546001600160a01b0319166001600160a01b03928316178155601080548316600090815260066020526040808220805460ff1990811660019081179092559454861683529120805490931617909155541663f305d7194730610a4881610607565b600080610a5d6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b158015610ac057600080fd5b505af1158015610ad4573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610af99190611aa5565b50506011805463ffff00ff60a01b198116630101000160a01b1790915560105460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b390604401602060405180830381600087803b158015610b6557600080fd5b505af1158015610b79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b9d9190611a71565b5050565b600e546001600160a01b0316336001600160a01b031614610bc157600080fd5b4761058481611398565b6001600160a01b038316610c2d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105b1565b6001600160a01b038216610c8e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105b1565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d535760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105b1565b6001600160a01b038216610db55760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105b1565b80610dbf84610607565b1015610e1c5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016105b1565b6000546001600160a01b03848116911614801590610e4857506000546001600160a01b03838116911614155b15611125576001600160a01b03831660009081526007602052604090205460ff16158015610e8f57506001600160a01b03821660009081526007602052604090205460ff16155b610e9857600080fd5b6001600160a01b03831660009081526006602052604090205460ff161580610ef157506011546001600160a01b038481169116148015610ef157506001600160a01b03821660009081526006602052604090205460ff16155b15610f5e57601254811115610f5e5760405162461bcd60e51b815260206004820152602d60248201527f416e74692d7768616c653a205472616e7366657220616d6f756e74206578636560448201526c19591cc81b585e081b1a5b5a5d609a1b60648201526084016105b1565b6001600160a01b03821660009081526006602052604090205460ff16610ff75760135481610f8b84610607565b610f959190611bca565b1115610ff75760405162461bcd60e51b815260206004820152602b60248201527f416e74692d7768616c653a2057616c6c657420616d6f756e742065786365656460448201526a1cc81b585e081b1a5b5a5d60aa1b60648201526084016105b1565b6011546001600160a01b03848116911614801561102257506010546001600160a01b03838116911614155b801561104757506001600160a01b03821660009081526005602052604090205460ff16155b801561105c5750601154600160b81b900460ff165b156110aa576001600160a01b038216600090815260086020526040902054421161108557600080fd5b61109042603c611bca565b6001600160a01b0383166000908152600860205260409020555b60006110b530610607565b601154909150600160a81b900460ff161580156110e057506011546001600160a01b03858116911614155b80156110f55750601154600160b01b900460ff165b80156111035750600b548110155b15611123576111118161116f565b4780156111215761112147611398565b505b505b61113083838361141d565b505050565b600081848411156111595760405162461bcd60e51b81526004016105b19190611ad2565b5060006111668486611c21565b95945050505050565b6011805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106111c557634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601054604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561121957600080fd5b505afa15801561122d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112519190611969565b8160018151811061127257634e487b7160e01b600052603260045260246000fd5b6001600160a01b0392831660209182029290920101526010546112989130911684610bcb565b60105460405163791ac94760e01b81526001600160a01b039091169063791ac947906112d1908590600090869030904290600401611b5a565b600060405180830381600087803b1580156112eb57600080fd5b505af11580156112ff573d6000803e3d6000fd5b50506011805460ff60a81b1916905550505050565b600060095482111561137b5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016105b1565b6000611385611428565b9050611391838261144b565b9392505050565b600e546001600160a01b03166108fc6113b283600261144b565b6040518115909202916000818181858888f193505050501580156113da573d6000803e3d6000fd5b50600f546001600160a01b03166108fc6113f583600261144b565b6040518115909202916000818181858888f19350505050158015610b9d573d6000803e3d6000fd5b61113083838361148d565b600080600061143561164d565b9092509050611444828261144b565b9250505090565b600061139183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061168f565b60008060008060008061149f876116bd565b6001600160a01b038f16600090815260026020526040902054959b509399509197509550935091506114d1908761171a565b6001600160a01b038a1660009081526002602090815260408083209390935560059052205460ff168061151c57506001600160a01b03881660009081526005602052604090205460ff165b156115a5576001600160a01b038816600090815260026020526040902054611544908761175c565b6001600160a01b03808a1660008181526002602052604090819020939093559151908b16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611598908b815260200190565b60405180910390a3611642565b6001600160a01b0388166000908152600260205260409020546115c8908661175c565b6001600160a01b0389166000908152600260205260409020556115ea816117bb565b6115f48483611805565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161163991815260200190565b60405180910390a35b505050505050505050565b6009546000908190683635c9adc5dea00000611669828261144b565b82101561168657505060095492683635c9adc5dea0000092509050565b90939092509050565b600081836116b05760405162461bcd60e51b81526004016105b19190611ad2565b5060006111668486611be2565b60008060008060008060008060006116da8a600c54600d54611829565b92509250925060006116ea611428565b905060008060006116fd8e87878761187e565b919e509c509a509598509396509194505050505091939550919395565b600061139183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611135565b6000806117698385611bca565b9050838110156113915760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105b1565b60006117c5611428565b905060006117d383836118ce565b306000908152600260205260409020549091506117f0908261175c565b30600090815260026020526040902055505050565b600954611812908361171a565b600955600a54611822908261175c565b600a555050565b6000808080611843606461183d89896118ce565b9061144b565b90506000611856606461183d8a896118ce565b9050600061186e826118688b8661171a565b9061171a565b9992985090965090945050505050565b600080808061188d88866118ce565b9050600061189b88876118ce565b905060006118a988886118ce565b905060006118bb82611868868661171a565b939b939a50919850919650505050505050565b6000826118dd575060006104df565b60006118e98385611c02565b9050826118f68583611be2565b146113915760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105b1565b60006020828403121561195e578081fd5b813561139181611c4e565b60006020828403121561197a578081fd5b815161139181611c4e565b60008060408385031215611997578081fd5b82356119a281611c4e565b915060208301356119b281611c4e565b809150509250929050565b6000806000606084860312156119d1578081fd5b83356119dc81611c4e565b925060208401356119ec81611c4e565b929592945050506040919091013590565b60008060408385031215611a0f578182fd5b8235611a1a81611c4e565b915060208301356119b281611c63565b60008060408385031215611a3c578182fd5b8235611a4781611c4e565b946020939093013593505050565b600060208284031215611a66578081fd5b813561139181611c63565b600060208284031215611a82578081fd5b815161139181611c63565b600060208284031215611a9e578081fd5b5035919050565b600080600060608486031215611ab9578283fd5b8351925060208401519150604084015190509250925092565b6000602080835283518082850152825b81811015611afe57858101830151858201604001528201611ae2565b81811115611b0f5783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b81811015611ba95784516001600160a01b031683529383019391830191600101611b84565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115611bdd57611bdd611c38565b500190565b600082611bfd57634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615611c1c57611c1c611c38565b500290565b600082821015611c3357611c33611c38565b500390565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b038116811461058457600080fd5b801515811461058457600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212203a4d9fac0ec044692a4a7785cbcb54b077e2093be62a17630dfcbac738125fa464736f6c63430008040033000000000000000000000000289a81db5510a776c580fbcc9789ac26dead58a1000000000000000000000000289a81db5510a776c580fbcc9789ac26dead58a1

Deployed Bytecode

0x60806040526004361061014f5760003560e01c8063715018a6116100b6578063c02466681161006f578063c0246668146103ee578063c0a904a21461040e578063c9567bf91461042e578063d94160e014610443578063dd62ed3e14610473578063f4293890146104b957600080fd5b8063715018a61461032857806381bfdcca1461033d57806389f425e71461035d5780638da5cb5b1461037d57806395d89b411461039b578063a9059cbb146103ce57600080fd5b806349bd5a5e1161010857806349bd5a5e1461024957806351bc3c85146102815780635342acb4146102985780635932ead1146102c8578063677daa57146102e857806370a082311461030857600080fd5b80630445b6671461015b57806306fdde0314610184578063095ea7b3146101c157806318160ddd146101f157806323b872dd1461020d578063313ce5671461022d57600080fd5b3661015657005b600080fd5b34801561016757600080fd5b50610171600b5481565b6040519081526020015b60405180910390f35b34801561019057600080fd5b5060408051808201909152600b81526a426162792052796f73686960a81b60208201525b60405161017b9190611ad2565b3480156101cd57600080fd5b506101e16101dc366004611a2a565b6104ce565b604051901515815260200161017b565b3480156101fd57600080fd5b50683635c9adc5dea00000610171565b34801561021957600080fd5b506101e16102283660046119bd565b6104e5565b34801561023957600080fd5b506040516009815260200161017b565b34801561025557600080fd5b50601154610269906001600160a01b031681565b6040516001600160a01b03909116815260200161017b565b34801561028d57600080fd5b5061029661054e565b005b3480156102a457600080fd5b506101e16102b336600461194d565b60056020526000908152604090205460ff1681565b3480156102d457600080fd5b506102966102e3366004611a55565b610587565b3480156102f457600080fd5b50610296610303366004611a8d565b6105d8565b34801561031457600080fd5b5061017161032336600461194d565b610607565b34801561033457600080fd5b50610296610629565b34801561034957600080fd5b50610296610358366004611a8d565b61069d565b34801561036957600080fd5b50610296610378366004611a8d565b6106cc565b34801561038957600080fd5b506000546001600160a01b0316610269565b3480156103a757600080fd5b5060408051808201909152600a8152694241425952594f53484960b01b60208201526101b4565b3480156103da57600080fd5b506101e16103e9366004611a2a565b6106fb565b3480156103fa57600080fd5b506102966104093660046119fd565b610708565b34801561041a57600080fd5b506102966104293660046119fd565b61075d565b34801561043a57600080fd5b506102966107b2565b34801561044f57600080fd5b506101e161045e36600461194d565b60066020526000908152604090205460ff1681565b34801561047f57600080fd5b5061017161048e366004611985565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156104c557600080fd5b50610296610ba1565b60006104db338484610bcb565b5060015b92915050565b60006104f2848484610cef565b610544843361053f85604051806060016040528060288152602001611c72602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190611135565b610bcb565b5060019392505050565b600e546001600160a01b0316336001600160a01b03161461056e57600080fd5b600061057930610607565b90506105848161116f565b50565b6000546001600160a01b031633146105ba5760405162461bcd60e51b81526004016105b190611b25565b60405180910390fd5b60118054911515600160b81b0260ff60b81b19909216919091179055565b6000546001600160a01b031633146106025760405162461bcd60e51b81526004016105b190611b25565b601255565b6001600160a01b0381166000908152600260205260408120546104df90611314565b6000546001600160a01b031633146106535760405162461bcd60e51b81526004016105b190611b25565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106c75760405162461bcd60e51b81526004016105b190611b25565b601355565b6000546001600160a01b031633146106f65760405162461bcd60e51b81526004016105b190611b25565b600b55565b60006104db338484610cef565b6000546001600160a01b031633146107325760405162461bcd60e51b81526004016105b190611b25565b6001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146107875760405162461bcd60e51b81526004016105b190611b25565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146107dc5760405162461bcd60e51b81526004016105b190611b25565b601154600160a01b900460ff16156108365760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016105b1565b601080546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556108733082683635c9adc5dea00000610bcb565b806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156108ac57600080fd5b505afa1580156108c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e49190611969565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561092c57600080fd5b505afa158015610940573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109649190611969565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156109ac57600080fd5b505af11580156109c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e49190611969565b601180546001600160a01b0319166001600160a01b03928316178155601080548316600090815260066020526040808220805460ff1990811660019081179092559454861683529120805490931617909155541663f305d7194730610a4881610607565b600080610a5d6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b158015610ac057600080fd5b505af1158015610ad4573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610af99190611aa5565b50506011805463ffff00ff60a01b198116630101000160a01b1790915560105460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b390604401602060405180830381600087803b158015610b6557600080fd5b505af1158015610b79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b9d9190611a71565b5050565b600e546001600160a01b0316336001600160a01b031614610bc157600080fd5b4761058481611398565b6001600160a01b038316610c2d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105b1565b6001600160a01b038216610c8e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105b1565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d535760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105b1565b6001600160a01b038216610db55760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105b1565b80610dbf84610607565b1015610e1c5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016105b1565b6000546001600160a01b03848116911614801590610e4857506000546001600160a01b03838116911614155b15611125576001600160a01b03831660009081526007602052604090205460ff16158015610e8f57506001600160a01b03821660009081526007602052604090205460ff16155b610e9857600080fd5b6001600160a01b03831660009081526006602052604090205460ff161580610ef157506011546001600160a01b038481169116148015610ef157506001600160a01b03821660009081526006602052604090205460ff16155b15610f5e57601254811115610f5e5760405162461bcd60e51b815260206004820152602d60248201527f416e74692d7768616c653a205472616e7366657220616d6f756e74206578636560448201526c19591cc81b585e081b1a5b5a5d609a1b60648201526084016105b1565b6001600160a01b03821660009081526006602052604090205460ff16610ff75760135481610f8b84610607565b610f959190611bca565b1115610ff75760405162461bcd60e51b815260206004820152602b60248201527f416e74692d7768616c653a2057616c6c657420616d6f756e742065786365656460448201526a1cc81b585e081b1a5b5a5d60aa1b60648201526084016105b1565b6011546001600160a01b03848116911614801561102257506010546001600160a01b03838116911614155b801561104757506001600160a01b03821660009081526005602052604090205460ff16155b801561105c5750601154600160b81b900460ff165b156110aa576001600160a01b038216600090815260086020526040902054421161108557600080fd5b61109042603c611bca565b6001600160a01b0383166000908152600860205260409020555b60006110b530610607565b601154909150600160a81b900460ff161580156110e057506011546001600160a01b03858116911614155b80156110f55750601154600160b01b900460ff165b80156111035750600b548110155b15611123576111118161116f565b4780156111215761112147611398565b505b505b61113083838361141d565b505050565b600081848411156111595760405162461bcd60e51b81526004016105b19190611ad2565b5060006111668486611c21565b95945050505050565b6011805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106111c557634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601054604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561121957600080fd5b505afa15801561122d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112519190611969565b8160018151811061127257634e487b7160e01b600052603260045260246000fd5b6001600160a01b0392831660209182029290920101526010546112989130911684610bcb565b60105460405163791ac94760e01b81526001600160a01b039091169063791ac947906112d1908590600090869030904290600401611b5a565b600060405180830381600087803b1580156112eb57600080fd5b505af11580156112ff573d6000803e3d6000fd5b50506011805460ff60a81b1916905550505050565b600060095482111561137b5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016105b1565b6000611385611428565b9050611391838261144b565b9392505050565b600e546001600160a01b03166108fc6113b283600261144b565b6040518115909202916000818181858888f193505050501580156113da573d6000803e3d6000fd5b50600f546001600160a01b03166108fc6113f583600261144b565b6040518115909202916000818181858888f19350505050158015610b9d573d6000803e3d6000fd5b61113083838361148d565b600080600061143561164d565b9092509050611444828261144b565b9250505090565b600061139183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061168f565b60008060008060008061149f876116bd565b6001600160a01b038f16600090815260026020526040902054959b509399509197509550935091506114d1908761171a565b6001600160a01b038a1660009081526002602090815260408083209390935560059052205460ff168061151c57506001600160a01b03881660009081526005602052604090205460ff165b156115a5576001600160a01b038816600090815260026020526040902054611544908761175c565b6001600160a01b03808a1660008181526002602052604090819020939093559151908b16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611598908b815260200190565b60405180910390a3611642565b6001600160a01b0388166000908152600260205260409020546115c8908661175c565b6001600160a01b0389166000908152600260205260409020556115ea816117bb565b6115f48483611805565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161163991815260200190565b60405180910390a35b505050505050505050565b6009546000908190683635c9adc5dea00000611669828261144b565b82101561168657505060095492683635c9adc5dea0000092509050565b90939092509050565b600081836116b05760405162461bcd60e51b81526004016105b19190611ad2565b5060006111668486611be2565b60008060008060008060008060006116da8a600c54600d54611829565b92509250925060006116ea611428565b905060008060006116fd8e87878761187e565b919e509c509a509598509396509194505050505091939550919395565b600061139183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611135565b6000806117698385611bca565b9050838110156113915760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105b1565b60006117c5611428565b905060006117d383836118ce565b306000908152600260205260409020549091506117f0908261175c565b30600090815260026020526040902055505050565b600954611812908361171a565b600955600a54611822908261175c565b600a555050565b6000808080611843606461183d89896118ce565b9061144b565b90506000611856606461183d8a896118ce565b9050600061186e826118688b8661171a565b9061171a565b9992985090965090945050505050565b600080808061188d88866118ce565b9050600061189b88876118ce565b905060006118a988886118ce565b905060006118bb82611868868661171a565b939b939a50919850919650505050505050565b6000826118dd575060006104df565b60006118e98385611c02565b9050826118f68583611be2565b146113915760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105b1565b60006020828403121561195e578081fd5b813561139181611c4e565b60006020828403121561197a578081fd5b815161139181611c4e565b60008060408385031215611997578081fd5b82356119a281611c4e565b915060208301356119b281611c4e565b809150509250929050565b6000806000606084860312156119d1578081fd5b83356119dc81611c4e565b925060208401356119ec81611c4e565b929592945050506040919091013590565b60008060408385031215611a0f578182fd5b8235611a1a81611c4e565b915060208301356119b281611c63565b60008060408385031215611a3c578182fd5b8235611a4781611c4e565b946020939093013593505050565b600060208284031215611a66578081fd5b813561139181611c63565b600060208284031215611a82578081fd5b815161139181611c63565b600060208284031215611a9e578081fd5b5035919050565b600080600060608486031215611ab9578283fd5b8351925060208401519150604084015190509250925092565b6000602080835283518082850152825b81811015611afe57858101830151858201604001528201611ae2565b81811115611b0f5783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b81811015611ba95784516001600160a01b031683529383019391830191600101611b84565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115611bdd57611bdd611c38565b500190565b600082611bfd57634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615611c1c57611c1c611c38565b500290565b600082821015611c3357611c33611c38565b500390565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b038116811461058457600080fd5b801515811461058457600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212203a4d9fac0ec044692a4a7785cbcb54b077e2093be62a17630dfcbac738125fa464736f6c63430008040033

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

000000000000000000000000289a81db5510a776c580fbcc9789ac26dead58a1000000000000000000000000289a81db5510a776c580fbcc9789ac26dead58a1

-----Decoded View---------------
Arg [0] : wallet1 (address): 0x289a81db5510A776C580FBcc9789aC26DEAD58a1
Arg [1] : wallet2 (address): 0x289a81db5510A776C580FBcc9789aC26DEAD58a1

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000289a81db5510a776c580fbcc9789ac26dead58a1
Arg [1] : 000000000000000000000000289a81db5510a776c580fbcc9789ac26dead58a1


Deployed Bytecode Sourcemap

3613:11599:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4296:50;;;;;;;;;;;;;;;;;;;10262:25:1;;;10250:2;10235:18;4296:50:0;;;;;;;;5841:83;;;;;;;;;;-1:-1:-1;5911:5:0;;;;;;;;;;;;-1:-1:-1;;;5911:5:0;;;;5841:83;;;;;;;:::i;6693:161::-;;;;;;;;;;-1:-1:-1;6693:161:0;;;;;:::i;:::-;;:::i;:::-;;;4748:14:1;;4741:22;4723:41;;4711:2;4696:18;6693:161:0;4678:92:1;6118:95:0;;;;;;;;;;-1:-1:-1;4173:25:0;6118:95;;6862:313;;;;;;;;;;-1:-1:-1;6862:313:0;;;;;:::i;:::-;;:::i;6027:83::-;;;;;;;;;;-1:-1:-1;6027:83:0;;4673:1;11428:36:1;;11416:2;11401:18;6027:83:0;11383:87:1;4736:28:0;;;;;;;;;;-1:-1:-1;4736:28:0;;;;-1:-1:-1;;;;;4736:28:0;;;;;;-1:-1:-1;;;;;3339:32:1;;;3321:51;;3309:2;3294:18;4736:28:0;3276:102:1;13047:195:0;;;;;;;;;;;;;:::i;:::-;;3879:50;;;;;;;;;;-1:-1:-1;3879:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;7183:101;;;;;;;;;;-1:-1:-1;7183:101:0;;;;;:::i;:::-;;:::i;11083:100::-;;;;;;;;;;-1:-1:-1;11083:100:0;;;;;:::i;:::-;;:::i;6221:138::-;;;;;;;;;;-1:-1:-1;6221:138:0;;;;;:::i;:::-;;:::i;2692:148::-;;;;;;;;;;;;;:::i;11191:108::-;;;;;;;;;;-1:-1:-1;11191:108:0;;;;;:::i;:::-;;:::i;11307:103::-;;;;;;;;;;-1:-1:-1;11307:103:0;;;;;:::i;:::-;;:::i;2478:79::-;;;;;;;;;;-1:-1:-1;2516:7:0;2543:6;-1:-1:-1;;;;;2543:6:0;2478:79;;5932:87;;;;;;;;;;-1:-1:-1;6004:7:0;;;;;;;;;;;;-1:-1:-1;;;6004:7:0;;;;5932:87;;6367:167;;;;;;;;;;-1:-1:-1;6367:167:0;;;;;:::i;:::-;;:::i;11418:130::-;;;;;;;;;;-1:-1:-1;11418:130:0;;;;;:::i;:::-;;:::i;11556:134::-;;;;;;;;;;-1:-1:-1;11556:134:0;;;;;:::i;:::-;;:::i;10178:897::-;;;;;;;;;;;;;:::i;3936:52::-;;;;;;;;;;-1:-1:-1;3936:52:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;6542:143;;;;;;;;;;-1:-1:-1;6542:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6650:18:0;;;6623:7;6650:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6542:143;13254:194;;;;;;;;;;;;;:::i;6693:161::-;6768:4;6785:39;276:10;6808:7;6817:6;6785:8;:39::i;:::-;-1:-1:-1;6842:4:0;6693:161;;;;;:::o;6862:313::-;6960:4;6977:36;6987:6;6995:9;7006:6;6977:9;:36::i;:::-;7024:121;7033:6;276:10;7055:89;7093:6;7055:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7055:19:0;;;;;;:11;:19;;;;;;;;276:10;7055:33;;;;;;;;;;:37;:89::i;:::-;7024:8;:121::i;:::-;-1:-1:-1;7163:4:0;6862:313;;;;;:::o;13047:195::-;13113:15;;-1:-1:-1;;;;;13113:15:0;276:10;-1:-1:-1;;;;;13097:31:0;;13089:40;;;;;;13140:23;13166:24;13184:4;13166:9;:24::i;:::-;13140:50;;13201:33;13218:15;13201:16;:33::i;:::-;13047:195;:::o;7183:101::-;2605:6;;-1:-1:-1;;;;;2605:6:0;276:10;2605:22;2597:67;;;;-1:-1:-1;;;2597:67:0;;;;;;;:::i;:::-;;;;;;;;;7253:15:::1;:23:::0;;;::::1;;-1:-1:-1::0;;;7253:23:0::1;-1:-1:-1::0;;;;7253:23:0;;::::1;::::0;;;::::1;::::0;;7183:101::o;11083:100::-;2605:6;;-1:-1:-1;;;;;2605:6:0;276:10;2605:22;2597:67;;;;-1:-1:-1;;;2597:67:0;;;;;;;:::i;:::-;11154:12:::1;:21:::0;11083:100::o;6221:138::-;-1:-1:-1;;;;;6334:16:0;;6287:7;6334:16;;;:7;:16;;;;;;6314:37;;:19;:37::i;2692:148::-;2605:6;;-1:-1:-1;;;;;2605:6:0;276:10;2605:22;2597:67;;;;-1:-1:-1;;;2597:67:0;;;;;;;:::i;:::-;2799:1:::1;2783:6:::0;;2762:40:::1;::::0;-1:-1:-1;;;;;2783:6:0;;::::1;::::0;2762:40:::1;::::0;2799:1;;2762:40:::1;2830:1;2813:19:::0;;-1:-1:-1;;;;;;2813:19:0::1;::::0;;2692:148::o;11191:108::-;2605:6;;-1:-1:-1;;;;;2605:6:0;276:10;2605:22;2597:67;;;;-1:-1:-1;;;2597:67:0;;;;;;;:::i;:::-;11266:16:::1;:25:::0;11191:108::o;11307:103::-;2605:6;;-1:-1:-1;;;;;2605:6:0;276:10;2605:22;2597:67;;;;-1:-1:-1;;;2597:67:0;;;;;;;:::i;:::-;11380:13:::1;:22:::0;11307:103::o;6367:167::-;6445:4;6462:42;276:10;6486:9;6497:6;6462:9;:42::i;11418:130::-;2605:6;;-1:-1:-1;;;;;2605:6:0;276:10;2605:22;2597:67;;;;-1:-1:-1;;;2597:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11503:26:0;;;::::1;;::::0;;;:17:::1;:26;::::0;;;;:37;;-1:-1:-1;;11503:37:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11418:130::o;11556:134::-;2605:6;;-1:-1:-1;;;;;2605:6:0;276:10;2605:22;2597:67;;;;-1:-1:-1;;;2597:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11643:28:0;;;::::1;;::::0;;;:19:::1;:28;::::0;;;;:39;;-1:-1:-1;;11643:39:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11556:134::o;10178:897::-;2605:6;;-1:-1:-1;;;;;2605:6:0;276:10;2605:22;2597:67;;;;-1:-1:-1;;;2597:67:0;;;;;;;:::i;:::-;10242:11:::1;::::0;-1:-1:-1;;;10242:11:0;::::1;;;10241:12;10233:48;;;::::0;-1:-1:-1;;;10233:48:0;;9966:2:1;10233:48:0::1;::::0;::::1;9948:21:1::0;10005:2;9985:18;;;9978:30;10044:25;10024:18;;;10017:53;10087:18;;10233:48:0::1;9938:173:1::0;10233:48:0::1;10405:15;:34:::0;;-1:-1:-1;;;;;;10405:34:0::1;10351:42;10405:34:::0;;::::1;::::0;;;10450:58:::1;10467:4;10351:42:::0;4173:25:::1;10450:8;:58::i;:::-;10553:16;-1:-1:-1::0;;;;;10553:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10535:56:0::1;;10600:4;10607:16;-1:-1:-1::0;;;;;10607:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10535:96;::::0;-1:-1:-1;;;;;;10535:96:0::1;::::0;;;;;;-1:-1:-1;;;;;3613:15:1;;;10535:96:0::1;::::0;::::1;3595:34:1::0;3665:15;;3645:18;;;3638:43;3530:18;;10535:96:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10519:13;:112:::0;;-1:-1:-1;;;;;;10519:112:0::1;-1:-1:-1::0;;;;;10519:112:0;;::::1;;::::0;;10672:15:::1;::::0;;;::::1;-1:-1:-1::0;10644:45:0;;;:19:::1;:45;::::0;;;;;:52;;-1:-1:-1;;10644:52:0;;::::1;-1:-1:-1::0;10644:52:0;;::::1;::::0;;;10727:13;;;::::1;10707:34:::0;;;;:41;;;;::::1;;::::0;;;10761:15;::::1;:31;10800:21;10831:4;10837:24;10831:4:::0;10837:9:::1;:24::i;:::-;10862:1;10864::::0;10866:7:::1;2516::::0;2543:6;-1:-1:-1;;;;;2543:6:0;;2478:79;10866:7:::1;10761:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;10761:129:0;;;-1:-1:-1;;;;;4330:15:1;;;10761:129:0::1;::::0;::::1;4312:34:1::0;4362:18;;;4355:34;;;;4405:18;;;4398:34;;;;4448:18;;;4441:34;4512:15;;;4491:19;;;4484:44;10874:15:0::1;4544:19:1::0;;;4537:35;4246:19;;10761:129:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;10903:11:0::1;:18:::0;;-1:-1:-1;;;;10965:18:0;;-1:-1:-1;;;10965:18:0;;;;11034:15:::1;::::0;10996:71:::1;::::0;-1:-1:-1;;;10996:71:0;;-1:-1:-1;;;;;11034:15:0;;::::1;10996:71;::::0;::::1;3866:51:1::0;-1:-1:-1;;3933:18:1;;;3926:34;11003:13:0;;;-1:-1:-1;10996:29:0::1;::::0;3839:18:1;;10996:71:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2675:1;10178:897::o:0;13254:194::-;13320:15;;-1:-1:-1;;;;;13320:15:0;276:10;-1:-1:-1;;;;;13304:31:0;;13296:40;;;;;;13376:21;13408:32;13376:21;13408:12;:32::i;7554:335::-;-1:-1:-1;;;;;7647:19:0;;7639:68;;;;-1:-1:-1;;;7639:68:0;;9561:2:1;7639:68:0;;;9543:21:1;9600:2;9580:18;;;9573:30;9639:34;9619:18;;;9612:62;-1:-1:-1;;;9690:18:1;;;9683:34;9734:19;;7639:68:0;9533:226:1;7639:68:0;-1:-1:-1;;;;;7726:21:0;;7718:68;;;;-1:-1:-1;;;7718:68:0;;6400:2:1;7718:68:0;;;6382:21:1;6439:2;6419:18;;;6412:30;6478:34;6458:18;;;6451:62;-1:-1:-1;;;6529:18:1;;;6522:32;6571:19;;7718:68:0;6372:224:1;7718:68:0;-1:-1:-1;;;;;7797:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7849:32;;10262:25:1;;;7849:32:0;;10235:18:1;7849:32:0;;;;;;;7554:335;;;:::o;7897:1608::-;-1:-1:-1;;;;;7985:18:0;;7977:68;;;;-1:-1:-1;;;7977:68:0;;9155:2:1;7977:68:0;;;9137:21:1;9194:2;9174:18;;;9167:30;9233:34;9213:18;;;9206:62;-1:-1:-1;;;9284:18:1;;;9277:35;9329:19;;7977:68:0;9127:227:1;7977:68:0;-1:-1:-1;;;;;8064:16:0;;8056:64;;;;-1:-1:-1;;;8056:64:0;;5585:2:1;8056:64:0;;;5567:21:1;5624:2;5604:18;;;5597:30;5663:34;5643:18;;;5636:62;-1:-1:-1;;;5714:18:1;;;5707:33;5757:19;;8056:64:0;5557:225:1;8056:64:0;8160:6;8141:15;8151:4;8141:9;:15::i;:::-;:25;;8133:76;;;;-1:-1:-1;;;8133:76:0;;7159:2:1;8133:76:0;;;7141:21:1;7198:2;7178:18;;;7171:30;7237:34;7217:18;;;7210:62;-1:-1:-1;;;7288:18:1;;;7281:36;7334:19;;8133:76:0;7131:228:1;8133:76:0;2516:7;2543:6;-1:-1:-1;;;;;8226:15:0;;;2543:6;;8226:15;;;;:32;;-1:-1:-1;2516:7:0;2543:6;-1:-1:-1;;;;;8245:13:0;;;2543:6;;8245:13;;8226:32;8222:1231;;;-1:-1:-1;;;;;8286:10:0;;;;;;:4;:10;;;;;;;;8285:11;:24;;;;-1:-1:-1;;;;;;8301:8:0;;;;;;:4;:8;;;;;;;;8300:9;8285:24;8277:33;;;;;;-1:-1:-1;;;;;8332:25:0;;;;;;:19;:25;;;;;;;;8331:26;;:81;;-1:-1:-1;8370:13:0;;-1:-1:-1;;;;;8362:21:0;;;8370:13;;8362:21;:49;;;;-1:-1:-1;;;;;;8388:23:0;;;;;;:19;:23;;;;;;;;8387:24;8362:49;8327:202;;;8451:12;;8441:6;:22;;8433:80;;;;-1:-1:-1;;;8433:80:0;;7978:2:1;8433:80:0;;;7960:21:1;8017:2;7997:18;;;7990:30;8056:34;8036:18;;;8029:62;-1:-1:-1;;;8107:18:1;;;8100:43;8160:19;;8433:80:0;7950:235:1;8433:80:0;-1:-1:-1;;;;;8548:23:0;;;;;;:19;:23;;;;;;;;8543:163;;8626:16;;8616:6;8600:13;8610:2;8600:9;:13::i;:::-;:22;;;;:::i;:::-;:42;;8592:98;;;;-1:-1:-1;;;8592:98:0;;7566:2:1;8592:98:0;;;7548:21:1;7605:2;7585:18;;;7578:30;7644:34;7624:18;;;7617:62;-1:-1:-1;;;7695:18:1;;;7688:41;7746:19;;8592:98:0;7538:233:1;8592:98:0;8734:13;;-1:-1:-1;;;;;8726:21:0;;;8734:13;;8726:21;:55;;;;-1:-1:-1;8765:15:0;;-1:-1:-1;;;;;8751:30:0;;;8765:15;;8751:30;;8726:55;:81;;;;-1:-1:-1;;;;;;8786:21:0;;;;;;:17;:21;;;;;;;;8785:22;8726:81;:100;;;;-1:-1:-1;8811:15:0;;-1:-1:-1;;;8811:15:0;;;;8726:100;8722:273;;;-1:-1:-1;;;;;8884:12:0;;;;;;:8;:12;;;;;;8899:15;-1:-1:-1;8876:39:0;;;;;;8949:30;:15;8968:10;8949:30;:::i;:::-;-1:-1:-1;;;;;8934:12:0;;;;;;:8;:12;;;;;:45;8722:273;9011:28;9042:24;9060:4;9042:9;:24::i;:::-;9088:6;;9011:55;;-1:-1:-1;;;;9088:6:0;;;;9087:7;:32;;;;-1:-1:-1;9106:13:0;;-1:-1:-1;;;;;9098:21:0;;;9106:13;;9098:21;;9087:32;:47;;;;-1:-1:-1;9123:11:0;;-1:-1:-1;;;9123:11:0;;;;9087:47;:88;;;;;9162:13;;9138:20;:37;;9087:88;9083:359;;;9196:38;9213:20;9196:16;:38::i;:::-;9282:21;9325:22;;9322:105;;9372:35;9385:21;9372:12;:35::i;:::-;9083:359;;8222:1231;;9467:30;9482:4;9487:2;9490:6;9467:14;:30::i;:::-;7897:1608;;;:::o;1333:190::-;1419:7;1455:12;1447:6;;;;1439:29;;;;-1:-1:-1;;;1439:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1479:9:0;1491:5;1495:1;1491;:5;:::i;:::-;1479:17;1333:190;-1:-1:-1;;;;;1333:190:0:o;9513:483::-;5054:6;:13;;-1:-1:-1;;;;5054:13:0;-1:-1:-1;;;5054:13:0;;;9615:16:::1;::::0;;9629:1:::1;9615:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9615:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9615:16:0::1;9591:40;;9660:4;9642;9647:1;9642:7;;;;;;-1:-1:-1::0;;;9642:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;9642:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9686:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;9686:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;9642:7;;9686:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9676:4;9681:1;9676:7;;;;;;-1:-1:-1::0;;;9676:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;9676:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;9751:15:::1;::::0;9719:62:::1;::::0;9736:4:::1;::::0;9751:15:::1;9769:11:::0;9719:8:::1;:62::i;:::-;9792:15;::::0;:196:::1;::::0;-1:-1:-1;;;9792:196:0;;-1:-1:-1;;;;;9792:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;9873:11;;9792:15:::1;::::0;9915:4;;9942::::1;::::0;9962:15:::1;::::0;9792:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5090:6:0;:14;;-1:-1:-1;;;;5090:14:0;;;-1:-1:-1;;;;9513:483:0:o;7292:254::-;7359:7;7398;;7387;:18;;7379:73;;;;-1:-1:-1;;;7379:73:0;;5989:2:1;7379:73:0;;;5971:21:1;6028:2;6008:18;;;6001:30;6067:34;6047:18;;;6040:62;-1:-1:-1;;;6118:18:1;;;6111:40;6168:19;;7379:73:0;5961:232:1;7379:73:0;7463:19;7486:10;:8;:10::i;:::-;7463:33;-1:-1:-1;7514:24:0;:7;7463:33;7514:11;:24::i;:::-;7507:31;7292:254;-1:-1:-1;;;7292:254:0:o;10012:154::-;10069:15;;-1:-1:-1;;;;;10069:15:0;:39;10094:13;:6;10105:1;10094:10;:13::i;:::-;10069:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10119:15:0;;-1:-1:-1;;;;;10119:15:0;:39;10144:13;:6;10155:1;10144:10;:13::i;:::-;10119:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11706:146;11800:44;11818:6;11826:9;11837:6;11800:17;:44::i;14776:163::-;14817:7;14838:15;14855;14874:19;:17;:19::i;:::-;14837:56;;-1:-1:-1;14837:56:0;-1:-1:-1;14911:20:0;14837:56;;14911:11;:20::i;:::-;14904:27;;;;14776:163;:::o;1785:132::-;1843:7;1870:39;1874:1;1877;1870:39;;;;;;;;;;;;;;;;;:3;:39::i;11860:763::-;11959:15;11976:23;12001:16;12019:23;12044:16;12062:13;12079:19;12090:7;12079:10;:19::i;:::-;-1:-1:-1;;;;;12137:15:0;;;;;;:7;:15;;;;;;11958:140;;-1:-1:-1;11958:140:0;;-1:-1:-1;11958:140:0;;-1:-1:-1;11958:140:0;-1:-1:-1;11958:140:0;-1:-1:-1;11958:140:0;-1:-1:-1;12137:28:0;;11958:140;12137:19;:28::i;:::-;-1:-1:-1;;;;;12119:15:0;;;;;;:7;:15;;;;;;;;:46;;;;12182:17;:25;;;;;;;:57;;-1:-1:-1;;;;;;12211:28:0;;;;;;:17;:28;;;;;;;;12182:57;12178:438;;;-1:-1:-1;;;;;12277:18:0;;;;;;:7;:18;;;;;;:31;;12300:7;12277:22;:31::i;:::-;-1:-1:-1;;;;;12256:18:0;;;;;;;:7;:18;;;;;;;:52;;;;12331:36;;;;;;;;;;12359:7;10262:25:1;;10250:2;10235:18;;10217:76;12331:36:0;;;;;;;;12178:438;;;-1:-1:-1;;;;;12421:18:0;;;;;;:7;:18;;;;;;:39;;12444:15;12421:22;:39::i;:::-;-1:-1:-1;;;;;12400:18:0;;;;;;:7;:18;;;;;:60;12476:16;12486:5;12476:9;:16::i;:::-;12507:31;12519:8;12529;12507:11;:31::i;:::-;12577:9;-1:-1:-1;;;;;12560:44:0;12569:6;-1:-1:-1;;;;;12560:44:0;;12588:15;12560:44;;;;10262:25:1;;10250:2;10235:18;;10217:76;12560:44:0;;;;;;;;12178:438;11860:763;;;;;;;;;:::o;14947:262::-;15044:7;;14997;;;;4173:25;15118:20;15044:7;4173:25;15118:11;:20::i;:::-;15108:7;:30;15104:61;;;-1:-1:-1;;15148:7:0;;;4173:25;;-1:-1:-1;14947:262:0;-1:-1:-1;14947:262:0:o;15104:61::-;15184:7;;15193;;-1:-1:-1;14947:262:0;-1:-1:-1;14947:262:0:o;1925:189::-;2011:7;2046:12;2039:5;2031:28;;;;-1:-1:-1;;;2031:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2070:9:0;2082:5;2086:1;2082;:5;:::i;13456:499::-;13515:7;13524;13533;13542;13551;13560;13581:23;13606:16;13624:13;13641:46;13653:7;13662:14;;13678:8;;13641:11;:46::i;:::-;13580:107;;;;;;13700:19;13723:10;:8;:10::i;:::-;13700:33;;13745:15;13762:23;13787:16;13807:50;13819:7;13828:8;13838:5;13845:11;13807;:50::i;:::-;13744:113;;-1:-1:-1;13744:113:0;-1:-1:-1;13744:113:0;-1:-1:-1;13914:15:0;;-1:-1:-1;13931:8:0;;-1:-1:-1;13941:5:0;;-1:-1:-1;;;;;13456:499:0;;;;;;;:::o;1189:136::-;1247:7;1274:43;1278:1;1281;1274:43;;;;;;;;;;;;;;;;;:3;:43::i;1002:179::-;1060:7;;1092:5;1096:1;1092;:5;:::i;:::-;1080:17;;1121:1;1116;:6;;1108:46;;;;-1:-1:-1;;;1108:46:0;;6803:2:1;1108:46:0;;;6785:21:1;6842:2;6822:18;;;6815:30;6881:29;6861:18;;;6854:57;6928:18;;1108:46:0;6775:177:1;12631:212:0;12684:19;12707:10;:8;:10::i;:::-;12684:33;-1:-1:-1;12728:13:0;12744:22;:5;12684:33;12744:9;:22::i;:::-;12818:4;12802:22;;;;:7;:22;;;;;;12728:38;;-1:-1:-1;12802:33:0;;12728:38;12802:26;:33::i;:::-;12793:4;12777:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;12631:212:0:o;12851:147::-;12929:7;;:17;;12941:4;12929:11;:17::i;:::-;12919:7;:27;12970:10;;:20;;12985:4;12970:14;:20::i;:::-;12957:10;:33;-1:-1:-1;;12851:147:0:o;13963:371::-;14060:7;;;;14117:32;14145:3;14117:23;:7;14129:10;14117:11;:23::i;:::-;:27;;:32::i;:::-;14098:51;-1:-1:-1;14160:13:0;14176:29;14201:3;14176:20;:7;14188;14176:11;:20::i;:29::-;14160:45;-1:-1:-1;14216:23:0;14242:32;14160:45;14242:21;:7;14254:8;14242:11;:21::i;:::-;:25;;:32::i;:::-;14216:58;14310:8;;-1:-1:-1;14320:5:0;;-1:-1:-1;13963:371:0;;-1:-1:-1;;;;;13963:371:0:o;14342:429::-;14456:7;;;;14512:24;:7;14524:11;14512;:24::i;:::-;14494:42;-1:-1:-1;14547:16:0;14566:25;:8;14579:11;14566:12;:25::i;:::-;14547:44;-1:-1:-1;14602:13:0;14618:22;:5;14628:11;14618:9;:22::i;:::-;14602:38;-1:-1:-1;14651:23:0;14677:32;14602:38;14677:21;:7;14689:8;14677:11;:21::i;:32::-;14728:7;;;;-1:-1:-1;14754:8:0;;-1:-1:-1;14342:429:0;;-1:-1:-1;;;;;;;14342:429:0:o;1531:246::-;1589:7;1613:6;1609:47;;-1:-1:-1;1643:1:0;1636:8;;1609:47;1666:9;1678:5;1682:1;1678;:5;:::i;:::-;1666:17;-1:-1:-1;1711:1:0;1702:5;1706:1;1666:17;1702:5;:::i;:::-;:10;1694:56;;;;-1:-1:-1;;;1694:56:0;;8392:2:1;1694:56:0;;;8374:21:1;8431:2;8411:18;;;8404:30;8470:34;8450:18;;;8443:62;-1:-1:-1;;;8521:18:1;;;8514:31;8562:19;;1694:56:0;8364:223:1;14:257;73:6;126:2;114:9;105:7;101:23;97:32;94:2;;;147:6;139;132:22;94:2;191:9;178:23;210:31;235:5;210:31;:::i;276:261::-;346:6;399:2;387:9;378:7;374:23;370:32;367:2;;;420:6;412;405:22;367:2;457:9;451:16;476:31;501:5;476:31;:::i;542:398::-;610:6;618;671:2;659:9;650:7;646:23;642:32;639:2;;;692:6;684;677:22;639:2;736:9;723:23;755:31;780:5;755:31;:::i;:::-;805:5;-1:-1:-1;862:2:1;847:18;;834:32;875:33;834:32;875:33;:::i;:::-;927:7;917:17;;;629:311;;;;;:::o;945:466::-;1022:6;1030;1038;1091:2;1079:9;1070:7;1066:23;1062:32;1059:2;;;1112:6;1104;1097:22;1059:2;1156:9;1143:23;1175:31;1200:5;1175:31;:::i;:::-;1225:5;-1:-1:-1;1282:2:1;1267:18;;1254:32;1295:33;1254:32;1295:33;:::i;:::-;1049:362;;1347:7;;-1:-1:-1;;;1401:2:1;1386:18;;;;1373:32;;1049:362::o;1416:392::-;1481:6;1489;1542:2;1530:9;1521:7;1517:23;1513:32;1510:2;;;1563:6;1555;1548:22;1510:2;1607:9;1594:23;1626:31;1651:5;1626:31;:::i;:::-;1676:5;-1:-1:-1;1733:2:1;1718:18;;1705:32;1746:30;1705:32;1746:30;:::i;1813:325::-;1881:6;1889;1942:2;1930:9;1921:7;1917:23;1913:32;1910:2;;;1963:6;1955;1948:22;1910:2;2007:9;1994:23;2026:31;2051:5;2026:31;:::i;:::-;2076:5;2128:2;2113:18;;;;2100:32;;-1:-1:-1;;;1900:238:1:o;2143:251::-;2199:6;2252:2;2240:9;2231:7;2227:23;2223:32;2220:2;;;2273:6;2265;2258:22;2220:2;2317:9;2304:23;2336:28;2358:5;2336:28;:::i;2399:255::-;2466:6;2519:2;2507:9;2498:7;2494:23;2490:32;2487:2;;;2540:6;2532;2525:22;2487:2;2577:9;2571:16;2596:28;2618:5;2596:28;:::i;2659:190::-;2718:6;2771:2;2759:9;2750:7;2746:23;2742:32;2739:2;;;2792:6;2784;2777:22;2739:2;-1:-1:-1;2820:23:1;;2729:120;-1:-1:-1;2729:120:1:o;2854:316::-;2942:6;2950;2958;3011:2;2999:9;2990:7;2986:23;2982:32;2979:2;;;3032:6;3024;3017:22;2979:2;3066:9;3060:16;3050:26;;3116:2;3105:9;3101:18;3095:25;3085:35;;3160:2;3149:9;3145:18;3139:25;3129:35;;2969:201;;;;;:::o;4775:603::-;4887:4;4916:2;4945;4934:9;4927:21;4977:6;4971:13;5020:6;5015:2;5004:9;5000:18;4993:34;5045:4;5058:140;5072:6;5069:1;5066:13;5058:140;;;5167:14;;;5163:23;;5157:30;5133:17;;;5152:2;5129:26;5122:66;5087:10;;5058:140;;;5216:6;5213:1;5210:13;5207:2;;;5286:4;5281:2;5272:6;5261:9;5257:22;5253:31;5246:45;5207:2;-1:-1:-1;5362:2:1;5341:15;-1:-1:-1;;5337:29:1;5322:45;;;;5369:2;5318:54;;4896:482;-1:-1:-1;;;4896:482:1:o;8592:356::-;8794:2;8776:21;;;8813:18;;;8806:30;8872:34;8867:2;8852:18;;8845:62;8939:2;8924:18;;8766:182::o;10298:983::-;10560:4;10608:3;10597:9;10593:19;10639:6;10628:9;10621:25;10665:2;10703:6;10698:2;10687:9;10683:18;10676:34;10746:3;10741:2;10730:9;10726:18;10719:31;10770:6;10805;10799:13;10836:6;10828;10821:22;10874:3;10863:9;10859:19;10852:26;;10913:2;10905:6;10901:15;10887:29;;10934:4;10947:195;10961:6;10958:1;10955:13;10947:195;;;11026:13;;-1:-1:-1;;;;;11022:39:1;11010:52;;11117:15;;;;11082:12;;;;11058:1;10976:9;10947:195;;;-1:-1:-1;;;;;;;11198:32:1;;;;11193:2;11178:18;;11171:60;-1:-1:-1;;;11262:3:1;11247:19;11240:35;11159:3;10569:712;-1:-1:-1;;;10569:712:1:o;11475:128::-;11515:3;11546:1;11542:6;11539:1;11536:13;11533:2;;;11552:18;;:::i;:::-;-1:-1:-1;11588:9:1;;11523:80::o;11608:217::-;11648:1;11674;11664:2;;-1:-1:-1;;;11699:31:1;;11753:4;11750:1;11743:15;11781:4;11706:1;11771:15;11664:2;-1:-1:-1;11810:9:1;;11654:171::o;11830:168::-;11870:7;11936:1;11932;11928:6;11924:14;11921:1;11918:21;11913:1;11906:9;11899:17;11895:45;11892:2;;;11943:18;;:::i;:::-;-1:-1:-1;11983:9:1;;11882:116::o;12003:125::-;12043:4;12071:1;12068;12065:8;12062:2;;;12076:18;;:::i;:::-;-1:-1:-1;12113:9:1;;12052:76::o;12133:127::-;12194:10;12189:3;12185:20;12182:1;12175:31;12225:4;12222:1;12215:15;12249:4;12246:1;12239:15;12265:131;-1:-1:-1;;;;;12340:31:1;;12330:42;;12320:2;;12386:1;12383;12376:12;12401:118;12487:5;12480:13;12473:21;12466:5;12463:32;12453:2;;12509:1;12506;12499:12

Swarm Source

ipfs://3a4d9fac0ec044692a4a7785cbcb54b077e2093be62a17630dfcbac738125fa4
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.