ETH Price: $3,612.80 (-2.15%)

Token

ERC-20: BOB (BOB)
 

Overview

Max Total Supply

1,000,000,000 BOB

Holders

48

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0.000000001 BOB

Value
$0.00
0x21602c70eca1919396761aae6ec252540eb0a009
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:
BOB

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

/**

Telegram: https://t.me/BOBERCOfficial
Website: https://hellothisisbob.com
Twitter: https://twitter.com/BobEthereum

*/
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.18;
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;
    }
}

interface ERC20 {
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    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);
}

abstract contract Ownable {
    address internal owner;
    constructor(address _owner) {
        owner = _owner;
    }
    modifier onlyOwner() {
        require(isOwner(msg.sender), "!OWNER"); _;
    }
    function isOwner(address account) public view returns (bool) {
        return account == owner;
    }
    function renounceOwnership() public onlyOwner {
        owner = address(0);
        emit OwnershipTransferred(address(0));
    }  
    event OwnershipTransferred(address owner);
}

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

interface IDEXRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

contract BOB is ERC20, Ownable {
    using SafeMath for uint256;
    address routerAdress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    address DEAD = 0x000000000000000000000000000000000000dEaD;

    string constant _name = "BOB";
    string constant _symbol = "BOB";
    uint8 constant _decimals = 9;

    uint256 _totalSupply = 1_000_000_000 * (10 ** _decimals);
    uint256 public _maxWalletAmount = _totalSupply*2/100;

    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) _allowances;

    mapping (address => bool) isFeeExempt;
    mapping (address => bool) isTxLimitExempt;

    //reduce after launch to deter sniper/bots
    uint256 marketingFee = 25;
    uint256 sellMarketingFee = 30;

    uint256 feeDenominator = 100;

    address public marketingFeeReceiver = msg.sender;

    IDEXRouter public router;
    address public pair;

    bool public swapEnabled = true;
    uint256 public swapThreshold = _totalSupply / 1000 * 2; 
    bool inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }

    constructor () Ownable(msg.sender) {
        router = IDEXRouter(routerAdress);
        pair = IDEXFactory(router.factory()).createPair(router.WETH(), address(this));
        _allowances[address(this)][address(router)] = type(uint256).max;

        address _owner = owner;
        isFeeExempt[_owner] = true;
        isTxLimitExempt[_owner] = true;
        isTxLimitExempt[DEAD] = true;

        _balances[_owner] = _totalSupply;
        emit Transfer(address(0), _owner, _totalSupply);
    }

    receive() external payable { }

    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function decimals() external pure override returns (uint8) { return _decimals; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function name() external pure override returns (string memory) { return _name; }
    function getOwner() external view override returns (address) { return owner; }
    function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function approveMax(address spender) external returns (bool) {
        return approve(spender, type(uint256).max);
    }

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if(_allowances[sender][msg.sender] != type(uint256).max){
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance");
        }

        return _transferFrom(sender, recipient, amount);
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if(inSwap){ return _basicTransfer(sender, recipient, amount); }
        
        if (recipient != pair && recipient != DEAD) {
            require(isTxLimitExempt[recipient] || _balances[recipient] + amount <= _maxWalletAmount, "Transfer amount exceeds the bag size.");
        }

        if(shouldSwapBack()){ swapBack(); } 

        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");

        uint256 amountReceived =  amount;
        if(shouldTakeFee(sender)){
            if(sender == pair){
                amountReceived = takeFee(sender, amount,false);
            }else{
                amountReceived = takeFee(sender, amount,true);
            } 
        }


        _balances[recipient] = _balances[recipient].add(amountReceived);

        emit Transfer(sender, recipient, amountReceived);
        return true;
    }
    
    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function shouldTakeFee(address sender) internal view returns (bool) {
        return !isFeeExempt[sender];
    }

    function takeFee(address sender, uint256 amount, bool isSell) internal returns (uint256) {
        uint feeAmount = isSell ? amount.mul(sellMarketingFee).div(feeDenominator) : amount.mul(marketingFee).div(feeDenominator);
        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);
        return amount.sub(feeAmount);
    }

    function shouldSwapBack() internal view returns (bool) {
        return msg.sender != pair
        && !inSwap
        && swapEnabled
        && _balances[address(this)] >= swapThreshold;
    }

    function swapBack() internal swapping {
        uint256 amountToSwap = _balances[address(this)];
        if (amountToSwap >= swapThreshold*11/2){
            amountToSwap = swapThreshold*11/2;
        }
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amountToSwap,
            0,
            path,
            address(this),
            block.timestamp
        );

        if (address(this).balance > 50000000000000000){
            payable(marketingFeeReceiver).transfer(address(this).balance);
        }
      
    }

    function buyTokens(uint256 amount, address to) internal swapping {
        address[] memory path = new address[](2);
        path[0] = router.WETH();
        path[1] = address(this);

        router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(
            0,
            path,
            to,
            block.timestamp
        );
    }

    function manualSend() external {
        payable(marketingFeeReceiver).transfer(address(this).balance);
    }

    function setWalletLimit(uint256 amountPercent) external onlyOwner {
        _maxWalletAmount = (_totalSupply * amountPercent ) / 100;
        require (_maxWalletAmount >= _totalSupply/1000);
    }

    function setFees(uint256 _MarketingFee, uint256 _sellMarketingFee) external onlyOwner {
         marketingFee = _MarketingFee;
         sellMarketingFee = _sellMarketingFee;
         require(marketingFee <= 25 && sellMarketingFee <= 30);
    }

    function swapStatus (bool swapstatus) external onlyOwner {
        swapEnabled = swapstatus;
    }
}

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":"address","name":"owner","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":"_maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_MarketingFee","type":"uint256"},{"internalType":"uint256","name":"_sellMarketingFee","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercent","type":"uint256"}],"name":"setWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"swapstatus","type":"bool"}],"name":"swapStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"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"}]

6080604052600180546001600160a01b0319908116737a250d5630b4cf539739df2c5dacb4c659f2488d179091556002805490911661dead179055620000486009600a6200044d565b6200005890633b9aca0062000465565b600355606460035460026200006e919062000465565b6200007a91906200047f565b6004556019600955601e600a556064600b55600c80546001600160a01b03191633179055600e805460ff60a01b1916600160a01b179055600354620000c3906103e8906200047f565b620000d090600262000465565b600f55348015620000e057600080fd5b5060008054336001600160a01b031991821617909155600154600d80546001600160a01b039092169190921681179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa1580156200014d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001739190620004a2565b6001600160a01b031663c9c65396600d60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001d5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001fb9190620004a2565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af115801562000248573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200026e9190620004a2565b600e80546001600160a01b0319166001600160a01b03928316179055306000908152600660209081526040808320600d5485168452825280832060001990558254841680845260078352818420805460ff19908116600190811790925560088552838620805482168317905560025490961685528285208054909616179094556003548484526005835281842081905590519081528392917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350620004cd565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200038f57816000190482111562000373576200037362000338565b808516156200038157918102915b93841c939080029062000353565b509250929050565b600082620003a85750600162000447565b81620003b75750600062000447565b8160018114620003d05760028114620003db57620003fb565b600191505062000447565b60ff841115620003ef57620003ef62000338565b50506001821b62000447565b5060208310610133831016604e8410600b841016171562000420575081810a62000447565b6200042c83836200034e565b806000190482111562000443576200044362000338565b0290505b92915050565b60006200045e60ff84168362000397565b9392505050565b808202811582820484141762000447576200044762000338565b6000826200049d57634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215620004b557600080fd5b81516001600160a01b03811681146200045e57600080fd5b61127180620004dd6000396000f3fe6080604052600436106101445760003560e01c806370a08231116100b6578063a9059cbb1161006f578063a9059cbb14610391578063dd62ed3e146103b1578063e96fada2146103f7578063f1d5f51714610417578063f429389014610437578063f887ea401461044c57600080fd5b806370a08231146102d4578063715018a61461030a5780637e26d19f1461031f578063893d20e81461033f57806395d89b4114610179578063a8aa1b311461037157600080fd5b806323b872dd1161010857806323b872dd146102125780632f54bf6e14610232578063313ce56714610261578063571ac8b01461027d5780636c0a24eb1461029d5780636ddd1713146102b357600080fd5b80630445b6671461015057806306fdde0314610179578063095ea7b3146101ab5780630b78f9c0146101db57806318160ddd146101fd57600080fd5b3661014b57005b600080fd5b34801561015c57600080fd5b50610166600f5481565b6040519081526020015b60405180910390f35b34801561018557600080fd5b5060408051808201825260038152622127a160e91b602082015290516101709190610f7f565b3480156101b757600080fd5b506101cb6101c6366004610fe2565b61046c565b6040519015158152602001610170565b3480156101e757600080fd5b506101fb6101f636600461100e565b6104d9565b005b34801561020957600080fd5b50600354610166565b34801561021e57600080fd5b506101cb61022d366004611030565b610537565b34801561023e57600080fd5b506101cb61024d366004611071565b6000546001600160a01b0391821691161490565b34801561026d57600080fd5b5060405160098152602001610170565b34801561028957600080fd5b506101cb610298366004611071565b6105f9565b3480156102a957600080fd5b5061016660045481565b3480156102bf57600080fd5b50600e546101cb90600160a01b900460ff1681565b3480156102e057600080fd5b506101666102ef366004611071565b6001600160a01b031660009081526005602052604090205490565b34801561031657600080fd5b506101fb610607565b34801561032b57600080fd5b506101fb61033a36600461108e565b610676565b34801561034b57600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610170565b34801561037d57600080fd5b50600e54610359906001600160a01b031681565b34801561039d57600080fd5b506101cb6103ac366004610fe2565b6106be565b3480156103bd57600080fd5b506101666103cc3660046110b0565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561040357600080fd5b50600c54610359906001600160a01b031681565b34801561042357600080fd5b506101fb6104323660046110e9565b6106cb565b34801561044357600080fd5b506101fb610733565b34801561045857600080fd5b50600d54610359906001600160a01b031681565b3360008181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104c79086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b0316331461050c5760405162461bcd60e51b815260040161050390611102565b60405180910390fd5b6009829055600a8190556019821180159061052a5750601e600a5411155b61053357600080fd5b5050565b6001600160a01b0383166000908152600660209081526040808320338452909152812054600019146105e4576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b03871660009081526006825283812033825290915291909120546105bf91849061076c565b6001600160a01b03851660009081526006602090815260408083203384529091529020555b6105ef8484846107a6565b90505b9392505050565b60006104d38260001961046c565b6000546001600160a01b031633146106315760405162461bcd60e51b815260040161050390611102565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b6000546001600160a01b031633146106a05760405162461bcd60e51b815260040161050390611102565b600e8054911515600160a01b0260ff60a01b19909216919091179055565b60006105f23384846107a6565b6000546001600160a01b031633146106f55760405162461bcd60e51b815260040161050390611102565b6064816003546107059190611138565b61070f919061114f565b600455600354610722906103e89061114f565b600454101561073057600080fd5b50565b600c546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610730573d6000803e3d6000fd5b600081848411156107905760405162461bcd60e51b81526004016105039190610f7f565b50600061079d8486611171565b95945050505050565b60105460009060ff16156107c6576107bf8484846109f4565b90506105f2565b600e546001600160a01b038481169116148015906107f257506002546001600160a01b03848116911614155b1561089d576001600160a01b03831660009081526008602052604090205460ff168061084357506004546001600160a01b038416600090815260056020526040902054610840908490611184565b11155b61089d5760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b6064820152608401610503565b6108a5610ada565b156108b2576108b2610b32565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03871660009081526005909152919091205461090491849061076c565b6001600160a01b038516600090815260056020908152604080832093909355600790522054829060ff1661096a57600e546001600160a01b039081169086160361095b5761095485846000610d23565b905061096a565b61096785846001610d23565b90505b6001600160a01b03841660009081526005602052604090205461098d9082610dec565b6001600160a01b0380861660008181526005602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906109e19085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600590915291822054610a4591849061076c565b6001600160a01b038086166000908152600560205260408082209390935590851681522054610a749083610dec565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ac89086815260200190565b60405180910390a35060019392505050565b600e546000906001600160a01b03163314801590610afb575060105460ff16155b8015610b105750600e54600160a01b900460ff165b8015610b2d5750600f543060009081526005602052604090205410155b905090565b6010805460ff1916600117905530600090815260056020526040902054600f54600290610b6090600b611138565b610b6a919061114f565b8110610b8e576002600f54600b610b819190611138565b610b8b919061114f565b90505b6040805160028082526060820183526000926020830190803683370190505090503081600081518110610bc357610bc3611197565b6001600160a01b03928316602091820292909201810191909152600d54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610c1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4091906111ad565b81600181518110610c5357610c53611197565b6001600160a01b039283166020918202929092010152600d5460405163791ac94760e01b815291169063791ac94790610c999085906000908690309042906004016111ca565b600060405180830381600087803b158015610cb357600080fd5b505af1158015610cc7573d6000803e3d6000fd5b5050505066b1a2bc2ec50000471115610d1557600c546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610d13573d6000803e3d6000fd5b505b50506010805460ff19169055565b60008082610d5157610d4c600b54610d4660095487610e4b90919063ffffffff16565b90610ecd565b610d6c565b610d6c600b54610d46600a5487610e4b90919063ffffffff16565b30600090815260056020526040902054909150610d899082610dec565b30600081815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610dda9085815260200190565b60405180910390a361079d8482610f0f565b600080610df98385611184565b9050838110156105f25760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610503565b600082600003610e5d575060006104d3565b6000610e698385611138565b905082610e76858361114f565b146105f25760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610503565b60006105f283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610f51565b60006105f283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061076c565b60008183610f725760405162461bcd60e51b81526004016105039190610f7f565b50600061079d848661114f565b600060208083528351808285015260005b81811015610fac57858101830151858201604001528201610f90565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461073057600080fd5b60008060408385031215610ff557600080fd5b823561100081610fcd565b946020939093013593505050565b6000806040838503121561102157600080fd5b50508035926020909101359150565b60008060006060848603121561104557600080fd5b833561105081610fcd565b9250602084013561106081610fcd565b929592945050506040919091013590565b60006020828403121561108357600080fd5b81356105f281610fcd565b6000602082840312156110a057600080fd5b813580151581146105f257600080fd5b600080604083850312156110c357600080fd5b82356110ce81610fcd565b915060208301356110de81610fcd565b809150509250929050565b6000602082840312156110fb57600080fd5b5035919050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176104d3576104d3611122565b60008261116c57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156104d3576104d3611122565b808201808211156104d3576104d3611122565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156111bf57600080fd5b81516105f281610fcd565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561121a5784516001600160a01b0316835293830193918301916001016111f5565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212205a5c04a90024d2e1c435b492f2f297993a965ec252958f0115ddb66ec219a31f64736f6c63430008120033

Deployed Bytecode

0x6080604052600436106101445760003560e01c806370a08231116100b6578063a9059cbb1161006f578063a9059cbb14610391578063dd62ed3e146103b1578063e96fada2146103f7578063f1d5f51714610417578063f429389014610437578063f887ea401461044c57600080fd5b806370a08231146102d4578063715018a61461030a5780637e26d19f1461031f578063893d20e81461033f57806395d89b4114610179578063a8aa1b311461037157600080fd5b806323b872dd1161010857806323b872dd146102125780632f54bf6e14610232578063313ce56714610261578063571ac8b01461027d5780636c0a24eb1461029d5780636ddd1713146102b357600080fd5b80630445b6671461015057806306fdde0314610179578063095ea7b3146101ab5780630b78f9c0146101db57806318160ddd146101fd57600080fd5b3661014b57005b600080fd5b34801561015c57600080fd5b50610166600f5481565b6040519081526020015b60405180910390f35b34801561018557600080fd5b5060408051808201825260038152622127a160e91b602082015290516101709190610f7f565b3480156101b757600080fd5b506101cb6101c6366004610fe2565b61046c565b6040519015158152602001610170565b3480156101e757600080fd5b506101fb6101f636600461100e565b6104d9565b005b34801561020957600080fd5b50600354610166565b34801561021e57600080fd5b506101cb61022d366004611030565b610537565b34801561023e57600080fd5b506101cb61024d366004611071565b6000546001600160a01b0391821691161490565b34801561026d57600080fd5b5060405160098152602001610170565b34801561028957600080fd5b506101cb610298366004611071565b6105f9565b3480156102a957600080fd5b5061016660045481565b3480156102bf57600080fd5b50600e546101cb90600160a01b900460ff1681565b3480156102e057600080fd5b506101666102ef366004611071565b6001600160a01b031660009081526005602052604090205490565b34801561031657600080fd5b506101fb610607565b34801561032b57600080fd5b506101fb61033a36600461108e565b610676565b34801561034b57600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610170565b34801561037d57600080fd5b50600e54610359906001600160a01b031681565b34801561039d57600080fd5b506101cb6103ac366004610fe2565b6106be565b3480156103bd57600080fd5b506101666103cc3660046110b0565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561040357600080fd5b50600c54610359906001600160a01b031681565b34801561042357600080fd5b506101fb6104323660046110e9565b6106cb565b34801561044357600080fd5b506101fb610733565b34801561045857600080fd5b50600d54610359906001600160a01b031681565b3360008181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104c79086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b0316331461050c5760405162461bcd60e51b815260040161050390611102565b60405180910390fd5b6009829055600a8190556019821180159061052a5750601e600a5411155b61053357600080fd5b5050565b6001600160a01b0383166000908152600660209081526040808320338452909152812054600019146105e4576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b03871660009081526006825283812033825290915291909120546105bf91849061076c565b6001600160a01b03851660009081526006602090815260408083203384529091529020555b6105ef8484846107a6565b90505b9392505050565b60006104d38260001961046c565b6000546001600160a01b031633146106315760405162461bcd60e51b815260040161050390611102565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b6000546001600160a01b031633146106a05760405162461bcd60e51b815260040161050390611102565b600e8054911515600160a01b0260ff60a01b19909216919091179055565b60006105f23384846107a6565b6000546001600160a01b031633146106f55760405162461bcd60e51b815260040161050390611102565b6064816003546107059190611138565b61070f919061114f565b600455600354610722906103e89061114f565b600454101561073057600080fd5b50565b600c546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610730573d6000803e3d6000fd5b600081848411156107905760405162461bcd60e51b81526004016105039190610f7f565b50600061079d8486611171565b95945050505050565b60105460009060ff16156107c6576107bf8484846109f4565b90506105f2565b600e546001600160a01b038481169116148015906107f257506002546001600160a01b03848116911614155b1561089d576001600160a01b03831660009081526008602052604090205460ff168061084357506004546001600160a01b038416600090815260056020526040902054610840908490611184565b11155b61089d5760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b6064820152608401610503565b6108a5610ada565b156108b2576108b2610b32565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03871660009081526005909152919091205461090491849061076c565b6001600160a01b038516600090815260056020908152604080832093909355600790522054829060ff1661096a57600e546001600160a01b039081169086160361095b5761095485846000610d23565b905061096a565b61096785846001610d23565b90505b6001600160a01b03841660009081526005602052604090205461098d9082610dec565b6001600160a01b0380861660008181526005602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906109e19085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600590915291822054610a4591849061076c565b6001600160a01b038086166000908152600560205260408082209390935590851681522054610a749083610dec565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ac89086815260200190565b60405180910390a35060019392505050565b600e546000906001600160a01b03163314801590610afb575060105460ff16155b8015610b105750600e54600160a01b900460ff165b8015610b2d5750600f543060009081526005602052604090205410155b905090565b6010805460ff1916600117905530600090815260056020526040902054600f54600290610b6090600b611138565b610b6a919061114f565b8110610b8e576002600f54600b610b819190611138565b610b8b919061114f565b90505b6040805160028082526060820183526000926020830190803683370190505090503081600081518110610bc357610bc3611197565b6001600160a01b03928316602091820292909201810191909152600d54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610c1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4091906111ad565b81600181518110610c5357610c53611197565b6001600160a01b039283166020918202929092010152600d5460405163791ac94760e01b815291169063791ac94790610c999085906000908690309042906004016111ca565b600060405180830381600087803b158015610cb357600080fd5b505af1158015610cc7573d6000803e3d6000fd5b5050505066b1a2bc2ec50000471115610d1557600c546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610d13573d6000803e3d6000fd5b505b50506010805460ff19169055565b60008082610d5157610d4c600b54610d4660095487610e4b90919063ffffffff16565b90610ecd565b610d6c565b610d6c600b54610d46600a5487610e4b90919063ffffffff16565b30600090815260056020526040902054909150610d899082610dec565b30600081815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610dda9085815260200190565b60405180910390a361079d8482610f0f565b600080610df98385611184565b9050838110156105f25760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610503565b600082600003610e5d575060006104d3565b6000610e698385611138565b905082610e76858361114f565b146105f25760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610503565b60006105f283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610f51565b60006105f283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061076c565b60008183610f725760405162461bcd60e51b81526004016105039190610f7f565b50600061079d848661114f565b600060208083528351808285015260005b81811015610fac57858101830151858201604001528201610f90565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461073057600080fd5b60008060408385031215610ff557600080fd5b823561100081610fcd565b946020939093013593505050565b6000806040838503121561102157600080fd5b50508035926020909101359150565b60008060006060848603121561104557600080fd5b833561105081610fcd565b9250602084013561106081610fcd565b929592945050506040919091013590565b60006020828403121561108357600080fd5b81356105f281610fcd565b6000602082840312156110a057600080fd5b813580151581146105f257600080fd5b600080604083850312156110c357600080fd5b82356110ce81610fcd565b915060208301356110de81610fcd565b809150509250929050565b6000602082840312156110fb57600080fd5b5035919050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176104d3576104d3611122565b60008261116c57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156104d3576104d3611122565b808201808211156104d3576104d3611122565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156111bf57600080fd5b81516105f281610fcd565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561121a5784516001600160a01b0316835293830193918301916001016111f5565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212205a5c04a90024d2e1c435b492f2f297993a965ec252958f0115ddb66ec219a31f64736f6c63430008120033

Deployed Bytecode Sourcemap

4214:7073:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5175:54;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;5175:54:0;;;;;;;;6140:80;;;;;;;;;;-1:-1:-1;6212:5:0;;;;;;;;;;;-1:-1:-1;;;6212:5:0;;;;6140:80;;;;6212:5;6140:80;:::i;6562:216::-;;;;;;;;;;-1:-1:-1;6562:216:0;;;;;:::i;:::-;;:::i;:::-;;;1370:14:1;;1363:22;1345:41;;1333:2;1318:18;6562:216:0;1205:187:1;10929:247:0;;;;;;;;;;-1:-1:-1;10929:247:0;;;;;:::i;:::-;;:::i;:::-;;5870:88;;;;;;;;;;-1:-1:-1;5943:12:0;;5870:88;;7080:370;;;;;;;;;;-1:-1:-1;7080:370:0;;;;;:::i;:::-;;:::i;2452:103::-;;;;;;;;;;-1:-1:-1;2452:103:0;;;;;:::i;:::-;2507:4;2542:5;-1:-1:-1;;;;;2531:16:0;;;2542:5;;2531:16;;2452:103;5964:80;;;;;;;;;;-1:-1:-1;5964:80:0;;4524:1;2505:36:1;;2493:2;2478:18;5964:80:0;2363:184:1;6786:122:0;;;;;;;;;;-1:-1:-1;6786:122:0;;;;;:::i;:::-;;:::i;4597:52::-;;;;;;;;;;;;;;;;5138:30;;;;;;;;;;-1:-1:-1;5138:30:0;;;;-1:-1:-1;;;5138:30:0;;;;;;6310:105;;;;;;;;;;-1:-1:-1;6310:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;6394:18:0;6376:7;6394:18;;;:9;:18;;;;;;;6310:105;2561:131;;;;;;;;;;;;;:::i;11184:100::-;;;;;;;;;;-1:-1:-1;11184:100:0;;;;;:::i;:::-;;:::i;6226:78::-;;;;;;;;;;-1:-1:-1;6278:7:0;6296:5;-1:-1:-1;;;;;6296:5:0;6226:78;;;-1:-1:-1;;;;;2994:32:1;;;2976:51;;2964:2;2949:18;6226:78:0;2830:203:1;5110:19:0;;;;;;;;;;-1:-1:-1;5110:19:0;;;;-1:-1:-1;;;;;5110:19:0;;;6916:156;;;;;;;;;;-1:-1:-1;6916:156:0;;;;;:::i;:::-;;:::i;6421:133::-;;;;;;;;;;-1:-1:-1;6421:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;6523:19:0;;;6505:7;6523:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;6421:133;5022:48;;;;;;;;;;-1:-1:-1;5022:48:0;;;;-1:-1:-1;;;;;5022:48:0;;;10722:199;;;;;;;;;;-1:-1:-1;10722:199:0;;;;;:::i;:::-;;:::i;10603:111::-;;;;;;;;;;;;;:::i;5079:24::-;;;;;;;;;;-1:-1:-1;5079:24:0;;;;-1:-1:-1;;;;;5079:24:0;;;6562:216;6666:10;6637:4;6654:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;6654:32:0;;;;;;;;;;:41;;;6711:37;6637:4;;6654:32;;6711:37;;;;6689:6;160:25:1;;148:2;133:18;;14:177;6711:37:0;;;;;;;;-1:-1:-1;6766:4:0;6562:216;;;;;:::o;10929:247::-;2507:4;2542:5;-1:-1:-1;;;;;2542:5:0;2413:10;2531:16;2397:38;;;;-1:-1:-1;;;2397:38:0;;;;;;;:::i;:::-;;;;;;;;;11027:12:::1;:28:::0;;;11067:16:::1;:36:::0;;;11139:2:::1;11123:18:::0;::::1;::::0;::::1;::::0;:44:::1;;;11165:2;11145:16;;:22;;11123:44;11115:53;;;::::0;::::1;;10929:247:::0;;:::o;7080:370::-;-1:-1:-1;;;;;7200:19:0;;7180:4;7200:19;;;:11;:19;;;;;;;;7220:10;7200:31;;;;;;;;-1:-1:-1;;7200:52:0;7197:186;;7302:69;;;;;;;;;;;-1:-1:-1;;;7302:69:0;;;;;;;;-1:-1:-1;;;;;7302:19:0;;-1:-1:-1;7302:19:0;;;:11;:19;;;;;7322:10;7302:31;;;;;;;;;;:69;;7338:6;;7302:35;:69::i;:::-;-1:-1:-1;;;;;7268:19:0;;;;;;:11;:19;;;;;;;;7288:10;7268:31;;;;;;;:103;7197:186;7402:40;7416:6;7424:9;7435:6;7402:13;:40::i;:::-;7395:47;;7080:370;;;;;;:::o;6786:122::-;6841:4;6865:35;6873:7;-1:-1:-1;;6865:7:0;:35::i;2561:131::-;2507:4;2542:5;-1:-1:-1;;;;;2542:5:0;2413:10;2531:16;2397:38;;;;-1:-1:-1;;;2397:38:0;;;;;;;:::i;:::-;2634:1:::1;2618:18:::0;;-1:-1:-1;;;;;;2618:18:0::1;::::0;;2652:32:::1;::::0;2976:51:1;;;2652:32:0::1;::::0;2964:2:1;2949:18;2652:32:0::1;;;;;;;2561:131::o:0;11184:100::-;2507:4;2542:5;-1:-1:-1;;;;;2542:5:0;2413:10;2531:16;2397:38;;;;-1:-1:-1;;;2397:38:0;;;;;;;:::i;:::-;11252:11:::1;:24:::0;;;::::1;;-1:-1:-1::0;;;11252:24:0::1;-1:-1:-1::0;;;;11252:24:0;;::::1;::::0;;;::::1;::::0;;11184:100::o;6916:156::-;6996:4;7020:44;7034:10;7046:9;7057:6;7020:13;:44::i;10722:199::-;2507:4;2542:5;-1:-1:-1;;;;;2542:5:0;2413:10;2531:16;2397:38;;;;-1:-1:-1;;;2397:38:0;;;;;;;:::i;:::-;10852:3:::1;10834:13;10819:12;;:28;;;;:::i;:::-;10818:37;;;;:::i;:::-;10799:16;:56:::0;10895:12:::1;::::0;:17:::1;::::0;10908:4:::1;::::0;10895:17:::1;:::i;:::-;10875:16;;:37;;10866:47;;;::::0;::::1;;10722:199:::0;:::o;10603:111::-;10653:20;;10645:61;;-1:-1:-1;;;;;10653:20:0;;;;10684:21;10645:61;;;;;10653:20;10645:61;10653:20;10645:61;10684:21;10653:20;10645:61;;;;;;;;;;;;;;;;;;;541:190;627:7;663:12;655:6;;;;647:29;;;;-1:-1:-1;;;647:29:0;;;;;;;;:::i;:::-;-1:-1:-1;687:9:0;699:5;703:1;699;:5;:::i;:::-;687:17;541:190;-1:-1:-1;;;;;541:190:0:o;7458:984::-;7570:6;;7550:4;;7570:6;;7567:63;;;7586:41;7601:6;7609:9;7620:6;7586:14;:41::i;:::-;7579:48;;;;7567:63;7667:4;;-1:-1:-1;;;;;7654:17:0;;;7667:4;;7654:17;;;;:38;;-1:-1:-1;7688:4:0;;-1:-1:-1;;;;;7675:17:0;;;7688:4;;7675:17;;7654:38;7650:200;;;-1:-1:-1;;;;;7717:26:0;;;;;;:15;:26;;;;;;;;;:79;;-1:-1:-1;7780:16:0;;-1:-1:-1;;;;;7747:20:0;;;;;;:9;:20;;;;;;:29;;7770:6;;7747:29;:::i;:::-;:49;;7717:79;7709:129;;;;-1:-1:-1;;;7709:129:0;;5168:2:1;7709:129:0;;;5150:21:1;5207:2;5187:18;;;5180:30;5246:34;5226:18;;;5219:62;-1:-1:-1;;;5297:18:1;;;5290:35;5342:19;;7709:129:0;4966:401:1;7709:129:0;7865:16;:14;:16::i;:::-;7862:35;;;7884:10;:8;:10::i;:::-;7930:53;;;;;;;;;;;-1:-1:-1;;;7930:53:0;;;;;;;;-1:-1:-1;;;;;7930:17:0;;-1:-1:-1;7930:17:0;;;:9;:17;;;;;;;;:53;;7952:6;;7930:21;:53::i;:::-;-1:-1:-1;;;;;7910:17:0;;;;;;:9;:17;;;;;;;;:73;;;;8879:11;:19;;;;8022:6;;8879:19;;8039:235;;8092:4;;-1:-1:-1;;;;;8092:4:0;;;8082:14;;;;8079:183;;8133:29;8141:6;8149;8156:5;8133:7;:29::i;:::-;8116:46;;8079:183;;;8218:28;8226:6;8234;8241:4;8218:7;:28::i;:::-;8201:45;;8079:183;-1:-1:-1;;;;;8311:20:0;;;;;;:9;:20;;;;;;:40;;8336:14;8311:24;:40::i;:::-;-1:-1:-1;;;;;8288:20:0;;;;;;;:9;:20;;;;;;;:63;;;;8369:43;;;;;;;;;;8397:14;160:25:1;;148:2;133:18;;14:177;8369:43:0;;;;;;;;-1:-1:-1;8430:4:0;;7458:984;-1:-1:-1;;;;7458:984:0:o;8454:330::-;8584:53;;;;;;;;;;;-1:-1:-1;;;8584:53:0;;;;;;;;-1:-1:-1;;;;;8584:17:0;;8547:4;8584:17;;;:9;:17;;;;;;;:53;;8606:6;;8584:21;:53::i;:::-;-1:-1:-1;;;;;8564:17:0;;;;;;;:9;:17;;;;;;:73;;;;8671:20;;;;;;;:32;;8696:6;8671:24;:32::i;:::-;-1:-1:-1;;;;;8648:20:0;;;;;;;:9;:20;;;;;;;:55;;;;8719:35;;;;;;;;;;8747:6;160:25:1;;148:2;133:18;;14:177;8719:35:0;;;;;;;;-1:-1:-1;8772:4:0;8454:330;;;;;:::o;9325:197::-;9412:4;;9374;;-1:-1:-1;;;;;9412:4:0;9398:10;:18;;;;:38;;-1:-1:-1;9430:6:0;;;;9429:7;9398:38;:62;;;;-1:-1:-1;9449:11:0;;-1:-1:-1;;;9449:11:0;;;;9398:62;:116;;;;-1:-1:-1;9501:13:0;;9491:4;9473:24;;;;:9;:24;;;;;;:41;;9398:116;9391:123;;9325:197;:::o;9530:687::-;5277:6;:13;;-1:-1:-1;;5277:13:0;5286:4;5277:13;;;9620:4:::1;5277:6:::0;9602:24;;;:9:::1;:24;::::0;;;;;9657:13:::1;::::0;9674:1:::1;::::0;9657:16:::1;::::0;9671:2:::1;9657:16;:::i;:::-;:18;;;;:::i;:::-;9641:12;:34;9637:99;;9723:1;9706:13;;9720:2;9706:16;;;;:::i;:::-;:18;;;;:::i;:::-;9691:33;;9637:99;9770:16;::::0;;9784:1:::1;9770:16:::0;;;;;::::1;::::0;;9746:21:::1;::::0;9770:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9770:16:0::1;9746:40;;9815:4;9797;9802:1;9797:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9797:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9841:6:::1;::::0;:13:::1;::::0;;-1:-1:-1;;;9841:13:0;;;;:6;;;::::1;::::0;:11:::1;::::0;:13:::1;::::0;;::::1;::::0;9797:7;;9841:13;;;;;:6;:13:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9831:4;9836:1;9831:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9831:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;9867:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;9867:188:0;;:6;::::1;::::0;:57:::1;::::0;:188:::1;::::0;9939:12;;9867:6:::1;::::0;9982:4;;10009::::1;::::0;10029:15:::1;::::0;9867:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10096:17;10072:21;:41;10068:134;;;10137:20;::::0;10129:61:::1;::::0;-1:-1:-1;;;;;10137:20:0;;::::1;::::0;10168:21:::1;10129:61:::0;::::1;;;::::0;10137:20:::1;10129:61:::0;10137:20;10129:61;10168:21;10137:20;10129:61;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;10068:134;-1:-1:-1::0;;5295:6:0;:14;;-1:-1:-1;;5295:14:0;;;9530:687::o;8914:403::-;8994:7;9014:14;9031:6;:104;;9091:44;9120:14;;9091:24;9102:12;;9091:6;:10;;:24;;;;:::i;:::-;:28;;:44::i;:::-;9031:104;;;9040:48;9073:14;;9040:28;9051:16;;9040:6;:10;;:28;;;;:::i;:48::-;9191:4;9173:24;;;;:9;:24;;;;;;9014:121;;-1:-1:-1;9173:39:0;;9014:121;9173:28;:39::i;:::-;9164:4;9146:24;;;;:9;:24;;;;;;;:66;;;;9228:42;;-1:-1:-1;;;;;9228:42:0;;;;;;;9260:9;160:25:1;;148:2;133:18;;14:177;9228:42:0;;;;;;;;9288:21;:6;9299:9;9288:10;:21::i;214:179::-;272:7;;304:5;308:1;304;:5;:::i;:::-;292:17;;333:1;328;:6;;320:46;;;;-1:-1:-1;;;320:46:0;;7079:2:1;320:46:0;;;7061:21:1;7118:2;7098:18;;;7091:30;7157:29;7137:18;;;7130:57;7204:18;;320:46:0;6877:351:1;737:246:0;795:7;819:1;824;819:6;815:47;;-1:-1:-1;849:1:0;842:8;;815:47;872:9;884:5;888:1;884;:5;:::i;:::-;872:17;-1:-1:-1;917:1:0;908:5;912:1;872:17;908:5;:::i;:::-;:10;900:56;;;;-1:-1:-1;;;900:56:0;;7435:2:1;900:56:0;;;7417:21:1;7474:2;7454:18;;;7447:30;7513:34;7493:18;;;7486:62;-1:-1:-1;;;7564:18:1;;;7557:31;7605:19;;900:56:0;7233:397:1;989:132:0;1047:7;1074:39;1078:1;1081;1074:39;;;;;;;;;;;;;;;;;:3;:39::i;399:136::-;457:7;484:43;488:1;491;484:43;;;;;;;;;;;;;;;;;:3;:43::i;1127:189::-;1213:7;1248:12;1241:5;1233:28;;;;-1:-1:-1;;;1233:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1272:9:0;1284:5;1288:1;1284;:5;:::i;196:548:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;749:131::-;-1:-1:-1;;;;;824:31:1;;814:42;;804:70;;870:1;867;860:12;885:315;953:6;961;1014:2;1002:9;993:7;989:23;985:32;982:52;;;1030:1;1027;1020:12;982:52;1069:9;1056:23;1088:31;1113:5;1088:31;:::i;:::-;1138:5;1190:2;1175:18;;;;1162:32;;-1:-1:-1;;;885:315:1:o;1397:248::-;1465:6;1473;1526:2;1514:9;1505:7;1501:23;1497:32;1494:52;;;1542:1;1539;1532:12;1494:52;-1:-1:-1;;1565:23:1;;;1635:2;1620:18;;;1607:32;;-1:-1:-1;1397:248:1:o;1650:456::-;1727:6;1735;1743;1796:2;1784:9;1775:7;1771:23;1767:32;1764:52;;;1812:1;1809;1802:12;1764:52;1851:9;1838:23;1870:31;1895:5;1870:31;:::i;:::-;1920:5;-1:-1:-1;1977:2:1;1962:18;;1949:32;1990:33;1949:32;1990:33;:::i;:::-;1650:456;;2042:7;;-1:-1:-1;;;2096:2:1;2081:18;;;;2068:32;;1650:456::o;2111:247::-;2170:6;2223:2;2211:9;2202:7;2198:23;2194:32;2191:52;;;2239:1;2236;2229:12;2191:52;2278:9;2265:23;2297:31;2322:5;2297:31;:::i;2552:273::-;2608:6;2661:2;2649:9;2640:7;2636:23;2632:32;2629:52;;;2677:1;2674;2667:12;2629:52;2716:9;2703:23;2769:5;2762:13;2755:21;2748:5;2745:32;2735:60;;2791:1;2788;2781:12;3038:388;3106:6;3114;3167:2;3155:9;3146:7;3142:23;3138:32;3135:52;;;3183:1;3180;3173:12;3135:52;3222:9;3209:23;3241:31;3266:5;3241:31;:::i;:::-;3291:5;-1:-1:-1;3348:2:1;3333:18;;3320:32;3361:33;3320:32;3361:33;:::i;:::-;3413:7;3403:17;;;3038:388;;;;;:::o;3431:180::-;3490:6;3543:2;3531:9;3522:7;3518:23;3514:32;3511:52;;;3559:1;3556;3549:12;3511:52;-1:-1:-1;3582:23:1;;3431:180;-1:-1:-1;3431:180:1:o;3842:329::-;4044:2;4026:21;;;4083:1;4063:18;;;4056:29;-1:-1:-1;;;4116:2:1;4101:18;;4094:36;4162:2;4147:18;;3842:329::o;4176:127::-;4237:10;4232:3;4228:20;4225:1;4218:31;4268:4;4265:1;4258:15;4292:4;4289:1;4282:15;4308:168;4381:9;;;4412;;4429:15;;;4423:22;;4409:37;4399:71;;4450:18;;:::i;4481:217::-;4521:1;4547;4537:132;;4591:10;4586:3;4582:20;4579:1;4572:31;4626:4;4623:1;4616:15;4654:4;4651:1;4644:15;4537:132;-1:-1:-1;4683:9:1;;4481:217::o;4703:128::-;4770:9;;;4791:11;;;4788:37;;;4805:18;;:::i;4836:125::-;4901:9;;;4922:10;;;4919:36;;;4935:18;;:::i;5504:127::-;5565:10;5560:3;5556:20;5553:1;5546:31;5596:4;5593:1;5586:15;5620:4;5617:1;5610:15;5636:251;5706:6;5759:2;5747:9;5738:7;5734:23;5730:32;5727:52;;;5775:1;5772;5765:12;5727:52;5807:9;5801:16;5826:31;5851:5;5826:31;:::i;5892:980::-;6154:4;6202:3;6191:9;6187:19;6233:6;6222:9;6215:25;6259:2;6297:6;6292:2;6281:9;6277:18;6270:34;6340:3;6335:2;6324:9;6320:18;6313:31;6364:6;6399;6393:13;6430:6;6422;6415:22;6468:3;6457:9;6453:19;6446:26;;6507:2;6499:6;6495:15;6481:29;;6528:1;6538:195;6552:6;6549:1;6546:13;6538:195;;;6617:13;;-1:-1:-1;;;;;6613:39:1;6601:52;;6708:15;;;;6673:12;;;;6649:1;6567:9;6538:195;;;-1:-1:-1;;;;;;;6789:32:1;;;;6784:2;6769:18;;6762:60;-1:-1:-1;;;6853:3:1;6838:19;6831:35;6750:3;5892:980;-1:-1:-1;;;5892:980:1:o

Swarm Source

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