ETH Price: $2,989.06 (-2.28%)
Gas: 2 Gwei

Token

Kyūbi World (Kyūbi)
 

Overview

Max Total Supply

28,197,092,887,150.219494343 Kyūbi

Holders

880 (0.00%)

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Kyūbi World is a hub for NFT artists to collaborate and create NFT collectibles in various media formats (i.e. modern Ukiyo-e, musical NFTs, 3D art) as well as a place to educate artists to launch projects on blockchain.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
KYUBIWORLD

Compiler Version
v0.7.6+commit.7338295f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-06-20
*/

// SPDX-License-Identifier: MIT
pragma solidity >=0.7.0 <0.8.0;

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 swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    ) external payable returns (uint256 amountToken, uint256 amountETH, uint256 liquidity);
}

contract KYUBIWORLD is Context, IERC20, Ownable {
    using SafeMath for uint256;
    string private constant _name = unicode"Kyūbi World";
    string private constant _symbol = unicode"Kyūbi";
    uint8 private constant _decimals = 9;

    mapping(address => uint256) private _rOwned;
    mapping(address => uint256) private _tOwned;    
    uint256 private constant MAX = ~uint256(0);
    uint256 private _tTotal = 33000000000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 public _kyubiBurned;

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

    mapping(address => uint256) private buycooldown;
    mapping(address => uint256) private sellcooldown;
    mapping(address => uint256) private firstsell;
    mapping(address => uint256) private sellnumber;
    
    address private eViral = 0x7CeC018CEEF82339ee583Fd95446334f2685d24f; 
    address private burnAddress = 0x000000000000000000000000000000000000dEaD;
    address payable private _teamAddress;
    address payable private _marketingFunds;
    address payable private _developmentFunds1;
    address payable private _developmentFunds2;
    IUniswapV2Router02 private uniswapV2Router;
    address public uniswapV2Pair;
    
    bool public tradeAllowed = false;
    bool private liquidityAdded = false;
    bool private inSwap = false;
    bool public swapEnabled = false;
    
    uint256 private _maxTxAmount = _tTotal;     
    uint256 private _reflection = 5;
    uint256 private _teamFee = 7;
    uint256 private _kyubiBurn = 5;

    event MaxTxAmountUpdated(uint256 _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor(address payable addr1, address payable addr2, address payable addr3, address payable addr4) {
        _teamAddress = addr1;
        _marketingFunds = addr2;
        _developmentFunds1 = addr3;
        _developmentFunds2 = addr4;
        _rOwned[_msgSender()] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_teamAddress] = true;
        _isExcludedFromFee[_marketingFunds] = true;
        _isExcludedFromFee[_developmentFunds1] = true;
        _isExcludedFromFee[_developmentFunds2] = true;
        emit Transfer(address(0), _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 view 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 releaseKyubi() public onlyOwner {
        require(liquidityAdded);
        tradeAllowed = true;
    }
    
    
    function setMaxTxPercent(uint256 maxTxPercent) external onlyOwner() {
        require(maxTxPercent > 0, "Amount must be greater than 0");
        _maxTxAmount = _tTotal.mul(maxTxPercent).div(10**2);
        emit MaxTxAmountUpdated(_maxTxAmount);
    }

    function addLiquidity() external onlyOwner() {
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        swapEnabled = true;
        liquidityAdded = true;
        _maxTxAmount = 99000000000 * 10**9;
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router),type(uint256).max);
    }

    function manualswap() external onlyOwner() {
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }

    function manualsend() external onlyOwner() {
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }

    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(amount > 0, "Transfer amount must be greater than zero");

        if (from != owner() && to != owner()) {
            
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to]) {
                require(tradeAllowed);
                require(buycooldown[to] < block.timestamp);
                uint walletBalance = balanceOf(address(to));
                require(amount.add(walletBalance) <= _tTotal.div(100));
                require(amount <= _maxTxAmount);
                buycooldown[to] = block.timestamp + (45 seconds);
                _teamFee = 7;
                _reflection = 3;
                _kyubiBurn = 0;
                uint contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    swapETHForEViral(address(this).balance);
                }
                
            }
            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[to] && !_isExcludedFromFee[from]) {
                require(amount <= balanceOf(uniswapV2Pair).mul(33).div(1000));
                require(sellcooldown[from] < block.timestamp);
                if(firstsell[from] + (1 days) < block.timestamp){
                    sellnumber[from] = 0;
                }
                if (sellnumber[from] == 0) {
                    sellnumber[from]++;
                    firstsell[from] = block.timestamp;
                    sellcooldown[from] = block.timestamp + (1 hours);
                }
                else if (sellnumber[from] == 1) {
                    sellnumber[from]++;
                    sellcooldown[from] = block.timestamp + (3 hours);
                }
                else if (sellnumber[from] == 2) {
                    sellnumber[from]++;
                    sellcooldown[from] = firstsell[from] + (1 days);
                }
                uint initialBalance = address(this).balance;
                swapTokensForEth(contractTokenBalance);
                uint newBalance = address(this).balance;
                uint distributeETHBalance = newBalance.sub(initialBalance);
                if (distributeETHBalance > 0) {
                    sendETHToFee(distributeETHBalance);
                }
                setFee(sellnumber[from]);
            }
        }
        bool takeFee = true;
        if (_isExcludedFromFee[from] || _isExcludedFromFee[to]) {
            takeFee = false;
            if ( to != uniswapV2Pair && to!= address(uniswapV2Router)) {
                takeFee = false;
            }
        }
        _tokenTransfer(from, to, amount, takeFee);
        restoreAllFee;
    }
    

    function removeAllFee() private {
        if (_reflection == 0 && _teamFee == 0 && _kyubiBurn == 0) return;
        _reflection = 0;
        _teamFee = 0;
        _kyubiBurn = 0;
    }

    function restoreAllFee() private {
        _reflection = 5;
        _teamFee = 7;
        _kyubiBurn = 5;
    }
    
    function setFee(uint256 multiplier) private {
        _reflection = _reflection.mul(multiplier);
        _kyubiBurn = _kyubiBurn.mul(multiplier);
        _teamFee = _teamFee.add(multiplier);       
    }

    function _tokenTransfer(address sender, address recipient, uint256 amount, bool takeFee) private {
        if (!takeFee) removeAllFee();
        _transferStandard(sender, recipient, amount);
        if (!takeFee) restoreAllFee();
    }
    function _transferStandard(address sender, address recipient, uint256 amount) private {
        (uint256 tAmount, uint256 tBurn) = _kyubiTokenBurn(amount);
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount, tBurn);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        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 _kyubiTokenBurn(uint amount) private returns (uint, uint) {  
        uint orgAmount = amount;
        uint256 currentRate = _getRate();
        uint256 tBurn = amount.mul(_kyubiBurn).div(100);
        uint256 rBurn = tBurn.mul(currentRate);
        _tTotal = _tTotal.sub(tBurn);
        _rTotal = _rTotal.sub(rBurn);
        _kyubiBurned = _kyubiBurned.add(tBurn);
        return (orgAmount, tBurn);
    }
    
    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    function _getValues(uint256 tAmount, uint256 tBurn) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _reflection, _teamFee, tBurn);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }

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

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

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

    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 swapETHForEViral(uint ethAmount) private {
        address[] memory path = new address[](2);
        path[0] = uniswapV2Router.WETH();
        path[1] = address(eViral);

        _approve(address(this), address(uniswapV2Router), ethAmount);
        uniswapV2Router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: ethAmount}(ethAmount,path,address(burnAddress),block.timestamp);
    }

    function sendETHToFee(uint256 amount) private {
            uint oneEigth = amount.div(8);
            _teamAddress.transfer(amount.div(16).mul(5));
            _marketingFunds.transfer(oneEigth);
            _developmentFunds1.transfer(oneEigth);
            _developmentFunds2.transfer(oneEigth);
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address payable","name":"addr1","type":"address"},{"internalType":"address payable","name":"addr2","type":"address"},{"internalType":"address payable","name":"addr3","type":"address"},{"internalType":"address payable","name":"addr4","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":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","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":"_kyubiBurned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addLiquidity","outputs":[],"stateMutability":"nonpayable","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":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"releaseKyubi","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxPercent","type":"uint256"}],"name":"setMaxTxPercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"view","type":"function"},{"inputs":[],"name":"tradeAllowed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526906fceeff6681b2a00000600481905560001906196005908155600e80546001600160a01b0319908116737cec018ceef82339ee583fd95446334f2685d24f17909155600f805490911661dead1790556015805463ffffffff60a01b19169055600454601655601781905560076018556019553480156200008457600080fd5b50604051620022223803806200222283398181016040526080811015620000aa57600080fd5b50805160208201516040830151606090930151919290916000620000cd6200029a565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350601080546001600160a01b038087166001600160a01b0319928316179092556011805486841690831617905560128054858416908316179055601380549284169290911691909117905560055460026000620001726200029a565b6001600160a01b03166001600160a01b0316815260200190815260200160002081905550600160096000620001ac6200029e60201b60201c565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526009909352818320805485166001908117909155601054821684528284208054861682179055601154821684528284208054861682179055601254821684528284208054861682179055601354909116835291208054909216179055620002436200029a565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6004546040518082815260200191505060405180910390a350505050620002ad565b3390565b6000546001600160a01b031690565b611f6580620002bd6000396000f3fe6080604052600436106101235760003560e01c8063715018a6116100a0578063c3c8cd8011610064578063c3c8cd80146103cd578063d543dbeb146103e2578063dd62ed3e1461040c578063e7a9a1d614610447578063e8078d941461045c5761012a565b8063715018a6146103405780637a32bae4146103555780638da5cb5b1461036a57806395d89b411461037f578063a9059cbb146103945761012a565b8063313ce567116100e7578063313ce5671461028557806349bd5a5e146102b05780636ddd1713146102e15780636fc3eaec146102f657806370a082311461030d5761012a565b806306fdde031461012f578063095ea7b3146101b957806318160ddd1461020657806323b872dd1461022d5780632b6c7abc146102705761012a565b3661012a57005b600080fd5b34801561013b57600080fd5b50610144610471565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561017e578181015183820152602001610166565b50505050905090810190601f1680156101ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101c557600080fd5b506101f2600480360360408110156101dc57600080fd5b506001600160a01b038135169060200135610497565b604080519115158252519081900360200190f35b34801561021257600080fd5b5061021b6104b5565b60408051918252519081900360200190f35b34801561023957600080fd5b506101f26004803603606081101561025057600080fd5b506001600160a01b038135811691602081013590911690604001356104bb565b34801561027c57600080fd5b5061021b610542565b34801561029157600080fd5b5061029a610548565b6040805160ff9092168252519081900360200190f35b3480156102bc57600080fd5b506102c561054d565b604080516001600160a01b039092168252519081900360200190f35b3480156102ed57600080fd5b506101f261055c565b34801561030257600080fd5b5061030b61056c565b005b34801561031957600080fd5b5061021b6004803603602081101561033057600080fd5b50356001600160a01b03166105d1565b34801561034c57600080fd5b5061030b6105f3565b34801561036157600080fd5b506101f2610695565b34801561037657600080fd5b506102c56106a5565b34801561038b57600080fd5b506101446106b4565b3480156103a057600080fd5b506101f2600480360360408110156103b757600080fd5b506001600160a01b0381351690602001356106d4565b3480156103d957600080fd5b5061030b6106e8565b3480156103ee57600080fd5b5061030b6004803603602081101561040557600080fd5b5035610756565b34801561041857600080fd5b5061021b6004803603604081101561042f57600080fd5b506001600160a01b038135811691602001351661085d565b34801561045357600080fd5b5061030b610888565b34801561046857600080fd5b5061030b61090b565b60408051808201909152600c81526b12de716ad89a4815dbdc9b1960a21b602082015290565b60006104ab6104a4610c8c565b8484610c90565b5060015b92915050565b60045490565b60006104c8848484610d7c565b610538846104d4610c8c565b61053385604051806060016040528060288152602001611e76602891396001600160a01b038a16600090815260086020526040812090610512610c8c565b6001600160a01b0316815260208101919091526040016000205491906112c3565b610c90565b5060019392505050565b60075481565b600990565b6015546001600160a01b031681565b601554600160b81b900460ff1681565b610574610c8c565b6000546001600160a01b039081169116146105c4576040805162461bcd60e51b81526020600482018190526024820152600080516020611e9e833981519152604482015290519081900360640190fd5b476105ce8161135a565b50565b6001600160a01b0381166000908152600260205260408120546104af90611469565b6105fb610c8c565b6000546001600160a01b0390811691161461064b576040805162461bcd60e51b81526020600482018190526024820152600080516020611e9e833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b601554600160a01b900460ff1681565b6000546001600160a01b031690565b6040805180820190915260068152654b79c5ab626960d01b602082015290565b60006104ab6106e1610c8c565b8484610d7c565b6106f0610c8c565b6000546001600160a01b03908116911614610740576040805162461bcd60e51b81526020600482018190526024820152600080516020611e9e833981519152604482015290519081900360640190fd5b600061074b306105d1565b90506105ce816114c9565b61075e610c8c565b6000546001600160a01b039081169116146107ae576040805162461bcd60e51b81526020600482018190526024820152600080516020611e9e833981519152604482015290519081900360640190fd5b60008111610803576040805162461bcd60e51b815260206004820152601d60248201527f416d6f756e74206d7573742062652067726561746572207468616e2030000000604482015290519081900360640190fd5b610823606461081d8360045461169890919063ffffffff16565b906116f1565b601681905560408051918252517f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf9181900360200190a150565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b610890610c8c565b6000546001600160a01b039081169116146108e0576040805162461bcd60e51b81526020600482018190526024820152600080516020611e9e833981519152604482015290519081900360640190fd5b601554600160a81b900460ff166108f657600080fd5b6015805460ff60a01b1916600160a01b179055565b610913610c8c565b6000546001600160a01b03908116911614610963576040805162461bcd60e51b81526020600482018190526024820152600080516020611e9e833981519152604482015290519081900360640190fd5b601480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179182905560045490916109a79130916001600160a01b031690610c90565b806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156109e057600080fd5b505afa1580156109f4573d6000803e3d6000fd5b505050506040513d6020811015610a0a57600080fd5b5051604080516315ab88c960e31b815290516001600160a01b039283169263c9c653969230929186169163ad5c464891600480820192602092909190829003018186803b158015610a5a57600080fd5b505afa158015610a6e573d6000803e3d6000fd5b505050506040513d6020811015610a8457600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301525160448083019260209291908290030181600087803b158015610ad657600080fd5b505af1158015610aea573d6000803e3d6000fd5b505050506040513d6020811015610b0057600080fd5b5051601580546001600160a01b0319166001600160a01b039283161790556014541663f305d7194730610b32816105d1565b600080610b3d6106a5565b426040518863ffffffff1660e01b815260040180876001600160a01b03168152602001868152602001858152602001848152602001836001600160a01b0316815260200182815260200196505050505050506060604051808303818588803b158015610ba857600080fd5b505af1158015610bbc573d6000803e3d6000fd5b50505050506040513d6060811015610bd357600080fd5b50506015805460ff60a81b1960ff60b81b19909116600160b81b1716600160a81b179081905568055de6a779bbac00006016556014546040805163095ea7b360e01b81526001600160a01b03928316600482015260001960248201529051919092169163095ea7b39160448083019260209291908290030181600087803b158015610c5d57600080fd5b505af1158015610c71573d6000803e3d6000fd5b505050506040513d6020811015610c8757600080fd5b505050565b3390565b6001600160a01b038316610cd55760405162461bcd60e51b8152600401808060200182810382526024815260200180611f0c6024913960400191505060405180910390fd5b6001600160a01b038216610d1a5760405162461bcd60e51b8152600401808060200182810382526022815260200180611e336022913960400191505060405180910390fd5b6001600160a01b03808416600081815260086020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316610dc15760405162461bcd60e51b8152600401808060200182810382526025815260200180611ee76025913960400191505060405180910390fd5b6001600160a01b038216610e065760405162461bcd60e51b8152600401808060200182810382526023815260200180611de66023913960400191505060405180910390fd5b60008111610e455760405162461bcd60e51b8152600401808060200182810382526029815260200180611ebe6029913960400191505060405180910390fd5b610e4d6106a5565b6001600160a01b0316836001600160a01b031614158015610e875750610e716106a5565b6001600160a01b0316826001600160a01b031614155b15611231576015546001600160a01b038481169116148015610eb757506014546001600160a01b03838116911614155b8015610edc57506001600160a01b03821660009081526009602052604090205460ff16155b15610f9957601554600160a01b900460ff16610ef757600080fd5b6001600160a01b0382166000908152600a60205260409020544211610f1b57600080fd5b6000610f26836105d1565b600454909150610f379060646116f1565b610f418383611733565b1115610f4c57600080fd5b601654821115610f5b57600080fd5b6001600160a01b0383166000908152600a60205260408120602d4201905560076018556003601755601955478015610f9657610f964761178d565b50505b6000610fa4306105d1565b601554909150600160b01b900460ff16158015610fcf57506015546001600160a01b03858116911614155b8015610fe45750601554600160b81b900460ff165b801561100957506001600160a01b03831660009081526009602052604090205460ff16155b801561102e57506001600160a01b03841660009081526009602052604090205460ff16155b1561122f5760155461105d906103e89061081d90602190611057906001600160a01b03166105d1565b90611698565b82111561106957600080fd5b6001600160a01b0384166000908152600b6020526040902054421161108d57600080fd5b6001600160a01b0384166000908152600c6020526040902054426201518090910110156110ce576001600160a01b0384166000908152600d60205260408120555b6001600160a01b0384166000908152600d602052604090205461112e576001600160a01b0384166000908152600d6020908152604080832080546001019055600c82528083204290819055600b909252909120610e1090910190556111e1565b6001600160a01b0384166000908152600d602052604090205460011415611184576001600160a01b0384166000908152600d6020908152604080832080546001019055600b9091529020612a30420190556111e1565b6001600160a01b0384166000908152600d6020526040902054600214156111e1576001600160a01b0384166000908152600d6020908152604080832080546001019055600c825280832054600b9092529091206201518090910190555b476111eb826114c9565b4760006111f88284611946565b90508015611209576112098161135a565b6001600160a01b0387166000908152600d602052604090205461122b90611988565b5050505b505b6001600160a01b03831660009081526009602052604090205460019060ff168061127357506001600160a01b03831660009081526009602052604090205460ff165b156112b157506015546000906001600160a01b038481169116148015906112a857506014546001600160a01b03848116911614155b156112b1575060005b6112bd848484846119bb565b50505050565b600081848411156113525760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156113175781810151838201526020016112ff565b50505050905090810190601f1680156113445780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60006113678260086116f1565b601080549192506001600160a01b03909116906108fc90611390906005906110579087906116f1565b6040518115909202916000818181858888f193505050501580156113b8573d6000803e3d6000fd5b506011546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156113f3573d6000803e3d6000fd5b506012546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561142e573d6000803e3d6000fd5b506013546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610c87573d6000803e3d6000fd5b60006005548211156114ac5760405162461bcd60e51b815260040180806020018281038252602a815260200180611e09602a913960400191505060405180910390fd5b60006114b66119ec565b90506114c283826116f1565b9392505050565b6015805460ff60b01b1916600160b01b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061150b57fe5b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561155f57600080fd5b505afa158015611573573d6000803e3d6000fd5b505050506040513d602081101561158957600080fd5b505181518290600190811061159a57fe5b6001600160a01b0392831660209182029290920101526014546115c09130911684610c90565b60145460405163791ac94760e01b8152600481018481526000602483018190523060648401819052426084850181905260a060448601908152875160a487015287516001600160a01b039097169663791ac947968a968a9594939092909160c40190602080880191028083838b5b8381101561164657818101518382015260200161162e565b505050509050019650505050505050600060405180830381600087803b15801561166f57600080fd5b505af1158015611683573d6000803e3d6000fd5b50506015805460ff60b01b1916905550505050565b6000826116a7575060006104af565b828202828482816116b457fe5b04146114c25760405162461bcd60e51b8152600401808060200182810382526021815260200180611e556021913960400191505060405180910390fd5b60006114c283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611a0f565b6000828201838110156114c2576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6040805160028082526060820183526000926020830190803683375050601454604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c464892506004808301926020929190829003018186803b1580156117f257600080fd5b505afa158015611806573d6000803e3d6000fd5b505050506040513d602081101561181c57600080fd5b50518151829060009061182b57fe5b6001600160a01b039283166020918202929092010152600e5482519116908290600190811061185657fe5b6001600160a01b03928316602091820292909201015260145461187c9130911684610c90565b601454600f5460405163b6f9de9560e01b8152600481018581526001600160a01b03928316604483018190524260648401819052608060248501908152875160848601528751959096169563b6f9de9595899586958a9594939092909160a401906020808801910280838360005b838110156119025781810151838201526020016118ea565b50505050905001955050505050506000604051808303818588803b15801561192957600080fd5b505af115801561193d573d6000803e3d6000fd5b50505050505050565b60006114c283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112c3565b6017546119959082611698565b6017556019546119a59082611698565b6019556018546119b59082611733565b60185550565b806119c8576119c8611a74565b6119d3848484611aac565b806112bd576112bd600560178190556007601855601955565b60008060006119f9611bc6565b9092509050611a0882826116f1565b9250505090565b60008183611a5e5760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156113175781810151838201526020016112ff565b506000838581611a6a57fe5b0495945050505050565b601754158015611a845750601854155b8015611a905750601954155b15611a9a57611aaa565b6000601781905560188190556019555b565b600080611ab883611bfd565b91509150600080600080600080611acf8888611c76565b955095509550955095509550611b1386600260008e6001600160a01b03166001600160a01b031681526020019081526020016000205461194690919063ffffffff16565b6001600160a01b03808d1660009081526002602052604080822093909355908c1681522054611b429086611733565b6001600160a01b038b16600090815260026020526040902055611b6481611cd5565b611b6e8483611d1f565b896001600160a01b03168b6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a35050505050505050505050565b6005546004546000918291611bdb82826116f1565b821015611bf357600554600454935093505050611bf9565b90925090505b9091565b6000808281611c0a6119ec565b90506000611c28606461081d6019548961169890919063ffffffff16565b90506000611c368284611698565b600454909150611c469083611946565b600455600554611c569082611946565b600555600754611c669083611733565b6007555091935090915050915091565b6000806000806000806000806000611c948b6017546018548d611d43565b9250925092506000611ca46119ec565b90506000806000611cb78f878787611d95565b919e509c509a50959850939650919450505050509295509295509295565b6000611cdf6119ec565b90506000611ced8383611698565b30600090815260026020526040902054909150611d0a9082611733565b30600090815260026020526040902055505050565b600554611d2c9083611946565b600555600654611d3c9082611733565b6006555050565b6000808080611d57606461081d8a8a611698565b90506000611d6a606461081d8b8a611698565b90506000611d8487611d7e84818e88611946565b90611946565b9a9299509097509095505050505050565b6000808080611da48886611698565b90506000611db28887611698565b90506000611dc08888611698565b90506000611dd282611d7e8686611946565b939b939a5091985091965050505050505056fe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c207265666c656374696f6e7345524332303a20617070726f766520746f20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a264697066735822122020a7699b5bd7b9e07497427dd0879faf7d757e016eb69f9632337fa5a14b4d6264736f6c6343000706003300000000000000000000000053f997da7206d6bf90ffc4236b3ca8efb7bb1a89000000000000000000000000ac6d3335f701b340eb6abe5f284990ac0bd7668400000000000000000000000029ee1a0be58b46241ddf9c4e6898a3c8304e28ed000000000000000000000000c111d923666b98d09d1476f03b3055c022adf01e

Deployed Bytecode

0x6080604052600436106101235760003560e01c8063715018a6116100a0578063c3c8cd8011610064578063c3c8cd80146103cd578063d543dbeb146103e2578063dd62ed3e1461040c578063e7a9a1d614610447578063e8078d941461045c5761012a565b8063715018a6146103405780637a32bae4146103555780638da5cb5b1461036a57806395d89b411461037f578063a9059cbb146103945761012a565b8063313ce567116100e7578063313ce5671461028557806349bd5a5e146102b05780636ddd1713146102e15780636fc3eaec146102f657806370a082311461030d5761012a565b806306fdde031461012f578063095ea7b3146101b957806318160ddd1461020657806323b872dd1461022d5780632b6c7abc146102705761012a565b3661012a57005b600080fd5b34801561013b57600080fd5b50610144610471565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561017e578181015183820152602001610166565b50505050905090810190601f1680156101ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101c557600080fd5b506101f2600480360360408110156101dc57600080fd5b506001600160a01b038135169060200135610497565b604080519115158252519081900360200190f35b34801561021257600080fd5b5061021b6104b5565b60408051918252519081900360200190f35b34801561023957600080fd5b506101f26004803603606081101561025057600080fd5b506001600160a01b038135811691602081013590911690604001356104bb565b34801561027c57600080fd5b5061021b610542565b34801561029157600080fd5b5061029a610548565b6040805160ff9092168252519081900360200190f35b3480156102bc57600080fd5b506102c561054d565b604080516001600160a01b039092168252519081900360200190f35b3480156102ed57600080fd5b506101f261055c565b34801561030257600080fd5b5061030b61056c565b005b34801561031957600080fd5b5061021b6004803603602081101561033057600080fd5b50356001600160a01b03166105d1565b34801561034c57600080fd5b5061030b6105f3565b34801561036157600080fd5b506101f2610695565b34801561037657600080fd5b506102c56106a5565b34801561038b57600080fd5b506101446106b4565b3480156103a057600080fd5b506101f2600480360360408110156103b757600080fd5b506001600160a01b0381351690602001356106d4565b3480156103d957600080fd5b5061030b6106e8565b3480156103ee57600080fd5b5061030b6004803603602081101561040557600080fd5b5035610756565b34801561041857600080fd5b5061021b6004803603604081101561042f57600080fd5b506001600160a01b038135811691602001351661085d565b34801561045357600080fd5b5061030b610888565b34801561046857600080fd5b5061030b61090b565b60408051808201909152600c81526b12de716ad89a4815dbdc9b1960a21b602082015290565b60006104ab6104a4610c8c565b8484610c90565b5060015b92915050565b60045490565b60006104c8848484610d7c565b610538846104d4610c8c565b61053385604051806060016040528060288152602001611e76602891396001600160a01b038a16600090815260086020526040812090610512610c8c565b6001600160a01b0316815260208101919091526040016000205491906112c3565b610c90565b5060019392505050565b60075481565b600990565b6015546001600160a01b031681565b601554600160b81b900460ff1681565b610574610c8c565b6000546001600160a01b039081169116146105c4576040805162461bcd60e51b81526020600482018190526024820152600080516020611e9e833981519152604482015290519081900360640190fd5b476105ce8161135a565b50565b6001600160a01b0381166000908152600260205260408120546104af90611469565b6105fb610c8c565b6000546001600160a01b0390811691161461064b576040805162461bcd60e51b81526020600482018190526024820152600080516020611e9e833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b601554600160a01b900460ff1681565b6000546001600160a01b031690565b6040805180820190915260068152654b79c5ab626960d01b602082015290565b60006104ab6106e1610c8c565b8484610d7c565b6106f0610c8c565b6000546001600160a01b03908116911614610740576040805162461bcd60e51b81526020600482018190526024820152600080516020611e9e833981519152604482015290519081900360640190fd5b600061074b306105d1565b90506105ce816114c9565b61075e610c8c565b6000546001600160a01b039081169116146107ae576040805162461bcd60e51b81526020600482018190526024820152600080516020611e9e833981519152604482015290519081900360640190fd5b60008111610803576040805162461bcd60e51b815260206004820152601d60248201527f416d6f756e74206d7573742062652067726561746572207468616e2030000000604482015290519081900360640190fd5b610823606461081d8360045461169890919063ffffffff16565b906116f1565b601681905560408051918252517f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf9181900360200190a150565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b610890610c8c565b6000546001600160a01b039081169116146108e0576040805162461bcd60e51b81526020600482018190526024820152600080516020611e9e833981519152604482015290519081900360640190fd5b601554600160a81b900460ff166108f657600080fd5b6015805460ff60a01b1916600160a01b179055565b610913610c8c565b6000546001600160a01b03908116911614610963576040805162461bcd60e51b81526020600482018190526024820152600080516020611e9e833981519152604482015290519081900360640190fd5b601480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179182905560045490916109a79130916001600160a01b031690610c90565b806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156109e057600080fd5b505afa1580156109f4573d6000803e3d6000fd5b505050506040513d6020811015610a0a57600080fd5b5051604080516315ab88c960e31b815290516001600160a01b039283169263c9c653969230929186169163ad5c464891600480820192602092909190829003018186803b158015610a5a57600080fd5b505afa158015610a6e573d6000803e3d6000fd5b505050506040513d6020811015610a8457600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301525160448083019260209291908290030181600087803b158015610ad657600080fd5b505af1158015610aea573d6000803e3d6000fd5b505050506040513d6020811015610b0057600080fd5b5051601580546001600160a01b0319166001600160a01b039283161790556014541663f305d7194730610b32816105d1565b600080610b3d6106a5565b426040518863ffffffff1660e01b815260040180876001600160a01b03168152602001868152602001858152602001848152602001836001600160a01b0316815260200182815260200196505050505050506060604051808303818588803b158015610ba857600080fd5b505af1158015610bbc573d6000803e3d6000fd5b50505050506040513d6060811015610bd357600080fd5b50506015805460ff60a81b1960ff60b81b19909116600160b81b1716600160a81b179081905568055de6a779bbac00006016556014546040805163095ea7b360e01b81526001600160a01b03928316600482015260001960248201529051919092169163095ea7b39160448083019260209291908290030181600087803b158015610c5d57600080fd5b505af1158015610c71573d6000803e3d6000fd5b505050506040513d6020811015610c8757600080fd5b505050565b3390565b6001600160a01b038316610cd55760405162461bcd60e51b8152600401808060200182810382526024815260200180611f0c6024913960400191505060405180910390fd5b6001600160a01b038216610d1a5760405162461bcd60e51b8152600401808060200182810382526022815260200180611e336022913960400191505060405180910390fd5b6001600160a01b03808416600081815260086020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316610dc15760405162461bcd60e51b8152600401808060200182810382526025815260200180611ee76025913960400191505060405180910390fd5b6001600160a01b038216610e065760405162461bcd60e51b8152600401808060200182810382526023815260200180611de66023913960400191505060405180910390fd5b60008111610e455760405162461bcd60e51b8152600401808060200182810382526029815260200180611ebe6029913960400191505060405180910390fd5b610e4d6106a5565b6001600160a01b0316836001600160a01b031614158015610e875750610e716106a5565b6001600160a01b0316826001600160a01b031614155b15611231576015546001600160a01b038481169116148015610eb757506014546001600160a01b03838116911614155b8015610edc57506001600160a01b03821660009081526009602052604090205460ff16155b15610f9957601554600160a01b900460ff16610ef757600080fd5b6001600160a01b0382166000908152600a60205260409020544211610f1b57600080fd5b6000610f26836105d1565b600454909150610f379060646116f1565b610f418383611733565b1115610f4c57600080fd5b601654821115610f5b57600080fd5b6001600160a01b0383166000908152600a60205260408120602d4201905560076018556003601755601955478015610f9657610f964761178d565b50505b6000610fa4306105d1565b601554909150600160b01b900460ff16158015610fcf57506015546001600160a01b03858116911614155b8015610fe45750601554600160b81b900460ff165b801561100957506001600160a01b03831660009081526009602052604090205460ff16155b801561102e57506001600160a01b03841660009081526009602052604090205460ff16155b1561122f5760155461105d906103e89061081d90602190611057906001600160a01b03166105d1565b90611698565b82111561106957600080fd5b6001600160a01b0384166000908152600b6020526040902054421161108d57600080fd5b6001600160a01b0384166000908152600c6020526040902054426201518090910110156110ce576001600160a01b0384166000908152600d60205260408120555b6001600160a01b0384166000908152600d602052604090205461112e576001600160a01b0384166000908152600d6020908152604080832080546001019055600c82528083204290819055600b909252909120610e1090910190556111e1565b6001600160a01b0384166000908152600d602052604090205460011415611184576001600160a01b0384166000908152600d6020908152604080832080546001019055600b9091529020612a30420190556111e1565b6001600160a01b0384166000908152600d6020526040902054600214156111e1576001600160a01b0384166000908152600d6020908152604080832080546001019055600c825280832054600b9092529091206201518090910190555b476111eb826114c9565b4760006111f88284611946565b90508015611209576112098161135a565b6001600160a01b0387166000908152600d602052604090205461122b90611988565b5050505b505b6001600160a01b03831660009081526009602052604090205460019060ff168061127357506001600160a01b03831660009081526009602052604090205460ff165b156112b157506015546000906001600160a01b038481169116148015906112a857506014546001600160a01b03848116911614155b156112b1575060005b6112bd848484846119bb565b50505050565b600081848411156113525760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156113175781810151838201526020016112ff565b50505050905090810190601f1680156113445780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60006113678260086116f1565b601080549192506001600160a01b03909116906108fc90611390906005906110579087906116f1565b6040518115909202916000818181858888f193505050501580156113b8573d6000803e3d6000fd5b506011546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156113f3573d6000803e3d6000fd5b506012546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561142e573d6000803e3d6000fd5b506013546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610c87573d6000803e3d6000fd5b60006005548211156114ac5760405162461bcd60e51b815260040180806020018281038252602a815260200180611e09602a913960400191505060405180910390fd5b60006114b66119ec565b90506114c283826116f1565b9392505050565b6015805460ff60b01b1916600160b01b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061150b57fe5b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561155f57600080fd5b505afa158015611573573d6000803e3d6000fd5b505050506040513d602081101561158957600080fd5b505181518290600190811061159a57fe5b6001600160a01b0392831660209182029290920101526014546115c09130911684610c90565b60145460405163791ac94760e01b8152600481018481526000602483018190523060648401819052426084850181905260a060448601908152875160a487015287516001600160a01b039097169663791ac947968a968a9594939092909160c40190602080880191028083838b5b8381101561164657818101518382015260200161162e565b505050509050019650505050505050600060405180830381600087803b15801561166f57600080fd5b505af1158015611683573d6000803e3d6000fd5b50506015805460ff60b01b1916905550505050565b6000826116a7575060006104af565b828202828482816116b457fe5b04146114c25760405162461bcd60e51b8152600401808060200182810382526021815260200180611e556021913960400191505060405180910390fd5b60006114c283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611a0f565b6000828201838110156114c2576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6040805160028082526060820183526000926020830190803683375050601454604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c464892506004808301926020929190829003018186803b1580156117f257600080fd5b505afa158015611806573d6000803e3d6000fd5b505050506040513d602081101561181c57600080fd5b50518151829060009061182b57fe5b6001600160a01b039283166020918202929092010152600e5482519116908290600190811061185657fe5b6001600160a01b03928316602091820292909201015260145461187c9130911684610c90565b601454600f5460405163b6f9de9560e01b8152600481018581526001600160a01b03928316604483018190524260648401819052608060248501908152875160848601528751959096169563b6f9de9595899586958a9594939092909160a401906020808801910280838360005b838110156119025781810151838201526020016118ea565b50505050905001955050505050506000604051808303818588803b15801561192957600080fd5b505af115801561193d573d6000803e3d6000fd5b50505050505050565b60006114c283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112c3565b6017546119959082611698565b6017556019546119a59082611698565b6019556018546119b59082611733565b60185550565b806119c8576119c8611a74565b6119d3848484611aac565b806112bd576112bd600560178190556007601855601955565b60008060006119f9611bc6565b9092509050611a0882826116f1565b9250505090565b60008183611a5e5760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156113175781810151838201526020016112ff565b506000838581611a6a57fe5b0495945050505050565b601754158015611a845750601854155b8015611a905750601954155b15611a9a57611aaa565b6000601781905560188190556019555b565b600080611ab883611bfd565b91509150600080600080600080611acf8888611c76565b955095509550955095509550611b1386600260008e6001600160a01b03166001600160a01b031681526020019081526020016000205461194690919063ffffffff16565b6001600160a01b03808d1660009081526002602052604080822093909355908c1681522054611b429086611733565b6001600160a01b038b16600090815260026020526040902055611b6481611cd5565b611b6e8483611d1f565b896001600160a01b03168b6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a35050505050505050505050565b6005546004546000918291611bdb82826116f1565b821015611bf357600554600454935093505050611bf9565b90925090505b9091565b6000808281611c0a6119ec565b90506000611c28606461081d6019548961169890919063ffffffff16565b90506000611c368284611698565b600454909150611c469083611946565b600455600554611c569082611946565b600555600754611c669083611733565b6007555091935090915050915091565b6000806000806000806000806000611c948b6017546018548d611d43565b9250925092506000611ca46119ec565b90506000806000611cb78f878787611d95565b919e509c509a50959850939650919450505050509295509295509295565b6000611cdf6119ec565b90506000611ced8383611698565b30600090815260026020526040902054909150611d0a9082611733565b30600090815260026020526040902055505050565b600554611d2c9083611946565b600555600654611d3c9082611733565b6006555050565b6000808080611d57606461081d8a8a611698565b90506000611d6a606461081d8b8a611698565b90506000611d8487611d7e84818e88611946565b90611946565b9a9299509097509095505050505050565b6000808080611da48886611698565b90506000611db28887611698565b90506000611dc08888611698565b90506000611dd282611d7e8686611946565b939b939a5091985091965050505050505056fe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c207265666c656374696f6e7345524332303a20617070726f766520746f20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a264697066735822122020a7699b5bd7b9e07497427dd0879faf7d757e016eb69f9632337fa5a14b4d6264736f6c63430007060033

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

00000000000000000000000053f997da7206d6bf90ffc4236b3ca8efb7bb1a89000000000000000000000000ac6d3335f701b340eb6abe5f284990ac0bd7668400000000000000000000000029ee1a0be58b46241ddf9c4e6898a3c8304e28ed000000000000000000000000c111d923666b98d09d1476f03b3055c022adf01e

-----Decoded View---------------
Arg [0] : addr1 (address): 0x53F997da7206D6bF90Ffc4236b3ca8EfB7BB1A89
Arg [1] : addr2 (address): 0xaC6d3335F701b340Eb6abe5f284990ac0Bd76684
Arg [2] : addr3 (address): 0x29Ee1a0bE58b46241DdF9c4E6898a3C8304E28ed
Arg [3] : addr4 (address): 0xc111d923666b98d09D1476F03b3055C022ADF01e

-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 00000000000000000000000053f997da7206d6bf90ffc4236b3ca8efb7bb1a89
Arg [1] : 000000000000000000000000ac6d3335f701b340eb6abe5f284990ac0bd76684
Arg [2] : 00000000000000000000000029ee1a0be58b46241ddf9c4e6898a3c8304e28ed
Arg [3] : 000000000000000000000000c111d923666b98d09d1476f03b3055c022adf01e


Deployed Bytecode Sourcemap

3738:14020:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6250:83;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7102:161;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;7102:161:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;6527:95;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;7271:310;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;7271:310:0;;;;;;;;;;;;;;;;;:::i;4284:27::-;;;;;;;;;;;;;:::i;6436:83::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5064:28;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;5064:28:0;;;;;;;;;;;;;;5220:31;;;;;;;;;;;;;:::i;8886:155::-;;;;;;;;;;;;;:::i;:::-;;6630:138;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6630:138:0;-1:-1:-1;;;;;6630:138:0;;:::i;2594:148::-;;;;;;;;;;;;;:::i;5105:32::-;;;;;;;;;;;;;:::i;2380:79::-;;;;;;;;;;;;;:::i;6341:87::-;;;;;;;;;;;;;:::i;6776:167::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6776:167:0;;;;;;;;:::i;8722:156::-;;;;;;;;;;;;;:::i;7720:255::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7720:255:0;;:::i;6951:143::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6951:143:0;;;;;;;;;;:::i;7589:113::-;;;;;;;;;;;;;:::i;7983:731::-;;;;;;;;;;;;;:::i;6250:83::-;6320:5;;;;;;;;;;;;-1:-1:-1;;;6320:5:0;;;;6250:83;:::o;7102:161::-;7177:4;7194:39;7203:12;:10;:12::i;:::-;7217:7;7226:6;7194:8;:39::i;:::-;-1:-1:-1;7251:4:0;7102:161;;;;;:::o;6527:95::-;6607:7;;6527:95;:::o;7271:310::-;7369:4;7386:36;7396:6;7404:9;7415:6;7386:9;:36::i;:::-;7433:118;7442:6;7449:12;:10;:12::i;:::-;7462:88;7500:6;7462:88;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7462:19:0;;;;;;:11;:19;;;;;;7482:12;:10;:12::i;:::-;-1:-1:-1;;;;;7462:33:0;;;;;;;;;;;;-1:-1:-1;7462:33:0;;;:88;:37;:88::i;:::-;7433:8;:118::i;:::-;-1:-1:-1;7569:4:0;7271:310;;;;;:::o;4284:27::-;;;;:::o;6436:83::-;3977:1;6436:83;:::o;5064:28::-;;;-1:-1:-1;;;;;5064:28:0;;:::o;5220:31::-;;;-1:-1:-1;;;5220:31:0;;;;;:::o;8886:155::-;2517:12;:10;:12::i;:::-;2507:6;;-1:-1:-1;;;;;2507:6:0;;;:22;;;2499:67;;;;;-1:-1:-1;;;2499:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2499:67:0;;;;;;;;;;;;;;;8969:21:::1;9001:32;8969:21:::0;9001:12:::1;:32::i;:::-;2577:1;8886:155::o:0;6630:138::-;-1:-1:-1;;;;;6743:16:0;;6696:7;6743:16;;;:7;:16;;;;;;6723:37;;:19;:37::i;2594:148::-;2517:12;:10;:12::i;:::-;2507:6;;-1:-1:-1;;;;;2507:6:0;;;:22;;;2499:67;;;;;-1:-1:-1;;;2499:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2499:67:0;;;;;;;;;;;;;;;2701:1:::1;2685:6:::0;;2664:40:::1;::::0;-1:-1:-1;;;;;2685:6:0;;::::1;::::0;2664:40:::1;::::0;2701:1;;2664:40:::1;2732:1;2715:19:::0;;-1:-1:-1;;;;;;2715:19:0::1;::::0;;2594:148::o;5105:32::-;;;-1:-1:-1;;;5105:32:0;;;;;:::o;2380:79::-;2418:7;2445:6;-1:-1:-1;;;;;2445:6:0;2380:79;:::o;6341:87::-;6413:7;;;;;;;;;;;;-1:-1:-1;;;6413:7:0;;;;6341:87;:::o;6776:167::-;6854:4;6871:42;6881:12;:10;:12::i;:::-;6895:9;6906:6;6871:9;:42::i;8722:156::-;2517:12;:10;:12::i;:::-;2507:6;;-1:-1:-1;;;;;2507:6:0;;;:22;;;2499:67;;;;;-1:-1:-1;;;2499:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2499:67:0;;;;;;;;;;;;;;;8776:23:::1;8802:24;8820:4;8802:9;:24::i;:::-;8776:50;;8837:33;8854:15;8837:16;:33::i;7720:255::-:0;2517:12;:10;:12::i;:::-;2507:6;;-1:-1:-1;;;;;2507:6:0;;;:22;;;2499:67;;;;;-1:-1:-1;;;2499:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2499:67:0;;;;;;;;;;;;;;;7822:1:::1;7807:12;:16;7799:58;;;::::0;;-1:-1:-1;;;7799:58:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;7883:36;7913:5;7883:25;7895:12;7883:7;;:11;;:25;;;;:::i;:::-;:29:::0;::::1;:36::i;:::-;7868:12;:51:::0;;;7935:32:::1;::::0;;;;;;::::1;::::0;;;;::::1;::::0;;::::1;7720:255:::0;:::o;6951:143::-;-1:-1:-1;;;;;7059:18:0;;;7032:7;7059:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6951:143::o;7589:113::-;2517:12;:10;:12::i;:::-;2507:6;;-1:-1:-1;;;;;2507:6:0;;;:22;;;2499:67;;;;;-1:-1:-1;;;2499:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2499:67:0;;;;;;;;;;;;;;;7649:14:::1;::::0;-1:-1:-1;;;7649:14:0;::::1;;;7641:23;;;::::0;::::1;;7675:12;:19:::0;;-1:-1:-1;;;;7675:19:0::1;-1:-1:-1::0;;;7675:19:0::1;::::0;;7589:113::o;7983:731::-;2517:12;:10;:12::i;:::-;2507:6;;-1:-1:-1;;;;;2507:6:0;;;:22;;;2499:67;;;;;-1:-1:-1;;;2499:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2499:67:0;;;;;;;;;;;;;;;8150:15:::1;:34:::0;;-1:-1:-1;;;;;;8150:34:0::1;8096:42;8150:34:::0;;::::1;::::0;;;;8245:7:::1;::::0;8096:42;;8195:58:::1;::::0;8212:4:::1;::::0;-1:-1:-1;;;;;8227:15:0::1;::::0;8195:8:::1;:58::i;:::-;8298:16;-1:-1:-1::0;;;;;8298:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;8298:26:0;8352:23:::1;::::0;;-1:-1:-1;;;8352:23:0;;;;-1:-1:-1;;;;;8280:56:0;;::::1;::::0;::::1;::::0;8345:4:::1;::::0;8352:21;;::::1;::::0;::::1;::::0;:23:::1;::::0;;::::1;::::0;8298:26:::1;::::0;8352:23;;;;;;;;:21;:23;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;8352:23:0;8280:96:::1;::::0;;-1:-1:-1;;;;;;8280:96:0::1;::::0;;;;;;-1:-1:-1;;;;;8280:96:0;;::::1;;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;8352:23:::1;::::0;8280:96;;;;;;;-1:-1:-1;8280:96:0;;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;8280:96:0;8264:13:::1;:112:::0;;-1:-1:-1;;;;;;8264:112:0::1;-1:-1:-1::0;;;;;8264:112:0;;::::1;;::::0;;8387:15:::1;::::0;::::1;:31;8426:21;8457:4;8463:24;8457:4:::0;8463:9:::1;:24::i;:::-;8488:1;8490::::0;8492:7:::1;:5;:7::i;:::-;8500:15;8387:129;;;;;;;;;;;;;-1:-1:-1::0;;;;;8387:129:0::1;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;8387:129:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;;8527:11:0::1;:18:::0;;-1:-1:-1;;;;;;;;8527:18:0;;::::1;-1:-1:-1::0;;;8527:18:0::1;8556:21;-1:-1:-1::0;;;8556:21:0::1;::::0;;;;8603:19:::1;8588:12;:34:::0;8671:15:::1;::::0;8387:129;8633:73;;-1:-1:-1;;;8633:73:0;;-1:-1:-1;;;;;8671:15:0;;::::1;8633:73;::::0;::::1;::::0;-1:-1:-1;;8633:73:0;;;;;;8640:13;;;::::1;::::0;8633:29:::1;::::0;:73;;;;;8387:129:::1;::::0;8633:73;;;;;;;8527:18;8640:13;8633:73;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;;;7983:731:0:o;101:98::-;181:10;101:98;:::o;9310:335::-;-1:-1:-1;;;;;9403:19:0;;9395:68;;;;-1:-1:-1;;;9395:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9482:21:0;;9474:68;;;;-1:-1:-1;;;9474:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9553:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9605:32;;;;;;;;;;;;;;;;;9310:335;;;:::o;9653:3000::-;-1:-1:-1;;;;;9741:18:0;;9733:68;;;;-1:-1:-1;;;9733:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9820:16:0;;9812:64;;;;-1:-1:-1;;;9812:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9904:1;9895:6;:10;9887:64;;;;-1:-1:-1;;;9887:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9976:7;:5;:7::i;:::-;-1:-1:-1;;;;;9968:15:0;:4;-1:-1:-1;;;;;9968:15:0;;;:32;;;;;9993:7;:5;:7::i;:::-;-1:-1:-1;;;;;9987:13:0;:2;-1:-1:-1;;;;;9987:13:0;;;9968:32;9964:2345;;;10043:13;;-1:-1:-1;;;;;10035:21:0;;;10043:13;;10035:21;:55;;;;-1:-1:-1;10074:15:0;;-1:-1:-1;;;;;10060:30:0;;;10074:15;;10060:30;;10035:55;:82;;;;-1:-1:-1;;;;;;10095:22:0;;;;;;:18;:22;;;;;;;;10094:23;10035:82;10031:767;;;10146:12;;-1:-1:-1;;;10146:12:0;;;;10138:21;;;;;;-1:-1:-1;;;;;10186:15:0;;;;;;:11;:15;;;;;;10204;-1:-1:-1;10178:42:0;;;;;;10239:18;10260:22;10278:2;10260:9;:22::i;:::-;10338:7;;10239:43;;-1:-1:-1;10338:16:0;;10350:3;10338:11;:16::i;:::-;10309:25;:6;10320:13;10309:10;:25::i;:::-;:45;;10301:54;;;;;;10392:12;;10382:6;:22;;10374:31;;;;;;-1:-1:-1;;;;;10424:15:0;;;;;;:11;:15;;;;;10461:10;10442:15;:30;10424:48;;10502:1;10491:8;:12;10536:1;10522:11;:15;10556:10;:14;10615:21;10659:22;;10655:110;;10706:39;10723:21;10706:16;:39::i;:::-;10031:767;;;10812:28;10843:24;10861:4;10843:9;:24::i;:::-;10887:6;;10812:55;;-1:-1:-1;;;;10887:6:0;;;;10886:7;:32;;;;-1:-1:-1;10905:13:0;;-1:-1:-1;;;;;10897:21:0;;;10905:13;;10897:21;;10886:32;:47;;;;-1:-1:-1;10922:11:0;;-1:-1:-1;;;10922:11:0;;;;10886:47;:74;;;;-1:-1:-1;;;;;;10938:22:0;;;;;;:18;:22;;;;;;;;10937:23;10886:74;:103;;;;-1:-1:-1;;;;;;10965:24:0;;;;;;:18;:24;;;;;;;;10964:25;10886:103;10882:1416;;;11038:13;;11028:42;;11065:4;;11028:32;;11057:2;;11028:24;;-1:-1:-1;;;;;11038:13:0;11028:9;:24::i;:::-;:28;;:32::i;:42::-;11018:6;:52;;11010:61;;;;;;-1:-1:-1;;;;;11098:18:0;;;;;;:12;:18;;;;;;11119:15;-1:-1:-1;11090:45:0;;;;;;-1:-1:-1;;;;;11157:15:0;;;;;;:9;:15;;;;;;11186;11176:6;11157:26;;;:44;11154:111;;;-1:-1:-1;;;;;11225:16:0;;11244:1;11225:16;;;:10;:16;;;;;:20;11154:111;-1:-1:-1;;;;;11287:16:0;;;;;;:10;:16;;;;;;11283:578;;-1:-1:-1;;;;;11333:16:0;;;;;;:10;:16;;;;;;;;:18;;;;;;11374:9;:15;;;;;11392;11374:33;;;;11430:12;:18;;;;;;11470:7;11451:27;;;11430:48;;11283:578;;;-1:-1:-1;;;;;11525:16:0;;;;;;:10;:16;;;;;;11545:1;11525:21;11521:340;;;-1:-1:-1;;;;;11571:16:0;;;;;;:10;:16;;;;;;;;:18;;;;;;11612:12;:18;;;;;11652:7;11633:15;:27;11612:48;;11521:340;;;-1:-1:-1;;;;;11707:16:0;;;;;;:10;:16;;;;;;11727:1;11707:21;11703:158;;;-1:-1:-1;;;;;11753:16:0;;;;;;:10;:16;;;;;;;;:18;;;;;;11815:9;:15;;;;;;11794:12;:18;;;;;;11834:6;11815:26;;;11794:47;;11703:158;11901:21;11941:38;11958:20;11941:16;:38::i;:::-;12016:21;11998:15;12084:30;12016:21;12099:14;12084;:30::i;:::-;12056:58;-1:-1:-1;12137:24:0;;12133:107;;12186:34;12199:20;12186:12;:34::i;:::-;-1:-1:-1;;;;;12265:16:0;;;;;;:10;:16;;;;;;12258:24;;:6;:24::i;:::-;10882:1416;;;;9964:2345;;-1:-1:-1;;;;;12353:24:0;;12319:12;12353:24;;;:18;:24;;;;;;12334:4;;12353:24;;;:50;;-1:-1:-1;;;;;;12381:22:0;;;;;;:18;:22;;;;;;;;12353:50;12349:221;;;-1:-1:-1;12461:13:0;;12430:5;;-1:-1:-1;;;;;12455:19:0;;;12461:13;;12455:19;;;;:52;;-1:-1:-1;12491:15:0;;-1:-1:-1;;;;;12478:29:0;;;12491:15;;12478:29;;12455:52;12450:109;;;-1:-1:-1;12538:5:0;12450:109;12580:41;12595:4;12601:2;12605:6;12613:7;12580:14;:41::i;:::-;9653:3000;;;;:::o;1238:190::-;1324:7;1360:12;1352:6;;;;1344:29;;;;-1:-1:-1;;;1344:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1396:5:0;;;1238:190::o;17408:310::-;17469:13;17485;:6;17496:1;17485:10;:13::i;:::-;17513:12;;;17469:29;;-1:-1:-1;;;;;;17513:12:0;;;;:44;;17535:21;;17554:1;;17535:14;;:6;;:10;:14::i;:21::-;17513:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17572:15:0;;:34;;-1:-1:-1;;;;;17572:15:0;;;;:34;;;;;17597:8;;17572:15;:34;:15;:34;17597:8;17572:15;:34;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17621:18:0;;:37;;-1:-1:-1;;;;;17621:18:0;;;;:37;;;;;17649:8;;17621:18;:37;:18;:37;17649:8;17621:18;:37;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17673:18:0;;:37;;-1:-1:-1;;;;;17673:18:0;;;;:37;;;;;17701:8;;17673:18;:37;:18;:37;17701:8;17673:18;:37;;;;;;;;;;;;;;;;;;;9049:253;9117:7;9156;;9145;:18;;9137:72;;;;-1:-1:-1;;;9137:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9220:19;9242:10;:8;:10::i;:::-;9220:32;-1:-1:-1;9270:24:0;:7;9220:32;9270:11;:24::i;:::-;9263:31;9049:253;-1:-1:-1;;;9049:253:0:o;16571:407::-;5511:6;:13;;-1:-1:-1;;;;5511:13:0;-1:-1:-1;;;5511:13:0;;;16673:16:::1;::::0;;16687:1:::1;16673:16:::0;;;;;::::1;::::0;;-1:-1:-1;;16673:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;16673:16:0::1;16649:40;;16718:4;16700;16705:1;16700:7;;;;;;;;-1:-1:-1::0;;;;;16700:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;16744:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;16744:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;16700:7;;16744:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;16744:22:0;16734:7;;:4;;16739:1:::1;::::0;16734:7;::::1;;;;;-1:-1:-1::0;;;;;16734:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;16809:15:::1;::::0;16777:62:::1;::::0;16794:4:::1;::::0;16809:15:::1;16827:11:::0;16777:8:::1;:62::i;:::-;16850:15;::::0;:120:::1;::::0;-1:-1:-1;;;16850:120:0;;::::1;::::0;::::1;::::0;;;:15:::1;:120:::0;;;;;;16947:4:::1;16850:120:::0;;;;;;16954:15:::1;16850:120:::0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16850:15:0;;::::1;::::0;:66:::1;::::0;16917:11;;16933:4;;16947;16954:15;16850:120;;;;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;;:15;:120:::1;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5547:6:0;:14;;-1:-1:-1;;;;5547:14:0;;;-1:-1:-1;;;;16571:407:0:o;1436:246::-;1494:7;1518:6;1514:47;;-1:-1:-1;1548:1:0;1541:8;;1514:47;1583:5;;;1587:1;1583;:5;:1;1607:5;;;;;:10;1599:56;;;;-1:-1:-1;;;1599:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1690:132;1748:7;1775:39;1779:1;1782;1775:39;;;;;;;;;;;;;;;;;:3;:39::i;907:179::-;965:7;997:5;;;1021:6;;;;1013:46;;;;;-1:-1:-1;;;1013:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;16991:409;17076:16;;;17090:1;17076:16;;;;;;;;17052:21;;17076:16;;;;;;;;-1:-1:-1;;17113:15:0;;:22;;;-1:-1:-1;;;17113:22:0;;;;17052:40;;-1:-1:-1;;;;;;17113:15:0;;;;:20;;-1:-1:-1;17113:22:0;;;;;;;;;;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17113:22:0;17103:7;;:4;;17108:1;;17103:7;;;;-1:-1:-1;;;;;17103:32:0;;;:7;;;;;;;;;:32;17164:6;;17146:7;;17164:6;;;17146:4;;17164:6;;17146:7;;;;;;-1:-1:-1;;;;;17146:25:0;;;:7;;;;;;;;;:25;17216:15;;17184:60;;17201:4;;17216:15;17234:9;17184:8;:60::i;:::-;17255:15;;17363:11;;17255:137;;-1:-1:-1;;;17255:137:0;;;;;;;;-1:-1:-1;;;;;17363:11:0;;;17255:137;;;;;;17376:15;17255:137;;;;;;;;;;;;;;;;;;;;;:15;;;;;:66;;17329:9;;;;17350:4;;17363:11;17376:15;17255:137;;;;;;;;;;;;;;;;:15;:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16991:409;;:::o;1094:136::-;1152:7;1179:43;1183:1;1186;1179:43;;;;;;;;;;;;;;;;;:3;:43::i;12991:207::-;13060:11;;:27;;13076:10;13060:15;:27::i;:::-;13046:11;:41;13111:10;;:26;;13126:10;13111:14;:26::i;:::-;13098:10;:39;13159:8;;:24;;13172:10;13159:12;:24::i;:::-;13148:8;:35;-1:-1:-1;12991:207:0:o;13206:239::-;13319:7;13314:28;;13328:14;:12;:14::i;:::-;13353:44;13371:6;13379:9;13390:6;13353:17;:44::i;:::-;13413:7;13408:29;;13422:15;12922:1;12908:11;:15;;;12945:1;12934:8;:12;12957:10;:14;12864:115::o;16134:164::-;16176:7;16197:15;16214;16233:19;:17;:19::i;:::-;16196:56;;-1:-1:-1;16196:56:0;-1:-1:-1;16270:20:0;16196:56;;16270:11;:20::i;:::-;16263:27;;;;16134:164;:::o;1830:189::-;1916:7;1951:12;1944:5;1936:28;;;;-1:-1:-1;;;1936:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1975:9;1991:1;1987;:5;;;;;;;1830:189;-1:-1:-1;;;;;1830:189:0:o;12667:::-;12714:11;;:16;:33;;;;-1:-1:-1;12734:8:0;;:13;12714:33;:52;;;;-1:-1:-1;12751:10:0;;:15;12714:52;12710:65;;;12768:7;;12710:65;12799:1;12785:11;:15;;;12811:8;:12;;;12834:10;:14;12667:189;:::o;13451:562::-;13549:15;13566:13;13583:23;13599:6;13583:15;:23::i;:::-;13548:58;;;;13618:15;13635:23;13660:12;13674:23;13699:12;13713:13;13730:26;13741:7;13750:5;13730:10;:26::i;:::-;13617:139;;;;;;;;;;;;13785:28;13805:7;13785;:15;13793:6;-1:-1:-1;;;;;13785:15:0;-1:-1:-1;;;;;13785:15:0;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;-1:-1:-1;;;;;13767:15:0;;;;;;;:7;:15;;;;;;:46;;;;13845:18;;;;;;;:39;;13868:15;13845:22;:39::i;:::-;-1:-1:-1;;;;;13824:18:0;;;;;;:7;:18;;;;;:60;13895:16;13905:5;13895:9;:16::i;:::-;13922:23;13934:4;13940;13922:11;:23::i;:::-;13978:9;-1:-1:-1;;;;;13961:44:0;13970:6;-1:-1:-1;;;;;13961:44:0;;13989:15;13961:44;;;;;;;;;;;;;;;;;;13451:562;;;;;;;;;;;:::o;16306:257::-;16404:7;;16440;;16357;;;;16472:20;16404:7;16440;16472:11;:20::i;:::-;16462:7;:30;16458:61;;;16502:7;;16511;;16494:25;;;;;;;;16458:61;16538:7;;-1:-1:-1;16547:7:0;-1:-1:-1;16306:257:0;;;:::o;14240:424::-;14295:4;;14337:6;14295:4;14376:10;:8;:10::i;:::-;14354:32;;14397:13;14413:31;14440:3;14413:22;14424:10;;14413:6;:10;;:22;;;;:::i;:31::-;14397:47;-1:-1:-1;14455:13:0;14471:22;14397:47;14481:11;14471:9;:22::i;:::-;14514:7;;14455:38;;-1:-1:-1;14514:18:0;;14526:5;14514:11;:18::i;:::-;14504:7;:28;14553:7;;:18;;14565:5;14553:11;:18::i;:::-;14543:7;:28;14597:12;;:23;;14614:5;14597:16;:23::i;:::-;14582:12;:38;-1:-1:-1;14639:9:0;;-1:-1:-1;14650:5:0;;-1:-1:-1;;14240:424:0;;;:::o;14831:493::-;14905:7;14914;14923;14932;14941;14950;14971:23;14996:12;15010:13;15027:50;15039:7;15048:11;;15061:8;;15071:5;15027:11;:50::i;:::-;14970:107;;;;;;15088:19;15110:10;:8;:10::i;:::-;15088:32;;15132:15;15149:23;15174:12;15190:46;15202:7;15211:4;15217:5;15224:11;15190;:46::i;:::-;15131:105;;-1:-1:-1;15131:105:0;-1:-1:-1;15131:105:0;-1:-1:-1;15287:15:0;;-1:-1:-1;15304:4:0;;-1:-1:-1;15310:5:0;;-1:-1:-1;;;;;14831:493:0;;;;;;;;:::o;14021:211::-;14074:19;14096:10;:8;:10::i;:::-;14074:32;-1:-1:-1;14117:13:0;14133:22;:5;14074:32;14133:9;:22::i;:::-;14207:4;14191:22;;;;:7;:22;;;;;;14117:38;;-1:-1:-1;14191:33:0;;14117:38;14191:26;:33::i;:::-;14182:4;14166:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;14021:211:0:o;14676:147::-;14754:7;;:17;;14766:4;14754:11;:17::i;:::-;14744:7;:27;14795:10;;:20;;14810:4;14795:14;:20::i;:::-;14782:10;:33;-1:-1:-1;;14676:147:0:o;15332:377::-;15440:7;;;;15493:28;15517:3;15493:19;:7;15505:6;15493:11;:19::i;:28::-;15478:43;-1:-1:-1;15532:13:0;15548:29;15573:3;15548:20;:7;15560;15548:11;:20::i;:29::-;15532:45;-1:-1:-1;15588:23:0;15614:39;15647:5;15614:28;15532:45;15614:28;:7;15626:4;15614:11;:17::i;:::-;:21;;:28::i;:39::-;15588:65;15689:4;;-1:-1:-1;15695:5:0;;-1:-1:-1;15332:377:0;;-1:-1:-1;;;;;;15332:377:0:o;15717:409::-;15827:7;;;;15883:24;:7;15895:11;15883;:24::i;:::-;15865:42;-1:-1:-1;15918:12:0;15933:21;:4;15942:11;15933:8;:21::i;:::-;15918:36;-1:-1:-1;15965:13:0;15981:22;:5;15991:11;15981:9;:22::i;:::-;15965:38;-1:-1:-1;16014:23:0;16040:28;15965:38;16040:17;:7;16052:4;16040:11;:17::i;:28::-;16087:7;;;;-1:-1:-1;16113:4:0;;-1:-1:-1;15717:409:0;;-1:-1:-1;;;;;;;15717:409:0:o

Swarm Source

ipfs://20a7699b5bd7b9e07497427dd0879faf7d757e016eb69f9632337fa5a14b4d62
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.