ETH Price: $3,406.53 (+1.66%)

Token

Friends With Benefits (FWB)
 

Overview

Max Total Supply

100,000 FWB

Holders

416

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0.532325143 FWB

Value
$0.00
0x426797aed58f24654940cce117568247e3e438a7
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:
FWB

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-08-21
*/

// Twitter: https://twitter.com/FriendsWB_bot
// Telegram: https://t.me/FriendsWB_bot

// SPDX-License-Identifier: MIT

pragma solidity 0.8.17;

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }

}

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

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

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

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

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

}

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract FWB is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    address payable private _taxWallet;
    address payable private _revshareWallet;

    uint256 private _initialTax=20;
    uint256 private _finalTax=5;
    uint256 private _reduceTaxAt=25;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 100000 * 10**_decimals;
    string private constant _name = unicode"Friends With Benefits";
    string private constant _symbol = unicode"FWB";
    uint256 public _maxTxAmount = 1000 * 10**_decimals;
    uint256 public _maxWalletSize = 2000 * 10**_decimals;
    uint256 public _taxSwap = 1000 * 10**_decimals;

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

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

    constructor () {
        _taxWallet = payable(_msgSender());
        _revshareWallet = payable(address(0x2A47f0A05aBD385d8e720981D5aC9B3C3157108e));
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;
        _isExcludedFromFee[_revshareWallet] = true;
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());

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

    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

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

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

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

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

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

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function setIsFeeExempt(address holder, bool exempt) external onlyOwner {
        _isExcludedFromFee[holder] = exempt;
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount=0;
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);
            if(!inSwap){
              taxAmount = amount.mul((_buyCount>_reduceTaxAt)?_finalTax:_initialTax).div(100);
            }

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

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && from != uniswapV2Pair && contractTokenBalance>_taxSwap) {
                swapTokensForEth(_taxSwap>amount?amount:_taxSwap);
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToRevShare(address(this).balance.div(5));
                    sendETHToFee(address(this).balance);
                }
            }
        }

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

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

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

    function sendETHToRevShare(uint256 amount) private {
        _revshareWallet.transfer(amount);
    }

    function setInitialTax(uint256 initialTax) external onlyOwner {
        _initialTax = initialTax;
    }

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

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

    function setFee(uint256 _newFee) external{
      require(_msgSender()==_taxWallet);
      _finalTax=_newFee;
    }


    receive() external payable {}

    function manualSwap() external {
        require(_msgSender() == _taxWallet);
        swapTokensForEth(balanceOf(address(this)));
    }

    function manualSend() external {
        require(_msgSender() == _taxWallet);
        sendETHToFee(address(this).balance);
    }

    function manualSendToken() external {
        require(_msgSender() == _taxWallet);
        IERC20(address(this)).transfer(msg.sender, balanceOf(address(this)));
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"addBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"delBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSendToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"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":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"initialTax","type":"uint256"}],"name":"setInitialTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526014600755600560085560196009556000600a556009600a620000289190620004da565b62000036906103e8620004f2565b600b55620000476009600a620004da565b62000055906107d0620004f2565b600c55620000666009600a620004da565b62000074906103e8620004f2565b600d55600f805460ff60a01b191690553480156200009157600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060058054336001600160a01b03199182161790915560068054909116732a47f0a05abd385d8e720981d5ac9b3c3157108e179055620001156009600a620004da565b6200012490620186a0620004f2565b3360009081526001602081905260408220929092556003906200014f6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055308152600384528281208054861660019081179091556005548316825283822080548716821790556006549092168152829020805490941617909255600e80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155825163c45a015560e01b81529251909263c45a01559260048083019391928290030181865afa1580156200021a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200024091906200050c565b6001600160a01b031663c9c6539630600e60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002a3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c991906200050c565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000317573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200033d91906200050c565b600f80546001600160a01b0319166001600160a01b0392909216919091179055620003653390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200039f6009600a620004da565b620003ae90620186a0620004f2565b60405190815260200160405180910390a362000537565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200041c578160001904821115620004005762000400620003c5565b808516156200040e57918102915b93841c9390800290620003e0565b509250929050565b6000826200043557506001620004d4565b816200044457506000620004d4565b81600181146200045d5760028114620004685762000488565b6001915050620004d4565b60ff8411156200047c576200047c620003c5565b50506001821b620004d4565b5060208310610133831016604e8410600b8410161715620004ad575081810a620004d4565b620004b98383620003db565b8060001904821115620004d057620004d0620003c5565b0290505b92915050565b6000620004eb60ff84168362000424565b9392505050565b8082028115828204841417620004d457620004d4620003c5565b6000602082840312156200051f57600080fd5b81516001600160a01b0381168114620004eb57600080fd5b61183080620005476000396000f3fe6080604052600436106101445760003560e01c806370a08231116100b657806395d89b411161006f57806395d89b41146103855780639a0b7438146103b1578063a9059cbb146103d1578063d34628cc146103f1578063dd62ed3e14610411578063f42938901461045757600080fd5b806370a08231146102d1578063715018a614610307578063751039fc1461031c5780637d1db4a5146103315780638da5cb5b146103475780638f9a55c01461036f57600080fd5b806331c2d8471161010857806331c2d8471461022f57806334376f3b14610251578063503dfc4d1461026757806351bc3c851461027c578063658d4b7f1461029157806369fe0e2d146102b157600080fd5b806306fdde0314610150578063095ea7b3146101a057806318160ddd146101d057806323b872dd146101f3578063313ce5671461021357600080fd5b3661014b57005b600080fd5b34801561015c57600080fd5b50604080518082019091526015815274467269656e647320576974682042656e656669747360581b60208201525b60405161019791906112f5565b60405180910390f35b3480156101ac57600080fd5b506101c06101bb366004611368565b61046c565b6040519015158152602001610197565b3480156101dc57600080fd5b506101e5610483565b604051908152602001610197565b3480156101ff57600080fd5b506101c061020e366004611394565b6104a3565b34801561021f57600080fd5b5060405160098152602001610197565b34801561023b57600080fd5b5061024f61024a3660046113eb565b61050c565b005b34801561025d57600080fd5b506101e5600d5481565b34801561027357600080fd5b5061024f6105ab565b34801561028857600080fd5b5061024f610655565b34801561029d57600080fd5b5061024f6102ac3660046114be565b610690565b3480156102bd57600080fd5b5061024f6102cc3660046114f7565b6106e5565b3480156102dd57600080fd5b506101e56102ec366004611510565b6001600160a01b031660009081526001602052604090205490565b34801561031357600080fd5b5061024f61070a565b34801561032857600080fd5b5061024f61077e565b34801561033d57600080fd5b506101e5600b5481565b34801561035357600080fd5b506000546040516001600160a01b039091168152602001610197565b34801561037b57600080fd5b506101e5600c5481565b34801561039157600080fd5b50604080518082019091526003815262232ba160e91b602082015261018a565b3480156103bd57600080fd5b5061024f6103cc3660046114f7565b61082d565b3480156103dd57600080fd5b506101c06103ec366004611368565b61085c565b3480156103fd57600080fd5b5061024f61040c3660046113eb565b610869565b34801561041d57600080fd5b506101e561042c36600461152d565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561046357600080fd5b5061024f6108fb565b6000610479338484610924565b5060015b92915050565b60006104916009600a611655565b61049e90620186a0611664565b905090565b60006104b0848484610a48565b61050284336104fd856040518060600160405280602881526020016117d3602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610f33565b610924565b5060019392505050565b6000546001600160a01b0316331461053f5760405162461bcd60e51b81526004016105369061167b565b60405180910390fd5b60005b81518110156105a757600060046000848481518110610563576105636116b0565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061059f816116c6565b915050610542565b5050565b6005546001600160a01b0316336001600160a01b0316146105cb57600080fd5b3060008181526001602052604090205463a9059cbb9033906040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af115801561062e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065291906116df565b50565b6005546001600160a01b0316336001600160a01b03161461067557600080fd5b3060009081526001602052604090205461068e90610f6d565b565b6000546001600160a01b031633146106ba5760405162461bcd60e51b81526004016105369061167b565b6001600160a01b03919091166000908152600360205260409020805460ff1916911515919091179055565b6005546001600160a01b0316336001600160a01b03161461070557600080fd5b600855565b6000546001600160a01b031633146107345760405162461bcd60e51b81526004016105369061167b565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146107a85760405162461bcd60e51b81526004016105369061167b565b6107b46009600a611655565b6107c190620186a0611664565b600b556107d06009600a611655565b6107dd90620186a0611664565b600c557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61080d6009600a611655565b61081a90620186a0611664565b60405190815260200160405180910390a1565b6000546001600160a01b031633146108575760405162461bcd60e51b81526004016105369061167b565b600755565b6000610479338484610a48565b6000546001600160a01b031633146108935760405162461bcd60e51b81526004016105369061167b565b60005b81518110156105a7576001600460008484815181106108b7576108b76116b0565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806108f3816116c6565b915050610896565b6005546001600160a01b0316336001600160a01b03161461091b57600080fd5b61068e476110e7565b6001600160a01b0383166109865760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610536565b6001600160a01b0382166109e75760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610536565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610aac5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610536565b6001600160a01b038216610b0e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610536565b60008111610b705760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610536565b600080546001600160a01b03858116911614801590610b9d57506000546001600160a01b03848116911614155b15610df0576001600160a01b03841660009081526004602052604090205460ff16158015610be457506001600160a01b03831660009081526004602052604090205460ff16155b610bed57600080fd5b600f54600160a01b900460ff16610c2d57610c2a6064610c24600954600a5411610c1957600754610c1d565b6008545b8590611121565b906111aa565b90505b600f546001600160a01b038581169116148015610c585750600e546001600160a01b03848116911614155b8015610c7d57506001600160a01b03831660009081526003602052604090205460ff16155b15610d6557600b54821115610cd45760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610536565b600c5482610cf7856001600160a01b031660009081526001602052604090205490565b610d0191906116fc565b1115610d4f5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610536565b600a8054906000610d5f836116c6565b91905055505b30600090815260016020526040902054600f54600160a01b900460ff16158015610d9d5750600f546001600160a01b03868116911614155b8015610daa5750600d5481115b15610dee57610dc983600d5411610dc357600d54610f6d565b83610f6d565b478015610dec57610de3610dde4760056111aa565b6111ec565b610dec476110e7565b505b505b8015610e6a5730600090815260016020526040902054610e109082611226565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e619085815260200190565b60405180910390a35b6001600160a01b038416600090815260016020526040902054610e8d9083611285565b6001600160a01b038516600090815260016020526040902055610ed2610eb38383611285565b6001600160a01b03851660009081526001602052604090205490611226565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610f1c8585611285565b60405190815260200160405180910390a350505050565b60008184841115610f575760405162461bcd60e51b815260040161053691906112f5565b506000610f64848661170f565b95945050505050565b600f805460ff60a01b1916600160a01b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610fb557610fb56116b0565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561100e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110329190611722565b81600181518110611045576110456116b0565b6001600160a01b039283166020918202929092010152600e5461106b9130911684610924565b600e5460405163791ac94760e01b81526001600160a01b039091169063791ac947906110a490859060009086903090429060040161173f565b600060405180830381600087803b1580156110be57600080fd5b505af11580156110d2573d6000803e3d6000fd5b5050600f805460ff60a01b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156105a7573d6000803e3d6000fd5b6000826000036111335750600061047d565b600061113f8385611664565b90508261114c85836117b0565b146111a35760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610536565b9392505050565b60006111a383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506112c7565b6006546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156105a7573d6000803e3d6000fd5b60008061123383856116fc565b9050838110156111a35760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610536565b60006111a383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f33565b600081836112e85760405162461bcd60e51b815260040161053691906112f5565b506000610f6484866117b0565b600060208083528351808285015260005b8181101561132257858101830151858201604001528201611306565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461065257600080fd5b803561136381611343565b919050565b6000806040838503121561137b57600080fd5b823561138681611343565b946020939093013593505050565b6000806000606084860312156113a957600080fd5b83356113b481611343565b925060208401356113c481611343565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b600060208083850312156113fe57600080fd5b823567ffffffffffffffff8082111561141657600080fd5b818501915085601f83011261142a57600080fd5b81358181111561143c5761143c6113d5565b8060051b604051601f19603f83011681018181108582111715611461576114616113d5565b60405291825284820192508381018501918883111561147f57600080fd5b938501935b828510156114a45761149585611358565b84529385019392850192611484565b98975050505050505050565b801515811461065257600080fd5b600080604083850312156114d157600080fd5b82356114dc81611343565b915060208301356114ec816114b0565b809150509250929050565b60006020828403121561150957600080fd5b5035919050565b60006020828403121561152257600080fd5b81356111a381611343565b6000806040838503121561154057600080fd5b823561154b81611343565b915060208301356114ec81611343565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156115ac5781600019048211156115925761159261155b565b8085161561159f57918102915b93841c9390800290611576565b509250929050565b6000826115c35750600161047d565b816115d05750600061047d565b81600181146115e657600281146115f05761160c565b600191505061047d565b60ff8411156116015761160161155b565b50506001821b61047d565b5060208310610133831016604e8410600b841016171561162f575081810a61047d565b6116398383611571565b806000190482111561164d5761164d61155b565b029392505050565b60006111a360ff8416836115b4565b808202811582820484141761047d5761047d61155b565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6000600182016116d8576116d861155b565b5060010190565b6000602082840312156116f157600080fd5b81516111a3816114b0565b8082018082111561047d5761047d61155b565b8181038181111561047d5761047d61155b565b60006020828403121561173457600080fd5b81516111a381611343565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561178f5784516001600160a01b03168352938301939183019160010161176a565b50506001600160a01b03969096166060850152505050608001529392505050565b6000826117cd57634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212200ac0c4c7681fb409fcd88097fcf5109aa56e979b7fb0d67bc60afc406509842e64736f6c63430008110033

Deployed Bytecode

0x6080604052600436106101445760003560e01c806370a08231116100b657806395d89b411161006f57806395d89b41146103855780639a0b7438146103b1578063a9059cbb146103d1578063d34628cc146103f1578063dd62ed3e14610411578063f42938901461045757600080fd5b806370a08231146102d1578063715018a614610307578063751039fc1461031c5780637d1db4a5146103315780638da5cb5b146103475780638f9a55c01461036f57600080fd5b806331c2d8471161010857806331c2d8471461022f57806334376f3b14610251578063503dfc4d1461026757806351bc3c851461027c578063658d4b7f1461029157806369fe0e2d146102b157600080fd5b806306fdde0314610150578063095ea7b3146101a057806318160ddd146101d057806323b872dd146101f3578063313ce5671461021357600080fd5b3661014b57005b600080fd5b34801561015c57600080fd5b50604080518082019091526015815274467269656e647320576974682042656e656669747360581b60208201525b60405161019791906112f5565b60405180910390f35b3480156101ac57600080fd5b506101c06101bb366004611368565b61046c565b6040519015158152602001610197565b3480156101dc57600080fd5b506101e5610483565b604051908152602001610197565b3480156101ff57600080fd5b506101c061020e366004611394565b6104a3565b34801561021f57600080fd5b5060405160098152602001610197565b34801561023b57600080fd5b5061024f61024a3660046113eb565b61050c565b005b34801561025d57600080fd5b506101e5600d5481565b34801561027357600080fd5b5061024f6105ab565b34801561028857600080fd5b5061024f610655565b34801561029d57600080fd5b5061024f6102ac3660046114be565b610690565b3480156102bd57600080fd5b5061024f6102cc3660046114f7565b6106e5565b3480156102dd57600080fd5b506101e56102ec366004611510565b6001600160a01b031660009081526001602052604090205490565b34801561031357600080fd5b5061024f61070a565b34801561032857600080fd5b5061024f61077e565b34801561033d57600080fd5b506101e5600b5481565b34801561035357600080fd5b506000546040516001600160a01b039091168152602001610197565b34801561037b57600080fd5b506101e5600c5481565b34801561039157600080fd5b50604080518082019091526003815262232ba160e91b602082015261018a565b3480156103bd57600080fd5b5061024f6103cc3660046114f7565b61082d565b3480156103dd57600080fd5b506101c06103ec366004611368565b61085c565b3480156103fd57600080fd5b5061024f61040c3660046113eb565b610869565b34801561041d57600080fd5b506101e561042c36600461152d565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561046357600080fd5b5061024f6108fb565b6000610479338484610924565b5060015b92915050565b60006104916009600a611655565b61049e90620186a0611664565b905090565b60006104b0848484610a48565b61050284336104fd856040518060600160405280602881526020016117d3602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610f33565b610924565b5060019392505050565b6000546001600160a01b0316331461053f5760405162461bcd60e51b81526004016105369061167b565b60405180910390fd5b60005b81518110156105a757600060046000848481518110610563576105636116b0565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061059f816116c6565b915050610542565b5050565b6005546001600160a01b0316336001600160a01b0316146105cb57600080fd5b3060008181526001602052604090205463a9059cbb9033906040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af115801561062e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065291906116df565b50565b6005546001600160a01b0316336001600160a01b03161461067557600080fd5b3060009081526001602052604090205461068e90610f6d565b565b6000546001600160a01b031633146106ba5760405162461bcd60e51b81526004016105369061167b565b6001600160a01b03919091166000908152600360205260409020805460ff1916911515919091179055565b6005546001600160a01b0316336001600160a01b03161461070557600080fd5b600855565b6000546001600160a01b031633146107345760405162461bcd60e51b81526004016105369061167b565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146107a85760405162461bcd60e51b81526004016105369061167b565b6107b46009600a611655565b6107c190620186a0611664565b600b556107d06009600a611655565b6107dd90620186a0611664565b600c557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61080d6009600a611655565b61081a90620186a0611664565b60405190815260200160405180910390a1565b6000546001600160a01b031633146108575760405162461bcd60e51b81526004016105369061167b565b600755565b6000610479338484610a48565b6000546001600160a01b031633146108935760405162461bcd60e51b81526004016105369061167b565b60005b81518110156105a7576001600460008484815181106108b7576108b76116b0565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806108f3816116c6565b915050610896565b6005546001600160a01b0316336001600160a01b03161461091b57600080fd5b61068e476110e7565b6001600160a01b0383166109865760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610536565b6001600160a01b0382166109e75760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610536565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610aac5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610536565b6001600160a01b038216610b0e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610536565b60008111610b705760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610536565b600080546001600160a01b03858116911614801590610b9d57506000546001600160a01b03848116911614155b15610df0576001600160a01b03841660009081526004602052604090205460ff16158015610be457506001600160a01b03831660009081526004602052604090205460ff16155b610bed57600080fd5b600f54600160a01b900460ff16610c2d57610c2a6064610c24600954600a5411610c1957600754610c1d565b6008545b8590611121565b906111aa565b90505b600f546001600160a01b038581169116148015610c585750600e546001600160a01b03848116911614155b8015610c7d57506001600160a01b03831660009081526003602052604090205460ff16155b15610d6557600b54821115610cd45760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610536565b600c5482610cf7856001600160a01b031660009081526001602052604090205490565b610d0191906116fc565b1115610d4f5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610536565b600a8054906000610d5f836116c6565b91905055505b30600090815260016020526040902054600f54600160a01b900460ff16158015610d9d5750600f546001600160a01b03868116911614155b8015610daa5750600d5481115b15610dee57610dc983600d5411610dc357600d54610f6d565b83610f6d565b478015610dec57610de3610dde4760056111aa565b6111ec565b610dec476110e7565b505b505b8015610e6a5730600090815260016020526040902054610e109082611226565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e619085815260200190565b60405180910390a35b6001600160a01b038416600090815260016020526040902054610e8d9083611285565b6001600160a01b038516600090815260016020526040902055610ed2610eb38383611285565b6001600160a01b03851660009081526001602052604090205490611226565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610f1c8585611285565b60405190815260200160405180910390a350505050565b60008184841115610f575760405162461bcd60e51b815260040161053691906112f5565b506000610f64848661170f565b95945050505050565b600f805460ff60a01b1916600160a01b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610fb557610fb56116b0565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561100e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110329190611722565b81600181518110611045576110456116b0565b6001600160a01b039283166020918202929092010152600e5461106b9130911684610924565b600e5460405163791ac94760e01b81526001600160a01b039091169063791ac947906110a490859060009086903090429060040161173f565b600060405180830381600087803b1580156110be57600080fd5b505af11580156110d2573d6000803e3d6000fd5b5050600f805460ff60a01b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156105a7573d6000803e3d6000fd5b6000826000036111335750600061047d565b600061113f8385611664565b90508261114c85836117b0565b146111a35760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610536565b9392505050565b60006111a383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506112c7565b6006546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156105a7573d6000803e3d6000fd5b60008061123383856116fc565b9050838110156111a35760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610536565b60006111a383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f33565b600081836112e85760405162461bcd60e51b815260040161053691906112f5565b506000610f6484866117b0565b600060208083528351808285015260005b8181101561132257858101830151858201604001528201611306565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461065257600080fd5b803561136381611343565b919050565b6000806040838503121561137b57600080fd5b823561138681611343565b946020939093013593505050565b6000806000606084860312156113a957600080fd5b83356113b481611343565b925060208401356113c481611343565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b600060208083850312156113fe57600080fd5b823567ffffffffffffffff8082111561141657600080fd5b818501915085601f83011261142a57600080fd5b81358181111561143c5761143c6113d5565b8060051b604051601f19603f83011681018181108582111715611461576114616113d5565b60405291825284820192508381018501918883111561147f57600080fd5b938501935b828510156114a45761149585611358565b84529385019392850192611484565b98975050505050505050565b801515811461065257600080fd5b600080604083850312156114d157600080fd5b82356114dc81611343565b915060208301356114ec816114b0565b809150509250929050565b60006020828403121561150957600080fd5b5035919050565b60006020828403121561152257600080fd5b81356111a381611343565b6000806040838503121561154057600080fd5b823561154b81611343565b915060208301356114ec81611343565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156115ac5781600019048211156115925761159261155b565b8085161561159f57918102915b93841c9390800290611576565b509250929050565b6000826115c35750600161047d565b816115d05750600061047d565b81600181146115e657600281146115f05761160c565b600191505061047d565b60ff8411156116015761160161155b565b50506001821b61047d565b5060208310610133831016604e8410600b841016171561162f575081810a61047d565b6116398383611571565b806000190482111561164d5761164d61155b565b029392505050565b60006111a360ff8416836115b4565b808202811582820484141761047d5761047d61155b565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6000600182016116d8576116d861155b565b5060010190565b6000602082840312156116f157600080fd5b81516111a3816114b0565b8082018082111561047d5761047d61155b565b8181038181111561047d5761047d61155b565b60006020828403121561173457600080fd5b81516111a381611343565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561178f5784516001600160a01b03168352938301939183019160010161176a565b50506001600160a01b03969096166060850152505050608001529392505050565b6000826117cd57634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212200ac0c4c7681fb409fcd88097fcf5109aa56e979b7fb0d67bc60afc406509842e64736f6c63430008110033

Deployed Bytecode Sourcemap

3563:7416:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5459:83;;;;;;;;;;-1:-1:-1;5529:5:0;;;;;;;;;;;;-1:-1:-1;;;5529:5:0;;;;5459:83;;;;;;;:::i;:::-;;;;;;;;6292:161;;;;;;;;;;-1:-1:-1;6292:161:0;;;;;:::i;:::-;;:::i;:::-;;;1327:14:1;;1320:22;1302:41;;1290:2;1275:18;6292:161:0;1162:187:1;5736:95:0;;;;;;;;;;;;;:::i;:::-;;;1500:25:1;;;1488:2;1473:18;5736:95:0;1354:177:1;6461:313:0;;;;;;;;;;-1:-1:-1;6461:313:0;;;;;:::i;:::-;;:::i;5645:83::-;;;;;;;;;;-1:-1:-1;5645:83:0;;4146:1;2139:36:1;;2127:2;2112:18;5645:83:0;1997:184:1;10188:162:0;;;;;;;;;;-1:-1:-1;10188:162:0;;;;;:::i;:::-;;:::i;:::-;;4456:46;;;;;;;;;;;;;;;;10807:169;;;;;;;;;;;;;:::i;10522:138::-;;;;;;;;;;;;;:::i;7125:126::-;;;;;;;;;;-1:-1:-1;7125:126:0;;;;;:::i;:::-;;:::i;10358:117::-;;;;;;;;;;-1:-1:-1;10358:117:0;;;;;:::i;:::-;;:::i;5839:119::-;;;;;;;;;;-1:-1:-1;5839:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5932:18:0;5905:7;5932:18;;;:9;:18;;;;;;;5839:119;2644:148;;;;;;;;;;;;;:::i;9526:159::-;;;;;;;;;;;;;:::i;4340:50::-;;;;;;;;;;;;;;;;2430:79;;;;;;;;;;-1:-1:-1;2468:7:0;2495:6;2430:79;;-1:-1:-1;;;;;2495:6:0;;;4537:51:1;;4525:2;4510:18;2430:79:0;4391:203:1;4397:52:0;;;;;;;;;;;;;;;;5550:87;;;;;;;;;;-1:-1:-1;5622:7:0;;;;;;;;;;;;-1:-1:-1;;;5622:7:0;;;;5550:87;;9903:105;;;;;;;;;;-1:-1:-1;9903:105:0;;;;;:::i;:::-;;:::i;5966:167::-;;;;;;;;;;-1:-1:-1;5966:167:0;;;;;:::i;:::-;;:::i;10016:164::-;;;;;;;;;;-1:-1:-1;10016:164:0;;;;;:::i;:::-;;:::i;6141:143::-;;;;;;;;;;-1:-1:-1;6141:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6249:18:0;;;6222:7;6249:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6141:143;10668:131;;;;;;;;;;;;;:::i;6292:161::-;6367:4;6384:39;265:10;6407:7;6416:6;6384:8;:39::i;:::-;-1:-1:-1;6441:4:0;6292:161;;;;;:::o;5736:95::-;5789:7;4198:13;4146:1;4198:2;:13;:::i;:::-;4189:22;;:6;:22;:::i;:::-;5809:14;;5736:95;:::o;6461:313::-;6559:4;6576:36;6586:6;6594:9;6605:6;6576:9;:36::i;:::-;6623:121;6632:6;265:10;6654:89;6692:6;6654:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6654:19:0;;;;;;:11;:19;;;;;;;;265:10;6654:33;;;;;;;;;;:37;:89::i;:::-;6623:8;:121::i;:::-;-1:-1:-1;6762:4:0;6461:313;;;;;:::o;10188:162::-;2557:6;;-1:-1:-1;;;;;2557:6:0;265:10;2557:22;2549:67;;;;-1:-1:-1;;;2549:67:0;;;;;;;:::i;:::-;;;;;;;;;10261:6:::1;10256:87;10277:6;:13;10273:1;:17;10256:87;;;10328:5;10310:4;:15;10315:6;10322:1;10315:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;10310:15:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;10310:15:0;:23;;-1:-1:-1;;10310:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10292:3;::::1;::::0;::::1;:::i;:::-;;;;10256:87;;;;10188:162:::0;:::o;10807:169::-;10878:10;;-1:-1:-1;;;;;10878:10:0;265;-1:-1:-1;;;;;10862:26:0;;10854:35;;;;;;10915:4;5905:7;5932:18;;;:9;:18;;;;;;10900:30;;10931:10;;10900:68;;-1:-1:-1;;;;;;10900:68:0;;;;;;;-1:-1:-1;;;;;7505:32:1;;;10900:68:0;;;7487:51:1;7554:18;;;7547:34;7460:18;;10900:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10807:169::o;10522:138::-;10588:10;;-1:-1:-1;;;;;10588:10:0;265;-1:-1:-1;;;;;10572:26:0;;10564:35;;;;;;10645:4;5905:7;5932:18;;;:9;:18;;;;;;10610:42;;:16;:42::i;:::-;10522:138::o;7125:126::-;2557:6;;-1:-1:-1;;;;;2557:6:0;265:10;2557:22;2549:67;;;;-1:-1:-1;;;2549:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7208:26:0;;;::::1;;::::0;;;:18:::1;:26;::::0;;;;:35;;-1:-1:-1;;7208:35:0::1;::::0;::::1;;::::0;;;::::1;::::0;;7125:126::o;10358:117::-;10430:10;;-1:-1:-1;;;;;10430:10:0;265;-1:-1:-1;;;;;10416:24:0;;10408:33;;;;;;10450:9;:17;10358:117::o;2644:148::-;2557:6;;-1:-1:-1;;;;;2557:6:0;265:10;2557:22;2549:67;;;;-1:-1:-1;;;2549:67:0;;;;;;;:::i;:::-;2751:1:::1;2735:6:::0;;2714:40:::1;::::0;-1:-1:-1;;;;;2735:6:0;;::::1;::::0;2714:40:::1;::::0;2751:1;;2714:40:::1;2782:1;2765:19:::0;;-1:-1:-1;;;;;;2765:19:0::1;::::0;;2644:148::o;9526:159::-;2557:6;;-1:-1:-1;;;;;2557:6:0;265:10;2557:22;2549:67;;;;-1:-1:-1;;;2549:67:0;;;;;;;:::i;:::-;4198:13:::1;4146:1;4198:2;:13;:::i;:::-;4189:22;::::0;:6:::1;:22;:::i;:::-;9579:12;:22:::0;4198:13:::1;4146:1;4198:2;:13;:::i;:::-;4189:22;::::0;:6:::1;:22;:::i;:::-;9612:14;:22:::0;9650:27:::1;4198:13;4146:1;4198:2;:13;:::i;:::-;4189:22;::::0;:6:::1;:22;:::i;:::-;9650:27;::::0;1500:25:1;;;1488:2;1473:18;9650:27:0::1;;;;;;;9526:159::o:0;9903:105::-;2557:6;;-1:-1:-1;;;;;2557:6:0;265:10;2557:22;2549:67;;;;-1:-1:-1;;;2549:67:0;;;;;;;:::i;:::-;9976:11:::1;:24:::0;9903:105::o;5966:167::-;6044:4;6061:42;265:10;6085:9;6096:6;6061:9;:42::i;10016:164::-;2557:6;;-1:-1:-1;;;;;2557:6:0;265:10;2557:22;2549:67;;;;-1:-1:-1;;;2549:67:0;;;;;;;:::i;:::-;10090:6:::1;10085:88;10106:5;:12;10102:1;:16;10085:88;;;10157:4;10140;:14;10145:5;10151:1;10145:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;10140:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;10140:14:0;:21;;-1:-1:-1;;10140:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10120:3;::::1;::::0;::::1;:::i;:::-;;;;10085:88;;10668:131:::0;10734:10;;-1:-1:-1;;;;;10734:10:0;265;-1:-1:-1;;;;;10718:26:0;;10710:35;;;;;;10756;10769:21;10756:12;:35::i;6782:335::-;-1:-1:-1;;;;;6875:19:0;;6867:68;;;;-1:-1:-1;;;6867:68:0;;8044:2:1;6867:68:0;;;8026:21:1;8083:2;8063:18;;;8056:30;8122:34;8102:18;;;8095:62;-1:-1:-1;;;8173:18:1;;;8166:34;8217:19;;6867:68:0;7842:400:1;6867:68:0;-1:-1:-1;;;;;6954:21:0;;6946:68;;;;-1:-1:-1;;;6946:68:0;;8449:2:1;6946:68:0;;;8431:21:1;8488:2;8468:18;;;8461:30;8527:34;8507:18;;;8500:62;-1:-1:-1;;;8578:18:1;;;8571:32;8620:19;;6946:68:0;8247:398:1;6946:68:0;-1:-1:-1;;;;;7025:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7077:32;;1500:25:1;;;7077:32:0;;1473:18:1;7077:32:0;;;;;;;6782:335;;;:::o;7259:1768::-;-1:-1:-1;;;;;7347:18:0;;7339:68;;;;-1:-1:-1;;;7339:68:0;;8852:2:1;7339:68:0;;;8834:21:1;8891:2;8871:18;;;8864:30;8930:34;8910:18;;;8903:62;-1:-1:-1;;;8981:18:1;;;8974:35;9026:19;;7339:68:0;8650:401:1;7339:68:0;-1:-1:-1;;;;;7426:16:0;;7418:64;;;;-1:-1:-1;;;7418:64:0;;9258:2:1;7418:64:0;;;9240:21:1;9297:2;9277:18;;;9270:30;9336:34;9316:18;;;9309:62;-1:-1:-1;;;9387:18:1;;;9380:33;9430:19;;7418:64:0;9056:399:1;7418:64:0;7510:1;7501:6;:10;7493:64;;;;-1:-1:-1;;;7493:64:0;;9662:2:1;7493:64:0;;;9644:21:1;9701:2;9681:18;;;9674:30;9740:34;9720:18;;;9713:62;-1:-1:-1;;;9791:18:1;;;9784:39;9840:19;;7493:64:0;9460:405:1;7493:64:0;7568:17;2495:6;;-1:-1:-1;;;;;7602:15:0;;;2495:6;;7602:15;;;;:32;;-1:-1:-1;2468:7:0;2495:6;-1:-1:-1;;;;;7621:13:0;;;2495:6;;7621:13;;7602:32;7598:1067;;;-1:-1:-1;;;;;7660:10:0;;;;;;:4;:10;;;;;;;;7659:11;:24;;;;-1:-1:-1;;;;;;7675:8:0;;;;;;:4;:8;;;;;;;;7674:9;7659:24;7651:33;;;;;;7703:6;;-1:-1:-1;;;7703:6:0;;;;7699:123;;7739:67;7802:3;7739:58;7761:12;;7751:9;;:22;7750:46;;7785:11;;7750:46;;;7775:9;;7750:46;7739:6;;:10;:58::i;:::-;:62;;:67::i;:::-;7727:79;;7699:123;7850:13;;-1:-1:-1;;;;;7842:21:0;;;7850:13;;7842:21;:55;;;;-1:-1:-1;7881:15:0;;-1:-1:-1;;;;;7867:30:0;;;7881:15;;7867:30;;7842:55;:83;;;;-1:-1:-1;;;;;;7903:22:0;;;;;;:18;:22;;;;;;;;7901:24;7842:83;7838:313;;;7965:12;;7955:6;:22;;7947:60;;;;-1:-1:-1;;;7947:60:0;;10072:2:1;7947:60:0;;;10054:21:1;10111:2;10091:18;;;10084:30;10150:27;10130:18;;;10123:55;10195:18;;7947:60:0;9870:349:1;7947:60:0;8060:14;;8050:6;8034:13;8044:2;-1:-1:-1;;;;;5932:18:0;5905:7;5932:18;;;:9;:18;;;;;;;5839:119;8034:13;:22;;;;:::i;:::-;:40;;8026:79;;;;-1:-1:-1;;;8026:79:0;;10556:2:1;8026:79:0;;;10538:21:1;10595:2;10575:18;;;10568:30;10634:28;10614:18;;;10607:56;10680:18;;8026:79:0;10354:350:1;8026:79:0;8124:9;:11;;;:9;:11;;;:::i;:::-;;;;;;7838:313;8216:4;8167:28;5932:18;;;:9;:18;;;;;;8242:6;;-1:-1:-1;;;8242:6:0;;;;8241:7;:32;;;;-1:-1:-1;8260:13:0;;-1:-1:-1;;;;;8252:21:0;;;8260:13;;8252:21;;8241:32;:65;;;;;8298:8;;8277:20;:29;8241:65;8237:417;;;8327:49;8353:6;8344:8;;:15;:31;;8367:8;;10610:16;:42::i;8344:31::-;8360:6;8327:16;:49::i;:::-;8424:21;8467:22;;8464:175;;8514:47;8532:28;:21;8558:1;8532:25;:28::i;:::-;8514:17;:47::i;:::-;8584:35;8597:21;8584:12;:35::i;:::-;8308:346;8237:417;7636:1029;7598:1067;8680:11;;8677:167;;8750:4;8732:24;;;;:9;:24;;;;;;:39;;8761:9;8732:28;:39::i;:::-;8725:4;8707:24;;;;:9;:24;;;;;;;:64;;;;8791:39;;-1:-1:-1;;;;;8791:39:0;;;;;;;8820:9;1500:25:1;;1488:2;1473:18;;1354:177;8791:39:0;;;;;;;;8677:167;-1:-1:-1;;;;;8870:15:0;;;;;;:9;:15;;;;;;:27;;8890:6;8870:19;:27::i;:::-;-1:-1:-1;;;;;8854:15:0;;;;;;:9;:15;;;;;:43;8922:40;8940:21;:6;8951:9;8940:10;:21::i;:::-;-1:-1:-1;;;;;8922:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;8908:13:0;;;;;;;:9;:13;;;;;:54;;;;8978:41;;;8997:21;:6;9008:9;8997:10;:21::i;:::-;8978:41;;1500:25:1;;;1488:2;1473:18;8978:41:0;;;;;;;7328:1699;7259:1768;;;:::o;1322:190::-;1408:7;1444:12;1436:6;;;;1428:29;;;;-1:-1:-1;;;1428:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1468:9:0;1480:5;1484:1;1480;:5;:::i;:::-;1468:17;1322:190;-1:-1:-1;;;;;1322:190:0:o;9035:483::-;4714:6;:13;;-1:-1:-1;;;;4714:13:0;-1:-1:-1;;;4714:13:0;;;9137:16:::1;::::0;;9151:1:::1;9137:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9137:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9137:16:0::1;9113:40;;9182:4;9164;9169:1;9164:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9164:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9208:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;9208:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;9164:7;;9208:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9198:4;9203:1;9198:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9198:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;9273:15:::1;::::0;9241:62:::1;::::0;9258:4:::1;::::0;9273:15:::1;9291:11:::0;9241:8:::1;:62::i;:::-;9314:15;::::0;:196:::1;::::0;-1:-1:-1;;;9314:196:0;;-1:-1:-1;;;;;9314:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;9395:11;;9314:15:::1;::::0;9437:4;;9464::::1;::::0;9484:15:::1;::::0;9314:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4750:6:0;:14;;-1:-1:-1;;;;4750:14:0;;;-1:-1:-1;;;;9035:483:0:o;9693:92::-;9750:10;;:27;;-1:-1:-1;;;;;9750:10:0;;;;:27;;;;;9770:6;;9750:10;:27;:10;:27;9770:6;9750:10;:27;;;;;;;;;;;;;;;;;;;1520:246;1578:7;1602:1;1607;1602:6;1598:47;;-1:-1:-1;1632:1:0;1625:8;;1598:47;1655:9;1667:5;1671:1;1667;:5;:::i;:::-;1655:17;-1:-1:-1;1700:1:0;1691:5;1695:1;1655:17;1691:5;:::i;:::-;:10;1683:56;;;;-1:-1:-1;;;1683:56:0;;12507:2:1;1683:56:0;;;12489:21:1;12546:2;12526:18;;;12519:30;12585:34;12565:18;;;12558:62;-1:-1:-1;;;12636:18:1;;;12629:31;12677:19;;1683:56:0;12305:397:1;1683:56:0;1757:1;1520:246;-1:-1:-1;;;1520:246:0:o;1774:132::-;1832:7;1859:39;1863:1;1866;1859:39;;;;;;;;;;;;;;;;;:3;:39::i;9793:102::-;9855:15;;:32;;-1:-1:-1;;;;;9855:15:0;;;;:32;;;;;9880:6;;9855:15;:32;:15;:32;9880:6;9855:15;:32;;;;;;;;;;;;;;;;;;;991:179;1049:7;;1081:5;1085:1;1081;:5;:::i;:::-;1069:17;;1110:1;1105;:6;;1097:46;;;;-1:-1:-1;;;1097:46:0;;12909:2:1;1097:46:0;;;12891:21:1;12948:2;12928:18;;;12921:30;12987:29;12967:18;;;12960:57;13034:18;;1097:46:0;12707:351:1;1178:136:0;1236:7;1263:43;1267:1;1270;1263:43;;;;;;;;;;;;;;;;;:3;:43::i;1914:189::-;2000:7;2035:12;2028:5;2020:28;;;;-1:-1:-1;;;2020:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2059:9:0;2071:5;2075:1;2071;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703: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;2186:127::-;2247:10;2242:3;2238:20;2235:1;2228:31;2278:4;2275:1;2268:15;2302:4;2299:1;2292:15;2318:1121;2402:6;2433:2;2476;2464:9;2455:7;2451:23;2447:32;2444:52;;;2492:1;2489;2482:12;2444:52;2532:9;2519:23;2561:18;2602:2;2594:6;2591:14;2588:34;;;2618:1;2615;2608:12;2588:34;2656:6;2645:9;2641:22;2631:32;;2701:7;2694:4;2690:2;2686:13;2682:27;2672:55;;2723:1;2720;2713:12;2672:55;2759:2;2746:16;2781:2;2777;2774:10;2771:36;;;2787:18;;:::i;:::-;2833:2;2830:1;2826:10;2865:2;2859:9;2928:2;2924:7;2919:2;2915;2911:11;2907:25;2899:6;2895:38;2983:6;2971:10;2968:22;2963:2;2951:10;2948:18;2945:46;2942:72;;;2994:18;;:::i;:::-;3030:2;3023:22;3080:18;;;3114:15;;;;-1:-1:-1;3156:11:1;;;3152:20;;;3184:19;;;3181:39;;;3216:1;3213;3206:12;3181:39;3240:11;;;;3260:148;3276:6;3271:3;3268:15;3260:148;;;3342:23;3361:3;3342:23;:::i;:::-;3330:36;;3293:12;;;;3386;;;;3260:148;;;3427:6;2318:1121;-1:-1:-1;;;;;;;;2318:1121:1:o;3444:118::-;3530:5;3523:13;3516:21;3509:5;3506:32;3496:60;;3552:1;3549;3542:12;3567:382;3632:6;3640;3693:2;3681:9;3672:7;3668:23;3664:32;3661:52;;;3709:1;3706;3699:12;3661:52;3748:9;3735:23;3767:31;3792:5;3767:31;:::i;:::-;3817:5;-1:-1:-1;3874:2:1;3859:18;;3846:32;3887:30;3846:32;3887:30;:::i;:::-;3936:7;3926:17;;;3567:382;;;;;:::o;3954:180::-;4013:6;4066:2;4054:9;4045:7;4041:23;4037:32;4034:52;;;4082:1;4079;4072:12;4034:52;-1:-1:-1;4105:23:1;;3954:180;-1:-1:-1;3954:180:1:o;4139:247::-;4198:6;4251:2;4239:9;4230:7;4226:23;4222:32;4219:52;;;4267:1;4264;4257:12;4219:52;4306:9;4293:23;4325:31;4350:5;4325:31;:::i;4599:388::-;4667:6;4675;4728:2;4716:9;4707:7;4703:23;4699:32;4696:52;;;4744:1;4741;4734:12;4696:52;4783:9;4770:23;4802:31;4827:5;4802:31;:::i;:::-;4852:5;-1:-1:-1;4909:2:1;4894:18;;4881:32;4922:33;4881:32;4922:33;:::i;4992:127::-;5053:10;5048:3;5044:20;5041:1;5034:31;5084:4;5081:1;5074:15;5108:4;5105:1;5098:15;5124:422;5213:1;5256:5;5213:1;5270:270;5291:7;5281:8;5278:21;5270:270;;;5350:4;5346:1;5342:6;5338:17;5332:4;5329:27;5326:53;;;5359:18;;:::i;:::-;5409:7;5399:8;5395:22;5392:55;;;5429:16;;;;5392:55;5508:22;;;;5468:15;;;;5270:270;;;5274:3;5124:422;;;;;:::o;5551:806::-;5600:5;5630:8;5620:80;;-1:-1:-1;5671:1:1;5685:5;;5620:80;5719:4;5709:76;;-1:-1:-1;5756:1:1;5770:5;;5709:76;5801:4;5819:1;5814:59;;;;5887:1;5882:130;;;;5794:218;;5814:59;5844:1;5835:10;;5858:5;;;5882:130;5919:3;5909:8;5906:17;5903:43;;;5926:18;;:::i;:::-;-1:-1:-1;;5982:1:1;5968:16;;5997:5;;5794:218;;6096:2;6086:8;6083:16;6077:3;6071:4;6068:13;6064:36;6058:2;6048:8;6045:16;6040:2;6034:4;6031:12;6027:35;6024:77;6021:159;;;-1:-1:-1;6133:19:1;;;6165:5;;6021:159;6212:34;6237:8;6231:4;6212:34;:::i;:::-;6282:6;6278:1;6274:6;6270:19;6261:7;6258:32;6255:58;;;6293:18;;:::i;:::-;6331:20;;5551:806;-1:-1:-1;;;5551:806:1:o;6362:140::-;6420:5;6449:47;6490:4;6480:8;6476:19;6470:4;6449:47;:::i;6507:168::-;6580:9;;;6611;;6628:15;;;6622:22;;6608:37;6598:71;;6649:18;;:::i;6680:356::-;6882:2;6864:21;;;6901:18;;;6894:30;6960:34;6955:2;6940:18;;6933:62;7027:2;7012:18;;6680:356::o;7041:127::-;7102:10;7097:3;7093:20;7090:1;7083:31;7133:4;7130:1;7123:15;7157:4;7154:1;7147:15;7173:135;7212:3;7233:17;;;7230:43;;7253:18;;:::i;:::-;-1:-1:-1;7300:1:1;7289:13;;7173:135::o;7592:245::-;7659:6;7712:2;7700:9;7691:7;7687:23;7683:32;7680:52;;;7728:1;7725;7718:12;7680:52;7760:9;7754:16;7779:28;7801:5;7779:28;:::i;10224:125::-;10289:9;;;10310:10;;;10307:36;;;10323:18;;:::i;10709:128::-;10776:9;;;10797:11;;;10794:37;;;10811:18;;:::i;10842:251::-;10912:6;10965:2;10953:9;10944:7;10940:23;10936:32;10933:52;;;10981:1;10978;10971:12;10933:52;11013:9;11007:16;11032:31;11057:5;11032:31;:::i;11098:980::-;11360:4;11408:3;11397:9;11393:19;11439:6;11428:9;11421:25;11465:2;11503:6;11498:2;11487:9;11483:18;11476:34;11546:3;11541:2;11530:9;11526:18;11519:31;11570:6;11605;11599:13;11636:6;11628;11621:22;11674:3;11663:9;11659:19;11652:26;;11713:2;11705:6;11701:15;11687:29;;11734:1;11744:195;11758:6;11755:1;11752:13;11744:195;;;11823:13;;-1:-1:-1;;;;;11819:39:1;11807:52;;11914:15;;;;11879:12;;;;11855:1;11773:9;11744:195;;;-1:-1:-1;;;;;;;11995:32:1;;;;11990:2;11975:18;;11968:60;-1:-1:-1;;;12059:3:1;12044:19;12037:35;11956:3;11098:980;-1:-1:-1;;;11098:980:1:o;12083:217::-;12123:1;12149;12139:132;;12193:10;12188:3;12184:20;12181:1;12174:31;12228:4;12225:1;12218:15;12256:4;12253:1;12246:15;12139:132;-1:-1:-1;12285:9:1;;12083:217::o

Swarm Source

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