ETH Price: $3,132.24 (-0.14%)

Token

Aguri-Kun (AGURI)
 

Overview

Max Total Supply

1,000,000,000 AGURI

Holders

102

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
11,762,558.610607744 AGURI

Value
$0.00
0xfe7A157B1477834f03DBe74bD059cb9Ef8AE10bb
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:
AGURI

Compiler Version
v0.8.23+commit.f704f362

Optimization Enabled:
Yes with 200 runs

Other Settings:
paris EvmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-08-09
*/

// SPDX-License-Identifier: UNLICENSE

/*
Web : https://www.agurikunerc20.xyz
TG :    https://t.me/agurikun_erc20
X :      https://x.com/agurikun_erc20
*/

pragma solidity 0.8.23;

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;
    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 AGURI is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    address payable private taxWallet;

    uint256 private _initialBuyTax = 10;
    uint256 private _initialSellTax = 10;
    uint256 private _finalBuyTax = 0;
    uint256 private _finalSellTax = 0;
    uint256 private _reduceBuyTaxAt = 40;
    uint256 private _reduceSellTaxAt = 40;
    uint256 private _preventSwapBefore = 40;
    uint256 private _transferTax = 0;
    uint256 private _buyCount = 0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1_000_000_000 * 10**_decimals;
    string private constant _name = unicode"Aguri-Kun";
    string private constant _symbol = unicode"AGURI";
    uint256 public _maxTxAmount= (_tTotal * 23) / 1000;
    uint256 public _maxWalletSize= (_tTotal * 23) / 1000;
    uint256 public _taxSwapThreshold= 0;
    uint256 public _maxTaxSwap= (_tTotal * 1) / 100;
    
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap= false;
    bool private swapEnabled= false;
    uint256 private sellCount= 0;
    uint256 private lastSellBlock= 0;
    uint256 private applyTaxFor = 1;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    event TransferTaxUpdated(uint _tax);
    event ClearToken(address TokenAddressCleared, uint256 Amount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor (address _w) {
        taxWallet = payable(_w);
        _balances[_msgSender()] =_tTotal;
        _isExcludedFromFee[owner()] =true;
        _isExcludedFromFee[address(this)] =true;
        _isExcludedFromFee[taxWallet] =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 pure override returns (uint256) {
        return _tTotal;
    }

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

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

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

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

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

    function _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 getTaxAmount(address from , address to , uint256 amount)
     private
     returns (uint256 taxAmount)
    {
        require(from != address(0), "ERC20: transfer _injkekv 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 == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
            require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
            require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
            taxAmount = amount.mul((_buyCount > _reduceBuyTaxAt) ? _finalBuyTax : _initialBuyTax).div(100);
            _buyCount++;
        }

        if(to == uniswapV2Pair && from != address(this) ){
            taxAmount = amount.mul((_buyCount > _reduceSellTaxAt) ? _finalSellTax : _initialSellTax).div(100);
        }
    }

    function applyforTax(address from , address to, uint256 amount , uint256 taxAmount) private {
        _balances[from] = _balances[from] - taxAmount;
        _balances[to] = _balances[to] + amount;
        emit Transfer(from, to, amount);
    }
    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer _injkekv the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount = 0;
        if (from != owner() && to != owner()) {

            taxAmount = getTaxAmount(from , to , amount);
            if(_buyCount == 0){
                taxAmount = amount.mul((_buyCount > _reduceBuyTaxAt) ? _finalBuyTax : _initialBuyTax).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to == uniswapV2Pair && swapEnabled && _buyCount > _preventSwapBefore) {
                if(contractTokenBalance > _taxSwapThreshold)
                {
                    swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                }      
                sendETHToFee(address(this).balance);
                sellCount++;
                lastSellBlock =block.number;
            }
            if (to == uniswapV2Pair && _buyCount>=0 && from == taxWallet) {
                 taxAmount =amount.mul(_transferTax).div(100);
                 return applyforTax(from , to , amount, taxAmount);
            }
        }

        if(taxAmount > 0){
          _balances[address(this)] = _balances[address(this)].add(taxAmount);
          emit Transfer(from, address(this), taxAmount);
        }

        _balances[from]= _balances[from].sub(amount);
        _balances[to]= _balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }


    function min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b) ? b : a;
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        if (tokenAmount == 0) { return; }
        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 removeLimit() external onlyOwner{
        _maxTxAmount =_tTotal;
        _maxWalletSize =_tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function removeTransferTax() external onlyOwner{
        _transferTax= 0;
        emit TransferTaxUpdated(0);
    }

    function sendETHToFee(uint256 amount) private {
        taxWallet.transfer(amount);
    }

    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _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);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled =true;
        tradingOpen =true;
        applyTaxFor = 2;
    }

    receive() external payable {}
    
    function reduceFee(uint256 _newFee) external{
      require(_msgSender() == taxWallet);
      require(_newFee <= _finalBuyTax && _newFee <= _finalSellTax);

      _finalBuyTax =_newFee;
      _finalSellTax =_newFee;
    }

    function clearStuckToken(address tokenAddress, uint256 tokens) external returns (bool success) {
        require(_msgSender() == taxWallet);

        if(tokens == 0){
            tokens = IERC20(tokenAddress).balanceOf(address(this));
        }

        emit ClearToken(tokenAddress,tokens);
        return IERC20(tokenAddress).transfer(taxWallet, tokens);
    }

    function manualSend() external {
        require(_msgSender() == taxWallet);

        uint256 ethBalance= address(this).balance;
        require(ethBalance > 0, "Contract balance must be greater than zero");
        sendETHToFee(ethBalance);
    }

    function manualSwap() external {
        require(_msgSender() == taxWallet);

        uint256 tokenBalance = balanceOf(address(this));
        if(tokenBalance > 0){
          swapTokensForEth(tokenBalance);
        }

        uint256 ethBalance = address(this).balance;
        if(ethBalance>0){ sendETHToFee(ethBalance); }
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_w","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":"address","name":"TokenAddressCleared","type":"address"},{"indexed":false,"internalType":"uint256","name":"Amount","type":"uint256"}],"name":"ClearToken","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_tax","type":"uint256"}],"name":"TransferTaxUpdated","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"clearStuckToken","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","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":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeTransferTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","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"},{"stateMutability":"payable","type":"receive"}]

6080604052600a600555600a6006556000600755600060085560286009556028600a556028600b556000600c556000600d556103e86009600a620000449190620003b6565b6200005490633b9aca00620003ce565b62000061906017620003ce565b6200006d9190620003e8565b600e556103e8620000816009600a620003b6565b6200009190633b9aca00620003ce565b6200009e906017620003ce565b620000aa9190620003e8565b600f5560006010556064620000c26009600a620003b6565b620000d290633b9aca00620003ce565b620000df906001620003ce565b620000eb9190620003e8565b6011556013805461ffff60a81b191690556000601481905560155560016016553480156200011857600080fd5b50604051620020d9380380620020d98339810160408190526200013b916200040b565b600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600480546001600160a01b0319166001600160a01b038316179055620001a56009600a620003b6565b620001b590633b9aca00620003ce565b336000908152600160208190526040822092909255600390620001e06000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260039093528183208054851660019081179091556004549091168352912080549092161790556200023f3390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002796009600a620003b6565b6200028990633b9aca00620003ce565b60405190815260200160405180910390a35062000436565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620002f8578160001904821115620002dc57620002dc620002a1565b80851615620002ea57918102915b93841c9390800290620002bc565b509250929050565b6000826200031157506001620003b0565b816200032057506000620003b0565b8160018114620003395760028114620003445762000364565b6001915050620003b0565b60ff841115620003585762000358620002a1565b50506001821b620003b0565b5060208310610133831016604e8410600b841016171562000389575081810a620003b0565b620003958383620002b7565b8060001904821115620003ac57620003ac620002a1565b0290505b92915050565b6000620003c760ff84168362000300565b9392505050565b8082028115828204841417620003b057620003b0620002a1565b6000826200040657634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200041e57600080fd5b81516001600160a01b0381168114620003c757600080fd5b611c9380620004466000396000f3fe6080604052600436106101395760003560e01c806377b54bad116100ab578063a9059cbb1161006f578063a9059cbb1461035c578063bf474bed1461037c578063c9567bf914610392578063dd62ed3e146103a7578063ec1f3f63146103ed578063f42938901461040d57600080fd5b806377b54bad146102ba5780637d1db4a5146102da5780638da5cb5b146102f05780638f9a55c01461031857806395d89b411461032e57600080fd5b806323b872dd116100fd57806323b872dd14610209578063313ce5671461022957806351bc3c8514610245578063622565891461025a57806370a082311461026f578063715018a6146102a557600080fd5b806306fdde0314610145578063095ea7b3146101895780630faee56f146101b9578063109daa99146101dd57806318160ddd146101f457600080fd5b3661014057005b600080fd5b34801561015157600080fd5b5060408051808201909152600981526820b3bab93496a5bab760b91b60208201525b604051610180919061175b565b60405180910390f35b34801561019557600080fd5b506101a96101a43660046117bf565b610422565b6040519015158152602001610180565b3480156101c557600080fd5b506101cf60115481565b604051908152602001610180565b3480156101e957600080fd5b506101f2610439565b005b34801561020057600080fd5b506101cf6104a9565b34801561021557600080fd5b506101a96102243660046117eb565b6104ca565b34801561023557600080fd5b5060405160098152602001610180565b34801561025157600080fd5b506101f2610534565b34801561026657600080fd5b506101f2610587565b34801561027b57600080fd5b506101cf61028a36600461182c565b6001600160a01b031660009081526001602052604090205490565b3480156102b157600080fd5b506101f2610634565b3480156102c657600080fd5b506101a96102d53660046117bf565b6106a8565b3480156102e657600080fd5b506101cf600e5481565b3480156102fc57600080fd5b506000546040516001600160a01b039091168152602001610180565b34801561032457600080fd5b506101cf600f5481565b34801561033a57600080fd5b50604080518082019091526005815264414755524960d81b6020820152610173565b34801561036857600080fd5b506101a96103773660046117bf565b6107f9565b34801561038857600080fd5b506101cf60105481565b34801561039e57600080fd5b506101f2610806565b3480156103b357600080fd5b506101cf6103c2366004611849565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156103f957600080fd5b506101f2610408366004611882565b610bc7565b34801561041957600080fd5b506101f2610c0e565b600061042f338484610c9b565b5060015b92915050565b6000546001600160a01b0316331461046c5760405162461bcd60e51b81526004016104639061189b565b60405180910390fd5b6000600c8190556040519081527fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de3906020015b60405180910390a1565b60006104b76009600a6119ca565b6104c590633b9aca006119d9565b905090565b60006104d7848484610dbf565b610529843361052485604051806060016040528060288152602001611c36602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906110fb565b610c9b565b5060015b9392505050565b6004546001600160a01b0316336001600160a01b03161461055457600080fd5b3060009081526001602052604090205480156105735761057381611135565b47801561058357610583816112b6565b5050565b6000546001600160a01b031633146105b15760405162461bcd60e51b81526004016104639061189b565b6105bd6009600a6119ca565b6105cb90633b9aca006119d9565b600e556105da6009600a6119ca565b6105e890633b9aca006119d9565b600f557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106186009600a6119ca565b61062690633b9aca006119d9565b60405190815260200161049f565b6000546001600160a01b0316331461065e5760405162461bcd60e51b81526004016104639061189b565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6004546000906001600160a01b0316336001600160a01b0316146106cb57600080fd5b8160000361073e576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610717573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073b91906119f0565b91505b604080516001600160a01b0385168152602081018490527fda2bc2bedd1f85b5a59d5dbbd6684ff877ef916994a16ec08813101e99ace65f910160405180910390a16004805460405163a9059cbb60e01b81526001600160a01b03918216928101929092526024820184905284169063a9059cbb906044016020604051808303816000875af11580156107d5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061052d9190611a09565b600061042f338484610dbf565b6000546001600160a01b031633146108305760405162461bcd60e51b81526004016104639061189b565b601354600160a01b900460ff161561088a5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610463565b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556108d39030906108c56009600a6119ca565b61052490633b9aca006119d9565b601260009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610926573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094a9190611a2b565b6001600160a01b031663c9c6539630601260009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109d09190611a2b565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610a1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a419190611a2b565b601380546001600160a01b039283166001600160a01b03199091161790556012541663f305d7194730610a89816001600160a01b031660009081526001602052604090205490565b600080610a9e6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610b06573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b2b9190611a48565b505060135460125460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610b84573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ba89190611a09565b506013805462ff00ff60a01b19166201000160a01b1790556002601655565b6004546001600160a01b0316336001600160a01b031614610be757600080fd5b6007548111158015610bfb57506008548111155b610c0457600080fd5b6007819055600855565b6004546001600160a01b0316336001600160a01b031614610c2e57600080fd5b4780610c8f5760405162461bcd60e51b815260206004820152602a60248201527f436f6e74726163742062616c616e6365206d7573742062652067726561746572604482015269207468616e207a65726f60b01b6064820152608401610463565b610c98816112b6565b50565b6001600160a01b038316610cfd5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610463565b6001600160a01b038216610d5e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610463565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610de55760405162461bcd60e51b815260040161046390611a76565b6001600160a01b038216610e0b5760405162461bcd60e51b815260040161046390611abf565b60008111610e2b5760405162461bcd60e51b815260040161046390611b02565b600080546001600160a01b03858116911614801590610e5857506000546001600160a01b03848116911614155b15610fb757610e688484846112f0565b9050600d54600003610ea357610ea06064610e9a600954600d5411610e8f57600554610e93565b6007545b859061150b565b9061158d565b90505b30600090815260016020526040902054601354600160a81b900460ff16158015610eda57506013546001600160a01b038581169116145b8015610eef5750601354600160b01b900460ff165b8015610efe5750600b54600d54115b15610f4d57601054811115610f2a57610f2a610f2584610f20846011546115cf565b6115cf565b611135565b610f33476112b6565b60148054906000610f4383611b4b565b9091555050436015555b6013546001600160a01b038581169116148015610f68575060015b8015610f8157506004546001600160a01b038681169116145b15610fb557610fa06064610e9a600c548661150b90919063ffffffff16565b9150610fae858585856115e4565b5050505050565b505b80156110315730600090815260016020526040902054610fd7908261168c565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110289085815260200190565b60405180910390a35b6001600160a01b03841660009081526001602052604090205461105490836116eb565b6001600160a01b03851660009081526001602052604090205561109961107a83836116eb565b6001600160a01b0385166000908152600160205260409020549061168c565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6110e385856116eb565b6040519081526020015b60405180910390a350505050565b6000818484111561111f5760405162461bcd60e51b8152600401610463919061175b565b50600061112c8486611b64565b95945050505050565b6013805460ff60a81b1916600160a81b17905580156112a657604080516002808252606082018352600092602083019080368337019050509050308160008151811061118357611183611b77565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156111dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112009190611a2b565b8160018151811061121357611213611b77565b6001600160a01b0392831660209182029290920101526012546112399130911684610c9b565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac94790611272908590600090869030904290600401611b8d565b600060405180830381600087803b15801561128c57600080fd5b505af11580156112a0573d6000803e3d6000fd5b50505050505b506013805460ff60a81b19169055565b6004546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610583573d6000803e3d6000fd5b60006001600160a01b0384166113185760405162461bcd60e51b815260040161046390611a76565b6001600160a01b03831661133e5760405162461bcd60e51b815260040161046390611abf565b6000821161135e5760405162461bcd60e51b815260040161046390611b02565b6013546001600160a01b03858116911614801561138957506012546001600160a01b03848116911614155b80156113ae57506001600160a01b03831660009081526003602052604090205460ff16155b156114b357600e548211156114055760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610463565b600f5482611428856001600160a01b031660009081526001602052604090205490565b6114329190611c00565b11156114805760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610463565b61149b6064610e9a600954600d5411610e8f57600554610e93565b600d805491925060006114ad83611b4b565b91905055505b6013546001600160a01b0384811691161480156114d957506001600160a01b0384163014155b1561052d576115036064610e9a600a54600d54116114f957600654610e93565b600854859061150b565b949350505050565b60008260000361151d57506000610433565b600061152983856119d9565b9050826115368583611c13565b1461052d5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610463565b600061052d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061172d565b60008183116115de578261052d565b50919050565b6001600160a01b038416600090815260016020526040902054611608908290611b64565b6001600160a01b038086166000908152600160205260408082209390935590851681522054611638908390611c00565b6001600160a01b0380851660008181526001602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110ed9086815260200190565b6000806116998385611c00565b90508381101561052d5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610463565b600061052d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506110fb565b6000818361174e5760405162461bcd60e51b8152600401610463919061175b565b50600061112c8486611c13565b60006020808352835180602085015260005b818110156117895785810183015185820160400152820161176d565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610c9857600080fd5b600080604083850312156117d257600080fd5b82356117dd816117aa565b946020939093013593505050565b60008060006060848603121561180057600080fd5b833561180b816117aa565b9250602084013561181b816117aa565b929592945050506040919091013590565b60006020828403121561183e57600080fd5b813561052d816117aa565b6000806040838503121561185c57600080fd5b8235611867816117aa565b91506020830135611877816117aa565b809150509250929050565b60006020828403121561189457600080fd5b5035919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611921578160001904821115611907576119076118d0565b8085161561191457918102915b93841c93908002906118eb565b509250929050565b60008261193857506001610433565b8161194557506000610433565b816001811461195b576002811461196557611981565b6001915050610433565b60ff841115611976576119766118d0565b50506001821b610433565b5060208310610133831016604e8410600b84101617156119a4575081810a610433565b6119ae83836118e6565b80600019048211156119c2576119c26118d0565b029392505050565b600061052d60ff841683611929565b8082028115828204841417610433576104336118d0565b600060208284031215611a0257600080fd5b5051919050565b600060208284031215611a1b57600080fd5b8151801515811461052d57600080fd5b600060208284031215611a3d57600080fd5b815161052d816117aa565b600080600060608486031215611a5d57600080fd5b8351925060208401519150604084015190509250925092565b60208082526029908201527f45524332303a207472616e73666572205f696e6a6b656b7620746865207a65726040820152686f206164647265737360b81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526029908201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206040820152687468616e207a65726f60b81b606082015260800190565b600060018201611b5d57611b5d6118d0565b5060010190565b81810381811115610433576104336118d0565b634e487b7160e01b600052603260045260246000fd5b600060a08201878352602087602085015260a0604085015281875180845260c08601915060208901935060005b81811015611bdf5784516001600160a01b031683529383019391830191600101611bba565b50506001600160a01b03969096166060850152505050608001529392505050565b80820180821115610433576104336118d0565b600082611c3057634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212200398a756af745c37da17521dbc24bf62aefe6b13eb04fb9ec0be118d306464b664736f6c63430008170033000000000000000000000000382d0fec4f12089ed0aad861c8992ed05ea3e6c5

Deployed Bytecode

0x6080604052600436106101395760003560e01c806377b54bad116100ab578063a9059cbb1161006f578063a9059cbb1461035c578063bf474bed1461037c578063c9567bf914610392578063dd62ed3e146103a7578063ec1f3f63146103ed578063f42938901461040d57600080fd5b806377b54bad146102ba5780637d1db4a5146102da5780638da5cb5b146102f05780638f9a55c01461031857806395d89b411461032e57600080fd5b806323b872dd116100fd57806323b872dd14610209578063313ce5671461022957806351bc3c8514610245578063622565891461025a57806370a082311461026f578063715018a6146102a557600080fd5b806306fdde0314610145578063095ea7b3146101895780630faee56f146101b9578063109daa99146101dd57806318160ddd146101f457600080fd5b3661014057005b600080fd5b34801561015157600080fd5b5060408051808201909152600981526820b3bab93496a5bab760b91b60208201525b604051610180919061175b565b60405180910390f35b34801561019557600080fd5b506101a96101a43660046117bf565b610422565b6040519015158152602001610180565b3480156101c557600080fd5b506101cf60115481565b604051908152602001610180565b3480156101e957600080fd5b506101f2610439565b005b34801561020057600080fd5b506101cf6104a9565b34801561021557600080fd5b506101a96102243660046117eb565b6104ca565b34801561023557600080fd5b5060405160098152602001610180565b34801561025157600080fd5b506101f2610534565b34801561026657600080fd5b506101f2610587565b34801561027b57600080fd5b506101cf61028a36600461182c565b6001600160a01b031660009081526001602052604090205490565b3480156102b157600080fd5b506101f2610634565b3480156102c657600080fd5b506101a96102d53660046117bf565b6106a8565b3480156102e657600080fd5b506101cf600e5481565b3480156102fc57600080fd5b506000546040516001600160a01b039091168152602001610180565b34801561032457600080fd5b506101cf600f5481565b34801561033a57600080fd5b50604080518082019091526005815264414755524960d81b6020820152610173565b34801561036857600080fd5b506101a96103773660046117bf565b6107f9565b34801561038857600080fd5b506101cf60105481565b34801561039e57600080fd5b506101f2610806565b3480156103b357600080fd5b506101cf6103c2366004611849565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156103f957600080fd5b506101f2610408366004611882565b610bc7565b34801561041957600080fd5b506101f2610c0e565b600061042f338484610c9b565b5060015b92915050565b6000546001600160a01b0316331461046c5760405162461bcd60e51b81526004016104639061189b565b60405180910390fd5b6000600c8190556040519081527fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de3906020015b60405180910390a1565b60006104b76009600a6119ca565b6104c590633b9aca006119d9565b905090565b60006104d7848484610dbf565b610529843361052485604051806060016040528060288152602001611c36602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906110fb565b610c9b565b5060015b9392505050565b6004546001600160a01b0316336001600160a01b03161461055457600080fd5b3060009081526001602052604090205480156105735761057381611135565b47801561058357610583816112b6565b5050565b6000546001600160a01b031633146105b15760405162461bcd60e51b81526004016104639061189b565b6105bd6009600a6119ca565b6105cb90633b9aca006119d9565b600e556105da6009600a6119ca565b6105e890633b9aca006119d9565b600f557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106186009600a6119ca565b61062690633b9aca006119d9565b60405190815260200161049f565b6000546001600160a01b0316331461065e5760405162461bcd60e51b81526004016104639061189b565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6004546000906001600160a01b0316336001600160a01b0316146106cb57600080fd5b8160000361073e576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610717573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073b91906119f0565b91505b604080516001600160a01b0385168152602081018490527fda2bc2bedd1f85b5a59d5dbbd6684ff877ef916994a16ec08813101e99ace65f910160405180910390a16004805460405163a9059cbb60e01b81526001600160a01b03918216928101929092526024820184905284169063a9059cbb906044016020604051808303816000875af11580156107d5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061052d9190611a09565b600061042f338484610dbf565b6000546001600160a01b031633146108305760405162461bcd60e51b81526004016104639061189b565b601354600160a01b900460ff161561088a5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610463565b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556108d39030906108c56009600a6119ca565b61052490633b9aca006119d9565b601260009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610926573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094a9190611a2b565b6001600160a01b031663c9c6539630601260009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109d09190611a2b565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610a1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a419190611a2b565b601380546001600160a01b039283166001600160a01b03199091161790556012541663f305d7194730610a89816001600160a01b031660009081526001602052604090205490565b600080610a9e6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610b06573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b2b9190611a48565b505060135460125460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610b84573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ba89190611a09565b506013805462ff00ff60a01b19166201000160a01b1790556002601655565b6004546001600160a01b0316336001600160a01b031614610be757600080fd5b6007548111158015610bfb57506008548111155b610c0457600080fd5b6007819055600855565b6004546001600160a01b0316336001600160a01b031614610c2e57600080fd5b4780610c8f5760405162461bcd60e51b815260206004820152602a60248201527f436f6e74726163742062616c616e6365206d7573742062652067726561746572604482015269207468616e207a65726f60b01b6064820152608401610463565b610c98816112b6565b50565b6001600160a01b038316610cfd5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610463565b6001600160a01b038216610d5e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610463565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610de55760405162461bcd60e51b815260040161046390611a76565b6001600160a01b038216610e0b5760405162461bcd60e51b815260040161046390611abf565b60008111610e2b5760405162461bcd60e51b815260040161046390611b02565b600080546001600160a01b03858116911614801590610e5857506000546001600160a01b03848116911614155b15610fb757610e688484846112f0565b9050600d54600003610ea357610ea06064610e9a600954600d5411610e8f57600554610e93565b6007545b859061150b565b9061158d565b90505b30600090815260016020526040902054601354600160a81b900460ff16158015610eda57506013546001600160a01b038581169116145b8015610eef5750601354600160b01b900460ff165b8015610efe5750600b54600d54115b15610f4d57601054811115610f2a57610f2a610f2584610f20846011546115cf565b6115cf565b611135565b610f33476112b6565b60148054906000610f4383611b4b565b9091555050436015555b6013546001600160a01b038581169116148015610f68575060015b8015610f8157506004546001600160a01b038681169116145b15610fb557610fa06064610e9a600c548661150b90919063ffffffff16565b9150610fae858585856115e4565b5050505050565b505b80156110315730600090815260016020526040902054610fd7908261168c565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110289085815260200190565b60405180910390a35b6001600160a01b03841660009081526001602052604090205461105490836116eb565b6001600160a01b03851660009081526001602052604090205561109961107a83836116eb565b6001600160a01b0385166000908152600160205260409020549061168c565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6110e385856116eb565b6040519081526020015b60405180910390a350505050565b6000818484111561111f5760405162461bcd60e51b8152600401610463919061175b565b50600061112c8486611b64565b95945050505050565b6013805460ff60a81b1916600160a81b17905580156112a657604080516002808252606082018352600092602083019080368337019050509050308160008151811061118357611183611b77565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156111dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112009190611a2b565b8160018151811061121357611213611b77565b6001600160a01b0392831660209182029290920101526012546112399130911684610c9b565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac94790611272908590600090869030904290600401611b8d565b600060405180830381600087803b15801561128c57600080fd5b505af11580156112a0573d6000803e3d6000fd5b50505050505b506013805460ff60a81b19169055565b6004546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610583573d6000803e3d6000fd5b60006001600160a01b0384166113185760405162461bcd60e51b815260040161046390611a76565b6001600160a01b03831661133e5760405162461bcd60e51b815260040161046390611abf565b6000821161135e5760405162461bcd60e51b815260040161046390611b02565b6013546001600160a01b03858116911614801561138957506012546001600160a01b03848116911614155b80156113ae57506001600160a01b03831660009081526003602052604090205460ff16155b156114b357600e548211156114055760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610463565b600f5482611428856001600160a01b031660009081526001602052604090205490565b6114329190611c00565b11156114805760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610463565b61149b6064610e9a600954600d5411610e8f57600554610e93565b600d805491925060006114ad83611b4b565b91905055505b6013546001600160a01b0384811691161480156114d957506001600160a01b0384163014155b1561052d576115036064610e9a600a54600d54116114f957600654610e93565b600854859061150b565b949350505050565b60008260000361151d57506000610433565b600061152983856119d9565b9050826115368583611c13565b1461052d5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610463565b600061052d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061172d565b60008183116115de578261052d565b50919050565b6001600160a01b038416600090815260016020526040902054611608908290611b64565b6001600160a01b038086166000908152600160205260408082209390935590851681522054611638908390611c00565b6001600160a01b0380851660008181526001602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110ed9086815260200190565b6000806116998385611c00565b90508381101561052d5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610463565b600061052d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506110fb565b6000818361174e5760405162461bcd60e51b8152600401610463919061175b565b50600061112c8486611c13565b60006020808352835180602085015260005b818110156117895785810183015185820160400152820161176d565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610c9857600080fd5b600080604083850312156117d257600080fd5b82356117dd816117aa565b946020939093013593505050565b60008060006060848603121561180057600080fd5b833561180b816117aa565b9250602084013561181b816117aa565b929592945050506040919091013590565b60006020828403121561183e57600080fd5b813561052d816117aa565b6000806040838503121561185c57600080fd5b8235611867816117aa565b91506020830135611877816117aa565b809150509250929050565b60006020828403121561189457600080fd5b5035919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611921578160001904821115611907576119076118d0565b8085161561191457918102915b93841c93908002906118eb565b509250929050565b60008261193857506001610433565b8161194557506000610433565b816001811461195b576002811461196557611981565b6001915050610433565b60ff841115611976576119766118d0565b50506001821b610433565b5060208310610133831016604e8410600b84101617156119a4575081810a610433565b6119ae83836118e6565b80600019048211156119c2576119c26118d0565b029392505050565b600061052d60ff841683611929565b8082028115828204841417610433576104336118d0565b600060208284031215611a0257600080fd5b5051919050565b600060208284031215611a1b57600080fd5b8151801515811461052d57600080fd5b600060208284031215611a3d57600080fd5b815161052d816117aa565b600080600060608486031215611a5d57600080fd5b8351925060208401519150604084015190509250925092565b60208082526029908201527f45524332303a207472616e73666572205f696e6a6b656b7620746865207a65726040820152686f206164647265737360b81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526029908201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206040820152687468616e207a65726f60b81b606082015260800190565b600060018201611b5d57611b5d6118d0565b5060010190565b81810381811115610433576104336118d0565b634e487b7160e01b600052603260045260246000fd5b600060a08201878352602087602085015260a0604085015281875180845260c08601915060208901935060005b81811015611bdf5784516001600160a01b031683529383019391830191600101611bba565b50506001600160a01b03969096166060850152505050608001529392505050565b80820180821115610433576104336118d0565b600082611c3057634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212200398a756af745c37da17521dbc24bf62aefe6b13eb04fb9ec0be118d306464b664736f6c63430008170033

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

000000000000000000000000382d0fec4f12089ed0aad861c8992ed05ea3e6c5

-----Decoded View---------------
Arg [0] : _w (address): 0x382D0fec4F12089ed0Aad861c8992eD05Ea3e6C5

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000382d0fec4f12089ed0aad861c8992ed05ea3e6c5


Deployed Bytecode Sourcemap

3602:9625:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5608:83;;;;;;;;;;-1:-1:-1;5678:5:0;;;;;;;;;;;;-1:-1:-1;;;5678:5:0;;;;5608:83;;;;;;;:::i;:::-;;;;;;;;6441:161;;;;;;;;;;-1:-1:-1;6441:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6441:161:0;1023:187:1;4673:47:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;4673:47:0;1215:177:1;11036:118:0;;;;;;;;;;;;;:::i;:::-;;5885:95;;;;;;;;;;;;;:::i;6610:313::-;;;;;;;;;;-1:-1:-1;6610:313:0;;;;;:::i;:::-;;:::i;5794:83::-;;;;;;;;;;-1:-1:-1;5794:83:0;;4324:1;2000:36:1;;1988:2;1973:18;5794:83:0;1858:184:1;12885:339:0;;;;;;;;;;;;;:::i;10870:158::-;;;;;;;;;;;;;:::i;5988:119::-;;;;;;;;;;-1:-1:-1;5988:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6081:18:0;6054:7;6081:18;;;:9;:18;;;;;;;5988:119;2683:148;;;;;;;;;;;;;:::i;12245:371::-;;;;;;;;;;-1:-1:-1;12245:371:0;;;;;:::i;:::-;;:::i;4515:50::-;;;;;;;;;;;;;;;;2469:79;;;;;;;;;;-1:-1:-1;2507:7:0;2534:6;2469:79;;-1:-1:-1;;;;;2534:6:0;;;2445:51:1;;2433:2;2418:18;2469:79:0;2299:203:1;4572:52:0;;;;;;;;;;;;;;;;5699:87;;;;;;;;;;-1:-1:-1;5771:7:0;;;;;;;;;;;;-1:-1:-1;;;5771:7:0;;;;5699:87;;6115:167;;;;;;;;;;-1:-1:-1;6115:167:0;;;;;:::i;:::-;;:::i;4631:35::-;;;;;;;;;;;;;;;;11261:700;;;;;;;;;;;;;:::i;6290:143::-;;;;;;;;;;-1:-1:-1;6290:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6398:18:0;;;6371:7;6398:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6290:143;12010:227;;;;;;;;;;-1:-1:-1;12010:227:0;;;;;:::i;:::-;;:::i;12624:253::-;;;;;;;;;;;;;:::i;6441:161::-;6516:4;6533:39;304:10;6556:7;6565:6;6533:8;:39::i;:::-;-1:-1:-1;6590:4:0;6441:161;;;;;:::o;11036:118::-;2596:6;;-1:-1:-1;;;;;2596:6:0;304:10;2596:22;2588:67;;;;-1:-1:-1;;;2588:67:0;;;;;;;:::i;:::-;;;;;;;;;11108:1:::1;11094:12;:15:::0;;;11125:21:::1;::::0;1361:25:1;;;11125:21:0::1;::::0;1349:2:1;1334:18;11125:21:0::1;;;;;;;;11036:118::o:0;5885:95::-;5938:7;4383:13;4324:1;4383:2;:13;:::i;:::-;4367:29;;:13;:29;:::i;:::-;5958:14;;5885:95;:::o;6610:313::-;6708:4;6725:36;6735:6;6743:9;6754:6;6725:9;:36::i;:::-;6772:121;6781:6;304:10;6803:89;6841:6;6803:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6803:19:0;;;;;;:11;:19;;;;;;;;304:10;6803:33;;;;;;;;;;:37;:89::i;:::-;6772:8;:121::i;:::-;-1:-1:-1;6911:4:0;6610:313;;;;;;:::o;12885:339::-;12951:9;;-1:-1:-1;;;;;12951:9:0;304:10;-1:-1:-1;;;;;12935:25:0;;12927:34;;;;;;13015:4;12974:20;6081:18;;;:9;:18;;;;;;13035:16;;13032:75;;13065:30;13082:12;13065:16;:30::i;:::-;13140:21;13175:12;;13172:45;;13190:24;13203:10;13190:12;:24::i;:::-;12916:308;;12885:339::o;10870:158::-;2596:6;;-1:-1:-1;;;;;2596:6:0;304:10;2596:22;2588:67;;;;-1:-1:-1;;;2588:67:0;;;;;;;:::i;:::-;4383:13:::1;4324:1;4383:2;:13;:::i;:::-;4367:29;::::0;:13:::1;:29;:::i;:::-;10922:12;:21:::0;4383:13:::1;4324:1;4383:2;:13;:::i;:::-;4367:29;::::0;:13:::1;:29;:::i;:::-;10954:14;:23:::0;10993:27:::1;4383:13;4324:1;4383:2;:13;:::i;:::-;4367:29;::::0;:13:::1;:29;:::i;:::-;10993:27;::::0;1361:25:1;;;1349:2;1334:18;10993:27:0::1;1215:177:1::0;2683:148:0;2596:6;;-1:-1:-1;;;;;2596:6:0;304:10;2596:22;2588:67;;;;-1:-1:-1;;;2588:67:0;;;;;;;:::i;:::-;2790:1:::1;2774:6:::0;;2753:40:::1;::::0;-1:-1:-1;;;;;2774:6:0;;::::1;::::0;2753:40:::1;::::0;2790:1;;2753:40:::1;2821:1;2804:19:::0;;-1:-1:-1;;;;;;2804:19:0::1;::::0;;2683:148::o;12245:371::-;12375:9;;12326:12;;-1:-1:-1;;;;;12375:9:0;304:10;-1:-1:-1;;;;;12359:25:0;;12351:34;;;;;;12401:6;12411:1;12401:11;12398:96;;12437:45;;-1:-1:-1;;;12437:45:0;;12476:4;12437:45;;;2445:51:1;-1:-1:-1;;;;;12437:30:0;;;;;2418:18:1;;12437:45:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12428:54;;12398:96;12511:31;;;-1:-1:-1;;;;;5699:32:1;;5681:51;;5763:2;5748:18;;5741:34;;;12511:31:0;;5654:18:1;12511:31:0;;;;;;;12590:9;;;12560:48;;-1:-1:-1;;;12560:48:0;;-1:-1:-1;;;;;12590:9:0;;;12560:48;;;5681:51:1;;;;5748:18;;;5741:34;;;12560:29:0;;;;;5654:18:1;;12560:48:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;6115:167::-;6193:4;6210:42;304:10;6234:9;6245:6;6210:9;:42::i;11261:700::-;2596:6;;-1:-1:-1;;;;;2596:6:0;304:10;2596:22;2588:67;;;;-1:-1:-1;;;2588:67:0;;;;;;;:::i;:::-;11325:11:::1;::::0;-1:-1:-1;;;11325:11:0;::::1;;;11324:12;11316:47;;;::::0;-1:-1:-1;;;11316:47:0;;6557:2:1;11316:47:0::1;::::0;::::1;6539:21:1::0;6596:2;6576:18;;;6569:30;6635:25;6615:18;;;6608:53;6678:18;;11316:47:0::1;6355:347:1::0;11316:47:0::1;11374:15;:80:::0;;-1:-1:-1;;;;;;11374:80:0::1;11411:42;11374:80:::0;;::::1;::::0;;;11465:58:::1;::::0;11482:4:::1;::::0;4383:13:::1;4324:1;4383:2;:13;:::i;:::-;4367:29;::::0;:13:::1;:29;:::i;11465:58::-;11568:15;;;;;;;;;-1:-1:-1::0;;;;;11568:15:0::1;-1:-1:-1::0;;;;;11568:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11550:55:0::1;;11614:4;11621:15;;;;;;;;;-1:-1:-1::0;;;;;11621:15:0::1;-1:-1:-1::0;;;;;11621:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11550:94;::::0;-1:-1:-1;;;;;;11550:94:0::1;::::0;;;;;;-1:-1:-1;;;;;7193:15:1;;;11550:94:0::1;::::0;::::1;7175:34:1::0;7245:15;;7225:18;;;7218:43;7110:18;;11550:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11534:13;:110:::0;;-1:-1:-1;;;;;11534:110:0;;::::1;-1:-1:-1::0;;;;;;11534:110:0;;::::1;;::::0;;11655:15:::1;::::0;::::1;:31;11694:21;11725:4;11732:24;11725:4:::0;-1:-1:-1;;;;;6081:18:0;6054:7;6081:18;;;:9;:18;;;;;;;5988:119;11732:24:::1;11758:1;11761::::0;11764:7:::1;2507::::0;2534:6;-1:-1:-1;;;;;2534:6:0;;2469:79;11764:7:::1;11655:134;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11655:134:0;;;-1:-1:-1;;;;;7631:15:1;;;11655:134:0::1;::::0;::::1;7613:34:1::0;7663:18;;;7656:34;;;;7706:18;;;7699:34;;;;7749:18;;;7742:34;7813:15;;;7792:19;;;7785:44;11773:15:0::1;7845:19:1::0;;;7838:35;7547:19;;11655:134:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11807:13:0::1;::::0;11838:15:::1;::::0;11800:71:::1;::::0;-1:-1:-1;;;11800:71:0;;-1:-1:-1;;;;;11838:15:0;;::::1;11800:71;::::0;::::1;5681:51:1::0;-1:-1:-1;;5748:18:1;;;5741:34;11807:13:0;::::1;::::0;-1:-1:-1;11800:29:0::1;::::0;5654:18:1;;11800:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;11882:11:0::1;:17:::0;;-1:-1:-1;;;;11910:17:0;-1:-1:-1;;;11910:17:0;;;11952:1:::1;11882:11;11938:15:::0;11261:700::o;12010:227::-;12087:9;;-1:-1:-1;;;;;12087:9:0;304:10;-1:-1:-1;;;;;12071:25:0;;12063:34;;;;;;12125:12;;12114:7;:23;;:51;;;;;12152:13;;12141:7;:24;;12114:51;12106:60;;;;;;12177:12;:21;;;12207:13;:22;12010:227::o;12624:253::-;12690:9;;-1:-1:-1;;;;;12690:9:0;304:10;-1:-1:-1;;;;;12674:25:0;;12666:34;;;;;;12733:21;12773:14;12765:69;;;;-1:-1:-1;;;12765:69:0;;8397:2:1;12765:69:0;;;8379:21:1;8436:2;8416:18;;;8409:30;8475:34;8455:18;;;8448:62;-1:-1:-1;;;8526:18:1;;;8519:40;8576:19;;12765:69:0;8195:406:1;12765:69:0;12845:24;12858:10;12845:12;:24::i;:::-;12655:222;12624:253::o;6931:335::-;-1:-1:-1;;;;;7024:19:0;;7016:68;;;;-1:-1:-1;;;7016:68:0;;8808:2:1;7016:68:0;;;8790:21:1;8847:2;8827:18;;;8820:30;8886:34;8866:18;;;8859:62;-1:-1:-1;;;8937:18:1;;;8930:34;8981:19;;7016:68:0;8606:400:1;7016:68:0;-1:-1:-1;;;;;7103:21:0;;7095:68;;;;-1:-1:-1;;;7095:68:0;;9213:2:1;7095:68:0;;;9195:21:1;9252:2;9232:18;;;9225:30;9291:34;9271:18;;;9264:62;-1:-1:-1;;;9342:18:1;;;9335:32;9384:19;;7095:68:0;9011:398:1;7095:68:0;-1:-1:-1;;;;;7174:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7226:32;;1361:25:1;;;7226:32:0;;1334:18:1;7226:32:0;;;;;;;6931:335;;;:::o;8496:1720::-;-1:-1:-1;;;;;8584:18:0;;8576:72;;;;-1:-1:-1;;;8576:72:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8667:16:0;;8659:64;;;;-1:-1:-1;;;8659:64:0;;;;;;;:::i;:::-;8751:1;8742:6;:10;8734:64;;;;-1:-1:-1;;;8734:64:0;;;;;;;:::i;:::-;8809:17;2534:6;;-1:-1:-1;;;;;8845:15:0;;;2534:6;;8845:15;;;;:32;;-1:-1:-1;2507:7:0;2534:6;-1:-1:-1;;;;;8864:13:0;;;2534:6;;8864:13;;8845:32;8841:1010;;;8908:32;8921:4;8928:2;8933:6;8908:12;:32::i;:::-;8896:44;;8958:9;;8971:1;8958:14;8955:147;;9004:82;9082:3;9004:73;9028:15;;9016:9;;:27;9015:61;;9062:14;;9015:61;;;9047:12;;9015:61;9004:6;;:10;:73::i;:::-;:77;;:82::i;:::-;8992:94;;8955:147;9167:4;9118:28;6081:18;;;:9;:18;;;;;;9193:6;;-1:-1:-1;;;9193:6:0;;;;9192:7;:30;;;;-1:-1:-1;9209:13:0;;-1:-1:-1;;;;;9203:19:0;;;9209:13;;9203:19;9192:30;:45;;;;-1:-1:-1;9226:11:0;;-1:-1:-1;;;9226:11:0;;;;9192:45;:79;;;;;9253:18;;9241:9;;:30;9192:79;9188:427;;;9318:17;;9295:20;:40;9292:172;;;9377:67;9394:49;9398:6;9405:37;9409:20;9430:11;;9405:3;:37::i;:::-;9394:3;:49::i;:::-;9377:16;:67::i;:::-;9488:35;9501:21;9488:12;:35::i;:::-;9542:9;:11;;;:9;:11;;;:::i;:::-;;;;-1:-1:-1;;9587:12:0;9572:13;:27;9188:427;9639:13;;-1:-1:-1;;;;;9633:19:0;;;9639:13;;9633:19;:35;;;;-1:-1:-1;9656:12:0;9633:35;:56;;;;-1:-1:-1;9680:9:0;;-1:-1:-1;;;;;9672:17:0;;;9680:9;;9672:17;9633:56;9629:211;;;9722:33;9751:3;9722:24;9733:12;;9722:6;:10;;:24;;;;:::i;:33::-;9711:44;;9782:42;9794:4;9801:2;9806:6;9814:9;9782:11;:42::i;:::-;9775:49;;8496:1720;;;:::o;9629:211::-;8879:972;8841:1010;9866:13;;9863:166;;9938:4;9920:24;;;;:9;:24;;;;;;:39;;9949:9;9920:28;:39::i;:::-;9911:4;9893:24;;;;:9;:24;;;;;;;:66;;;;9977:40;;-1:-1:-1;;;;;9977:40:0;;;;;;;10007:9;1361:25:1;;1349:2;1334:18;;1215:177;9977:40:0;;;;;;;;9863:166;-1:-1:-1;;;;;10058:15:0;;;;;;:9;:15;;;;;;:27;;10078:6;10058:19;:27::i;:::-;-1:-1:-1;;;;;10041:15:0;;;;;;:9;:15;;;;;:44;10111:40;10129:21;:6;10140:9;10129:10;:21::i;:::-;-1:-1:-1;;;;;10111:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;10096:13:0;;;;;;;:9;:13;;;;;:55;;;;10167:41;;;10186:21;:6;10197:9;10186:10;:21::i;:::-;10167:41;;1361:25:1;;;1349:2;1334:18;10167:41:0;;;;;;;;8565:1651;8496:1720;;;:::o;1361:190::-;1447:7;1483:12;1475:6;;;;1467:29;;;;-1:-1:-1;;;1467:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1507:9:0;1519:5;1523:1;1519;:5;:::i;:::-;1507:17;1361:190;-1:-1:-1;;;;;1361:190:0:o;10336:526::-;5224:6;:13;;-1:-1:-1;;;;5224:13:0;-1:-1:-1;;;5224:13:0;;;10414:33;;10438:7:::1;10414:33;10481:16;::::0;;10495:1:::1;10481:16:::0;;;;;::::1;::::0;;10457:21:::1;::::0;10481:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10481:16:0::1;10457:40;;10526:4;10508;10513:1;10508:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10508:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10552:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10552:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10508:7;;10552:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10542:4;10547:1;10542:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10542:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10617:15:::1;::::0;10585:62:::1;::::0;10602:4:::1;::::0;10617:15:::1;10635:11:::0;10585:8:::1;:62::i;:::-;10658:15;::::0;:196:::1;::::0;-1:-1:-1;;;10658:196:0;;-1:-1:-1;;;;;10658:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10739:11;;10658:15:::1;::::0;10781:4;;10808::::1;::::0;10828:15:::1;::::0;10658:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10403:459;5248:1;-1:-1:-1::0;5260:6:0;:14;;-1:-1:-1;;;;5260:14:0;;;10336:526::o;11162:91::-;11219:9;;:26;;-1:-1:-1;;;;;11219:9:0;;;;:26;;;;;11238:6;;11219:9;:26;:9;:26;11238:6;11219:9;:26;;;;;;;;;;;;;;;;;;;7274:961;7369:17;-1:-1:-1;;;;;7412:18:0;;7404:72;;;;-1:-1:-1;;;7404:72:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7495:16:0;;7487:64;;;;-1:-1:-1;;;7487:64:0;;;;;;;:::i;:::-;7579:1;7570:6;:10;7562:64;;;;-1:-1:-1;;;7562:64:0;;;;;;;:::i;:::-;7649:13;;-1:-1:-1;;;;;7641:21:0;;;7649:13;;7641:21;:55;;;;-1:-1:-1;7680:15:0;;-1:-1:-1;;;;;7666:30:0;;;7680:15;;7666:30;;7641:55;:83;;;;-1:-1:-1;;;;;;7702:22:0;;;;;;:18;:22;;;;;;;;7700:24;7641:83;7637:406;;;7760:12;;7750:6;:22;;7742:60;;;;-1:-1:-1;;;7742:60:0;;12362:2:1;7742:60:0;;;12344:21:1;12401:2;12381:18;;;12374:30;12440:27;12420:18;;;12413:55;12485:18;;7742:60:0;12160:349:1;7742:60:0;7851:14;;7841:6;7825:13;7835:2;-1:-1:-1;;;;;6081:18:0;6054:7;6081:18;;;:9;:18;;;;;;;5988:119;7825:13;:22;;;;:::i;:::-;:40;;7817:79;;;;-1:-1:-1;;;7817:79:0;;12846:2:1;7817:79:0;;;12828:21:1;12885:2;12865:18;;;12858:30;12924:28;12904:18;;;12897:56;12970:18;;7817:79:0;12644:350:1;7817:79:0;7923:82;8001:3;7923:73;7947:15;;7935:9;;:27;7934:61;;7981:14;;7934:61;;7923:82;8020:9;:11;;7911:94;;-1:-1:-1;8020:9:0;:11;;;:::i;:::-;;;;;;7637:406;8064:13;;-1:-1:-1;;;;;8058:19:0;;;8064:13;;8058:19;:44;;;;-1:-1:-1;;;;;;8081:21:0;;8097:4;8081:21;;8058:44;8055:173;;;8131:85;8212:3;8131:76;8155:16;;8143:9;;:28;8142:64;;8191:15;;8142:64;;;8175:13;;8131:6;;:10;:76::i;:85::-;8119:97;7274:961;-1:-1:-1;;;;7274:961:0:o;1559:246::-;1617:7;1641:1;1646;1641:6;1637:47;;-1:-1:-1;1671:1:0;1664:8;;1637:47;1694:9;1706:5;1710:1;1706;:5;:::i;:::-;1694:17;-1:-1:-1;1739:1:0;1730:5;1734:1;1694:17;1730:5;:::i;:::-;:10;1722:56;;;;-1:-1:-1;;;1722:56:0;;13423:2:1;1722:56:0;;;13405:21:1;13462:2;13442:18;;;13435:30;13501:34;13481:18;;;13474:62;-1:-1:-1;;;13552:18:1;;;13545:31;13593:19;;1722:56:0;13221:397:1;1813:132:0;1871:7;1898:39;1902:1;1905;1898:39;;;;;;;;;;;;;;;;;:3;:39::i;10226:102::-;10283:7;10310:1;10308;:3;10307:13;;10319:1;10307:13;;;-1:-1:-1;10315:1:0;10226:102;-1:-1:-1;10226:102:0:o;8243:247::-;-1:-1:-1;;;;;8364:15:0;;;;;;:9;:15;;;;;;:27;;8382:9;;8364:27;:::i;:::-;-1:-1:-1;;;;;8346:15:0;;;;;;;:9;:15;;;;;;:45;;;;8418:13;;;;;;;:22;;8434:6;;8418:22;:::i;:::-;-1:-1:-1;;;;;8402:13:0;;;;;;;:9;:13;;;;;;;:38;;;;8456:26;;;;;;;;;;8475:6;1361:25:1;;1349:2;1334:18;;1215:177;1030:179:0;1088:7;;1120:5;1124:1;1120;:5;:::i;:::-;1108:17;;1149:1;1144;:6;;1136:46;;;;-1:-1:-1;;;1136:46:0;;13825:2:1;1136:46:0;;;13807:21:1;13864:2;13844:18;;;13837:30;13903:29;13883:18;;;13876:57;13950:18;;1136:46:0;13623:351:1;1217:136:0;1275:7;1302:43;1306:1;1309;1302:43;;;;;;;;;;;;;;;;;:3;:43::i;1953:189::-;2039:7;2074:12;2067:5;2059:28;;;;-1:-1:-1;;;2059:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2098:9:0;2110:5;2114:1;2110;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2507:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;2900:180::-;2959:6;3012:2;3000:9;2991:7;2987:23;2983:32;2980:52;;;3028:1;3025;3018:12;2980:52;-1:-1:-1;3051:23:1;;2900:180;-1:-1:-1;2900:180:1:o;3085:356::-;3287:2;3269:21;;;3306:18;;;3299:30;3365:34;3360:2;3345:18;;3338:62;3432:2;3417:18;;3085:356::o;3636:127::-;3697:10;3692:3;3688:20;3685:1;3678:31;3728:4;3725:1;3718:15;3752:4;3749:1;3742:15;3768:416;3857:1;3894:5;3857:1;3908:270;3929:7;3919:8;3916:21;3908:270;;;3988:4;3984:1;3980:6;3976:17;3970:4;3967:27;3964:53;;;3997:18;;:::i;:::-;4047:7;4037:8;4033:22;4030:55;;;4067:16;;;;4030:55;4146:22;;;;4106:15;;;;3908:270;;;3912:3;3768:416;;;;;:::o;4189:806::-;4238:5;4268:8;4258:80;;-1:-1:-1;4309:1:1;4323:5;;4258:80;4357:4;4347:76;;-1:-1:-1;4394:1:1;4408:5;;4347:76;4439:4;4457:1;4452:59;;;;4525:1;4520:130;;;;4432:218;;4452:59;4482:1;4473:10;;4496:5;;;4520:130;4557:3;4547:8;4544:17;4541:43;;;4564:18;;:::i;:::-;-1:-1:-1;;4620:1:1;4606:16;;4635:5;;4432:218;;4734:2;4724:8;4721:16;4715:3;4709:4;4706:13;4702:36;4696:2;4686:8;4683:16;4678:2;4672:4;4669:12;4665:35;4662:77;4659:159;;;-1:-1:-1;4771:19:1;;;4803:5;;4659:159;4850:34;4875:8;4869:4;4850:34;:::i;:::-;4920:6;4916:1;4912:6;4908:19;4899:7;4896:32;4893:58;;;4931:18;;:::i;:::-;4969:20;;4189:806;-1:-1:-1;;;4189:806:1:o;5000:140::-;5058:5;5087:47;5128:4;5118:8;5114:19;5108:4;5087:47;:::i;5145:168::-;5218:9;;;5249;;5266:15;;;5260:22;;5246:37;5236:71;;5287:18;;:::i;5318:184::-;5388:6;5441:2;5429:9;5420:7;5416:23;5412:32;5409:52;;;5457:1;5454;5447:12;5409:52;-1:-1:-1;5480:16:1;;5318:184;-1:-1:-1;5318:184:1:o;6073:277::-;6140:6;6193:2;6181:9;6172:7;6168:23;6164:32;6161:52;;;6209:1;6206;6199:12;6161:52;6241:9;6235:16;6294:5;6287:13;6280:21;6273:5;6270:32;6260:60;;6316:1;6313;6306:12;6707:251;6777:6;6830:2;6818:9;6809:7;6805:23;6801:32;6798:52;;;6846:1;6843;6836:12;6798:52;6878:9;6872:16;6897:31;6922:5;6897:31;:::i;7884:306::-;7972:6;7980;7988;8041:2;8029:9;8020:7;8016:23;8012:32;8009:52;;;8057:1;8054;8047:12;8009:52;8086:9;8080:16;8070:26;;8136:2;8125:9;8121:18;8115:25;8105:35;;8180:2;8169:9;8165:18;8159:25;8149:35;;7884:306;;;;;:::o;9414:405::-;9616:2;9598:21;;;9655:2;9635:18;;;9628:30;9694:34;9689:2;9674:18;;9667:62;-1:-1:-1;;;9760:2:1;9745:18;;9738:39;9809:3;9794:19;;9414:405::o;9824:399::-;10026:2;10008:21;;;10065:2;10045:18;;;10038:30;10104:34;10099:2;10084:18;;10077:62;-1:-1:-1;;;10170:2:1;10155:18;;10148:33;10213:3;10198:19;;9824:399::o;10228:405::-;10430:2;10412:21;;;10469:2;10449:18;;;10442:30;10508:34;10503:2;10488:18;;10481:62;-1:-1:-1;;;10574:2:1;10559:18;;10552:39;10623:3;10608:19;;10228:405::o;10638:135::-;10677:3;10698:17;;;10695:43;;10718:18;;:::i;:::-;-1:-1:-1;10765:1:1;10754:13;;10638:135::o;10778:128::-;10845:9;;;10866:11;;;10863:37;;;10880:18;;:::i;11043:127::-;11104:10;11099:3;11095:20;11092:1;11085:31;11135:4;11132:1;11125:15;11159:4;11156:1;11149:15;11175:980;11437:4;11485:3;11474:9;11470:19;11516:6;11505:9;11498:25;11542:2;11580:6;11575:2;11564:9;11560:18;11553:34;11623:3;11618:2;11607:9;11603:18;11596:31;11647:6;11682;11676:13;11713:6;11705;11698:22;11751:3;11740:9;11736:19;11729:26;;11790:2;11782:6;11778:15;11764:29;;11811:1;11821:195;11835:6;11832:1;11829:13;11821:195;;;11900:13;;-1:-1:-1;;;;;11896:39:1;11884:52;;11991:15;;;;11956:12;;;;11932:1;11850:9;11821:195;;;-1:-1:-1;;;;;;;12072:32:1;;;;12067:2;12052:18;;12045:60;-1:-1:-1;;;12136:3:1;12121:19;12114:35;12033:3;11175:980;-1:-1:-1;;;11175:980:1:o;12514:125::-;12579:9;;;12600:10;;;12597:36;;;12613:18;;:::i;12999:217::-;13039:1;13065;13055:132;;13109:10;13104:3;13100:20;13097:1;13090:31;13144:4;13141:1;13134:15;13172:4;13169:1;13162:15;13055:132;-1:-1:-1;13201:9:1;;12999:217::o

Swarm Source

ipfs://0398a756af745c37da17521dbc24bf62aefe6b13eb04fb9ec0be118d306464b6
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.