ETH Price: $2,518.96 (+3.19%)

Token

JanuaryNineMonthPregnantInu (PYTHON)
 

Overview

Max Total Supply

669,420,000,000 PYTHON

Holders

33

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
bokotankryze.eth
Balance
267,748,000 PYTHON

Value
$0.00
0x710e72a2a612fb2e917fd744c520d39b75146a38
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:
Python

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-07-19
*/

/**
 Telegram: https://t.me/python_erc
 Twitter: https://twitter.com/python_erc
 Website: https://pythonerc.vip 
 ///////// Website Live at 100K Mcap \\\\\\\\
 */


// SPDX-License-Identifier: Unlicensed
pragma solidity 0.8.18;

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

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

    constructor() {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function transferOwnership(address newOwner) public onlyOwner {
        _transferOwnership(newOwner);
    }

    function _transferOwnership(address newOwner) internal {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }

    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(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function factory() external pure returns (address);
    function WETH() external pure returns (address);
}

contract Python is Context, IERC20, Ownable {
    mapping(address => uint256) private _balance;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFeeWallet;
    uint256 private constant MAX = ~uint256(0);
    uint8 private constant _decimals = 18;
    uint256 private constant _totalSupply = 669420*(10**6)*10**_decimals;
    uint256 private constant minSwap = 30000 * 10**_decimals; //0.03% from supply
    uint256 private constant maxSwap = 133884*(10**5)*10**_decimals; //2% from supply
    uint256 public maxTxAmount = maxSwap * 2; //max Tx for first mins after launch

    uint256 private _tax;
    uint256 public buyTax = 1;
    uint256 public sellTax = 1;
    
    uint256 private launchBlock;
    uint256 private blockDelay = 3;

    string private constant _name = "JanuaryNineMonthPregnantInu";
    string private constant _symbol = "PYTHON";

    IUniswapV2Router02 private uniswapV2Router;
    address public uniswapV2Pair;
    address payable public marketingWallet;

    bool private launch = false;

    // Anti-Whale
    uint256 public maxHoldAmount = _totalSupply / 100; // 1% of _totalSupply
    mapping(address => bool) public isWhiteList;

    // Events
    event UpdateWhiteList(address indexed holder, bool value);
    event SetMaxHoldAmount(uint256 indexed maxHoldAmount);

    constructor() {
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        marketingWallet = payable(0x044bD9fC7d247B698b50BFB694d80aD195C79c3d);
        _balance[msg.sender] = _totalSupply;

        _isExcludedFromFeeWallet[msg.sender] = true;
        _isExcludedFromFeeWallet[0x044bD9fC7d247B698b50BFB694d80aD195C79c3d] = true;
        _isExcludedFromFeeWallet[address(this)] = true;

        // default whiteList
        isWhiteList[msg.sender] = true; // owner
        isWhiteList[address(this)] = true; // token contract
        isWhiteList[uniswapV2Pair] = true; // pair

        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

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

    function balanceOf(address account) public view override returns (uint256) {
        return _balance[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()] - amount);
        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 enableTrading() external onlyOwner {
        launch = true;
        launchBlock = block.number;
    }

    function configureExempted(address[] memory _wallets, bool _enable) external onlyOwner {
        for(uint256 i = 0; i < _wallets.length; i++) {

            _isExcludedFromFeeWallet[_wallets[i]] = _enable;
        }
    }

    function removeLimits() external onlyOwner {
        maxTxAmount = _totalSupply;
    }

    function newBlockDelay(uint256 number) external onlyOwner {
        blockDelay = number;
    }

    function changeTax(uint256 newBuyTax, uint256 newSellTax) external onlyOwner {
        require(newBuyTax <= 10 && newSellTax <= 10, "ERC20: wrong tax value!");
        buyTax = newBuyTax;
        sellTax = newSellTax;
    }
    
      function setMarketingWallet(address _marketingWallet) external onlyOwner {
        marketingWallet = payable(_marketingWallet);
    }
    
    function _tokenTransfer(address from, address to, uint256 amount) private {
        uint256 taxTokens = (amount * _tax) / 100;
        uint256 transferAmount = amount - taxTokens;

        _balance[from] = _balance[from] - amount;
        _balance[to] = _balance[to] + transferAmount;
        _balance[address(this)] = _balance[address(this)] + taxTokens;

        // maxHoldAmount check
        if(!isWhiteList[to]) {
            require(_balance[to] <= maxHoldAmount, "Over Max Holding Amount");
        }

        emit Transfer(from, to, transferAmount);
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");

        if (_isExcludedFromFeeWallet[from] || _isExcludedFromFeeWallet[to]) {
            _tax = 0;
        } else {
            require(launch, "Wait till launch");
            require(amount <= maxTxAmount, "Max TxAmount 2% at launch");
            if (block.number < launchBlock + blockDelay) {_tax=99;} else {
                if (from == uniswapV2Pair) {
                    _tax = buyTax;
                } else if (to == uniswapV2Pair) {
                    uint256 tokensToSwap = balanceOf(address(this));
                    if (tokensToSwap > minSwap) {
                        if (tokensToSwap > maxSwap) {
                            tokensToSwap = maxSwap;
                        }
                        swapTokensForEth(tokensToSwap);
                    }
                    _tax = sellTax;
                } else {
                    _tax = 0;
                }
            }
        }
        _tokenTransfer(from, to, amount);
    }

    function swapTokensForEth(uint256 tokenAmount) private {
        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,
            marketingWallet,
            block.timestamp
        );
    }
    receive() external payable {}

    function setMaxHoldAmount(uint256 _maxHoldAmount) external onlyOwner {
        maxHoldAmount = _maxHoldAmount;

        emit SetMaxHoldAmount(_maxHoldAmount);
    }

    function updateWhiteList(address _holder, bool _value) external onlyOwner {
        isWhiteList[_holder] = _value;

        emit UpdateWhiteList(_holder, _value);
    }
}

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":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":"uint256","name":"maxHoldAmount","type":"uint256"}],"name":"SetMaxHoldAmount","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"holder","type":"address"},{"indexed":false,"internalType":"bool","name":"value","type":"bool"}],"name":"UpdateWhiteList","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyTax","type":"uint256"},{"internalType":"uint256","name":"newSellTax","type":"uint256"}],"name":"changeTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_wallets","type":"address[]"},{"internalType":"bool","name":"_enable","type":"bool"}],"name":"configureExempted","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWhiteList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxHoldAmount","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":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"number","type":"uint256"}],"name":"newBlockDelay","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":"sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_marketingWallet","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxHoldAmount","type":"uint256"}],"name":"setMaxHoldAmount","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":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_holder","type":"address"},{"internalType":"bool","name":"_value","type":"bool"}],"name":"updateWhiteList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126012600a620004d3565b620000239064031e02c580620004eb565b62000030906002620004eb565b600555600160078190556008556003600a908155600d805460ff60a01b191690556064906200006290601290620004d3565b6200007390649bdc8a9300620004eb565b6200007f919062000505565b600e553480156200008f57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600b80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa15801562000136573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200015c919062000528565b6001600160a01b031663c9c6539630600b60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001bf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001e5919062000528565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000233573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000259919062000528565b600c80546001600160a01b03929092166001600160a01b0319928316179055600d805490911673044bd9fc7d247b698b50bfb694d80ad195c79c3d179055620002a56012600a620004d3565b620002b690649bdc8a9300620004eb565b33600081815260026020908152604080832094909455600481528382208054600160ff1991821681179092557ff3c0509a9245d81d013cdcc6e909628db17f9451d373f210df4be24bb62b78298054821683179055308085528685208054831684179055948452600f90925284832080548316821790559282528382208054821684179055600c546001600160a01b0316825292902080549092161790556200035c3390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620003966012600a620004d3565b620003a790649bdc8a9300620004eb565b60405190815260200160405180910390a362000553565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000415578160001904821115620003f957620003f9620003be565b808516156200040757918102915b93841c9390800290620003d9565b509250929050565b6000826200042e57506001620004cd565b816200043d57506000620004cd565b8160018114620004565760028114620004615762000481565b6001915050620004cd565b60ff841115620004755762000475620003be565b50506001821b620004cd565b5060208310610133831016604e8410600b8410161715620004a6575081810a620004cd565b620004b28383620003d4565b8060001904821115620004c957620004c9620003be565b0290505b92915050565b6000620004e460ff8416836200041d565b9392505050565b8082028115828204841417620004cd57620004cd620003be565b6000826200052357634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200053b57600080fd5b81516001600160a01b0381168114620004e457600080fd5b61163380620005636000396000f3fe6080604052600436106101a05760003560e01c80638a8c523c116100ec578063ac1d06091161008a578063d8b6004011610064578063d8b60040146104c7578063dd62ed3e146104e7578063f2fde38b1461052d578063f99031a71461054d57600080fd5b8063ac1d06091461047b578063cc1776d31461049b578063cd03425c146104b157600080fd5b80639036ed4d116100c65780639036ed4d146103ec57806395d89b411461040c578063a21e876e1461043b578063a9059cbb1461045b57600080fd5b80638a8c523c146103a35780638c0b5e22146103b85780638da5cb5b146103ce57600080fd5b80634f7041a51161015957806370d8c9ec1161013357806370d8c9ec14610339578063715018a614610359578063751039fc1461036e57806375f0a8741461038357600080fd5b80634f7041a5146102cb5780635d098b38146102e157806370a082311461030357600080fd5b806306fdde03146101ac578063095ea7b31461020457806318160ddd1461023457806323b872dd14610257578063313ce5671461027757806349bd5a5e1461029357600080fd5b366101a757005b600080fd5b3480156101b857600080fd5b5060408051808201909152601b81527f4a616e756172794e696e654d6f6e7468507265676e616e74496e75000000000060208201525b6040516101fb91906110f9565b60405180910390f35b34801561021057600080fd5b5061022461021f36600461116c565b61057d565b60405190151581526020016101fb565b34801561024057600080fd5b50610249610594565b6040519081526020016101fb565b34801561026357600080fd5b50610224610272366004611198565b6105b6565b34801561028357600080fd5b50604051601281526020016101fb565b34801561029f57600080fd5b50600c546102b3906001600160a01b031681565b6040516001600160a01b0390911681526020016101fb565b3480156102d757600080fd5b5061024960075481565b3480156102ed57600080fd5b506103016102fc3660046111d9565b610608565b005b34801561030f57600080fd5b5061024961031e3660046111d9565b6001600160a01b031660009081526002602052604090205490565b34801561034557600080fd5b506103016103543660046111fd565b61065d565b34801561036557600080fd5b5061030161068c565b34801561037a57600080fd5b50610301610700565b34801561038f57600080fd5b50600d546102b3906001600160a01b031681565b3480156103af57600080fd5b5061030161074a565b3480156103c457600080fd5b5061024960055481565b3480156103da57600080fd5b506000546001600160a01b03166102b3565b3480156103f857600080fd5b50610301610407366004611216565b61078d565b34801561041857600080fd5b50604080518082019091526006815265282caa2427a760d11b60208201526101ee565b34801561044757600080fd5b5061030161045636600461125e565b610820565b34801561046757600080fd5b5061022461047636600461116c565b6108b6565b34801561048757600080fd5b50610301610496366004611335565b6108c3565b3480156104a757600080fd5b5061024960085481565b3480156104bd57600080fd5b50610249600e5481565b3480156104d357600080fd5b506103016104e23660046111fd565b61094c565b3480156104f357600080fd5b5061024961050236600461136a565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561053957600080fd5b506103016105483660046111d9565b6109a9565b34801561055957600080fd5b506102246105683660046111d9565b600f6020526000908152604090205460ff1681565b600061058a3384846109df565b5060015b92915050565b60006105a26012600a61149d565b6105b190649bdc8a93006114ac565b905090565b60006105c3848484610b03565b6001600160a01b0384166000908152600360209081526040808320338085529252909120546105fe9186916105f99086906114c3565b6109df565b5060019392505050565b6000546001600160a01b0316331461063b5760405162461bcd60e51b8152600401610632906114d6565b60405180910390fd5b600d80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146106875760405162461bcd60e51b8152600401610632906114d6565b600a55565b6000546001600160a01b031633146106b65760405162461bcd60e51b8152600401610632906114d6565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461072a5760405162461bcd60e51b8152600401610632906114d6565b6107366012600a61149d565b61074590649bdc8a93006114ac565b600555565b6000546001600160a01b031633146107745760405162461bcd60e51b8152600401610632906114d6565b600d805460ff60a01b1916600160a01b17905543600955565b6000546001600160a01b031633146107b75760405162461bcd60e51b8152600401610632906114d6565b600a82111580156107c95750600a8111155b6108155760405162461bcd60e51b815260206004820152601760248201527f45524332303a2077726f6e67207461782076616c7565210000000000000000006044820152606401610632565b600791909155600855565b6000546001600160a01b0316331461084a5760405162461bcd60e51b8152600401610632906114d6565b60005b82518110156108b157816004600085848151811061086d5761086d61150b565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806108a981611521565b91505061084d565b505050565b600061058a338484610b03565b6000546001600160a01b031633146108ed5760405162461bcd60e51b8152600401610632906114d6565b6001600160a01b0382166000818152600f6020908152604091829020805460ff191685151590811790915591519182527fc551bbb22d0406dbfb8b6b7740cc521bcf44e1106029cf899c19b6a8e4c99d51910160405180910390a25050565b6000546001600160a01b031633146109765760405162461bcd60e51b8152600401610632906114d6565b600e81905560405181907fc9a07d0106b62dd0f2706dab6a7aee4c4d0dc35078c994bf5c08d5d85861d46b90600090a250565b6000546001600160a01b031633146109d35760405162461bcd60e51b8152600401610632906114d6565b6109dc81610d40565b50565b6001600160a01b038316610a415760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610632565b6001600160a01b038216610aa25760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610632565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b675760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610632565b6001600160a01b03831660009081526004602052604090205460ff1680610ba657506001600160a01b03821660009081526004602052604090205460ff165b15610bb5576000600655610d35565b600d54600160a01b900460ff16610c015760405162461bcd60e51b815260206004820152601060248201526f0aec2d2e840e8d2d8d840d8c2eadcc6d60831b6044820152606401610632565b600554811115610c535760405162461bcd60e51b815260206004820152601960248201527f4d6178205478416d6f756e74203225206174206c61756e6368000000000000006044820152606401610632565b600a54600954610c63919061153a565b431015610c74576063600655610d35565b600c546001600160a01b0390811690841603610c9557600754600655610d35565b600c546001600160a01b0390811690831603610d2f5730600090815260026020526040902054610cc76012600a61149d565b610cd3906175306114ac565b811115610d2357610ce66012600a61149d565b610cf59064031e02c5806114ac565b811115610d1a57610d086012600a61149d565b610d179064031e02c5806114ac565b90505b610d2381610e00565b50600854600655610d35565b60006006555b6108b1838383610f5e565b6001600160a01b038116610da55760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610632565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110610e3557610e3561150b565b6001600160a01b03928316602091820292909201810191909152600b54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610e8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb2919061154d565b81600181518110610ec557610ec561150b565b6001600160a01b039283166020918202929092010152600b54610eeb91309116846109df565b600b54600d5460405163791ac94760e01b81526001600160a01b039283169263791ac94792610f289287926000928892911690429060040161156a565b600060405180830381600087803b158015610f4257600080fd5b505af1158015610f56573d6000803e3d6000fd5b505050505050565b6000606460065483610f7091906114ac565b610f7a91906115db565b90506000610f8882846114c3565b6001600160a01b038616600090815260026020526040902054909150610faf9084906114c3565b6001600160a01b038087166000908152600260205260408082209390935590861681522054610fdf90829061153a565b6001600160a01b03851660009081526002602052604080822092909255308152205461100c90839061153a565b306000908152600260209081526040808320939093556001600160a01b0387168252600f9052205460ff166110a557600e546001600160a01b03851660009081526002602052604090205411156110a55760405162461bcd60e51b815260206004820152601760248201527f4f766572204d617820486f6c64696e6720416d6f756e740000000000000000006044820152606401610632565b836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516110ea91815260200190565b60405180910390a35050505050565b600060208083528351808285015260005b818110156111265785810183015185820160400152820161110a565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146109dc57600080fd5b803561116781611147565b919050565b6000806040838503121561117f57600080fd5b823561118a81611147565b946020939093013593505050565b6000806000606084860312156111ad57600080fd5b83356111b881611147565b925060208401356111c881611147565b929592945050506040919091013590565b6000602082840312156111eb57600080fd5b81356111f681611147565b9392505050565b60006020828403121561120f57600080fd5b5035919050565b6000806040838503121561122957600080fd5b50508035926020909101359150565b634e487b7160e01b600052604160045260246000fd5b8035801515811461116757600080fd5b6000806040838503121561127157600080fd5b823567ffffffffffffffff8082111561128957600080fd5b818501915085601f83011261129d57600080fd5b81356020828211156112b1576112b1611238565b8160051b604051601f19603f830116810181811086821117156112d6576112d6611238565b6040529283528183019350848101820192898411156112f457600080fd5b948201945b838610156113195761130a8661115c565b855294820194938201936112f9565b9650611328905087820161124e565b9450505050509250929050565b6000806040838503121561134857600080fd5b823561135381611147565b91506113616020840161124e565b90509250929050565b6000806040838503121561137d57600080fd5b823561138881611147565b9150602083013561139881611147565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156113f45781600019048211156113da576113da6113a3565b808516156113e757918102915b93841c93908002906113be565b509250929050565b60008261140b5750600161058e565b816114185750600061058e565b816001811461142e576002811461143857611454565b600191505061058e565b60ff841115611449576114496113a3565b50506001821b61058e565b5060208310610133831016604e8410600b8410161715611477575081810a61058e565b61148183836113b9565b8060001904821115611495576114956113a3565b029392505050565b60006111f660ff8416836113fc565b808202811582820484141761058e5761058e6113a3565b8181038181111561058e5761058e6113a3565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b600060018201611533576115336113a3565b5060010190565b8082018082111561058e5761058e6113a3565b60006020828403121561155f57600080fd5b81516111f681611147565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156115ba5784516001600160a01b031683529383019391830191600101611595565b50506001600160a01b03969096166060850152505050608001529392505050565b6000826115f857634e487b7160e01b600052601260045260246000fd5b50049056fea264697066735822122036ac67a2eabd5795dc95c43de28f19280670b260dc1bff4374634c9e2629231a64736f6c63430008120033

Deployed Bytecode

0x6080604052600436106101a05760003560e01c80638a8c523c116100ec578063ac1d06091161008a578063d8b6004011610064578063d8b60040146104c7578063dd62ed3e146104e7578063f2fde38b1461052d578063f99031a71461054d57600080fd5b8063ac1d06091461047b578063cc1776d31461049b578063cd03425c146104b157600080fd5b80639036ed4d116100c65780639036ed4d146103ec57806395d89b411461040c578063a21e876e1461043b578063a9059cbb1461045b57600080fd5b80638a8c523c146103a35780638c0b5e22146103b85780638da5cb5b146103ce57600080fd5b80634f7041a51161015957806370d8c9ec1161013357806370d8c9ec14610339578063715018a614610359578063751039fc1461036e57806375f0a8741461038357600080fd5b80634f7041a5146102cb5780635d098b38146102e157806370a082311461030357600080fd5b806306fdde03146101ac578063095ea7b31461020457806318160ddd1461023457806323b872dd14610257578063313ce5671461027757806349bd5a5e1461029357600080fd5b366101a757005b600080fd5b3480156101b857600080fd5b5060408051808201909152601b81527f4a616e756172794e696e654d6f6e7468507265676e616e74496e75000000000060208201525b6040516101fb91906110f9565b60405180910390f35b34801561021057600080fd5b5061022461021f36600461116c565b61057d565b60405190151581526020016101fb565b34801561024057600080fd5b50610249610594565b6040519081526020016101fb565b34801561026357600080fd5b50610224610272366004611198565b6105b6565b34801561028357600080fd5b50604051601281526020016101fb565b34801561029f57600080fd5b50600c546102b3906001600160a01b031681565b6040516001600160a01b0390911681526020016101fb565b3480156102d757600080fd5b5061024960075481565b3480156102ed57600080fd5b506103016102fc3660046111d9565b610608565b005b34801561030f57600080fd5b5061024961031e3660046111d9565b6001600160a01b031660009081526002602052604090205490565b34801561034557600080fd5b506103016103543660046111fd565b61065d565b34801561036557600080fd5b5061030161068c565b34801561037a57600080fd5b50610301610700565b34801561038f57600080fd5b50600d546102b3906001600160a01b031681565b3480156103af57600080fd5b5061030161074a565b3480156103c457600080fd5b5061024960055481565b3480156103da57600080fd5b506000546001600160a01b03166102b3565b3480156103f857600080fd5b50610301610407366004611216565b61078d565b34801561041857600080fd5b50604080518082019091526006815265282caa2427a760d11b60208201526101ee565b34801561044757600080fd5b5061030161045636600461125e565b610820565b34801561046757600080fd5b5061022461047636600461116c565b6108b6565b34801561048757600080fd5b50610301610496366004611335565b6108c3565b3480156104a757600080fd5b5061024960085481565b3480156104bd57600080fd5b50610249600e5481565b3480156104d357600080fd5b506103016104e23660046111fd565b61094c565b3480156104f357600080fd5b5061024961050236600461136a565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561053957600080fd5b506103016105483660046111d9565b6109a9565b34801561055957600080fd5b506102246105683660046111d9565b600f6020526000908152604090205460ff1681565b600061058a3384846109df565b5060015b92915050565b60006105a26012600a61149d565b6105b190649bdc8a93006114ac565b905090565b60006105c3848484610b03565b6001600160a01b0384166000908152600360209081526040808320338085529252909120546105fe9186916105f99086906114c3565b6109df565b5060019392505050565b6000546001600160a01b0316331461063b5760405162461bcd60e51b8152600401610632906114d6565b60405180910390fd5b600d80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146106875760405162461bcd60e51b8152600401610632906114d6565b600a55565b6000546001600160a01b031633146106b65760405162461bcd60e51b8152600401610632906114d6565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461072a5760405162461bcd60e51b8152600401610632906114d6565b6107366012600a61149d565b61074590649bdc8a93006114ac565b600555565b6000546001600160a01b031633146107745760405162461bcd60e51b8152600401610632906114d6565b600d805460ff60a01b1916600160a01b17905543600955565b6000546001600160a01b031633146107b75760405162461bcd60e51b8152600401610632906114d6565b600a82111580156107c95750600a8111155b6108155760405162461bcd60e51b815260206004820152601760248201527f45524332303a2077726f6e67207461782076616c7565210000000000000000006044820152606401610632565b600791909155600855565b6000546001600160a01b0316331461084a5760405162461bcd60e51b8152600401610632906114d6565b60005b82518110156108b157816004600085848151811061086d5761086d61150b565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806108a981611521565b91505061084d565b505050565b600061058a338484610b03565b6000546001600160a01b031633146108ed5760405162461bcd60e51b8152600401610632906114d6565b6001600160a01b0382166000818152600f6020908152604091829020805460ff191685151590811790915591519182527fc551bbb22d0406dbfb8b6b7740cc521bcf44e1106029cf899c19b6a8e4c99d51910160405180910390a25050565b6000546001600160a01b031633146109765760405162461bcd60e51b8152600401610632906114d6565b600e81905560405181907fc9a07d0106b62dd0f2706dab6a7aee4c4d0dc35078c994bf5c08d5d85861d46b90600090a250565b6000546001600160a01b031633146109d35760405162461bcd60e51b8152600401610632906114d6565b6109dc81610d40565b50565b6001600160a01b038316610a415760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610632565b6001600160a01b038216610aa25760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610632565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b675760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610632565b6001600160a01b03831660009081526004602052604090205460ff1680610ba657506001600160a01b03821660009081526004602052604090205460ff165b15610bb5576000600655610d35565b600d54600160a01b900460ff16610c015760405162461bcd60e51b815260206004820152601060248201526f0aec2d2e840e8d2d8d840d8c2eadcc6d60831b6044820152606401610632565b600554811115610c535760405162461bcd60e51b815260206004820152601960248201527f4d6178205478416d6f756e74203225206174206c61756e6368000000000000006044820152606401610632565b600a54600954610c63919061153a565b431015610c74576063600655610d35565b600c546001600160a01b0390811690841603610c9557600754600655610d35565b600c546001600160a01b0390811690831603610d2f5730600090815260026020526040902054610cc76012600a61149d565b610cd3906175306114ac565b811115610d2357610ce66012600a61149d565b610cf59064031e02c5806114ac565b811115610d1a57610d086012600a61149d565b610d179064031e02c5806114ac565b90505b610d2381610e00565b50600854600655610d35565b60006006555b6108b1838383610f5e565b6001600160a01b038116610da55760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610632565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110610e3557610e3561150b565b6001600160a01b03928316602091820292909201810191909152600b54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610e8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb2919061154d565b81600181518110610ec557610ec561150b565b6001600160a01b039283166020918202929092010152600b54610eeb91309116846109df565b600b54600d5460405163791ac94760e01b81526001600160a01b039283169263791ac94792610f289287926000928892911690429060040161156a565b600060405180830381600087803b158015610f4257600080fd5b505af1158015610f56573d6000803e3d6000fd5b505050505050565b6000606460065483610f7091906114ac565b610f7a91906115db565b90506000610f8882846114c3565b6001600160a01b038616600090815260026020526040902054909150610faf9084906114c3565b6001600160a01b038087166000908152600260205260408082209390935590861681522054610fdf90829061153a565b6001600160a01b03851660009081526002602052604080822092909255308152205461100c90839061153a565b306000908152600260209081526040808320939093556001600160a01b0387168252600f9052205460ff166110a557600e546001600160a01b03851660009081526002602052604090205411156110a55760405162461bcd60e51b815260206004820152601760248201527f4f766572204d617820486f6c64696e6720416d6f756e740000000000000000006044820152606401610632565b836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516110ea91815260200190565b60405180910390a35050505050565b600060208083528351808285015260005b818110156111265785810183015185820160400152820161110a565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146109dc57600080fd5b803561116781611147565b919050565b6000806040838503121561117f57600080fd5b823561118a81611147565b946020939093013593505050565b6000806000606084860312156111ad57600080fd5b83356111b881611147565b925060208401356111c881611147565b929592945050506040919091013590565b6000602082840312156111eb57600080fd5b81356111f681611147565b9392505050565b60006020828403121561120f57600080fd5b5035919050565b6000806040838503121561122957600080fd5b50508035926020909101359150565b634e487b7160e01b600052604160045260246000fd5b8035801515811461116757600080fd5b6000806040838503121561127157600080fd5b823567ffffffffffffffff8082111561128957600080fd5b818501915085601f83011261129d57600080fd5b81356020828211156112b1576112b1611238565b8160051b604051601f19603f830116810181811086821117156112d6576112d6611238565b6040529283528183019350848101820192898411156112f457600080fd5b948201945b838610156113195761130a8661115c565b855294820194938201936112f9565b9650611328905087820161124e565b9450505050509250929050565b6000806040838503121561134857600080fd5b823561135381611147565b91506113616020840161124e565b90509250929050565b6000806040838503121561137d57600080fd5b823561138881611147565b9150602083013561139881611147565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156113f45781600019048211156113da576113da6113a3565b808516156113e757918102915b93841c93908002906113be565b509250929050565b60008261140b5750600161058e565b816114185750600061058e565b816001811461142e576002811461143857611454565b600191505061058e565b60ff841115611449576114496113a3565b50506001821b61058e565b5060208310610133831016604e8410600b8410161715611477575081810a61058e565b61148183836113b9565b8060001904821115611495576114956113a3565b029392505050565b60006111f660ff8416836113fc565b808202811582820484141761058e5761058e6113a3565b8181038181111561058e5761058e6113a3565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b600060018201611533576115336113a3565b5060010190565b8082018082111561058e5761058e6113a3565b60006020828403121561155f57600080fd5b81516111f681611147565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156115ba5784516001600160a01b031683529383019391830191600101611595565b50506001600160a01b03969096166060850152505050608001529392505050565b6000826115f857634e487b7160e01b600052601260045260246000fd5b50049056fea264697066735822122036ac67a2eabd5795dc95c43de28f19280670b260dc1bff4374634c9e2629231a64736f6c63430008120033

Deployed Bytecode Sourcemap

2674:7389:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4914:83;;;;;;;;;;-1:-1:-1;4984:5:0;;;;;;;;;;;;;;;;;4914:83;;;;;;;:::i;:::-;;;;;;;;5748:160;;;;;;;;;;-1:-1:-1;5748:160:0;;;;;:::i;:::-;;:::i;:::-;;;1327:14:1;;1320:22;1302:41;;1290:2;1275:18;5748:160:0;1162:187:1;5191:100:0;;;;;;;;;;;;;:::i;:::-;;;1500:25:1;;;1488:2;1473:18;5191:100:0;1354:177:1;5916:264:0;;;;;;;;;;-1:-1:-1;5916:264:0;;;;;:::i;:::-;;:::i;5100:83::-;;;;;;;;;;-1:-1:-1;5100:83:0;;2998:2;2139:36:1;;2127:2;2112:18;5100:83:0;1997:184:1;3677:28:0;;;;;;;;;;-1:-1:-1;3677:28:0;;;;-1:-1:-1;;;;;3677:28:0;;;;;;-1:-1:-1;;;;;2350:32:1;;;2332:51;;2320:2;2305:18;3677:28:0;2186:203:1;3365:25:0;;;;;;;;;;;;;;;;7327:135;;;;;;;;;;-1:-1:-1;7327:135:0;;;;;:::i;:::-;;:::i;:::-;;5299:118;;;;;;;;;;-1:-1:-1;5299:118:0;;;;;:::i;:::-;-1:-1:-1;;;;;5392:17:0;5365:7;5392:17;;;:8;:17;;;;;;;5299:118;6982:96;;;;;;;;;;-1:-1:-1;6982:96:0;;;;;:::i;:::-;;:::i;2003:148::-;;;;;;;;;;;;;:::i;6886:88::-;;;;;;;;;;;;;:::i;3712:38::-;;;;;;;;;;-1:-1:-1;3712:38:0;;;;-1:-1:-1;;;;;3712:38:0;;;6531:113;;;;;;;;;;;;;:::i;3252:40::-;;;;;;;;;;;;;;;;1435:79;;;;;;;;;;-1:-1:-1;1473:7:0;1500:6;-1:-1:-1;;;;;1500:6:0;1435:79;;7086:227;;;;;;;;;;-1:-1:-1;7086:227:0;;;;;:::i;:::-;;:::i;5005:87::-;;;;;;;;;;-1:-1:-1;5077:7:0;;;;;;;;;;;;-1:-1:-1;;;5077:7:0;;;;5005:87;;6652:226;;;;;;;;;;-1:-1:-1;6652:226:0;;;;;:::i;:::-;;:::i;5425:165::-;;;;;;;;;;-1:-1:-1;5425:165:0;;;;;:::i;:::-;;:::i;9888:172::-;;;;;;;;;;-1:-1:-1;9888:172:0;;;;;:::i;:::-;;:::i;3397:26::-;;;;;;;;;;;;;;;;3814:49;;;;;;;;;;;;;;;;9712:168;;;;;;;;;;-1:-1:-1;9712:168:0;;;;;:::i;:::-;;:::i;5598:142::-;;;;;;;;;;-1:-1:-1;5598:142:0;;;;;:::i;:::-;-1:-1:-1;;;;;5705:18:0;;;5679:7;5705:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5598:142;1649:109;;;;;;;;;;-1:-1:-1;1649:109:0;;;;;:::i;:::-;;:::i;3892:43::-;;;;;;;;;;-1:-1:-1;3892:43:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;5748:160;5823:4;5839:39;353:10;5862:7;5871:6;5839:8;:39::i;:::-;-1:-1:-1;5896:4:0;5748:160;;;;;:::o;5191:100::-;5244:7;3062:13;2998:2;3062;:13;:::i;:::-;3047:28;;:14;:28;:::i;:::-;5264:19;;5191:100;:::o;5916:264::-;6014:4;6031:36;6041:6;6049:9;6060:6;6031:9;:36::i;:::-;-1:-1:-1;;;;;6107:19:0;;;;;;:11;:19;;;;;;;;353:10;6107:33;;;;;;;;;6078:72;;6087:6;;6107:42;;6143:6;;6107:42;:::i;:::-;6078:8;:72::i;:::-;-1:-1:-1;6168:4:0;5916:264;;;;;:::o;7327:135::-;1562:6;;-1:-1:-1;;;;;1562:6:0;353:10;1562:22;1554:67;;;;-1:-1:-1;;;1554:67:0;;;;;;;:::i;:::-;;;;;;;;;7411:15:::1;:43:::0;;-1:-1:-1;;;;;;7411:43:0::1;-1:-1:-1::0;;;;;7411:43:0;;;::::1;::::0;;;::::1;::::0;;7327:135::o;6982:96::-;1562:6;;-1:-1:-1;;;;;1562:6:0;353:10;1562:22;1554:67;;;;-1:-1:-1;;;1554:67:0;;;;;;;:::i;:::-;7051:10:::1;:19:::0;6982:96::o;2003:148::-;1562:6;;-1:-1:-1;;;;;1562:6:0;353:10;1562:22;1554:67;;;;-1:-1:-1;;;1554:67:0;;;;;;;:::i;:::-;2110:1:::1;2094:6:::0;;2073:40:::1;::::0;-1:-1:-1;;;;;2094:6:0;;::::1;::::0;2073:40:::1;::::0;2110:1;;2073:40:::1;2141:1;2124:19:::0;;-1:-1:-1;;;;;;2124:19:0::1;::::0;;2003:148::o;6886:88::-;1562:6;;-1:-1:-1;;;;;1562:6:0;353:10;1562:22;1554:67;;;;-1:-1:-1;;;1554:67:0;;;;;;;:::i;:::-;3062:13:::1;2998:2;3062;:13;:::i;:::-;3047:28;::::0;:14:::1;:28;:::i;:::-;6940:11;:26:::0;6886:88::o;6531:113::-;1562:6;;-1:-1:-1;;;;;1562:6:0;353:10;1562:22;1554:67;;;;-1:-1:-1;;;1554:67:0;;;;;;;:::i;:::-;6586:6:::1;:13:::0;;-1:-1:-1;;;;6586:13:0::1;-1:-1:-1::0;;;6586:13:0::1;::::0;;6624:12:::1;6610:11;:26:::0;6531:113::o;7086:227::-;1562:6;;-1:-1:-1;;;;;1562:6:0;353:10;1562:22;1554:67;;;;-1:-1:-1;;;1554:67:0;;;;;;;:::i;:::-;7195:2:::1;7182:9;:15;;:35;;;;;7215:2;7201:10;:16;;7182:35;7174:71;;;::::0;-1:-1:-1;;;7174:71:0;;7898:2:1;7174:71:0::1;::::0;::::1;7880:21:1::0;7937:2;7917:18;;;7910:30;7976:25;7956:18;;;7949:53;8019:18;;7174:71:0::1;7696:347:1::0;7174:71:0::1;7256:6;:18:::0;;;;7285:7:::1;:20:::0;7086:227::o;6652:226::-;1562:6;;-1:-1:-1;;;;;1562:6:0;353:10;1562:22;1554:67;;;;-1:-1:-1;;;1554:67:0;;;;;;;:::i;:::-;6754:9:::1;6750:121;6773:8;:15;6769:1;:19;6750:121;;;6852:7;6812:24;:37;6837:8;6846:1;6837:11;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;6812:37:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;6812:37:0;:47;;-1:-1:-1;;6812:47:0::1;::::0;::::1;;::::0;;;::::1;::::0;;6790:3;::::1;::::0;::::1;:::i;:::-;;;;6750:121;;;;6652:226:::0;;:::o;5425:165::-;5502:4;5518:42;353:10;5542:9;5553:6;5518:9;:42::i;9888:172::-;1562:6;;-1:-1:-1;;;;;1562:6:0;353:10;1562:22;1554:67;;;;-1:-1:-1;;;1554:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;9973:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;;;;:29;;-1:-1:-1;;9973:29:0::1;::::0;::::1;;::::0;;::::1;::::0;;;10020:32;;1302:41:1;;;10020:32:0::1;::::0;1275:18:1;10020:32:0::1;;;;;;;9888:172:::0;;:::o;9712:168::-;1562:6;;-1:-1:-1;;;;;1562:6:0;353:10;1562:22;1554:67;;;;-1:-1:-1;;;1554:67:0;;;;;;;:::i;:::-;9792:13:::1;:30:::0;;;9840:32:::1;::::0;9808:14;;9840:32:::1;::::0;;;::::1;9712:168:::0;:::o;1649:109::-;1562:6;;-1:-1:-1;;;;;1562:6:0;353:10;1562:22;1554:67;;;;-1:-1:-1;;;1554:67:0;;;;;;;:::i;:::-;1722:28:::1;1741:8;1722:18;:28::i;:::-;1649:109:::0;:::o;6188:335::-;-1:-1:-1;;;;;6281:19:0;;6273:68;;;;-1:-1:-1;;;6273:68:0;;8522:2:1;6273:68:0;;;8504:21:1;8561:2;8541:18;;;8534:30;8600:34;8580:18;;;8573:62;-1:-1:-1;;;8651:18:1;;;8644:34;8695:19;;6273:68:0;8320:400:1;6273:68:0;-1:-1:-1;;;;;6360:21:0;;6352:68;;;;-1:-1:-1;;;6352:68:0;;8927:2:1;6352:68:0;;;8909:21:1;8966:2;8946:18;;;8939:30;9005:34;8985:18;;;8978:62;-1:-1:-1;;;9056:18:1;;;9049:32;9098:19;;6352:68:0;8725:398:1;6352:68:0;-1:-1:-1;;;;;6431:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6483:32;;1500:25:1;;;6483:32:0;;1473:18:1;6483:32:0;;;;;;;6188:335;;;:::o;8059:1129::-;-1:-1:-1;;;;;8147:18:0;;8139:68;;;;-1:-1:-1;;;8139:68:0;;9330:2:1;8139:68:0;;;9312:21:1;9369:2;9349:18;;;9342:30;9408:34;9388:18;;;9381:62;-1:-1:-1;;;9459:18:1;;;9452:35;9504:19;;8139:68:0;9128:401:1;8139:68:0;-1:-1:-1;;;;;8224:30:0;;;;;;:24;:30;;;;;;;;;:62;;-1:-1:-1;;;;;;8258:28:0;;;;;;:24;:28;;;;;;;;8224:62;8220:918;;;8310:1;8303:4;:8;8220:918;;;8352:6;;-1:-1:-1;;;8352:6:0;;;;8344:35;;;;-1:-1:-1;;;8344:35:0;;9736:2:1;8344:35:0;;;9718:21:1;9775:2;9755:18;;;9748:30;-1:-1:-1;;;9794:18:1;;;9787:46;9850:18;;8344:35:0;9534:340:1;8344:35:0;8412:11;;8402:6;:21;;8394:59;;;;-1:-1:-1;;;8394:59:0;;10081:2:1;8394:59:0;;;10063:21:1;10120:2;10100:18;;;10093:30;10159:27;10139:18;;;10132:55;10204:18;;8394:59:0;9879:349:1;8394:59:0;8501:10;;8487:11;;:24;;;;:::i;:::-;8472:12;:39;8468:659;;;8519:2;8514:4;:7;8468:659;;;8560:13;;-1:-1:-1;;;;;8560:13:0;;;8552:21;;;;8548:564;;8605:6;;8598:4;:13;8548:564;;;8647:13;;-1:-1:-1;;;;;8647:13:0;;;8641:19;;;;8637:475;;8726:4;8685:20;5392:17;;;:8;:17;;;;;;3125:13;2998:2;3125;:13;:::i;:::-;3117:21;;:5;:21;:::i;:::-;8759:12;:22;8755:244;;;3215:13;2998:2;3215;:13;:::i;:::-;3200:28;;:14;:28;:::i;:::-;8814:12;:22;8810:109;;;3215:13;2998:2;3215;:13;:::i;:::-;3200:28;;:14;:28;:::i;:::-;8869:22;;8810:109;8945:30;8962:12;8945:16;:30::i;:::-;-1:-1:-1;9028:7:0;;9021:4;:14;8637:475;;;9091:1;9084:4;:8;8637:475;9148:32;9163:4;9169:2;9173:6;9148:14;:32::i;1766:229::-;-1:-1:-1;;;;;1840:22:0;;1832:73;;;;-1:-1:-1;;;1832:73:0;;10565:2:1;1832:73:0;;;10547:21:1;10604:2;10584:18;;;10577:30;10643:34;10623:18;;;10616:62;-1:-1:-1;;;10694:18:1;;;10687:36;10740:19;;1832:73:0;10363:402:1;1832:73:0;1942:6;;;1921:38;;-1:-1:-1;;;;;1921:38:0;;;;1942:6;;;1921:38;;;1970:6;:17;;-1:-1:-1;;;;;;1970:17:0;-1:-1:-1;;;;;1970:17:0;;;;;;;;;;1766:229::o;9196:473::-;9286:16;;;9300:1;9286:16;;;;;;;;9262:21;;9286:16;;;;;;;;;;-1:-1:-1;9286:16:0;9262:40;;9331:4;9313;9318:1;9313:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;9313:23:0;;;:7;;;;;;;;;;:23;;;;9357:15;;:22;;;-1:-1:-1;;;9357:22:0;;;;:15;;;;;:20;;:22;;;;;9313:7;;9357:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9347:4;9352:1;9347:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;9347:32:0;;;:7;;;;;;;;;:32;9422:15;;9390:62;;9407:4;;9422:15;9440:11;9390:8;:62::i;:::-;9463:15;;9605;;9463:198;;-1:-1:-1;;;9463:198:0;;-1:-1:-1;;;;;9463:15:0;;;;:66;;:198;;9544:11;;9463:15;;9586:4;;9605:15;;;9635;;9463:198;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9251:418;9196:473;:::o;7474:577::-;7559:17;7597:3;7589:4;;7580:6;:13;;;;:::i;:::-;7579:21;;;;:::i;:::-;7559:41;-1:-1:-1;7611:22:0;7636:18;7559:41;7636:6;:18;:::i;:::-;-1:-1:-1;;;;;7684:14:0;;;;;;:8;:14;;;;;;7611:43;;-1:-1:-1;7684:23:0;;7701:6;;7684:23;:::i;:::-;-1:-1:-1;;;;;7667:14:0;;;;;;;:8;:14;;;;;;:40;;;;7733:12;;;;;;;:29;;7748:14;;7733:29;:::i;:::-;-1:-1:-1;;;;;7718:12:0;;;;;;:8;:12;;;;;;:44;;;;7816:4;7799:23;;;;:35;;7825:9;;7799:35;:::i;:::-;7790:4;7773:23;;;;:8;:23;;;;;;;;:61;;;;-1:-1:-1;;;;;7883:15:0;;;;:11;:15;;;;;;7879:113;;7939:13;;-1:-1:-1;;;;;7923:12:0;;;;;;:8;:12;;;;;;:29;;7915:65;;;;-1:-1:-1;;;7915:65:0;;12443:2:1;7915:65:0;;;12425:21:1;12482:2;12462:18;;;12455:30;12521:25;12501:18;;;12494:53;12564:18;;7915:65:0;12241:347:1;7915:65:0;8024:2;-1:-1:-1;;;;;8009:34:0;8018:4;-1:-1:-1;;;;;8009:34:0;;8028:14;8009:34;;;;1500:25:1;;1488:2;1473:18;;1354:177;8009:34:0;;;;;;;;7548:503;;7474:577;;;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703: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:456::-;1613:6;1621;1629;1682:2;1670:9;1661:7;1657:23;1653:32;1650:52;;;1698:1;1695;1688:12;1650:52;1737:9;1724:23;1756:31;1781:5;1756:31;:::i;:::-;1806:5;-1:-1:-1;1863:2:1;1848:18;;1835:32;1876:33;1835:32;1876:33;:::i;:::-;1536:456;;1928:7;;-1:-1:-1;;;1982:2:1;1967:18;;;;1954:32;;1536:456::o;2394:247::-;2453:6;2506:2;2494:9;2485:7;2481:23;2477:32;2474:52;;;2522:1;2519;2512:12;2474:52;2561:9;2548:23;2580:31;2605:5;2580:31;:::i;:::-;2630:5;2394:247;-1:-1:-1;;;2394:247:1:o;2646:180::-;2705:6;2758:2;2746:9;2737:7;2733:23;2729:32;2726:52;;;2774:1;2771;2764:12;2726:52;-1:-1:-1;2797:23:1;;2646:180;-1:-1:-1;2646:180:1:o;3055:248::-;3123:6;3131;3184:2;3172:9;3163:7;3159:23;3155:32;3152:52;;;3200:1;3197;3190:12;3152:52;-1:-1:-1;;3223:23:1;;;3293:2;3278:18;;;3265:32;;-1:-1:-1;3055:248:1:o;3308:127::-;3369:10;3364:3;3360:20;3357:1;3350:31;3400:4;3397:1;3390:15;3424:4;3421:1;3414:15;3440:160;3505:20;;3561:13;;3554:21;3544:32;;3534:60;;3590:1;3587;3580:12;3605:1191;3695:6;3703;3756:2;3744:9;3735:7;3731:23;3727:32;3724:52;;;3772:1;3769;3762:12;3724:52;3812:9;3799:23;3841:18;3882:2;3874:6;3871:14;3868:34;;;3898:1;3895;3888:12;3868:34;3936:6;3925:9;3921:22;3911:32;;3981:7;3974:4;3970:2;3966:13;3962:27;3952:55;;4003:1;4000;3993:12;3952:55;4039:2;4026:16;4061:4;4084:2;4080;4077:10;4074:36;;;4090:18;;:::i;:::-;4136:2;4133:1;4129:10;4168:2;4162:9;4231:2;4227:7;4222:2;4218;4214:11;4210:25;4202:6;4198:38;4286:6;4274:10;4271:22;4266:2;4254:10;4251:18;4248:46;4245:72;;;4297:18;;:::i;:::-;4333:2;4326:22;4383:18;;;4417:15;;;;-1:-1:-1;4459:11:1;;;4455:20;;;4487:19;;;4484:39;;;4519:1;4516;4509:12;4484:39;4543:11;;;;4563:148;4579:6;4574:3;4571:15;4563:148;;;4645:23;4664:3;4645:23;:::i;:::-;4633:36;;4596:12;;;;4689;;;;4563:148;;;4730:6;-1:-1:-1;4755:35:1;;-1:-1:-1;4771:18:1;;;4755:35;:::i;:::-;4745:45;;;;;;3605:1191;;;;;:::o;4801:315::-;4866:6;4874;4927:2;4915:9;4906:7;4902:23;4898:32;4895:52;;;4943:1;4940;4933:12;4895:52;4982:9;4969:23;5001:31;5026:5;5001:31;:::i;:::-;5051:5;-1:-1:-1;5075:35:1;5106:2;5091:18;;5075:35;:::i;:::-;5065:45;;4801:315;;;;;:::o;5121:388::-;5189:6;5197;5250:2;5238:9;5229:7;5225:23;5221:32;5218:52;;;5266:1;5263;5256:12;5218:52;5305:9;5292:23;5324:31;5349:5;5324:31;:::i;:::-;5374:5;-1:-1:-1;5431:2:1;5416:18;;5403:32;5444:33;5403:32;5444:33;:::i;:::-;5496:7;5486:17;;;5121:388;;;;;:::o;5514:127::-;5575:10;5570:3;5566:20;5563:1;5556:31;5606:4;5603:1;5596:15;5630:4;5627:1;5620:15;5646:422;5735:1;5778:5;5735:1;5792:270;5813:7;5803:8;5800:21;5792:270;;;5872:4;5868:1;5864:6;5860:17;5854:4;5851:27;5848:53;;;5881:18;;:::i;:::-;5931:7;5921:8;5917:22;5914:55;;;5951:16;;;;5914:55;6030:22;;;;5990:15;;;;5792:270;;;5796:3;5646:422;;;;;:::o;6073:806::-;6122:5;6152:8;6142:80;;-1:-1:-1;6193:1:1;6207:5;;6142:80;6241:4;6231:76;;-1:-1:-1;6278:1:1;6292:5;;6231:76;6323:4;6341:1;6336:59;;;;6409:1;6404:130;;;;6316:218;;6336:59;6366:1;6357:10;;6380:5;;;6404:130;6441:3;6431:8;6428:17;6425:43;;;6448:18;;:::i;:::-;-1:-1:-1;;6504:1:1;6490:16;;6519:5;;6316:218;;6618:2;6608:8;6605:16;6599:3;6593:4;6590:13;6586:36;6580:2;6570:8;6567:16;6562:2;6556:4;6553:12;6549:35;6546:77;6543:159;;;-1:-1:-1;6655:19:1;;;6687:5;;6543:159;6734:34;6759:8;6753:4;6734:34;:::i;:::-;6804:6;6800:1;6796:6;6792:19;6783:7;6780:32;6777:58;;;6815:18;;:::i;:::-;6853:20;;6073:806;-1:-1:-1;;;6073:806:1:o;6884:140::-;6942:5;6971:47;7012:4;7002:8;6998:19;6992:4;6971:47;:::i;7029:168::-;7102:9;;;7133;;7150:15;;;7144:22;;7130:37;7120:71;;7171:18;;:::i;7202:128::-;7269:9;;;7290:11;;;7287:37;;;7304:18;;:::i;7335:356::-;7537:2;7519:21;;;7556:18;;;7549:30;7615:34;7610:2;7595:18;;7588:62;7682:2;7667:18;;7335:356::o;8048:127::-;8109:10;8104:3;8100:20;8097:1;8090:31;8140:4;8137:1;8130:15;8164:4;8161:1;8154:15;8180:135;8219:3;8240:17;;;8237:43;;8260:18;;:::i;:::-;-1:-1:-1;8307:1:1;8296:13;;8180:135::o;10233:125::-;10298:9;;;10319:10;;;10316:36;;;10332:18;;:::i;10770:251::-;10840:6;10893:2;10881:9;10872:7;10868:23;10864:32;10861:52;;;10909:1;10906;10899:12;10861:52;10941:9;10935:16;10960:31;10985:5;10960:31;:::i;11026:988::-;11296:4;11344:3;11333:9;11329:19;11375:6;11364:9;11357:25;11401:2;11439:6;11434:2;11423:9;11419:18;11412:34;11482:3;11477:2;11466:9;11462:18;11455:31;11506:6;11541;11535:13;11572:6;11564;11557:22;11610:3;11599:9;11595:19;11588:26;;11649:2;11641:6;11637:15;11623:29;;11670:1;11680:195;11694:6;11691:1;11688:13;11680:195;;;11759:13;;-1:-1:-1;;;;;11755:39:1;11743:52;;11850:15;;;;11815:12;;;;11791:1;11709:9;11680:195;;;-1:-1:-1;;;;;;;11931:32:1;;;;11926:2;11911:18;;11904:60;-1:-1:-1;;;11995:3:1;11980:19;11973:35;11892:3;11026:988;-1:-1:-1;;;11026:988:1:o;12019:217::-;12059:1;12085;12075:132;;12129:10;12124:3;12120:20;12117:1;12110:31;12164:4;12161:1;12154:15;12192:4;12189:1;12182:15;12075:132;-1:-1:-1;12221:9:1;;12019:217::o

Swarm Source

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