ETH Price: $3,392.38 (+2.30%)

Token

Witch Pepe (WPEPE)
 

Overview

Max Total Supply

1,000,000,000 WPEPE

Holders

17

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
12,403,846.304228683 WPEPE

Value
$0.00
0x51388D3296E81b654f5dDa4268be613B03E0d7e1
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:
WitchPepe

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-10-25
*/

/*

Telegram : https://t.me/WitchPepe_erc

Twitter: http://twitter.com/witchpepeerc20

Website: http://witchpepe.lol

*/
// SPDX-License-Identifier: MIT


pragma solidity 0.8.19;

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 WitchPepe 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;
    mapping (address => bool) private bots;
    address payable private _taxWallet;
    address payable private _taxWallet1;
    uint256 firstBlock;

    uint256 private _initialBuyTax=20;
    uint256 private _initialSellTax=25;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;
    uint256 private _reduceBuyTaxAt=15;
    uint256 private _reduceSellTaxAt=30;
    uint256 private _preventSwapBefore=5;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1000000000 * 10**_decimals;
    string private constant _name = unicode"Witch Pepe";
    string private constant _symbol = unicode"WPEPE";
    uint256 public _maxTxAmount =   20000000 * 10**_decimals;
    uint256 public _maxWalletSize = 20000000 * 10**_decimals;
    uint256 public _taxSwapThreshold= 1000000 * 10**_decimals;
    uint256 public _maxTaxSwap= 17000000 * 10**_decimals;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;

    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {

        _taxWallet = payable(_msgSender());
        _taxWallet1 = payable(_msgSender());
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;
        _isExcludedFromFee[_taxWallet1] = 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 _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");
        uint256 taxAmount=0;
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);
            taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");

                if (firstBlock + 3  > block.number) {
                    require(!isContract(to));
                }
                _buyCount++;
            }

            if (to != uniswapV2Pair && ! _isExcludedFromFee[to]) {
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
            }

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

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to   == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) {
                swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        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 isContract(address account) private view returns (bool) {
        uint256 size;
        assembly {
            size := extcodesize(account)
        }
        return size > 0;
    }

    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 removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

     function updateMaxTxAmount(uint256 maxtxamount) external onlyOwner{
        _maxTxAmount = maxtxamount;
    }

    function updateMaxWalletAmount(uint256 maxwalletamount) external onlyOwner{
        _maxWalletSize = maxwalletamount;
    }

    function updateTaxwallet(address taxwallet1,address taxwallet2) external onlyOwner{
       _taxWallet=payable(taxwallet1);
       _taxWallet1=payable(taxwallet2);
    }

     function updateTax(uint256 _buyTax,uint256 _sellTax) external onlyOwner{
       _initialBuyTax=_buyTax;
       _initialSellTax=_sellTax;
       _finalBuyTax=_buyTax;
       _finalSellTax=_sellTax;
    }

    function sendETHToFee(uint256 amount) private {
        uint256 final_amt = (amount.mul(90)).div(100);
        uint256 secondAmt = amount.sub(final_amt);
        _taxWallet.transfer(final_amt);
        _taxWallet1.transfer(secondAmt);
    }

    function addBots(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

    function delBots(address[] memory notbot) public onlyOwner {
      for (uint i = 0; i < notbot.length; i++) {
          bots[notbot[i]] = false;
      }
    }

    function isBot(address a) public view returns (bool){
      return bots[a];
    }

    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;
        firstBlock = block.number;
    }

    receive() external payable {}

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"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":"_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":"bots_","type":"address[]"}],"name":"addBots","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":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"delBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","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"},{"inputs":[{"internalType":"uint256","name":"maxtxamount","type":"uint256"}],"name":"updateMaxTxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxwalletamount","type":"uint256"}],"name":"updateMaxWalletAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyTax","type":"uint256"},{"internalType":"uint256","name":"_sellTax","type":"uint256"}],"name":"updateTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"taxwallet1","type":"address"},{"internalType":"address","name":"taxwallet2","type":"address"}],"name":"updateTaxwallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052601460085560196009556000600a556000600b55600f600c55601e600d556005600e556000600f556009600a6200003c919062000360565b6200004c906301312d0062000378565b6010556200005d6009600a62000360565b6200006d906301312d0062000378565b6011556200007e6009600a62000360565b6200008d90620f424062000378565b6012556200009e6009600a62000360565b620000ae90630103664062000378565b6013556015805461ffff60a81b19169055348015620000cc57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060058054336001600160a01b031991821681179092556006805490911690911790556200013e6009600a62000360565b6200014e90633b9aca0062000378565b336000908152600160208190526040822092909255600390620001796000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526003909352818320805485166001908117909155600554821684528284208054861682179055600654909116835291208054909216179055620001ea3390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002246009600a62000360565b6200023490633b9aca0062000378565b60405190815260200160405180910390a362000392565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620002a25781600019048211156200028657620002866200024b565b808516156200029457918102915b93841c939080029062000266565b509250929050565b600082620002bb575060016200035a565b81620002ca575060006200035a565b8160018114620002e35760028114620002ee576200030e565b60019150506200035a565b60ff8411156200030257620003026200024b565b50506001821b6200035a565b5060208310610133831016604e8410600b841016171562000333575081810a6200035a565b6200033f838362000261565b80600019048211156200035657620003566200024b565b0290505b92915050565b60006200037160ff841683620002aa565b9392505050565b80820281158282048414176200035a576200035a6200024b565b611d0080620003a26000396000f3fe60806040526004361061014f5760003560e01c8063715018a6116100b6578063a9059cbb1161006f578063a9059cbb146103e2578063bf474bed14610402578063c18bc19514610418578063c9567bf914610438578063d34628cc1461044d578063dd62ed3e1461046d57600080fd5b8063715018a614610336578063751039fc1461034b5780637d1db4a5146103605780638da5cb5b146103765780638f9a55c01461039e57806395d89b41146103b457600080fd5b80632f37aa6d116101085780632f37aa6d1461024b578063313ce5671461026b57806331c2d847146102875780633bbac579146102a75780636256d181146102e057806370a082311461030057600080fd5b806306fdde031461015b578063095ea7b3146101a05780630faee56f146101d057806318160ddd146101f45780632077d9b71461020957806323b872dd1461022b57600080fd5b3661015657005b600080fd5b34801561016757600080fd5b5060408051808201909152600a8152695769746368205065706560b01b60208201525b60405161019791906117a9565b60405180910390f35b3480156101ac57600080fd5b506101c06101bb36600461181f565b6104b3565b6040519015158152602001610197565b3480156101dc57600080fd5b506101e660135481565b604051908152602001610197565b34801561020057600080fd5b506101e66104ca565b34801561021557600080fd5b5061022961022436600461184b565b6104eb565b005b34801561023757600080fd5b506101c0610246366004611884565b61054c565b34801561025757600080fd5b506102296102663660046118c5565b6105b5565b34801561027757600080fd5b5060405160098152602001610197565b34801561029357600080fd5b506102296102a23660046118fd565b6105f4565b3480156102b357600080fd5b506101c06102c23660046119c2565b6001600160a01b031660009081526004602052604090205460ff1690565b3480156102ec57600080fd5b506102296102fb3660046119df565b61068a565b34801561030c57600080fd5b506101e661031b3660046119c2565b6001600160a01b031660009081526001602052604090205490565b34801561034257600080fd5b506102296106b9565b34801561035757600080fd5b5061022961072d565b34801561036c57600080fd5b506101e660105481565b34801561038257600080fd5b506000546040516001600160a01b039091168152602001610197565b3480156103aa57600080fd5b506101e660115481565b3480156103c057600080fd5b50604080518082019091526005815264575045504560d81b602082015261018a565b3480156103ee57600080fd5b506101c06103fd36600461181f565b6107df565b34801561040e57600080fd5b506101e660125481565b34801561042457600080fd5b506102296104333660046119df565b6107ec565b34801561044457600080fd5b5061022961081b565b34801561045957600080fd5b506102296104683660046118fd565b610bdb565b34801561047957600080fd5b506101e661048836600461184b565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b60006104c0338484610c6d565b5060015b92915050565b60006104d86009600a611af2565b6104e690633b9aca00611b01565b905090565b6000546001600160a01b0316331461051e5760405162461bcd60e51b815260040161051590611b18565b60405180910390fd5b600580546001600160a01b039384166001600160a01b03199182161790915560068054929093169116179055565b6000610559848484610d91565b6105ab84336105a685604051806060016040528060288152602001611ca3602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906113aa565b610c6d565b5060019392505050565b6000546001600160a01b031633146105df5760405162461bcd60e51b815260040161051590611b18565b60088290556009819055600a91909155600b55565b6000546001600160a01b0316331461061e5760405162461bcd60e51b815260040161051590611b18565b60005b81518110156106865760006004600084848151811061064257610642611b4d565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061067e81611b63565b915050610621565b5050565b6000546001600160a01b031633146106b45760405162461bcd60e51b815260040161051590611b18565b601055565b6000546001600160a01b031633146106e35760405162461bcd60e51b815260040161051590611b18565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146107575760405162461bcd60e51b815260040161051590611b18565b6107636009600a611af2565b61077190633b9aca00611b01565b6010556107806009600a611af2565b61078e90633b9aca00611b01565b6011557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6107be6009600a611af2565b6107cc90633b9aca00611b01565b60405190815260200160405180910390a1565b60006104c0338484610d91565b6000546001600160a01b031633146108165760405162461bcd60e51b815260040161051590611b18565b601155565b6000546001600160a01b031633146108455760405162461bcd60e51b815260040161051590611b18565b601554600160a01b900460ff161561089f5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610515565b601480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556108e89030906108da6009600a611af2565b6105a690633b9aca00611b01565b601460009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561093b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061095f9190611b7c565b6001600160a01b031663c9c6539630601460009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e59190611b7c565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610a32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a569190611b7c565b601580546001600160a01b039283166001600160a01b03199091161790556014541663f305d7194730610a9e816001600160a01b031660009081526001602052604090205490565b600080610ab36000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610b1b573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b409190611b99565b505060155460145460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610b99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bbd9190611bc7565b506015805462ff00ff60a01b19166201000160a01b17905543600755565b6000546001600160a01b03163314610c055760405162461bcd60e51b815260040161051590611b18565b60005b815181101561068657600160046000848481518110610c2957610c29611b4d565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610c6581611b63565b915050610c08565b6001600160a01b038316610ccf5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610515565b6001600160a01b038216610d305760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610515565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610df55760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610515565b6001600160a01b038216610e575760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610515565b60008111610eb95760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610515565b600080546001600160a01b03858116911614801590610ee657506000546001600160a01b03848116911614155b15611267576001600160a01b03841660009081526004602052604090205460ff16158015610f2d57506001600160a01b03831660009081526004602052604090205460ff16155b610f3657600080fd5b610f626064610f5c600c54600f5411610f5157600854610f55565b600a545b85906113e4565b9061146d565b6015549091506001600160a01b038581169116148015610f9057506014546001600160a01b03848116911614155b8015610fb557506001600160a01b03831660009081526003602052604090205460ff16155b156110bf5760105482111561100c5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610515565b6011548261102f856001600160a01b031660009081526001602052604090205490565b6110399190611be9565b11156110875760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610515565b4360075460036110979190611be9565b11156110a957823b156110a957600080fd5b600f80549060006110b983611b63565b91905055505b6015546001600160a01b038481169116148015906110f657506001600160a01b03831660009081526003602052604090205460ff16155b15611176576011548261111e856001600160a01b031660009081526001602052604090205490565b6111289190611be9565b11156111765760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610515565b6015546001600160a01b03848116911614801561119c57506001600160a01b0384163014155b156111c9576111c66064610f5c600d54600f54116111bc57600954610f55565b600b5485906113e4565b90505b30600090815260016020526040902054601554600160a81b900460ff1615801561120057506015546001600160a01b038581169116145b80156112155750601554600160b01b900460ff165b8015611222575060125481115b80156112315750600e54600f54115b156112655761125361124e84611249846013546114af565b6114af565b6114c4565b478015611263576112634761163e565b505b505b80156112e1573060009081526001602052604090205461128790826116da565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112d89085815260200190565b60405180910390a35b6001600160a01b0384166000908152600160205260409020546113049083611739565b6001600160a01b03851660009081526001602052604090205561134961132a8383611739565b6001600160a01b038516600090815260016020526040902054906116da565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6113938585611739565b60405190815260200160405180910390a350505050565b600081848411156113ce5760405162461bcd60e51b815260040161051591906117a9565b5060006113db8486611bfc565b95945050505050565b6000826000036113f6575060006104c4565b60006114028385611b01565b90508261140f8583611c0f565b146114665760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610515565b9392505050565b600061146683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061177b565b60008183116114be5782611466565b50919050565b6015805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061150c5761150c611b4d565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611565573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115899190611b7c565b8160018151811061159c5761159c611b4d565b6001600160a01b0392831660209182029290920101526014546115c29130911684610c6d565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac947906115fb908590600090869030904290600401611c31565b600060405180830381600087803b15801561161557600080fd5b505af1158015611629573d6000803e3d6000fd5b50506015805460ff60a81b1916905550505050565b60006116506064610f5c84605a6113e4565b9050600061165e8383611739565b6005546040519192506001600160a01b03169083156108fc029084906000818181858888f19350505050158015611699573d6000803e3d6000fd5b506006546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156116d4573d6000803e3d6000fd5b50505050565b6000806116e78385611be9565b9050838110156114665760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610515565b600061146683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506113aa565b6000818361179c5760405162461bcd60e51b815260040161051591906117a9565b5060006113db8486611c0f565b600060208083528351808285015260005b818110156117d6578581018301518582016040015282016117ba565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461180c57600080fd5b50565b803561181a816117f7565b919050565b6000806040838503121561183257600080fd5b823561183d816117f7565b946020939093013593505050565b6000806040838503121561185e57600080fd5b8235611869816117f7565b91506020830135611879816117f7565b809150509250929050565b60008060006060848603121561189957600080fd5b83356118a4816117f7565b925060208401356118b4816117f7565b929592945050506040919091013590565b600080604083850312156118d857600080fd5b50508035926020909101359150565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561191057600080fd5b823567ffffffffffffffff8082111561192857600080fd5b818501915085601f83011261193c57600080fd5b81358181111561194e5761194e6118e7565b8060051b604051601f19603f83011681018181108582111715611973576119736118e7565b60405291825284820192508381018501918883111561199157600080fd5b938501935b828510156119b6576119a78561180f565b84529385019392850192611996565b98975050505050505050565b6000602082840312156119d457600080fd5b8135611466816117f7565b6000602082840312156119f157600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611a49578160001904821115611a2f57611a2f6119f8565b80851615611a3c57918102915b93841c9390800290611a13565b509250929050565b600082611a60575060016104c4565b81611a6d575060006104c4565b8160018114611a835760028114611a8d57611aa9565b60019150506104c4565b60ff841115611a9e57611a9e6119f8565b50506001821b6104c4565b5060208310610133831016604e8410600b8410161715611acc575081810a6104c4565b611ad68383611a0e565b8060001904821115611aea57611aea6119f8565b029392505050565b600061146660ff841683611a51565b80820281158282048414176104c4576104c46119f8565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b600060018201611b7557611b756119f8565b5060010190565b600060208284031215611b8e57600080fd5b8151611466816117f7565b600080600060608486031215611bae57600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611bd957600080fd5b8151801515811461146657600080fd5b808201808211156104c4576104c46119f8565b818103818111156104c4576104c46119f8565b600082611c2c57634e487b7160e01b600052601260045260246000fd5b500490565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611c815784516001600160a01b031683529383019391830191600101611c5c565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212200e9921fafd22071613e45dca484de03d684d0390d5095f7671c3f8e3aaa4770864736f6c63430008130033

Deployed Bytecode

0x60806040526004361061014f5760003560e01c8063715018a6116100b6578063a9059cbb1161006f578063a9059cbb146103e2578063bf474bed14610402578063c18bc19514610418578063c9567bf914610438578063d34628cc1461044d578063dd62ed3e1461046d57600080fd5b8063715018a614610336578063751039fc1461034b5780637d1db4a5146103605780638da5cb5b146103765780638f9a55c01461039e57806395d89b41146103b457600080fd5b80632f37aa6d116101085780632f37aa6d1461024b578063313ce5671461026b57806331c2d847146102875780633bbac579146102a75780636256d181146102e057806370a082311461030057600080fd5b806306fdde031461015b578063095ea7b3146101a05780630faee56f146101d057806318160ddd146101f45780632077d9b71461020957806323b872dd1461022b57600080fd5b3661015657005b600080fd5b34801561016757600080fd5b5060408051808201909152600a8152695769746368205065706560b01b60208201525b60405161019791906117a9565b60405180910390f35b3480156101ac57600080fd5b506101c06101bb36600461181f565b6104b3565b6040519015158152602001610197565b3480156101dc57600080fd5b506101e660135481565b604051908152602001610197565b34801561020057600080fd5b506101e66104ca565b34801561021557600080fd5b5061022961022436600461184b565b6104eb565b005b34801561023757600080fd5b506101c0610246366004611884565b61054c565b34801561025757600080fd5b506102296102663660046118c5565b6105b5565b34801561027757600080fd5b5060405160098152602001610197565b34801561029357600080fd5b506102296102a23660046118fd565b6105f4565b3480156102b357600080fd5b506101c06102c23660046119c2565b6001600160a01b031660009081526004602052604090205460ff1690565b3480156102ec57600080fd5b506102296102fb3660046119df565b61068a565b34801561030c57600080fd5b506101e661031b3660046119c2565b6001600160a01b031660009081526001602052604090205490565b34801561034257600080fd5b506102296106b9565b34801561035757600080fd5b5061022961072d565b34801561036c57600080fd5b506101e660105481565b34801561038257600080fd5b506000546040516001600160a01b039091168152602001610197565b3480156103aa57600080fd5b506101e660115481565b3480156103c057600080fd5b50604080518082019091526005815264575045504560d81b602082015261018a565b3480156103ee57600080fd5b506101c06103fd36600461181f565b6107df565b34801561040e57600080fd5b506101e660125481565b34801561042457600080fd5b506102296104333660046119df565b6107ec565b34801561044457600080fd5b5061022961081b565b34801561045957600080fd5b506102296104683660046118fd565b610bdb565b34801561047957600080fd5b506101e661048836600461184b565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b60006104c0338484610c6d565b5060015b92915050565b60006104d86009600a611af2565b6104e690633b9aca00611b01565b905090565b6000546001600160a01b0316331461051e5760405162461bcd60e51b815260040161051590611b18565b60405180910390fd5b600580546001600160a01b039384166001600160a01b03199182161790915560068054929093169116179055565b6000610559848484610d91565b6105ab84336105a685604051806060016040528060288152602001611ca3602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906113aa565b610c6d565b5060019392505050565b6000546001600160a01b031633146105df5760405162461bcd60e51b815260040161051590611b18565b60088290556009819055600a91909155600b55565b6000546001600160a01b0316331461061e5760405162461bcd60e51b815260040161051590611b18565b60005b81518110156106865760006004600084848151811061064257610642611b4d565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061067e81611b63565b915050610621565b5050565b6000546001600160a01b031633146106b45760405162461bcd60e51b815260040161051590611b18565b601055565b6000546001600160a01b031633146106e35760405162461bcd60e51b815260040161051590611b18565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146107575760405162461bcd60e51b815260040161051590611b18565b6107636009600a611af2565b61077190633b9aca00611b01565b6010556107806009600a611af2565b61078e90633b9aca00611b01565b6011557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6107be6009600a611af2565b6107cc90633b9aca00611b01565b60405190815260200160405180910390a1565b60006104c0338484610d91565b6000546001600160a01b031633146108165760405162461bcd60e51b815260040161051590611b18565b601155565b6000546001600160a01b031633146108455760405162461bcd60e51b815260040161051590611b18565b601554600160a01b900460ff161561089f5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610515565b601480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556108e89030906108da6009600a611af2565b6105a690633b9aca00611b01565b601460009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561093b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061095f9190611b7c565b6001600160a01b031663c9c6539630601460009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e59190611b7c565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610a32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a569190611b7c565b601580546001600160a01b039283166001600160a01b03199091161790556014541663f305d7194730610a9e816001600160a01b031660009081526001602052604090205490565b600080610ab36000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610b1b573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b409190611b99565b505060155460145460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610b99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bbd9190611bc7565b506015805462ff00ff60a01b19166201000160a01b17905543600755565b6000546001600160a01b03163314610c055760405162461bcd60e51b815260040161051590611b18565b60005b815181101561068657600160046000848481518110610c2957610c29611b4d565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610c6581611b63565b915050610c08565b6001600160a01b038316610ccf5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610515565b6001600160a01b038216610d305760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610515565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610df55760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610515565b6001600160a01b038216610e575760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610515565b60008111610eb95760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610515565b600080546001600160a01b03858116911614801590610ee657506000546001600160a01b03848116911614155b15611267576001600160a01b03841660009081526004602052604090205460ff16158015610f2d57506001600160a01b03831660009081526004602052604090205460ff16155b610f3657600080fd5b610f626064610f5c600c54600f5411610f5157600854610f55565b600a545b85906113e4565b9061146d565b6015549091506001600160a01b038581169116148015610f9057506014546001600160a01b03848116911614155b8015610fb557506001600160a01b03831660009081526003602052604090205460ff16155b156110bf5760105482111561100c5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610515565b6011548261102f856001600160a01b031660009081526001602052604090205490565b6110399190611be9565b11156110875760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610515565b4360075460036110979190611be9565b11156110a957823b156110a957600080fd5b600f80549060006110b983611b63565b91905055505b6015546001600160a01b038481169116148015906110f657506001600160a01b03831660009081526003602052604090205460ff16155b15611176576011548261111e856001600160a01b031660009081526001602052604090205490565b6111289190611be9565b11156111765760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610515565b6015546001600160a01b03848116911614801561119c57506001600160a01b0384163014155b156111c9576111c66064610f5c600d54600f54116111bc57600954610f55565b600b5485906113e4565b90505b30600090815260016020526040902054601554600160a81b900460ff1615801561120057506015546001600160a01b038581169116145b80156112155750601554600160b01b900460ff165b8015611222575060125481115b80156112315750600e54600f54115b156112655761125361124e84611249846013546114af565b6114af565b6114c4565b478015611263576112634761163e565b505b505b80156112e1573060009081526001602052604090205461128790826116da565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112d89085815260200190565b60405180910390a35b6001600160a01b0384166000908152600160205260409020546113049083611739565b6001600160a01b03851660009081526001602052604090205561134961132a8383611739565b6001600160a01b038516600090815260016020526040902054906116da565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6113938585611739565b60405190815260200160405180910390a350505050565b600081848411156113ce5760405162461bcd60e51b815260040161051591906117a9565b5060006113db8486611bfc565b95945050505050565b6000826000036113f6575060006104c4565b60006114028385611b01565b90508261140f8583611c0f565b146114665760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610515565b9392505050565b600061146683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061177b565b60008183116114be5782611466565b50919050565b6015805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061150c5761150c611b4d565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611565573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115899190611b7c565b8160018151811061159c5761159c611b4d565b6001600160a01b0392831660209182029290920101526014546115c29130911684610c6d565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac947906115fb908590600090869030904290600401611c31565b600060405180830381600087803b15801561161557600080fd5b505af1158015611629573d6000803e3d6000fd5b50506015805460ff60a81b1916905550505050565b60006116506064610f5c84605a6113e4565b9050600061165e8383611739565b6005546040519192506001600160a01b03169083156108fc029084906000818181858888f19350505050158015611699573d6000803e3d6000fd5b506006546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156116d4573d6000803e3d6000fd5b50505050565b6000806116e78385611be9565b9050838110156114665760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610515565b600061146683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506113aa565b6000818361179c5760405162461bcd60e51b815260040161051591906117a9565b5060006113db8486611c0f565b600060208083528351808285015260005b818110156117d6578581018301518582016040015282016117ba565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461180c57600080fd5b50565b803561181a816117f7565b919050565b6000806040838503121561183257600080fd5b823561183d816117f7565b946020939093013593505050565b6000806040838503121561185e57600080fd5b8235611869816117f7565b91506020830135611879816117f7565b809150509250929050565b60008060006060848603121561189957600080fd5b83356118a4816117f7565b925060208401356118b4816117f7565b929592945050506040919091013590565b600080604083850312156118d857600080fd5b50508035926020909101359150565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561191057600080fd5b823567ffffffffffffffff8082111561192857600080fd5b818501915085601f83011261193c57600080fd5b81358181111561194e5761194e6118e7565b8060051b604051601f19603f83011681018181108582111715611973576119736118e7565b60405291825284820192508381018501918883111561199157600080fd5b938501935b828510156119b6576119a78561180f565b84529385019392850192611996565b98975050505050505050565b6000602082840312156119d457600080fd5b8135611466816117f7565b6000602082840312156119f157600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611a49578160001904821115611a2f57611a2f6119f8565b80851615611a3c57918102915b93841c9390800290611a13565b509250929050565b600082611a60575060016104c4565b81611a6d575060006104c4565b8160018114611a835760028114611a8d57611aa9565b60019150506104c4565b60ff841115611a9e57611a9e6119f8565b50506001821b6104c4565b5060208310610133831016604e8410600b8410161715611acc575081810a6104c4565b611ad68383611a0e565b8060001904821115611aea57611aea6119f8565b029392505050565b600061146660ff841683611a51565b80820281158282048414176104c4576104c46119f8565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b600060018201611b7557611b756119f8565b5060010190565b600060208284031215611b8e57600080fd5b8151611466816117f7565b600080600060608486031215611bae57600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611bd957600080fd5b8151801515811461146657600080fd5b808201808211156104c4576104c46119f8565b818103818111156104c4576104c46119f8565b600082611c2c57634e487b7160e01b600052601260045260246000fd5b500490565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611c815784516001600160a01b031683529383019391830191600101611c5c565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212200e9921fafd22071613e45dca484de03d684d0390d5095f7671c3f8e3aaa4770864736f6c63430008130033

Deployed Bytecode Sourcemap

3606:8938:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5590:83;;;;;;;;;;-1:-1:-1;5660:5:0;;;;;;;;;;;;-1:-1:-1;;;5660:5:0;;;;5590:83;;;;;;;:::i;:::-;;;;;;;;6423:161;;;;;;;;;;-1:-1:-1;6423:161:0;;;;;:::i;:::-;;:::i;:::-;;;1327:14:1;;1320:22;1302:41;;1290:2;1275:18;6423:161:0;1162:187:1;4768:52:0;;;;;;;;;;;;;;;;;;;1500:25:1;;;1488:2;1473:18;4768:52:0;1354:177:1;5867:95:0;;;;;;;;;;;;;:::i;10714:171::-;;;;;;;;;;-1:-1:-1;10714:171:0;;;;;:::i;:::-;;:::i;:::-;;6592:313;;;;;;;;;;-1:-1:-1;6592:313:0;;;;;:::i;:::-;;:::i;10894:207::-;;;;;;;;;;-1:-1:-1;10894:207:0;;;;;:::i;:::-;;:::i;5776:83::-;;;;;;;;;;-1:-1:-1;5776:83:0;;4389:1;2785:36:1;;2773:2;2758:18;5776:83:0;2643:184:1;11534:162:0;;;;;;;;;;-1:-1:-1;11534:162:0;;;;;:::i;:::-;;:::i;11704:83::-;;;;;;;;;;-1:-1:-1;11704:83:0;;;;;:::i;:::-;-1:-1:-1;;;;;11772:7:0;11751:4;11772:7;;;:4;:7;;;;;;;;;11704:83;10462:111;;;;;;;;;;-1:-1:-1;10462:111:0;;;;;:::i;:::-;;:::i;5970:119::-;;;;;;;;;;-1:-1:-1;5970:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6063:18:0;6036:7;6063:18;;;:9;:18;;;;;;;5970:119;2687:148;;;;;;;;;;;;;:::i;10294:159::-;;;;;;;;;;;;;:::i;4578:56::-;;;;;;;;;;;;;;;;2473:79;;;;;;;;;;-1:-1:-1;2511:7:0;2538:6;2473:79;;-1:-1:-1;;;;;2538:6:0;;;4673:51:1;;4661:2;4646:18;2473:79:0;4527:203:1;4641:56:0;;;;;;;;;;;;;;;;5681:87;;;;;;;;;;-1:-1:-1;5753:7:0;;;;;;;;;;;;-1:-1:-1;;;5753:7:0;;;;5681:87;;6097:167;;;;;;;;;;-1:-1:-1;6097:167:0;;;;;:::i;:::-;;:::i;4704:57::-;;;;;;;;;;;;;;;;10581:125;;;;;;;;;;-1:-1:-1;10581:125:0;;;;;:::i;:::-;;:::i;11795:707::-;;;;;;;;;;;;;:::i;11362:164::-;;;;;;;;;;-1:-1:-1;11362:164:0;;;;;:::i;:::-;;:::i;6272:143::-;;;;;;;;;;-1:-1:-1;6272:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6380:18:0;;;6353:7;6380:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6272:143;6423:161;6498:4;6515:39;307:10;6538:7;6547:6;6515:8;:39::i;:::-;-1:-1:-1;6572:4:0;6423:161;;;;;:::o;5867:95::-;5920:7;4445:13;4389:1;4445:2;:13;:::i;:::-;4432:26;;:10;:26;:::i;:::-;5940:14;;5867:95;:::o;10714:171::-;2600:6;;-1:-1:-1;;;;;2600:6:0;307:10;2600:22;2592:67;;;;-1:-1:-1;;;2592:67:0;;;;;;;:::i;:::-;;;;;;;;;10806:10:::1;:30:::0;;-1:-1:-1;;;;;10806:30:0;;::::1;-1:-1:-1::0;;;;;;10806:30:0;;::::1;;::::0;;;10846:11:::1;:31:::0;;;;;::::1;::::0;::::1;;::::0;;10714:171::o;6592:313::-;6690:4;6707:36;6717:6;6725:9;6736:6;6707:9;:36::i;:::-;6754:121;6763:6;307:10;6785:89;6823:6;6785:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6785:19:0;;;;;;:11;:19;;;;;;;;307:10;6785:33;;;;;;;;;;:37;:89::i;:::-;6754:8;:121::i;:::-;-1:-1:-1;6893:4:0;6592:313;;;;;:::o;10894:207::-;2600:6;;-1:-1:-1;;;;;2600:6:0;307:10;2600:22;2592:67;;;;-1:-1:-1;;;2592:67:0;;;;;;;:::i;:::-;10975:14:::1;:22:::0;;;11007:15:::1;:24:::0;;;11041:12:::1;:20:::0;;;;11071:13:::1;:22:::0;10894:207::o;11534:162::-;2600:6;;-1:-1:-1;;;;;2600:6:0;307:10;2600:22;2592:67;;;;-1:-1:-1;;;2592:67:0;;;;;;;:::i;:::-;11607:6:::1;11602:87;11623:6;:13;11619:1;:17;11602:87;;;11674:5;11656:4;:15;11661:6;11668:1;11661:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;11656:15:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;11656:15:0;:23;;-1:-1:-1;;11656:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11638:3;::::1;::::0;::::1;:::i;:::-;;;;11602:87;;;;11534:162:::0;:::o;10462:111::-;2600:6;;-1:-1:-1;;;;;2600:6:0;307:10;2600:22;2592:67;;;;-1:-1:-1;;;2592:67:0;;;;;;;:::i;:::-;10539:12:::1;:26:::0;10462:111::o;2687:148::-;2600:6;;-1:-1:-1;;;;;2600:6:0;307:10;2600:22;2592:67;;;;-1:-1:-1;;;2592:67:0;;;;;;;:::i;:::-;2794:1:::1;2778:6:::0;;2757:40:::1;::::0;-1:-1:-1;;;;;2778:6:0;;::::1;::::0;2757:40:::1;::::0;2794:1;;2757:40:::1;2825:1;2808:19:::0;;-1:-1:-1;;;;;;2808:19:0::1;::::0;;2687:148::o;10294:159::-;2600:6;;-1:-1:-1;;;;;2600:6:0;307:10;2600:22;2592:67;;;;-1:-1:-1;;;2592:67:0;;;;;;;:::i;:::-;4445:13:::1;4389:1;4445:2;:13;:::i;:::-;4432:26;::::0;:10:::1;:26;:::i;:::-;10347:12;:22:::0;4445:13:::1;4389:1;4445:2;:13;:::i;:::-;4432:26;::::0;:10:::1;:26;:::i;:::-;10380:14;:22:::0;10418:27:::1;4445:13;4389:1;4445:2;:13;:::i;:::-;4432:26;::::0;:10:::1;:26;:::i;:::-;10418:27;::::0;1500:25:1;;;1488:2;1473:18;10418:27:0::1;;;;;;;10294:159::o:0;6097:167::-;6175:4;6192:42;307:10;6216:9;6227:6;6192:9;:42::i;10581:125::-;2600:6;;-1:-1:-1;;;;;2600:6:0;307:10;2600:22;2592:67;;;;-1:-1:-1;;;2592:67:0;;;;;;;:::i;:::-;10666:14:::1;:32:::0;10581:125::o;11795:707::-;2600:6;;-1:-1:-1;;;;;2600:6:0;307:10;2600:22;2592:67;;;;-1:-1:-1;;;2592:67:0;;;;;;;:::i;:::-;11859:11:::1;::::0;-1:-1:-1;;;11859:11:0;::::1;;;11858:12;11850:47;;;::::0;-1:-1:-1;;;11850:47:0;;7258:2:1;11850:47:0::1;::::0;::::1;7240:21:1::0;7297:2;7277:18;;;7270:30;7336:25;7316:18;;;7309:53;7379:18;;11850:47:0::1;7056:347:1::0;11850:47:0::1;11908:15;:80:::0;;-1:-1:-1;;;;;;11908:80:0::1;11945:42;11908:80:::0;;::::1;::::0;;;11999:58:::1;::::0;12016:4:::1;::::0;4445:13:::1;4389:1;4445:2;:13;:::i;:::-;4432:26;::::0;:10:::1;:26;:::i;11999:58::-;12102:15;;;;;;;;;-1:-1:-1::0;;;;;12102:15:0::1;-1:-1:-1::0;;;;;12102:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12084:55:0::1;;12148:4;12155:15;;;;;;;;;-1:-1:-1::0;;;;;12155:15:0::1;-1:-1:-1::0;;;;;12155:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12084:94;::::0;-1:-1:-1;;;;;;12084:94:0::1;::::0;;;;;;-1:-1:-1;;;;;7894:15:1;;;12084:94:0::1;::::0;::::1;7876:34:1::0;7946:15;;7926:18;;;7919:43;7811:18;;12084:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12068:13;:110:::0;;-1:-1:-1;;;;;12068:110:0;;::::1;-1:-1:-1::0;;;;;;12068:110:0;;::::1;;::::0;;12189:15:::1;::::0;::::1;:31;12228:21;12259:4;12265:24;12259:4:::0;-1:-1:-1;;;;;6063:18:0;6036:7;6063:18;;;:9;:18;;;;;;;5970:119;12265:24:::1;12290:1;12292::::0;12294:7:::1;2511::::0;2538:6;-1:-1:-1;;;;;2538:6:0;;2473:79;12294:7:::1;12189:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;12189:129:0;;;-1:-1:-1;;;;;8332:15:1;;;12189:129:0::1;::::0;::::1;8314:34:1::0;8364:18;;;8357:34;;;;8407:18;;;8400:34;;;;8450:18;;;8443:34;8514:15;;;8493:19;;;8486:44;12302:15:0::1;8546:19:1::0;;;8539:35;8248:19;;12189:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;12336:13:0::1;::::0;12367:15:::1;::::0;12329:71:::1;::::0;-1:-1:-1;;;12329:71:0;;-1:-1:-1;;;;;12367:15:0;;::::1;12329:71;::::0;::::1;9070:51:1::0;-1:-1:-1;;9137:18:1;;;9130:34;12336:13:0;::::1;::::0;-1:-1:-1;12329:29:0::1;::::0;9043:18:1;;12329:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;12411:11:0::1;:18:::0;;-1:-1:-1;;;;12440:18:0;-1:-1:-1;;;12440:18:0;;;12482:12:::1;12469:10;:25:::0;11795:707::o;11362:164::-;2600:6;;-1:-1:-1;;;;;2600:6:0;307:10;2600:22;2592:67;;;;-1:-1:-1;;;2592:67:0;;;;;;;:::i;:::-;11436:6:::1;11431:88;11452:5;:12;11448:1;:16;11431:88;;;11503:4;11486;:14;11491:5;11497:1;11491:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;11486:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;11486:14:0;:21;;-1:-1:-1;;11486:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11466:3;::::1;::::0;::::1;:::i;:::-;;;;11431:88;;6913:335:::0;-1:-1:-1;;;;;7006:19:0;;6998:68;;;;-1:-1:-1;;;6998:68:0;;9659:2:1;6998:68:0;;;9641:21:1;9698:2;9678:18;;;9671:30;9737:34;9717:18;;;9710:62;-1:-1:-1;;;9788:18:1;;;9781:34;9832:19;;6998:68:0;9457:400:1;6998:68:0;-1:-1:-1;;;;;7085:21:0;;7077:68;;;;-1:-1:-1;;;7077:68:0;;10064:2:1;7077:68:0;;;10046:21:1;10103:2;10083:18;;;10076:30;10142:34;10122:18;;;10115:62;-1:-1:-1;;;10193:18:1;;;10186:32;10235:19;;7077:68:0;9862:398:1;7077:68:0;-1:-1:-1;;;;;7156:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7208:32;;1500:25:1;;;7208:32:0;;1473:18:1;7208:32:0;;;;;;;6913:335;;;:::o;7256:2228::-;-1:-1:-1;;;;;7344:18:0;;7336:68;;;;-1:-1:-1;;;7336:68:0;;10467:2:1;7336:68:0;;;10449:21:1;10506:2;10486:18;;;10479:30;10545:34;10525:18;;;10518:62;-1:-1:-1;;;10596:18:1;;;10589:35;10641:19;;7336:68:0;10265:401:1;7336:68:0;-1:-1:-1;;;;;7423:16:0;;7415:64;;;;-1:-1:-1;;;7415:64:0;;10873:2:1;7415:64:0;;;10855:21:1;10912:2;10892:18;;;10885:30;10951:34;10931:18;;;10924:62;-1:-1:-1;;;11002:18:1;;;10995:33;11045:19;;7415:64:0;10671:399:1;7415:64:0;7507:1;7498:6;:10;7490:64;;;;-1:-1:-1;;;7490:64:0;;11277:2:1;7490:64:0;;;11259:21:1;11316:2;11296:18;;;11289:30;11355:34;11335:18;;;11328:62;-1:-1:-1;;;11406:18:1;;;11399:39;11455:19;;7490:64:0;11075:405:1;7490:64:0;7565:17;2538:6;;-1:-1:-1;;;;;7599:15:0;;;2538:6;;7599:15;;;;:32;;-1:-1:-1;2511:7:0;2538:6;-1:-1:-1;;;;;7618:13:0;;;2538:6;;7618:13;;7599:32;7595:1533;;;-1:-1:-1;;;;;7657:10:0;;;;;;:4;:10;;;;;;;;7656:11;:24;;;;-1:-1:-1;;;;;;7672:8:0;;;;;;:4;:8;;;;;;;;7671:9;7656:24;7648:33;;;;;;7708:76;7780:3;7708:67;7730:15;;7720:9;;:25;7719:55;;7760:14;;7719:55;;;7747:12;;7719:55;7708:6;;:10;:67::i;:::-;:71;;:76::i;:::-;7813:13;;7696:88;;-1:-1:-1;;;;;;7805:21:0;;;7813:13;;7805:21;:55;;;;-1:-1:-1;7844:15:0;;-1:-1:-1;;;;;7830:30:0;;;7844:15;;7830:30;;7805:55;:83;;;;-1:-1:-1;;;;;;7866:22:0;;;;;;:18;:22;;;;;;;;7864:24;7805:83;7801:436;;;7928:12;;7918:6;:22;;7910:60;;;;-1:-1:-1;;;7910:60:0;;11687:2:1;7910:60:0;;;11669:21:1;11726:2;11706:18;;;11699:30;11765:27;11745:18;;;11738:55;11810:18;;7910:60:0;11485:349:1;7910:60:0;8023:14;;8013:6;7997:13;8007:2;-1:-1:-1;;;;;6063:18:0;6036:7;6063:18;;;:9;:18;;;;;;;5970:119;7997:13;:22;;;;:::i;:::-;:40;;7989:79;;;;-1:-1:-1;;;7989:79:0;;12171:2:1;7989:79:0;;;12153:21:1;12210:2;12190:18;;;12183:30;12249:28;12229:18;;;12222:56;12295:18;;7989:79:0;11969:350:1;7989:79:0;8111:12;8093:10;;8106:1;8093:14;;;;:::i;:::-;:30;8089:103;;;9731:20;;9779:8;8148:24;;;;;;8210:9;:11;;;:9;:11;;;:::i;:::-;;;;;;7801:436;8263:13;;-1:-1:-1;;;;;8257:19:0;;;8263:13;;8257:19;;;;:47;;-1:-1:-1;;;;;;8282:22:0;;;;;;:18;:22;;;;;;;;8280:24;8257:47;8253:167;;;8359:14;;8349:6;8333:13;8343:2;-1:-1:-1;;;;;6063:18:0;6036:7;6063:18;;;:9;:18;;;;;;;5970:119;8333:13;:22;;;;:::i;:::-;:40;;8325:79;;;;-1:-1:-1;;;8325:79:0;;12171:2:1;8325:79:0;;;12153:21:1;12210:2;12190:18;;;12183:30;12249:28;12229:18;;;12222:56;12295:18;;8325:79:0;11969:350:1;8325:79:0;8445:13;;-1:-1:-1;;;;;8439:19:0;;;8445:13;;8439:19;:43;;;;-1:-1:-1;;;;;;8462:20:0;;8477:4;8462:20;;8439:43;8436:174;;;8515:79;8590:3;8515:70;8537:16;;8527:9;;:26;8526:58;;8569:15;;8526:58;;;8555:13;;8515:6;;:10;:70::i;:79::-;8503:91;;8436:174;8675:4;8626:28;6063:18;;;:9;:18;;;;;;8701:6;;-1:-1:-1;;;8701:6:0;;;;8700:7;:32;;;;-1:-1:-1;8719:13:0;;-1:-1:-1;;;;;8711:21:0;;;8719:13;;8711:21;8700:32;:47;;;;-1:-1:-1;8736:11:0;;-1:-1:-1;;;8736:11:0;;;;8700:47;:89;;;;;8772:17;;8751:20;:38;8700:89;:121;;;;;8803:18;;8793:9;;:28;8700:121;8696:421;;;8842:67;8859:49;8863:6;8870:37;8874:20;8895:11;;8870:3;:37::i;:::-;8859:3;:49::i;:::-;8842:16;:67::i;:::-;8957:21;9000:22;;8997:105;;9047:35;9060:21;9047:12;:35::i;:::-;8823:294;8696:421;7633:1495;7595:1533;9143:11;;9140:161;;9211:4;9193:24;;;;:9;:24;;;;;;:39;;9222:9;9193:28;:39::i;:::-;9186:4;9168:24;;;;:9;:24;;;;;;;:64;;;;9250:39;;-1:-1:-1;;;;;9250:39:0;;;;;;;9279:9;1500:25:1;;1488:2;1473:18;;1354:177;9250:39:0;;;;;;;;9140:161;-1:-1:-1;;;;;9327:15:0;;;;;;:9;:15;;;;;;:27;;9347:6;9327:19;:27::i;:::-;-1:-1:-1;;;;;9311:15:0;;;;;;:9;:15;;;;;:43;9379:40;9397:21;:6;9408:9;9397:10;:21::i;:::-;-1:-1:-1;;;;;9379:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;9365:13:0;;;;;;;:9;:13;;;;;:54;;;;9435:41;;;9454:21;:6;9465:9;9454:10;:21::i;:::-;9435:41;;1500:25:1;;;1488:2;1473:18;9435:41:0;;;;;;;7325:2159;7256:2228;;;:::o;1365:190::-;1451:7;1487:12;1479:6;;;;1471:29;;;;-1:-1:-1;;;1471:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1511:9:0;1523:5;1527:1;1523;:5;:::i;:::-;1511:17;1365:190;-1:-1:-1;;;;;1365:190:0:o;1563:246::-;1621:7;1645:1;1650;1645:6;1641:47;;-1:-1:-1;1675:1:0;1668:8;;1641:47;1698:9;1710:5;1714:1;1710;:5;:::i;:::-;1698:17;-1:-1:-1;1743:1:0;1734:5;1738:1;1698:17;1734:5;:::i;:::-;:10;1726:56;;;;-1:-1:-1;;;1726:56:0;;12881:2:1;1726:56:0;;;12863:21:1;12920:2;12900:18;;;12893:30;12959:34;12939:18;;;12932:62;-1:-1:-1;;;13010:18:1;;;13003:31;13051:19;;1726:56:0;12679:397:1;1726:56:0;1800:1;1563:246;-1:-1:-1;;;1563:246:0:o;1817:132::-;1875:7;1902:39;1906:1;1909;1902:39;;;;;;;;;;;;;;;;;:3;:39::i;9494:98::-;9551:7;9578:1;9576;:3;9575:9;;9583:1;9575:9;;;-1:-1:-1;9581:1:0;9494:98;-1:-1:-1;9494:98:0:o;9803:483::-;5102:6;:13;;-1:-1:-1;;;;5102:13:0;-1:-1:-1;;;5102:13:0;;;9905:16:::1;::::0;;9919:1:::1;9905:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9905:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9905:16:0::1;9881:40;;9950:4;9932;9937:1;9932:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9932:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9976:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;9976:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;9932:7;;9976:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9966:4;9971:1;9966:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9966:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10041:15:::1;::::0;10009:62:::1;::::0;10026:4:::1;::::0;10041:15:::1;10059:11:::0;10009:8:::1;:62::i;:::-;10082:15;::::0;:196:::1;::::0;-1:-1:-1;;;10082:196:0;;-1:-1:-1;;;;;10082:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10163:11;;10082:15:::1;::::0;10205:4;;10232::::1;::::0;10252:15:::1;::::0;10082:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5138:6:0;:14;;-1:-1:-1;;;;5138:14:0;;;-1:-1:-1;;;;9803:483:0:o;11109:245::-;11166:17;11186:25;11207:3;11187:14;:6;11198:2;11187:10;:14::i;11186:25::-;11166:45;-1:-1:-1;11222:17:0;11242:21;:6;11166:45;11242:10;:21::i;:::-;11274:10;;:30;;11222:41;;-1:-1:-1;;;;;;11274:10:0;;:30;;;;;11294:9;;11274:10;:30;:10;:30;11294:9;11274:10;:30;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11315:11:0;;:31;;-1:-1:-1;;;;;11315:11:0;;;;:31;;;;;11336:9;;11315:11;:31;:11;:31;11336:9;11315:11;:31;;;;;;;;;;;;;;;;;;;;;11155:199;;11109:245;:::o;1034:179::-;1092:7;;1124:5;1128:1;1124;:5;:::i;:::-;1112:17;;1153:1;1148;:6;;1140:46;;;;-1:-1:-1;;;1140:46:0;;14268:2:1;1140:46:0;;;14250:21:1;14307:2;14287:18;;;14280:30;14346:29;14326:18;;;14319:57;14393:18;;1140:46:0;14066:351:1;1221:136:0;1279:7;1306:43;1310:1;1313;1306:43;;;;;;;;;;;;;;;;;:3;:43::i;1957:189::-;2043:7;2078:12;2071:5;2063:28;;;;-1:-1:-1;;;2063:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2102:9:0;2114:5;2118:1;2114;: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;622:70;567:131;:::o;703:134::-;771:20;;800:31;771:20;800:31;:::i;:::-;703:134;;;:::o;842:315::-;910:6;918;971:2;959:9;950:7;946:23;942:32;939:52;;;987:1;984;977:12;939:52;1026:9;1013:23;1045:31;1070:5;1045:31;:::i;:::-;1095:5;1147:2;1132:18;;;;1119:32;;-1:-1:-1;;;842:315:1:o;1536:388::-;1604:6;1612;1665:2;1653:9;1644:7;1640:23;1636:32;1633:52;;;1681:1;1678;1671:12;1633:52;1720:9;1707:23;1739:31;1764:5;1739:31;:::i;:::-;1789:5;-1:-1:-1;1846:2:1;1831:18;;1818:32;1859:33;1818:32;1859:33;:::i;:::-;1911:7;1901:17;;;1536:388;;;;;:::o;1929:456::-;2006:6;2014;2022;2075:2;2063:9;2054:7;2050:23;2046:32;2043:52;;;2091:1;2088;2081:12;2043:52;2130:9;2117:23;2149:31;2174:5;2149:31;:::i;:::-;2199:5;-1:-1:-1;2256:2:1;2241:18;;2228:32;2269:33;2228:32;2269:33;:::i;:::-;1929:456;;2321:7;;-1:-1:-1;;;2375:2:1;2360:18;;;;2347:32;;1929:456::o;2390:248::-;2458:6;2466;2519:2;2507:9;2498:7;2494:23;2490:32;2487:52;;;2535:1;2532;2525:12;2487:52;-1:-1:-1;;2558:23:1;;;2628:2;2613:18;;;2600:32;;-1:-1:-1;2390:248:1:o;2832:127::-;2893:10;2888:3;2884:20;2881:1;2874:31;2924:4;2921:1;2914:15;2948:4;2945:1;2938:15;2964:1121;3048:6;3079:2;3122;3110:9;3101:7;3097:23;3093:32;3090:52;;;3138:1;3135;3128:12;3090:52;3178:9;3165:23;3207:18;3248:2;3240:6;3237:14;3234:34;;;3264:1;3261;3254:12;3234:34;3302:6;3291:9;3287:22;3277:32;;3347:7;3340:4;3336:2;3332:13;3328:27;3318:55;;3369:1;3366;3359:12;3318:55;3405:2;3392:16;3427:2;3423;3420:10;3417:36;;;3433:18;;:::i;:::-;3479:2;3476:1;3472:10;3511:2;3505:9;3574:2;3570:7;3565:2;3561;3557:11;3553:25;3545:6;3541:38;3629:6;3617:10;3614:22;3609:2;3597:10;3594:18;3591:46;3588:72;;;3640:18;;:::i;:::-;3676:2;3669:22;3726:18;;;3760:15;;;;-1:-1:-1;3802:11:1;;;3798:20;;;3830:19;;;3827:39;;;3862:1;3859;3852:12;3827:39;3886:11;;;;3906:148;3922:6;3917:3;3914:15;3906:148;;;3988:23;4007:3;3988:23;:::i;:::-;3976:36;;3939:12;;;;4032;;;;3906:148;;;4073:6;2964:1121;-1:-1:-1;;;;;;;;2964:1121:1:o;4090:247::-;4149:6;4202:2;4190:9;4181:7;4177:23;4173:32;4170:52;;;4218:1;4215;4208:12;4170:52;4257:9;4244:23;4276:31;4301:5;4276:31;:::i;4342:180::-;4401:6;4454:2;4442:9;4433:7;4429:23;4425:32;4422:52;;;4470:1;4467;4460:12;4422:52;-1:-1:-1;4493:23:1;;4342:180;-1:-1:-1;4342:180:1:o;4735:127::-;4796:10;4791:3;4787:20;4784:1;4777:31;4827:4;4824:1;4817:15;4851:4;4848:1;4841:15;4867:422;4956:1;4999:5;4956:1;5013:270;5034:7;5024:8;5021:21;5013:270;;;5093:4;5089:1;5085:6;5081:17;5075:4;5072:27;5069:53;;;5102:18;;:::i;:::-;5152:7;5142:8;5138:22;5135:55;;;5172:16;;;;5135:55;5251:22;;;;5211:15;;;;5013:270;;;5017:3;4867:422;;;;;:::o;5294:806::-;5343:5;5373:8;5363:80;;-1:-1:-1;5414:1:1;5428:5;;5363:80;5462:4;5452:76;;-1:-1:-1;5499:1:1;5513:5;;5452:76;5544:4;5562:1;5557:59;;;;5630:1;5625:130;;;;5537:218;;5557:59;5587:1;5578:10;;5601:5;;;5625:130;5662:3;5652:8;5649:17;5646:43;;;5669:18;;:::i;:::-;-1:-1:-1;;5725:1:1;5711:16;;5740:5;;5537:218;;5839:2;5829:8;5826:16;5820:3;5814:4;5811:13;5807:36;5801:2;5791:8;5788:16;5783:2;5777:4;5774:12;5770:35;5767:77;5764:159;;;-1:-1:-1;5876:19:1;;;5908:5;;5764:159;5955:34;5980:8;5974:4;5955:34;:::i;:::-;6025:6;6021:1;6017:6;6013:19;6004:7;6001:32;5998:58;;;6036:18;;:::i;:::-;6074:20;;5294:806;-1:-1:-1;;;5294:806:1:o;6105:140::-;6163:5;6192:47;6233:4;6223:8;6219:19;6213:4;6192:47;:::i;6250:168::-;6323:9;;;6354;;6371:15;;;6365:22;;6351:37;6341:71;;6392:18;;:::i;6423:356::-;6625:2;6607:21;;;6644:18;;;6637:30;6703:34;6698:2;6683:18;;6676:62;6770:2;6755:18;;6423:356::o;6784:127::-;6845:10;6840:3;6836:20;6833:1;6826:31;6876:4;6873:1;6866:15;6900:4;6897:1;6890:15;6916:135;6955:3;6976:17;;;6973:43;;6996:18;;:::i;:::-;-1:-1:-1;7043:1:1;7032:13;;6916:135::o;7408:251::-;7478:6;7531:2;7519:9;7510:7;7506:23;7502:32;7499:52;;;7547:1;7544;7537:12;7499:52;7579:9;7573:16;7598:31;7623:5;7598:31;:::i;8585:306::-;8673:6;8681;8689;8742:2;8730:9;8721:7;8717:23;8713:32;8710:52;;;8758:1;8755;8748:12;8710:52;8787:9;8781:16;8771:26;;8837:2;8826:9;8822:18;8816:25;8806:35;;8881:2;8870:9;8866:18;8860:25;8850:35;;8585:306;;;;;:::o;9175:277::-;9242:6;9295:2;9283:9;9274:7;9270:23;9266:32;9263:52;;;9311:1;9308;9301:12;9263:52;9343:9;9337:16;9396:5;9389:13;9382:21;9375:5;9372:32;9362:60;;9418:1;9415;9408:12;11839:125;11904:9;;;11925:10;;;11922:36;;;11938:18;;:::i;12324:128::-;12391:9;;;12412:11;;;12409:37;;;12426:18;;:::i;12457:217::-;12497:1;12523;12513:132;;12567:10;12562:3;12558:20;12555:1;12548:31;12602:4;12599:1;12592:15;12630:4;12627:1;12620:15;12513:132;-1:-1:-1;12659:9:1;;12457:217::o;13081:980::-;13343:4;13391:3;13380:9;13376:19;13422:6;13411:9;13404:25;13448:2;13486:6;13481:2;13470:9;13466:18;13459:34;13529:3;13524:2;13513:9;13509:18;13502:31;13553:6;13588;13582:13;13619:6;13611;13604:22;13657:3;13646:9;13642:19;13635:26;;13696:2;13688:6;13684:15;13670:29;;13717:1;13727:195;13741:6;13738:1;13735:13;13727:195;;;13806:13;;-1:-1:-1;;;;;13802:39:1;13790:52;;13897:15;;;;13862:12;;;;13838:1;13756:9;13727:195;;;-1:-1:-1;;;;;;;13978:32:1;;;;13973:2;13958:18;;13951:60;-1:-1:-1;;;14042:3:1;14027:19;14020:35;13939:3;13081:980;-1:-1:-1;;;13081:980:1:o

Swarm Source

ipfs://0e9921fafd22071613e45dca484de03d684d0390d5095f7671c3f8e3aaa47708
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.