ETH Price: $2,520.89 (-0.06%)

Token

Derp Coin (DERP)
 

Overview

Max Total Supply

69,420,420,420,420 DERP

Holders

87

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
52,598,674,350.431763095695553595 DERP

Value
$0.00
0x8b90e7133ac7baff72671ff430f74e3855f2086b
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:
Derp

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

/**
  Telegram: https://t.me/derptoken
  Website: http://derpderp.wtf
  Twitter: https://twitter.com/Derp_erc20
 */

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

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

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

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

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

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

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

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

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

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

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

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

contract Derp is Context, IERC20, Ownable {
    mapping(address => uint256) private _balance;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFeeWallet;
    uint256 private constant MAX = ~uint256(0);
    uint8 private constant _decimals = 18;
    uint256 private constant _totalSupply = 69420420420420 * 10**_decimals;
    uint256 private minSwap = 20826126126 * 10**_decimals; //0.03% from supply
    uint256 private maxSwap = 347102102102 * 10**_decimals; //0.5% from supply
    uint256 public maxTxAmount = maxSwap * 4; //max Tx for first mins after launch

    uint256 private _tax;
    uint256 public buyTax = 2;
    uint256 public sellTax = 2;
    
    uint256 private launchBlock;
    uint256 private blockDelay = 2;

    string private constant _name = "Derp Coin";
    string private constant _symbol = "DERP";

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

    bool private launch = false;

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

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

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

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

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

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

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

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

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

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

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

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender,_msgSender(),_allowances[sender][_msgSender()] - amount);
        return true;
    }

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

    function enableTrading() external onlyOwner {
        launch = true;
        launchBlock = block.number;
    }

    function addExcludedWallet(address wallet) external onlyOwner {
        _isExcludedFromFeeWallet[wallet] = true;
    }

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

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

    function changeTax(uint256 newBuyTax, uint256 newSellTax) external onlyOwner {
        require(newBuyTax <= 10 && newSellTax <= 10, "ERC20: wrong tax value!");
        buyTax = newBuyTax;
        sellTax = newSellTax;
    }
    
    function setMarketingWallet(address _marketingWallet) external onlyOwner {
        marketingWallet = payable(_marketingWallet);
    }
    
    function setSwapAmount(uint256 _min, uint256 _max) external onlyOwner {
        require(_min < _max, "ERC20: wrong swap fee amount value!");
        minSwap = _min;
        maxSwap = _max;
    }

    function _tokenTransfer(address from, address to, uint256 amount) private {
        uint256 taxTokens = (amount * _tax) / 100;
        uint256 transferAmount = amount - taxTokens;

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

        emit Transfer(from, to, transferAmount);
    }

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

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

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

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"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":[{"internalType":"address","name":"wallet","type":"address"}],"name":"addExcludedWallet","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":"buyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyTax","type":"uint256"},{"internalType":"uint256","name":"newSellTax","type":"uint256"}],"name":"changeTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"number","type":"uint256"}],"name":"newBlockDelay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_marketingWallet","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_min","type":"uint256"},{"internalType":"uint256","name":"_max","type":"uint256"}],"name":"setSwapAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526012600a620000149190620007a0565b6404d955772e620000269190620007f1565b6005556012600a620000399190620007a0565b6450d0e5c2566200004b9190620007f1565b60065560046006546200005f9190620007f1565b60075560026009556002600a556002600c556000600f60146101000a81548160ff0219169083151502179055503480156200009957600080fd5b506000620000ac620005fe60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350737a250d5630b4cf539739df2c5dacb4c659f2488d600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200020d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002339190620008a6565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002bd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002e39190620008a6565b6040518363ffffffff1660e01b815260040162000302929190620008e9565b6020604051808303816000875af115801562000322573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003489190620008a6565b600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073267a5fce3e826832e944f11e29e3d8e28622f1b3600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600a620003ed9190620007a0565b653f23337fd344620004009190620007f1565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016004600073267a5fce3e826832e944f11e29e3d8e28622f1b373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200056f620005fe60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a620005ce9190620007a0565b653f23337fd344620005e19190620007f1565b604051620005f0919062000927565b60405180910390a362000944565b600033905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000694578086048111156200066c576200066b62000606565b5b60018516156200067c5780820291505b80810290506200068c8562000635565b94506200064c565b94509492505050565b600082620006af576001905062000782565b81620006bf576000905062000782565b8160018114620006d85760028114620006e35762000719565b600191505062000782565b60ff841115620006f857620006f762000606565b5b8360020a91508482111562000712576200071162000606565b5b5062000782565b5060208310610133831016604e8410600b8410161715620007535782820a9050838111156200074d576200074c62000606565b5b62000782565b62000762848484600162000642565b925090508184048111156200077c576200077b62000606565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620007ad8262000789565b9150620007ba8362000793565b9250620007e97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200069d565b905092915050565b6000620007fe8262000789565b91506200080b8362000789565b92508282026200081b8162000789565b9150828204841483151762000835576200083462000606565b5b5092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200086e8262000841565b9050919050565b620008808162000861565b81146200088c57600080fd5b50565b600081519050620008a08162000875565b92915050565b600060208284031215620008bf57620008be6200083c565b5b6000620008cf848285016200088f565b91505092915050565b620008e38162000861565b82525050565b6000604082019050620009006000830185620008d8565b6200090f6020830184620008d8565b9392505050565b620009218162000789565b82525050565b60006020820190506200093e600083018462000916565b92915050565b61282d80620009546000396000f3fe60806040526004361061014f5760003560e01c806375f0a874116100b6578063a9059cbb1161006f578063a9059cbb14610455578063cc1776d314610492578063dba9d420146104bd578063dd62ed3e146104e6578063ea4a145414610523578063f2fde38b1461054c57610156565b806375f0a874146103695780638a8c523c146103945780638c0b5e22146103ab5780638da5cb5b146103d65780639036ed4d1461040157806395d89b411461042a57610156565b80634f7041a5116101085780634f7041a5146102815780635d098b38146102ac57806370a08231146102d557806370d8c9ec14610312578063715018a61461033b578063751039fc1461035257610156565b806306fdde031461015b578063095ea7b31461018657806318160ddd146101c357806323b872dd146101ee578063313ce5671461022b57806349bd5a5e1461025657610156565b3661015657005b600080fd5b34801561016757600080fd5b50610170610575565b60405161017d9190611b3f565b60405180910390f35b34801561019257600080fd5b506101ad60048036038101906101a89190611bfa565b6105b2565b6040516101ba9190611c55565b60405180910390f35b3480156101cf57600080fd5b506101d86105d0565b6040516101e59190611c7f565b60405180910390f35b3480156101fa57600080fd5b5061021560048036038101906102109190611c9a565b6105f6565b6040516102229190611c55565b60405180910390f35b34801561023757600080fd5b506102406106ae565b60405161024d9190611d09565b60405180910390f35b34801561026257600080fd5b5061026b6106b7565b6040516102789190611d33565b60405180910390f35b34801561028d57600080fd5b506102966106dd565b6040516102a39190611c7f565b60405180910390f35b3480156102b857600080fd5b506102d360048036038101906102ce9190611d4e565b6106e3565b005b3480156102e157600080fd5b506102fc60048036038101906102f79190611d4e565b6107bc565b6040516103099190611c7f565b60405180910390f35b34801561031e57600080fd5b5061033960048036038101906103349190611d7b565b610805565b005b34801561034757600080fd5b506103506108a4565b005b34801561035e57600080fd5b506103676109f7565b005b34801561037557600080fd5b5061037e610ab3565b60405161038b9190611dc9565b60405180910390f35b3480156103a057600080fd5b506103a9610ad9565b005b3480156103b757600080fd5b506103c0610b92565b6040516103cd9190611c7f565b60405180910390f35b3480156103e257600080fd5b506103eb610b98565b6040516103f89190611d33565b60405180910390f35b34801561040d57600080fd5b5061042860048036038101906104239190611de4565b610bc1565b005b34801561043657600080fd5b5061043f610cb9565b60405161044c9190611b3f565b60405180910390f35b34801561046157600080fd5b5061047c60048036038101906104779190611bfa565b610cf6565b6040516104899190611c55565b60405180910390f35b34801561049e57600080fd5b506104a7610d14565b6040516104b49190611c7f565b60405180910390f35b3480156104c957600080fd5b506104e460048036038101906104df9190611d4e565b610d1a565b005b3480156104f257600080fd5b5061050d60048036038101906105089190611e24565b610e0a565b60405161051a9190611c7f565b60405180910390f35b34801561052f57600080fd5b5061054a60048036038101906105459190611de4565b610e91565b005b34801561055857600080fd5b50610573600480360381019061056e9190611d4e565b610f7a565b005b60606040518060400160405280600981526020017f4465727020436f696e0000000000000000000000000000000000000000000000815250905090565b60006105c66105bf61101b565b8484611023565b6001905092915050565b60006012600a6105e09190611fc6565b653f23337fd3446105f19190612011565b905090565b60006106038484846111ec565b6106a38461060f61101b565b84600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061065961101b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461069e9190612053565b611023565b600190509392505050565b60006012905090565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60095481565b6106eb61101b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610778576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161076f906120d3565b60405180910390fd5b80600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61080d61101b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461089a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610891906120d3565b60405180910390fd5b80600c8190555050565b6108ac61101b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610939576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610930906120d3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6109ff61101b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a83906120d3565b60405180910390fd5b6012600a610a9a9190611fc6565b653f23337fd344610aab9190612011565b600781905550565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610ae161101b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b65906120d3565b60405180910390fd5b6001600f60146101000a81548160ff02191690831515021790555043600b81905550565b60075481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610bc961101b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4d906120d3565b60405180910390fd5b600a8211158015610c685750600a8111155b610ca7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9e9061213f565b60405180910390fd5b8160098190555080600a819055505050565b60606040518060400160405280600481526020017f4445525000000000000000000000000000000000000000000000000000000000815250905090565b6000610d0a610d0361101b565b84846111ec565b6001905092915050565b600a5481565b610d2261101b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610daf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da6906120d3565b60405180910390fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610e9961101b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1d906120d3565b60405180910390fd5b808210610f68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5f906121d1565b60405180910390fd5b81600581905550806006819055505050565b610f8261101b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461100f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611006906120d3565b60405180910390fd5b611018816114da565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611092576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108990612263565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611101576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f8906122f5565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111df9190611c7f565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361125b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125290612387565b60405180910390fd5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806112fc5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561130e5760006008819055506114ca565b600f60149054906101000a900460ff1661135d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611354906123f3565b60405180910390fd5b6007548111156113a2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113999061245f565b60405180910390fd5b600c54600b546113b2919061247f565b4310156113c65760636008819055506114c9565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611429576009546008819055506114c8565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114be576000611489306107bc565b90506005548111156114af576006548111156114a55760065490505b6114ae81611606565b5b600a54600881905550506114c7565b60006008819055505b5b5b5b6114d583838361186b565b505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611549576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154090612525565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600267ffffffffffffffff81111561162357611622612545565b5b6040519080825280602002602001820160405280156116515781602001602082028036833780820191505090505b509050308160008151811061166957611668612574565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611710573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061173491906125b8565b8160018151811061174857611747612574565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506117af30600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611023565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac94783600084600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b815260040161183595949392919061273d565b600060405180830381600087803b15801561184f57600080fd5b505af1158015611863573d6000803e3d6000fd5b505050505050565b600060646008548361187d9190612011565b61188791906127c6565b9050600081836118979190612053565b905082600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118e49190612053565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611972919061247f565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a00919061247f565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611aa09190611c7f565b60405180910390a35050505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611ae9578082015181840152602081019050611ace565b60008484015250505050565b6000601f19601f8301169050919050565b6000611b1182611aaf565b611b1b8185611aba565b9350611b2b818560208601611acb565b611b3481611af5565b840191505092915050565b60006020820190508181036000830152611b598184611b06565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611b9182611b66565b9050919050565b611ba181611b86565b8114611bac57600080fd5b50565b600081359050611bbe81611b98565b92915050565b6000819050919050565b611bd781611bc4565b8114611be257600080fd5b50565b600081359050611bf481611bce565b92915050565b60008060408385031215611c1157611c10611b61565b5b6000611c1f85828601611baf565b9250506020611c3085828601611be5565b9150509250929050565b60008115159050919050565b611c4f81611c3a565b82525050565b6000602082019050611c6a6000830184611c46565b92915050565b611c7981611bc4565b82525050565b6000602082019050611c946000830184611c70565b92915050565b600080600060608486031215611cb357611cb2611b61565b5b6000611cc186828701611baf565b9350506020611cd286828701611baf565b9250506040611ce386828701611be5565b9150509250925092565b600060ff82169050919050565b611d0381611ced565b82525050565b6000602082019050611d1e6000830184611cfa565b92915050565b611d2d81611b86565b82525050565b6000602082019050611d486000830184611d24565b92915050565b600060208284031215611d6457611d63611b61565b5b6000611d7284828501611baf565b91505092915050565b600060208284031215611d9157611d90611b61565b5b6000611d9f84828501611be5565b91505092915050565b6000611db382611b66565b9050919050565b611dc381611da8565b82525050565b6000602082019050611dde6000830184611dba565b92915050565b60008060408385031215611dfb57611dfa611b61565b5b6000611e0985828601611be5565b9250506020611e1a85828601611be5565b9150509250929050565b60008060408385031215611e3b57611e3a611b61565b5b6000611e4985828601611baf565b9250506020611e5a85828601611baf565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115611eea57808604811115611ec657611ec5611e64565b5b6001851615611ed55780820291505b8081029050611ee385611e93565b9450611eaa565b94509492505050565b600082611f035760019050611fbf565b81611f115760009050611fbf565b8160018114611f275760028114611f3157611f60565b6001915050611fbf565b60ff841115611f4357611f42611e64565b5b8360020a915084821115611f5a57611f59611e64565b5b50611fbf565b5060208310610133831016604e8410600b8410161715611f955782820a905083811115611f9057611f8f611e64565b5b611fbf565b611fa28484846001611ea0565b92509050818404811115611fb957611fb8611e64565b5b81810290505b9392505050565b6000611fd182611bc4565b9150611fdc83611ced565b92506120097fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611ef3565b905092915050565b600061201c82611bc4565b915061202783611bc4565b925082820261203581611bc4565b9150828204841483151761204c5761204b611e64565b5b5092915050565b600061205e82611bc4565b915061206983611bc4565b925082820390508181111561208157612080611e64565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006120bd602083611aba565b91506120c882612087565b602082019050919050565b600060208201905081810360008301526120ec816120b0565b9050919050565b7f45524332303a2077726f6e67207461782076616c756521000000000000000000600082015250565b6000612129601783611aba565b9150612134826120f3565b602082019050919050565b600060208201905081810360008301526121588161211c565b9050919050565b7f45524332303a2077726f6e6720737761702066656520616d6f756e742076616c60008201527f7565210000000000000000000000000000000000000000000000000000000000602082015250565b60006121bb602383611aba565b91506121c68261215f565b604082019050919050565b600060208201905081810360008301526121ea816121ae565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061224d602483611aba565b9150612258826121f1565b604082019050919050565b6000602082019050818103600083015261227c81612240565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006122df602283611aba565b91506122ea82612283565b604082019050919050565b6000602082019050818103600083015261230e816122d2565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612371602583611aba565b915061237c82612315565b604082019050919050565b600060208201905081810360008301526123a081612364565b9050919050565b7f576169742074696c6c206c61756e636800000000000000000000000000000000600082015250565b60006123dd601083611aba565b91506123e8826123a7565b602082019050919050565b6000602082019050818103600083015261240c816123d0565b9050919050565b7f4d6178205478416d6f756e74203225206174206c61756e636800000000000000600082015250565b6000612449601983611aba565b915061245482612413565b602082019050919050565b600060208201905081810360008301526124788161243c565b9050919050565b600061248a82611bc4565b915061249583611bc4565b92508282019050808211156124ad576124ac611e64565b5b92915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061250f602683611aba565b915061251a826124b3565b604082019050919050565b6000602082019050818103600083015261253e81612502565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506125b281611b98565b92915050565b6000602082840312156125ce576125cd611b61565b5b60006125dc848285016125a3565b91505092915050565b6000819050919050565b6000819050919050565b600061261461260f61260a846125e5565b6125ef565b611bc4565b9050919050565b612624816125f9565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61265f81611b86565b82525050565b60006126718383612656565b60208301905092915050565b6000602082019050919050565b60006126958261262a565b61269f8185612635565b93506126aa83612646565b8060005b838110156126db5781516126c28882612665565b97506126cd8361267d565b9250506001810190506126ae565b5085935050505092915050565b60006127036126fe6126f984611b66565b6125ef565b611b66565b9050919050565b6000612715826126e8565b9050919050565b60006127278261270a565b9050919050565b6127378161271c565b82525050565b600060a0820190506127526000830188611c70565b61275f602083018761261b565b8181036040830152612771818661268a565b9050612780606083018561272e565b61278d6080830184611c70565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006127d182611bc4565b91506127dc83611bc4565b9250826127ec576127eb612797565b5b82820490509291505056fea26469706673582212207da7a62216bcec5621cac469c96216f48dd2547dac37031179e4b0b967cf9f1864736f6c63430008120033

Deployed Bytecode

0x60806040526004361061014f5760003560e01c806375f0a874116100b6578063a9059cbb1161006f578063a9059cbb14610455578063cc1776d314610492578063dba9d420146104bd578063dd62ed3e146104e6578063ea4a145414610523578063f2fde38b1461054c57610156565b806375f0a874146103695780638a8c523c146103945780638c0b5e22146103ab5780638da5cb5b146103d65780639036ed4d1461040157806395d89b411461042a57610156565b80634f7041a5116101085780634f7041a5146102815780635d098b38146102ac57806370a08231146102d557806370d8c9ec14610312578063715018a61461033b578063751039fc1461035257610156565b806306fdde031461015b578063095ea7b31461018657806318160ddd146101c357806323b872dd146101ee578063313ce5671461022b57806349bd5a5e1461025657610156565b3661015657005b600080fd5b34801561016757600080fd5b50610170610575565b60405161017d9190611b3f565b60405180910390f35b34801561019257600080fd5b506101ad60048036038101906101a89190611bfa565b6105b2565b6040516101ba9190611c55565b60405180910390f35b3480156101cf57600080fd5b506101d86105d0565b6040516101e59190611c7f565b60405180910390f35b3480156101fa57600080fd5b5061021560048036038101906102109190611c9a565b6105f6565b6040516102229190611c55565b60405180910390f35b34801561023757600080fd5b506102406106ae565b60405161024d9190611d09565b60405180910390f35b34801561026257600080fd5b5061026b6106b7565b6040516102789190611d33565b60405180910390f35b34801561028d57600080fd5b506102966106dd565b6040516102a39190611c7f565b60405180910390f35b3480156102b857600080fd5b506102d360048036038101906102ce9190611d4e565b6106e3565b005b3480156102e157600080fd5b506102fc60048036038101906102f79190611d4e565b6107bc565b6040516103099190611c7f565b60405180910390f35b34801561031e57600080fd5b5061033960048036038101906103349190611d7b565b610805565b005b34801561034757600080fd5b506103506108a4565b005b34801561035e57600080fd5b506103676109f7565b005b34801561037557600080fd5b5061037e610ab3565b60405161038b9190611dc9565b60405180910390f35b3480156103a057600080fd5b506103a9610ad9565b005b3480156103b757600080fd5b506103c0610b92565b6040516103cd9190611c7f565b60405180910390f35b3480156103e257600080fd5b506103eb610b98565b6040516103f89190611d33565b60405180910390f35b34801561040d57600080fd5b5061042860048036038101906104239190611de4565b610bc1565b005b34801561043657600080fd5b5061043f610cb9565b60405161044c9190611b3f565b60405180910390f35b34801561046157600080fd5b5061047c60048036038101906104779190611bfa565b610cf6565b6040516104899190611c55565b60405180910390f35b34801561049e57600080fd5b506104a7610d14565b6040516104b49190611c7f565b60405180910390f35b3480156104c957600080fd5b506104e460048036038101906104df9190611d4e565b610d1a565b005b3480156104f257600080fd5b5061050d60048036038101906105089190611e24565b610e0a565b60405161051a9190611c7f565b60405180910390f35b34801561052f57600080fd5b5061054a60048036038101906105459190611de4565b610e91565b005b34801561055857600080fd5b50610573600480360381019061056e9190611d4e565b610f7a565b005b60606040518060400160405280600981526020017f4465727020436f696e0000000000000000000000000000000000000000000000815250905090565b60006105c66105bf61101b565b8484611023565b6001905092915050565b60006012600a6105e09190611fc6565b653f23337fd3446105f19190612011565b905090565b60006106038484846111ec565b6106a38461060f61101b565b84600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061065961101b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461069e9190612053565b611023565b600190509392505050565b60006012905090565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60095481565b6106eb61101b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610778576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161076f906120d3565b60405180910390fd5b80600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61080d61101b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461089a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610891906120d3565b60405180910390fd5b80600c8190555050565b6108ac61101b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610939576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610930906120d3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6109ff61101b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a83906120d3565b60405180910390fd5b6012600a610a9a9190611fc6565b653f23337fd344610aab9190612011565b600781905550565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610ae161101b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b65906120d3565b60405180910390fd5b6001600f60146101000a81548160ff02191690831515021790555043600b81905550565b60075481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610bc961101b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4d906120d3565b60405180910390fd5b600a8211158015610c685750600a8111155b610ca7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9e9061213f565b60405180910390fd5b8160098190555080600a819055505050565b60606040518060400160405280600481526020017f4445525000000000000000000000000000000000000000000000000000000000815250905090565b6000610d0a610d0361101b565b84846111ec565b6001905092915050565b600a5481565b610d2261101b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610daf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da6906120d3565b60405180910390fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610e9961101b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1d906120d3565b60405180910390fd5b808210610f68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5f906121d1565b60405180910390fd5b81600581905550806006819055505050565b610f8261101b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461100f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611006906120d3565b60405180910390fd5b611018816114da565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611092576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108990612263565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611101576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f8906122f5565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111df9190611c7f565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361125b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125290612387565b60405180910390fd5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806112fc5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561130e5760006008819055506114ca565b600f60149054906101000a900460ff1661135d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611354906123f3565b60405180910390fd5b6007548111156113a2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113999061245f565b60405180910390fd5b600c54600b546113b2919061247f565b4310156113c65760636008819055506114c9565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611429576009546008819055506114c8565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114be576000611489306107bc565b90506005548111156114af576006548111156114a55760065490505b6114ae81611606565b5b600a54600881905550506114c7565b60006008819055505b5b5b5b6114d583838361186b565b505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611549576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154090612525565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600267ffffffffffffffff81111561162357611622612545565b5b6040519080825280602002602001820160405280156116515781602001602082028036833780820191505090505b509050308160008151811061166957611668612574565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611710573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061173491906125b8565b8160018151811061174857611747612574565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506117af30600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611023565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac94783600084600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b815260040161183595949392919061273d565b600060405180830381600087803b15801561184f57600080fd5b505af1158015611863573d6000803e3d6000fd5b505050505050565b600060646008548361187d9190612011565b61188791906127c6565b9050600081836118979190612053565b905082600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118e49190612053565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611972919061247f565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a00919061247f565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611aa09190611c7f565b60405180910390a35050505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611ae9578082015181840152602081019050611ace565b60008484015250505050565b6000601f19601f8301169050919050565b6000611b1182611aaf565b611b1b8185611aba565b9350611b2b818560208601611acb565b611b3481611af5565b840191505092915050565b60006020820190508181036000830152611b598184611b06565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611b9182611b66565b9050919050565b611ba181611b86565b8114611bac57600080fd5b50565b600081359050611bbe81611b98565b92915050565b6000819050919050565b611bd781611bc4565b8114611be257600080fd5b50565b600081359050611bf481611bce565b92915050565b60008060408385031215611c1157611c10611b61565b5b6000611c1f85828601611baf565b9250506020611c3085828601611be5565b9150509250929050565b60008115159050919050565b611c4f81611c3a565b82525050565b6000602082019050611c6a6000830184611c46565b92915050565b611c7981611bc4565b82525050565b6000602082019050611c946000830184611c70565b92915050565b600080600060608486031215611cb357611cb2611b61565b5b6000611cc186828701611baf565b9350506020611cd286828701611baf565b9250506040611ce386828701611be5565b9150509250925092565b600060ff82169050919050565b611d0381611ced565b82525050565b6000602082019050611d1e6000830184611cfa565b92915050565b611d2d81611b86565b82525050565b6000602082019050611d486000830184611d24565b92915050565b600060208284031215611d6457611d63611b61565b5b6000611d7284828501611baf565b91505092915050565b600060208284031215611d9157611d90611b61565b5b6000611d9f84828501611be5565b91505092915050565b6000611db382611b66565b9050919050565b611dc381611da8565b82525050565b6000602082019050611dde6000830184611dba565b92915050565b60008060408385031215611dfb57611dfa611b61565b5b6000611e0985828601611be5565b9250506020611e1a85828601611be5565b9150509250929050565b60008060408385031215611e3b57611e3a611b61565b5b6000611e4985828601611baf565b9250506020611e5a85828601611baf565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115611eea57808604811115611ec657611ec5611e64565b5b6001851615611ed55780820291505b8081029050611ee385611e93565b9450611eaa565b94509492505050565b600082611f035760019050611fbf565b81611f115760009050611fbf565b8160018114611f275760028114611f3157611f60565b6001915050611fbf565b60ff841115611f4357611f42611e64565b5b8360020a915084821115611f5a57611f59611e64565b5b50611fbf565b5060208310610133831016604e8410600b8410161715611f955782820a905083811115611f9057611f8f611e64565b5b611fbf565b611fa28484846001611ea0565b92509050818404811115611fb957611fb8611e64565b5b81810290505b9392505050565b6000611fd182611bc4565b9150611fdc83611ced565b92506120097fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611ef3565b905092915050565b600061201c82611bc4565b915061202783611bc4565b925082820261203581611bc4565b9150828204841483151761204c5761204b611e64565b5b5092915050565b600061205e82611bc4565b915061206983611bc4565b925082820390508181111561208157612080611e64565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006120bd602083611aba565b91506120c882612087565b602082019050919050565b600060208201905081810360008301526120ec816120b0565b9050919050565b7f45524332303a2077726f6e67207461782076616c756521000000000000000000600082015250565b6000612129601783611aba565b9150612134826120f3565b602082019050919050565b600060208201905081810360008301526121588161211c565b9050919050565b7f45524332303a2077726f6e6720737761702066656520616d6f756e742076616c60008201527f7565210000000000000000000000000000000000000000000000000000000000602082015250565b60006121bb602383611aba565b91506121c68261215f565b604082019050919050565b600060208201905081810360008301526121ea816121ae565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061224d602483611aba565b9150612258826121f1565b604082019050919050565b6000602082019050818103600083015261227c81612240565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006122df602283611aba565b91506122ea82612283565b604082019050919050565b6000602082019050818103600083015261230e816122d2565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612371602583611aba565b915061237c82612315565b604082019050919050565b600060208201905081810360008301526123a081612364565b9050919050565b7f576169742074696c6c206c61756e636800000000000000000000000000000000600082015250565b60006123dd601083611aba565b91506123e8826123a7565b602082019050919050565b6000602082019050818103600083015261240c816123d0565b9050919050565b7f4d6178205478416d6f756e74203225206174206c61756e636800000000000000600082015250565b6000612449601983611aba565b915061245482612413565b602082019050919050565b600060208201905081810360008301526124788161243c565b9050919050565b600061248a82611bc4565b915061249583611bc4565b92508282019050808211156124ad576124ac611e64565b5b92915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061250f602683611aba565b915061251a826124b3565b604082019050919050565b6000602082019050818103600083015261253e81612502565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506125b281611b98565b92915050565b6000602082840312156125ce576125cd611b61565b5b60006125dc848285016125a3565b91505092915050565b6000819050919050565b6000819050919050565b600061261461260f61260a846125e5565b6125ef565b611bc4565b9050919050565b612624816125f9565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61265f81611b86565b82525050565b60006126718383612656565b60208301905092915050565b6000602082019050919050565b60006126958261262a565b61269f8185612635565b93506126aa83612646565b8060005b838110156126db5781516126c28882612665565b97506126cd8361267d565b9250506001810190506126ae565b5085935050505092915050565b60006127036126fe6126f984611b66565b6125ef565b611b66565b9050919050565b6000612715826126e8565b9050919050565b60006127278261270a565b9050919050565b6127378161271c565b82525050565b600060a0820190506127526000830188611c70565b61275f602083018761261b565b8181036040830152612771818661268a565b9050612780606083018561272e565b61278d6080830184611c70565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006127d182611bc4565b91506127dc83611bc4565b9250826127ec576127eb612797565b5b82820490509291505056fea26469706673582212207da7a62216bcec5621cac469c96216f48dd2547dac37031179e4b0b967cf9f1864736f6c63430008120033

Deployed Bytecode Sourcemap

2624:6458:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4348:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5182:160;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4625:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5350:264;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4534:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3597:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3305:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6653:135;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4733:118;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6310:96;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1953:148;;;;;;;;;;;;;:::i;:::-;;6214:88;;;;;;;;;;;;;:::i;:::-;;3632:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5965:113;;;;;;;;;;;;;:::i;:::-;;3192:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1385:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6414:227;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4439:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4859:165;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3337:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6086:120;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5032:142;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6800:198;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1599:109;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4348:83;4385:13;4418:5;;;;;;;;;;;;;;;;;4411:12;;4348:83;:::o;5182:160::-;5257:4;5273:39;5282:12;:10;:12::i;:::-;5296:7;5305:6;5273:8;:39::i;:::-;5330:4;5323:11;;5182:160;;;;:::o;4625:100::-;4678:7;2946:2;3012;:13;;;;:::i;:::-;2995:14;:30;;;;:::i;:::-;4698:19;;4625:100;:::o;5350:264::-;5448:4;5465:36;5475:6;5483:9;5494:6;5465:9;:36::i;:::-;5512:72;5521:6;5528:12;:10;:12::i;:::-;5577:6;5541:11;:19;5553:6;5541:19;;;;;;;;;;;;;;;:33;5561:12;:10;:12::i;:::-;5541:33;;;;;;;;;;;;;;;;:42;;;;:::i;:::-;5512:8;:72::i;:::-;5602:4;5595:11;;5350:264;;;;;:::o;4534:83::-;4575:5;2946:2;4593:16;;4534:83;:::o;3597:28::-;;;;;;;;;;;;;:::o;3305:25::-;;;;:::o;6653:135::-;1522:12;:10;:12::i;:::-;1512:22;;:6;;;;;;;;;;:22;;;1504:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6763:16:::1;6737:15;;:43;;;;;;;;;;;;;;;;;;6653:135:::0;:::o;4733:118::-;4799:7;4826:8;:17;4835:7;4826:17;;;;;;;;;;;;;;;;4819:24;;4733:118;;;:::o;6310:96::-;1522:12;:10;:12::i;:::-;1512:22;;:6;;;;;;;;;;:22;;;1504:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6392:6:::1;6379:10;:19;;;;6310:96:::0;:::o;1953:148::-;1522:12;:10;:12::i;:::-;1512:22;;:6;;;;;;;;;;:22;;;1504:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2060:1:::1;2023:40;;2044:6;::::0;::::1;;;;;;;;2023:40;;;;;;;;;;;;2091:1;2074:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;1953:148::o:0;6214:88::-;1522:12;:10;:12::i;:::-;1512:22;;:6;;;;;;;;;;:22;;;1504:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2946:2:::1;3012;:13;;;;:::i;:::-;2995:14;:30;;;;:::i;:::-;6268:11;:26;;;;6214:88::o:0;3632:38::-;;;;;;;;;;;;;:::o;5965:113::-;1522:12;:10;:12::i;:::-;1512:22;;:6;;;;;;;;;;:22;;;1504:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6029:4:::1;6020:6;;:13;;;;;;;;;;;;;;;;;;6058:12;6044:11;:26;;;;5965:113::o:0;3192:40::-;;;;:::o;1385:79::-;1423:7;1450:6;;;;;;;;;;;1443:13;;1385:79;:::o;6414:227::-;1522:12;:10;:12::i;:::-;1512:22;;:6;;;;;;;;;;:22;;;1504:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6523:2:::1;6510:9;:15;;:35;;;;;6543:2;6529:10;:16;;6510:35;6502:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;6593:9;6584:6;:18;;;;6623:10;6613:7;:20;;;;6414:227:::0;;:::o;4439:87::-;4478:13;4511:7;;;;;;;;;;;;;;;;;4504:14;;4439:87;:::o;4859:165::-;4936:4;4952:42;4962:12;:10;:12::i;:::-;4976:9;4987:6;4952:9;:42::i;:::-;5012:4;5005:11;;4859:165;;;;:::o;3337:26::-;;;;:::o;6086:120::-;1522:12;:10;:12::i;:::-;1512:22;;:6;;;;;;;;;;:22;;;1504:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6194:4:::1;6159:24;:32;6184:6;6159:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;6086:120:::0;:::o;5032:142::-;5113:7;5139:11;:18;5151:5;5139:18;;;;;;;;;;;;;;;:27;5158:7;5139:27;;;;;;;;;;;;;;;;5132:34;;5032:142;;;;:::o;6800:198::-;1522:12;:10;:12::i;:::-;1512:22;;:6;;;;;;;;;;:22;;;1504:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6896:4:::1;6889;:11;6881:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;6961:4;6951:7;:14;;;;6986:4;6976:7;:14;;;;6800:198:::0;;:::o;1599:109::-;1522:12;:10;:12::i;:::-;1512:22;;:6;;;;;;;;;;:22;;;1504:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1672:28:::1;1691:8;1672:18;:28::i;:::-;1599:109:::0;:::o;223:98::-;276:7;303:10;296:17;;223:98;:::o;5622:335::-;5732:1;5715:19;;:5;:19;;;5707:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5813:1;5794:21;;:7;:21;;;5786:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5895:6;5865:11;:18;5877:5;5865:18;;;;;;;;;;;;;;;:27;5884:7;5865:27;;;;;;;;;;;;;;;:36;;;;5933:7;5917:32;;5926:5;5917:32;;;5942:6;5917:32;;;;;;:::i;:::-;;;;;;;;5622:335;;;:::o;7434:1129::-;7538:1;7522:18;;:4;:18;;;7514:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7599:24;:30;7624:4;7599:30;;;;;;;;;;;;;;;;;;;;;;;;;:62;;;;7633:24;:28;7658:2;7633:28;;;;;;;;;;;;;;;;;;;;;;;;;7599:62;7595:918;;;7685:1;7678:4;:8;;;;7595:918;;;7727:6;;;;;;;;;;;7719:35;;;;;;;;;;;;:::i;:::-;;;;;;;;;7787:11;;7777:6;:21;;7769:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;7876:10;;7862:11;;:24;;;;:::i;:::-;7847:12;:39;7843:659;;;7894:2;7889:4;:7;;;;7843:659;;;7935:13;;;;;;;;;;;7927:21;;:4;:21;;;7923:564;;7980:6;;7973:4;:13;;;;7923:564;;;8022:13;;;;;;;;;;;8016:19;;:2;:19;;;8012:475;;8060:20;8083:24;8101:4;8083:9;:24::i;:::-;8060:47;;8149:7;;8134:12;:22;8130:244;;;8204:7;;8189:12;:22;8185:109;;;8259:7;;8244:22;;8185:109;8320:30;8337:12;8320:16;:30::i;:::-;8130:244;8403:7;;8396:4;:14;;;;8037:393;8012:475;;;8466:1;8459:4;:8;;;;8012:475;7923:564;7843:659;7595:918;8523:32;8538:4;8544:2;8548:6;8523:14;:32::i;:::-;7434:1129;;;:::o;1716:229::-;1810:1;1790:22;;:8;:22;;;1782:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;1900:8;1871:38;;1892:6;;;;;;;;;;1871:38;;;;;;;;;;;;1929:8;1920:6;;:17;;;;;;;;;;;;;;;;;;1716:229;:::o;8571:473::-;8637:21;8675:1;8661:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8637:40;;8706:4;8688;8693:1;8688:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;8732:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8722:4;8727:1;8722:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;8765:62;8782:4;8797:15;;;;;;;;;;;8815:11;8765:8;:62::i;:::-;8838:15;;;;;;;;;;;:66;;;8919:11;8945:1;8961:4;8980:15;;;;;;;;;;;9010;8838:198;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8626:418;8571:473;:::o;7006:420::-;7091:17;7129:3;7121:4;;7112:6;:13;;;;:::i;:::-;7111:21;;;;:::i;:::-;7091:41;;7143:22;7177:9;7168:6;:18;;;;:::i;:::-;7143:43;;7233:6;7216:8;:14;7225:4;7216:14;;;;;;;;;;;;;;;;:23;;;;:::i;:::-;7199:8;:14;7208:4;7199:14;;;;;;;;;;;;;;;:40;;;;7280:14;7265:8;:12;7274:2;7265:12;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;7250:8;:12;7259:2;7250:12;;;;;;;;;;;;;;;:44;;;;7357:9;7331:8;:23;7348:4;7331:23;;;;;;;;;;;;;;;;:35;;;;:::i;:::-;7305:8;:23;7322:4;7305:23;;;;;;;;;;;;;;;:61;;;;7399:2;7384:34;;7393:4;7384:34;;;7403:14;7384:34;;;;;;:::i;:::-;;;;;;;;7080:346;;7006:420;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:118::-;4940:24;4958:5;4940:24;:::i;:::-;4935:3;4928:37;4853:118;;:::o;4977:222::-;5070:4;5108:2;5097:9;5093:18;5085:26;;5121:71;5189:1;5178:9;5174:17;5165:6;5121:71;:::i;:::-;4977:222;;;;:::o;5205:329::-;5264:6;5313:2;5301:9;5292:7;5288:23;5284:32;5281:119;;;5319:79;;:::i;:::-;5281:119;5439:1;5464:53;5509:7;5500:6;5489:9;5485:22;5464:53;:::i;:::-;5454:63;;5410:117;5205:329;;;;:::o;5540:::-;5599:6;5648:2;5636:9;5627:7;5623:23;5619:32;5616:119;;;5654:79;;:::i;:::-;5616:119;5774:1;5799:53;5844:7;5835:6;5824:9;5820:22;5799:53;:::i;:::-;5789:63;;5745:117;5540:329;;;;:::o;5875:104::-;5920:7;5949:24;5967:5;5949:24;:::i;:::-;5938:35;;5875:104;;;:::o;5985:142::-;6088:32;6114:5;6088:32;:::i;:::-;6083:3;6076:45;5985:142;;:::o;6133:254::-;6242:4;6280:2;6269:9;6265:18;6257:26;;6293:87;6377:1;6366:9;6362:17;6353:6;6293:87;:::i;:::-;6133:254;;;;:::o;6393:474::-;6461:6;6469;6518:2;6506:9;6497:7;6493:23;6489:32;6486:119;;;6524:79;;:::i;:::-;6486:119;6644:1;6669:53;6714:7;6705:6;6694:9;6690:22;6669:53;:::i;:::-;6659:63;;6615:117;6771:2;6797:53;6842:7;6833:6;6822:9;6818:22;6797:53;:::i;:::-;6787:63;;6742:118;6393:474;;;;;:::o;6873:::-;6941:6;6949;6998:2;6986:9;6977:7;6973:23;6969:32;6966:119;;;7004:79;;:::i;:::-;6966:119;7124:1;7149:53;7194:7;7185:6;7174:9;7170:22;7149:53;:::i;:::-;7139:63;;7095:117;7251:2;7277:53;7322:7;7313:6;7302:9;7298:22;7277:53;:::i;:::-;7267:63;;7222:118;6873:474;;;;;:::o;7353:180::-;7401:77;7398:1;7391:88;7498:4;7495:1;7488:15;7522:4;7519:1;7512:15;7539:102;7581:8;7628:5;7625:1;7621:13;7600:34;;7539:102;;;:::o;7647:848::-;7708:5;7715:4;7739:6;7730:15;;7763:5;7754:14;;7777:712;7798:1;7788:8;7785:15;7777:712;;;7893:4;7888:3;7884:14;7878:4;7875:24;7872:50;;;7902:18;;:::i;:::-;7872:50;7952:1;7942:8;7938:16;7935:451;;;8367:4;8360:5;8356:16;8347:25;;7935:451;8417:4;8411;8407:15;8399:23;;8447:32;8470:8;8447:32;:::i;:::-;8435:44;;7777:712;;;7647:848;;;;;;;:::o;8501:1073::-;8555:5;8746:8;8736:40;;8767:1;8758:10;;8769:5;;8736:40;8795:4;8785:36;;8812:1;8803:10;;8814:5;;8785:36;8881:4;8929:1;8924:27;;;;8965:1;8960:191;;;;8874:277;;8924:27;8942:1;8933:10;;8944:5;;;8960:191;9005:3;8995:8;8992:17;8989:43;;;9012:18;;:::i;:::-;8989:43;9061:8;9058:1;9054:16;9045:25;;9096:3;9089:5;9086:14;9083:40;;;9103:18;;:::i;:::-;9083:40;9136:5;;;8874:277;;9260:2;9250:8;9247:16;9241:3;9235:4;9232:13;9228:36;9210:2;9200:8;9197:16;9192:2;9186:4;9183:12;9179:35;9163:111;9160:246;;;9316:8;9310:4;9306:19;9297:28;;9351:3;9344:5;9341:14;9338:40;;;9358:18;;:::i;:::-;9338:40;9391:5;;9160:246;9431:42;9469:3;9459:8;9453:4;9450:1;9431:42;:::i;:::-;9416:57;;;;9505:4;9500:3;9496:14;9489:5;9486:25;9483:51;;;9514:18;;:::i;:::-;9483:51;9563:4;9556:5;9552:16;9543:25;;8501:1073;;;;;;:::o;9580:281::-;9638:5;9662:23;9680:4;9662:23;:::i;:::-;9654:31;;9706:25;9722:8;9706:25;:::i;:::-;9694:37;;9750:104;9787:66;9777:8;9771:4;9750:104;:::i;:::-;9741:113;;9580:281;;;;:::o;9867:410::-;9907:7;9930:20;9948:1;9930:20;:::i;:::-;9925:25;;9964:20;9982:1;9964:20;:::i;:::-;9959:25;;10019:1;10016;10012:9;10041:30;10059:11;10041:30;:::i;:::-;10030:41;;10220:1;10211:7;10207:15;10204:1;10201:22;10181:1;10174:9;10154:83;10131:139;;10250:18;;:::i;:::-;10131:139;9915:362;9867:410;;;;:::o;10283:194::-;10323:4;10343:20;10361:1;10343:20;:::i;:::-;10338:25;;10377:20;10395:1;10377:20;:::i;:::-;10372:25;;10421:1;10418;10414:9;10406:17;;10445:1;10439:4;10436:11;10433:37;;;10450:18;;:::i;:::-;10433:37;10283:194;;;;:::o;10483:182::-;10623:34;10619:1;10611:6;10607:14;10600:58;10483:182;:::o;10671:366::-;10813:3;10834:67;10898:2;10893:3;10834:67;:::i;:::-;10827:74;;10910:93;10999:3;10910:93;:::i;:::-;11028:2;11023:3;11019:12;11012:19;;10671:366;;;:::o;11043:419::-;11209:4;11247:2;11236:9;11232:18;11224:26;;11296:9;11290:4;11286:20;11282:1;11271:9;11267:17;11260:47;11324:131;11450:4;11324:131;:::i;:::-;11316:139;;11043:419;;;:::o;11468:173::-;11608:25;11604:1;11596:6;11592:14;11585:49;11468:173;:::o;11647:366::-;11789:3;11810:67;11874:2;11869:3;11810:67;:::i;:::-;11803:74;;11886:93;11975:3;11886:93;:::i;:::-;12004:2;11999:3;11995:12;11988:19;;11647:366;;;:::o;12019:419::-;12185:4;12223:2;12212:9;12208:18;12200:26;;12272:9;12266:4;12262:20;12258:1;12247:9;12243:17;12236:47;12300:131;12426:4;12300:131;:::i;:::-;12292:139;;12019:419;;;:::o;12444:222::-;12584:34;12580:1;12572:6;12568:14;12561:58;12653:5;12648:2;12640:6;12636:15;12629:30;12444:222;:::o;12672:366::-;12814:3;12835:67;12899:2;12894:3;12835:67;:::i;:::-;12828:74;;12911:93;13000:3;12911:93;:::i;:::-;13029:2;13024:3;13020:12;13013:19;;12672:366;;;:::o;13044:419::-;13210:4;13248:2;13237:9;13233:18;13225:26;;13297:9;13291:4;13287:20;13283:1;13272:9;13268:17;13261:47;13325:131;13451:4;13325:131;:::i;:::-;13317:139;;13044:419;;;:::o;13469:223::-;13609:34;13605:1;13597:6;13593:14;13586:58;13678:6;13673:2;13665:6;13661:15;13654:31;13469:223;:::o;13698:366::-;13840:3;13861:67;13925:2;13920:3;13861:67;:::i;:::-;13854:74;;13937:93;14026:3;13937:93;:::i;:::-;14055:2;14050:3;14046:12;14039:19;;13698:366;;;:::o;14070:419::-;14236:4;14274:2;14263:9;14259:18;14251:26;;14323:9;14317:4;14313:20;14309:1;14298:9;14294:17;14287:47;14351:131;14477:4;14351:131;:::i;:::-;14343:139;;14070:419;;;:::o;14495:221::-;14635:34;14631:1;14623:6;14619:14;14612:58;14704:4;14699:2;14691:6;14687:15;14680:29;14495:221;:::o;14722:366::-;14864:3;14885:67;14949:2;14944:3;14885:67;:::i;:::-;14878:74;;14961:93;15050:3;14961:93;:::i;:::-;15079:2;15074:3;15070:12;15063:19;;14722:366;;;:::o;15094:419::-;15260:4;15298:2;15287:9;15283:18;15275:26;;15347:9;15341:4;15337:20;15333:1;15322:9;15318:17;15311:47;15375:131;15501:4;15375:131;:::i;:::-;15367:139;;15094:419;;;:::o;15519:224::-;15659:34;15655:1;15647:6;15643:14;15636:58;15728:7;15723:2;15715:6;15711:15;15704:32;15519:224;:::o;15749:366::-;15891:3;15912:67;15976:2;15971:3;15912:67;:::i;:::-;15905:74;;15988:93;16077:3;15988:93;:::i;:::-;16106:2;16101:3;16097:12;16090:19;;15749:366;;;:::o;16121:419::-;16287:4;16325:2;16314:9;16310:18;16302:26;;16374:9;16368:4;16364:20;16360:1;16349:9;16345:17;16338:47;16402:131;16528:4;16402:131;:::i;:::-;16394:139;;16121:419;;;:::o;16546:166::-;16686:18;16682:1;16674:6;16670:14;16663:42;16546:166;:::o;16718:366::-;16860:3;16881:67;16945:2;16940:3;16881:67;:::i;:::-;16874:74;;16957:93;17046:3;16957:93;:::i;:::-;17075:2;17070:3;17066:12;17059:19;;16718:366;;;:::o;17090:419::-;17256:4;17294:2;17283:9;17279:18;17271:26;;17343:9;17337:4;17333:20;17329:1;17318:9;17314:17;17307:47;17371:131;17497:4;17371:131;:::i;:::-;17363:139;;17090:419;;;:::o;17515:175::-;17655:27;17651:1;17643:6;17639:14;17632:51;17515:175;:::o;17696:366::-;17838:3;17859:67;17923:2;17918:3;17859:67;:::i;:::-;17852:74;;17935:93;18024:3;17935:93;:::i;:::-;18053:2;18048:3;18044:12;18037:19;;17696:366;;;:::o;18068:419::-;18234:4;18272:2;18261:9;18257:18;18249:26;;18321:9;18315:4;18311:20;18307:1;18296:9;18292:17;18285:47;18349:131;18475:4;18349:131;:::i;:::-;18341:139;;18068:419;;;:::o;18493:191::-;18533:3;18552:20;18570:1;18552:20;:::i;:::-;18547:25;;18586:20;18604:1;18586:20;:::i;:::-;18581:25;;18629:1;18626;18622:9;18615:16;;18650:3;18647:1;18644:10;18641:36;;;18657:18;;:::i;:::-;18641:36;18493:191;;;;:::o;18690:225::-;18830:34;18826:1;18818:6;18814:14;18807:58;18899:8;18894:2;18886:6;18882:15;18875:33;18690:225;:::o;18921:366::-;19063:3;19084:67;19148:2;19143:3;19084:67;:::i;:::-;19077:74;;19160:93;19249:3;19160:93;:::i;:::-;19278:2;19273:3;19269:12;19262:19;;18921:366;;;:::o;19293:419::-;19459:4;19497:2;19486:9;19482:18;19474:26;;19546:9;19540:4;19536:20;19532:1;19521:9;19517:17;19510:47;19574:131;19700:4;19574:131;:::i;:::-;19566:139;;19293:419;;;:::o;19718:180::-;19766:77;19763:1;19756:88;19863:4;19860:1;19853:15;19887:4;19884:1;19877:15;19904:180;19952:77;19949:1;19942:88;20049:4;20046:1;20039:15;20073:4;20070:1;20063:15;20090:143;20147:5;20178:6;20172:13;20163:22;;20194:33;20221:5;20194:33;:::i;:::-;20090:143;;;;:::o;20239:351::-;20309:6;20358:2;20346:9;20337:7;20333:23;20329:32;20326:119;;;20364:79;;:::i;:::-;20326:119;20484:1;20509:64;20565:7;20556:6;20545:9;20541:22;20509:64;:::i;:::-;20499:74;;20455:128;20239:351;;;;:::o;20596:85::-;20641:7;20670:5;20659:16;;20596:85;;;:::o;20687:60::-;20715:3;20736:5;20729:12;;20687:60;;;:::o;20753:158::-;20811:9;20844:61;20862:42;20871:32;20897:5;20871:32;:::i;:::-;20862:42;:::i;:::-;20844:61;:::i;:::-;20831:74;;20753:158;;;:::o;20917:147::-;21012:45;21051:5;21012:45;:::i;:::-;21007:3;21000:58;20917:147;;:::o;21070:114::-;21137:6;21171:5;21165:12;21155:22;;21070:114;;;:::o;21190:184::-;21289:11;21323:6;21318:3;21311:19;21363:4;21358:3;21354:14;21339:29;;21190:184;;;;:::o;21380:132::-;21447:4;21470:3;21462:11;;21500:4;21495:3;21491:14;21483:22;;21380:132;;;:::o;21518:108::-;21595:24;21613:5;21595:24;:::i;:::-;21590:3;21583:37;21518:108;;:::o;21632:179::-;21701:10;21722:46;21764:3;21756:6;21722:46;:::i;:::-;21800:4;21795:3;21791:14;21777:28;;21632:179;;;;:::o;21817:113::-;21887:4;21919;21914:3;21910:14;21902:22;;21817:113;;;:::o;21966:732::-;22085:3;22114:54;22162:5;22114:54;:::i;:::-;22184:86;22263:6;22258:3;22184:86;:::i;:::-;22177:93;;22294:56;22344:5;22294:56;:::i;:::-;22373:7;22404:1;22389:284;22414:6;22411:1;22408:13;22389:284;;;22490:6;22484:13;22517:63;22576:3;22561:13;22517:63;:::i;:::-;22510:70;;22603:60;22656:6;22603:60;:::i;:::-;22593:70;;22449:224;22436:1;22433;22429:9;22424:14;;22389:284;;;22393:14;22689:3;22682:10;;22090:608;;;21966:732;;;;:::o;22704:142::-;22754:9;22787:53;22805:34;22814:24;22832:5;22814:24;:::i;:::-;22805:34;:::i;:::-;22787:53;:::i;:::-;22774:66;;22704:142;;;:::o;22852:126::-;22902:9;22935:37;22966:5;22935:37;:::i;:::-;22922:50;;22852:126;;;:::o;22984:134::-;23042:9;23075:37;23106:5;23075:37;:::i;:::-;23062:50;;22984:134;;;:::o;23124:147::-;23219:45;23258:5;23219:45;:::i;:::-;23214:3;23207:58;23124:147;;:::o;23277:847::-;23548:4;23586:3;23575:9;23571:19;23563:27;;23600:71;23668:1;23657:9;23653:17;23644:6;23600:71;:::i;:::-;23681:80;23757:2;23746:9;23742:18;23733:6;23681:80;:::i;:::-;23808:9;23802:4;23798:20;23793:2;23782:9;23778:18;23771:48;23836:108;23939:4;23930:6;23836:108;:::i;:::-;23828:116;;23954:80;24030:2;24019:9;24015:18;24006:6;23954:80;:::i;:::-;24044:73;24112:3;24101:9;24097:19;24088:6;24044:73;:::i;:::-;23277:847;;;;;;;;:::o;24130:180::-;24178:77;24175:1;24168:88;24275:4;24272:1;24265:15;24299:4;24296:1;24289:15;24316:185;24356:1;24373:20;24391:1;24373:20;:::i;:::-;24368:25;;24407:20;24425:1;24407:20;:::i;:::-;24402:25;;24446:1;24436:35;;24451:18;;:::i;:::-;24436:35;24493:1;24490;24486:9;24481:14;;24316:185;;;;:::o

Swarm Source

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