ETH Price: $3,456.52 (+0.20%)
Gas: 5 Gwei

Token

Monie Bot (MONIE)
 

Overview

Max Total Supply

500,000 MONIE

Holders

269

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
2,201.000000000000000952 MONIE

Value
$0.00
0xff960e89156cb59b45f28eb82b3217a5f47ae416
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:
moniebot

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-12-14
*/

pragma solidity 0.8.20;

// SPDX-License-Identifier: MIT

/* 

TELEGRAM: https://t.me/moniebotportal
WEBSITE: http://www.moniebot.com/
TWITTER: https://x.com/monie_bot

*/


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

    function _msgData() internal view virtual returns (bytes calldata) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

interface IERC20 {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address recipient, uint256 amount) external returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(address owner, address spender) external view returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `sender` to `recipient` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

interface IERC20Metadata is IERC20{
    /**
     * @dev Returns the name of the token.
     */
    function name() external view returns (string memory);

    /**
     * @dev Returns the symbol of the token.
     */
    function symbol() external view returns (string memory);

    /**
     * @dev Returns the decimals places of the token.
     */
    function decimals() external view returns (uint8);
}

contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping(address => uint256) private _balances;

    mapping(address => mapping(address => uint256)) private _allowances;

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    /**
     * @dev Sets the values for {name} and {symbol}.
     *
     * All two of these values are immutable: they can only be set once during
     * construction.
     */
    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

    /**
     * @dev Returns the name of the token.
     */
    function name() public view virtual override returns (string memory) {
        return _name;
    }

    function contractEthBalance() external view returns (uint256) {
        return address(this).balance;
    }


    /**
     * @dev Returns the symbol of the token, usually a shorter version of the
     * name.
     */
    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }

    /**
     * @dev Returns the number of decimals used to get its user representation.
     * For example, if `decimals` equals `2`, a balance of `505` tokens should
     * be displayed to a user as `5.05` (`505 / 10 ** 2`).
     *
     * Tokens usually opt for a value of 18, imitating the relationship between
     * Ether and Wei. This is the default value returned by this function, unless
     * it's overridden.
     *
     * NOTE: This information is only used for _display_ purposes: it in
     * no way affects any of the arithmetic of the contract, including
     * {IERC20-balanceOf} and {IERC20-transfer}.
     */
    function decimals() public view virtual override returns (uint8) {
        return 18;
    }

    /**
     * @dev See {IERC20-totalSupply}.
     */
    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }

    /**
     * @dev See {IERC20-balanceOf}.
     */
    function balanceOf(address account) public view virtual override returns (uint256) {
        return _balances[account];
    }

    /**
     * @dev See {IERC20-transfer}.
     *
     * Requirements:
     *
     * - `to` cannot be the zero address.
     * - the caller must have a balance of at least `amount`.
     */
    function transfer(address to, uint256 amount) public virtual override returns (bool) {
        address owner = _msgSender();
        _transfer(owner, to, amount);
        return true;
    }

    /**
     * @dev See {IERC20-allowance}.
     */
    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }

    /**
     * @dev See {IERC20-approve}.
     *
     * NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on
     * `transferFrom`. This is semantically equivalent to an infinite approval.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        address owner = _msgSender();
        _approve(owner, spender, amount);
        return true;
    }

    /**
     * @dev See {IERC20-transferFrom}.
     *
     * Emits an {Approval} event indicating the updated allowance. This is not
     * required by the EIP. See the note at the beginning of {ERC20}.
     *
     * NOTE: Does not update the allowance if the current allowance
     * is the maximum `uint256`.
     *
     * Requirements:
     *
     * - `from` and `to` cannot be the zero address.
     * - `from` must have a balance of at least `amount`.
     * - the caller must have allowance for ``from``'s tokens of at least
     * `amount`.
     */
    function transferFrom(address from, address to, uint256 amount) public virtual override returns (bool) {
        address spender = _msgSender();
        _spendAllowance(from, spender, amount);
        _transfer(from, to, amount);
        return true;
    }

    /**
     * @dev Atomically increases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {IERC20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        address owner = _msgSender();
        _approve(owner, spender, allowance(owner, spender) + addedValue);
        return true;
    }

    /**
     * @dev Atomically decreases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {IERC20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     * - `spender` must have allowance for the caller of at least
     * `subtractedValue`.
     */
    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        address owner = _msgSender();
        uint256 currentAllowance = allowance(owner, spender);
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        unchecked {
            _approve(owner, spender, currentAllowance - subtractedValue);
        }

        return true;
    }

    /**
     * @dev Moves `amount` of tokens from `from` to `to`.
     *
     * This internal function is equivalent to {transfer}, and can be used to
     * e.g. implement automatic token fees, slashing mechanisms, etc.
     *
     * Emits a {Transfer} event.
     *
     * Requirements:
     *
     * - `from` cannot be the zero address.
     * - `to` cannot be the zero address.
     * - `from` must have a balance of at least `amount`.
     */
    function _transfer(address from, address to, uint256 amount) internal virtual {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(from, to, amount);

        uint256 fromBalance = _balances[from];
        require(fromBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[from] = fromBalance - amount;
            // Overflow not possible: the sum of all balances is capped by totalSupply, and the sum is preserved by
            // decrementing then incrementing.
            _balances[to] += amount;
        }

        emit Transfer(from, to, amount);

        _afterTokenTransfer(from, to, amount);
    }

    /** @dev Creates `amount` tokens and assigns them to `account`, increasing
     * the total supply.
     *
     * Emits a {Transfer} event with `from` set to the zero address.
     *
     * Requirements:
     *
     * - `account` cannot be the zero address.
     */
    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _beforeTokenTransfer(address(0), account, amount);

        _totalSupply += amount;
        unchecked {
            // Overflow not possible: balance + amount is at most totalSupply + amount, which is checked above.
            _balances[account] += amount;
        }
        emit Transfer(address(0), account, amount);

        _afterTokenTransfer(address(0), account, amount);
    }

    /**
     * @dev Destroys `amount` tokens from `account`, reducing the
     * total supply.
     *
     * Emits a {Transfer} event with `to` set to the zero address.
     *
     * Requirements:
     *
     * - `account` cannot be the zero address.
     * - `account` must have at least `amount` tokens.
     */
    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

        _beforeTokenTransfer(account, address(0), amount);

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        unchecked {
            _balances[account] = accountBalance - amount;
            // Overflow not possible: amount <= accountBalance <= totalSupply.
            _totalSupply -= amount;
        }

        emit Transfer(account, address(0), amount);

        _afterTokenTransfer(account, address(0), amount);
    }

    /**
     * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.
     *
     * This internal function is equivalent to `approve`, and can be used to
     * e.g. set automatic allowances for certain subsystems, etc.
     *
     * Emits an {Approval} event.
     *
     * Requirements:
     *
     * - `owner` cannot be the zero address.
     * - `spender` cannot be the zero address.
     */
    function _approve(address owner, address spender, uint256 amount) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    /**
     * @dev Updates `owner` s allowance for `spender` based on spent `amount`.
     *
     * Does not update the allowance amount in case of infinite allowance.
     * Revert if not enough allowance is available.
     *
     * Might emit an {Approval} event.
     */
    function _spendAllowance(address owner, address spender, uint256 amount) internal virtual {
        uint256 currentAllowance = allowance(owner, spender);
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "ERC20: insufficient allowance");
            unchecked {
                _approve(owner, spender, currentAllowance - amount);
            }
        }
    }

    /**
     * @dev Hook that is called before any transfer of tokens. This includes
     * minting and burning.
     *
     * Calling conditions:
     *
     * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens
     * will be transferred to `to`.
     * - when `from` is zero, `amount` tokens will be minted for `to`.
     * - when `to` is zero, `amount` of ``from``'s tokens will be burned.
     * - `from` and `to` are never both zero.
     *
     * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].
     */
    function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual {}

    /**
     * @dev Hook that is called after any transfer of tokens. This includes
     * minting and burning.
     *
     * Calling conditions:
     *
     * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens
     * has been transferred to `to`.
     * - when `from` is zero, `amount` tokens have been minted for `to`.
     * - when `to` is zero, `amount` of ``from``'s tokens have been burned.
     * - `from` and `to` are never both zero.
     *
     * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].
     */
    function _afterTokenTransfer(address from, address to, uint256 amount) internal virtual {}
}

contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    
    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

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

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

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

interface IDexRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external;
}

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

contract moniebot is ERC20, Ownable {

    mapping (address => bool) public exemptFromFees;
    mapping (address => bool) public exemptFromLimits;

    bool public tradingActive;

    mapping (address => bool) public isAMMPair;

    uint256 public maxTransaction;
    uint256 public maxWallet;

    address public operationsAddress;

    uint256 public buyTax;
    uint256 public sellTax;

    mapping(address => uint256) private _holderLastTransferBlock; // to hold last Transfers temporarily during launch
    bool public transferDelayEnabled = true;
    bool public limitsInEffect = true;

    bool private swapping;
    uint256 public swapTokensAtAmt;

    address public lpPair;
    IDexRouter public dexRouter;

    uint256 public constant FEE_DIVISOR = 10000;

    // events

    event UpdatedMaxTransaction(uint256 newMax);
    event UpdatedMaxWallet(uint256 newMax);
    event SetExemptFromFees(address _address, bool _isExempt);
    event SetExemptFromLimits(address _address, bool _isExempt);
    event RemovedLimits();
    event UpdatedBuyTax(uint256 newAmt);
    event UpdatedSellTax(uint256 newAmt);

    // constructor

    constructor(string memory _name, string memory _symbol)
        ERC20(_name, _symbol)
    {   
        address newOwner = 0x154Ea28ea914C84C9d009D2e6BdC66Aa9423e261;
        _mint(newOwner, 500_000 * 1e18);
        uint256 _totalSupply = totalSupply();

        address _v2Router;

        // @dev assumes WETH pair
        if(block.chainid == 1){
            _v2Router = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
        } else if(block.chainid == 5){
            _v2Router = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
        } else {
            revert("Chain not configured");
        }

        dexRouter = IDexRouter(_v2Router);

        maxTransaction = _totalSupply * 10 / 1000;
        maxWallet = _totalSupply * 10 / 1000;
        swapTokensAtAmt = _totalSupply * 25 / 100000;

        operationsAddress = 0xfbe02de299fC5faeEF687d2af7EE4C0E5f620FF2;

        buyTax = 4900; // 1% = 100
        sellTax = 6000; // 1% = 100

        lpPair = IDexFactory(dexRouter.factory()).createPair(address(this), dexRouter.WETH());

        isAMMPair[lpPair] = true;

        exemptFromLimits[lpPair] = true;
        exemptFromLimits[newOwner] = true;
        exemptFromLimits[address(this)] = true;
        exemptFromLimits[address(dexRouter)] = true;
        

        exemptFromFees[newOwner] = true;
        exemptFromFees[address(this)] = true;
        exemptFromFees[address(dexRouter)] = true;
        
 
        _approve(address(this), address(dexRouter), type(uint256).max);
        transferOwnership(newOwner);
    }

    receive() external payable {}

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual override {
        
        if(exemptFromFees[from] || exemptFromFees[to] || swapping){
            super._transfer(from,to,amount);
            return;
        }

        require(tradingActive, "Trading not active");

        if(limitsInEffect){
            checkLimits(from, to, amount);
        }

        amount -= handleTax(from, to, amount);

        super._transfer(from,to,amount);
    }

    function checkLimits(address from, address to, uint256 amount) internal {
        if (transferDelayEnabled){
            if (to != address(dexRouter) && !isAMMPair[to]){
                require(_holderLastTransferBlock[tx.origin] < block.number, "Transfer Delay enabled.");
                _holderLastTransferBlock[tx.origin] = block.number;
            }
        }

        // buy
        if (isAMMPair[from] && !exemptFromLimits[to]) {
            require(amount <= maxTransaction, "Max tx exceeded.");
            require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeded");
        } 
        // sell
        else if (isAMMPair[to] && !exemptFromLimits[from]) {
            require(amount <= maxTransaction, "Max tx exceeded.");
        }
        else if(!exemptFromLimits[to]) {
            require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeded");
        }
    }

    function handleTax(address from, address to, uint256 amount) internal returns (uint256){
        if(balanceOf(address(this)) >= swapTokensAtAmt && !swapping && !isAMMPair[from]) {
            swapping = true;
            swapBack();
            swapping = false;
        }
        
        uint256 tax = 0;

        // on sell
        if (isAMMPair[to] && sellTax > 0){
            tax = amount * sellTax / FEE_DIVISOR;
        }
        // on buy
        else if(isAMMPair[from] && buyTax > 0) {
            tax = amount * buyTax / FEE_DIVISOR;
        }
        
        if(tax > 0){    
            super._transfer(from, address(this), tax);
        }
        
        return tax;
    }

    function swapTokensForETH(uint256 tokenAmt) private {

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = dexRouter.WETH();

        dexRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmt,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function swapBack() private {

        uint256 contractBalance = balanceOf(address(this));
        
        if(contractBalance == 0) {return;}

        if(contractBalance > swapTokensAtAmt * 40){
            contractBalance = swapTokensAtAmt * 40;
        }
        
        swapTokensForETH(contractBalance);
            
        if(address(this).balance > 0){
            bool success;
            (success, ) = operationsAddress.call{value: address(this).balance}("");
        }
    }

    // owner functions

    function setExemptFromFees(address _address, bool _isExempt) external onlyOwner {
        require(_address != address(0), "Zero Address");
        exemptFromFees[_address] = _isExempt;
        emit SetExemptFromFees(_address, _isExempt);
    }

    function setExemptFromLimits(address _address, bool _isExempt) external onlyOwner {
        require(_address != address(0), "Zero Address");
        if(!_isExempt){
            require(_address != lpPair, "Pair");
        }
        exemptFromLimits[_address] = _isExempt;
        emit SetExemptFromLimits(_address, _isExempt);
    }

    function updateMaxTransaction(uint256 newNumInTokens) external onlyOwner {
        require(newNumInTokens >= (totalSupply() * 5 / 1000)/(10**decimals()), "Too low");
        maxTransaction = newNumInTokens * (10**decimals());
        emit UpdatedMaxTransaction(maxTransaction);
    }

    function updateMaxWallet(uint256 newNumInTokens) external onlyOwner {
        require(newNumInTokens >= (totalSupply() * 1 / 100)/(10**decimals()), "Too low");
        maxWallet = newNumInTokens * (10**decimals());
        emit UpdatedMaxWallet(maxWallet);
    }

    function updateTaxes(uint256 _buyTax, uint256 _sellTax) external onlyOwner {
        buyTax = _buyTax;
        emit UpdatedBuyTax(buyTax);
        sellTax = _sellTax;
        emit UpdatedSellTax(sellTax);
    }

    function enableTrading() external onlyOwner {
        require(!tradingActive, "Trading active");
        tradingActive = true;
    }

    function removeLimits() external onlyOwner {
        limitsInEffect = false;
        transferDelayEnabled = false;
        maxTransaction = totalSupply();
        maxWallet = totalSupply();
        emit RemovedLimits();
    }

    function disableTransferDelay() external onlyOwner {
        transferDelayEnabled = false;
    }

    function updateOperationsAddress(address _address) external onlyOwner {
        require(_address != address(0), "zero address");
        operationsAddress = _address;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"}],"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":[],"name":"RemovedLimits","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_address","type":"address"},{"indexed":false,"internalType":"bool","name":"_isExempt","type":"bool"}],"name":"SetExemptFromFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_address","type":"address"},{"indexed":false,"internalType":"bool","name":"_isExempt","type":"bool"}],"name":"SetExemptFromLimits","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newAmt","type":"uint256"}],"name":"UpdatedBuyTax","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newMax","type":"uint256"}],"name":"UpdatedMaxTransaction","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newMax","type":"uint256"}],"name":"UpdatedMaxWallet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newAmt","type":"uint256"}],"name":"UpdatedSellTax","type":"event"},{"inputs":[],"name":"FEE_DIVISOR","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":"buyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"contractEthBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"dexRouter","outputs":[{"internalType":"contract IDexRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"disableTransferDelay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"exemptFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"exemptFromLimits","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isAMMPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"limitsInEffect","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTransaction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"operationsAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_isExempt","type":"bool"}],"name":"setExemptFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_isExempt","type":"bool"}],"name":"setExemptFromLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapTokensAtAmt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":[],"name":"tradingActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newNumInTokens","type":"uint256"}],"name":"updateMaxTransaction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newNumInTokens","type":"uint256"}],"name":"updateMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"updateOperationsAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyTax","type":"uint256"},{"internalType":"uint256","name":"_sellTax","type":"uint256"}],"name":"updateTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600160105f6101000a81548160ff0219169083151502179055506001601060016101000a81548160ff02191690831515021790555034801562000045575f80fd5b50604051620055b2380380620055b283398181016040528101906200006b919062000f40565b818181600390816200007e9190620011fa565b508060049081620000909190620011fa565b5050505f620000a4620008a160201b60201c565b90508060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505f73154ea28ea914c84c9d009d2e6bdc66aa9423e261905062000175816969e10de76676d0800000620008a860201b60201c565b5f6200018662000a0d60201b60201c565b90505f60014603620001af57737a250d5630b4cf539739df2c5dacb4c659f2488d905062000213565b60054603620001d557737a250d5630b4cf539739df2c5dacb4c659f2488d905062000212565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000209906200133c565b60405180910390fd5b5b8060135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506103e8600a8362000265919062001389565b62000271919062001400565b600a819055506103e8600a8362000289919062001389565b62000295919062001400565b600b81905550620186a0601983620002ae919062001389565b620002ba919062001400565b60118190555073fbe02de299fc5faeef687d2af7ee4c0e5f620ff2600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611324600d81905550611770600e8190555060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000391573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620003b7919062001498565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200043e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000464919062001498565b6040518363ffffffff1660e01b815260040162000483929190620014d9565b6020604051808303815f875af1158015620004a0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620004c6919062001498565b60125f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160095f60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160075f60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160075f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160075f60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160065f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160065f60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550620008853060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff62000a1660201b60201c565b620008968362000be160201b60201c565b505050505062001802565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000919576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009109062001552565b60405180910390fd5b6200092c5f838362000db160201b60201c565b8060025f8282546200093f919062001572565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620009ee9190620015bd565b60405180910390a362000a095f838362000db660201b60201c565b5050565b5f600254905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160362000a87576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000a7e906200164c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000af8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000aef90620016e0565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405162000bd49190620015bd565b60405180910390a3505050565b62000bf1620008a160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161462000c82576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000c79906200174e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160362000cf3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000cea90620017e2565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a38060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b505050565b505050565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b62000e1c8262000dd4565b810181811067ffffffffffffffff8211171562000e3e5762000e3d62000de4565b5b80604052505050565b5f62000e5262000dbb565b905062000e60828262000e11565b919050565b5f67ffffffffffffffff82111562000e825762000e8162000de4565b5b62000e8d8262000dd4565b9050602081019050919050565b5f5b8381101562000eb957808201518184015260208101905062000e9c565b5f8484015250505050565b5f62000eda62000ed48462000e65565b62000e47565b90508281526020810184848401111562000ef95762000ef862000dd0565b5b62000f0684828562000e9a565b509392505050565b5f82601f83011262000f255762000f2462000dcc565b5b815162000f3784826020860162000ec4565b91505092915050565b5f806040838503121562000f595762000f5862000dc4565b5b5f83015167ffffffffffffffff81111562000f795762000f7862000dc8565b5b62000f878582860162000f0e565b925050602083015167ffffffffffffffff81111562000fab5762000faa62000dc8565b5b62000fb98582860162000f0e565b9150509250929050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200101257607f821691505b60208210810362001028576200102762000fcd565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026200108c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200104f565b6200109886836200104f565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620010e2620010dc620010d684620010b0565b620010b9565b620010b0565b9050919050565b5f819050919050565b620010fd83620010c2565b620011156200110c82620010e9565b8484546200105b565b825550505050565b5f90565b6200112b6200111d565b62001138818484620010f2565b505050565b5b818110156200115f57620011535f8262001121565b6001810190506200113e565b5050565b601f821115620011ae5762001178816200102e565b620011838462001040565b8101602085101562001193578190505b620011ab620011a28562001040565b8301826200113d565b50505b505050565b5f82821c905092915050565b5f620011d05f1984600802620011b3565b1980831691505092915050565b5f620011ea8383620011bf565b9150826002028217905092915050565b620012058262000fc3565b67ffffffffffffffff81111562001221576200122062000de4565b5b6200122d825462000ffa565b6200123a82828562001163565b5f60209050601f83116001811462001270575f84156200125b578287015190505b620012678582620011dd565b865550620012d6565b601f19841662001280866200102e565b5f5b82811015620012a95784890151825560018201915060208501945060208101905062001282565b86831015620012c95784890151620012c5601f891682620011bf565b8355505b6001600288020188555050505b505050505050565b5f82825260208201905092915050565b7f436861696e206e6f7420636f6e666967757265640000000000000000000000005f82015250565b5f62001324601483620012de565b91506200133182620012ee565b602082019050919050565b5f6020820190508181035f830152620013558162001316565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6200139582620010b0565b9150620013a283620010b0565b9250828202620013b281620010b0565b91508282048414831517620013cc57620013cb6200135c565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6200140c82620010b0565b91506200141983620010b0565b9250826200142c576200142b620013d3565b5b828204905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620014628262001437565b9050919050565b620014748162001456565b81146200147f575f80fd5b50565b5f81519050620014928162001469565b92915050565b5f60208284031215620014b057620014af62000dc4565b5b5f620014bf8482850162001482565b91505092915050565b620014d38162001456565b82525050565b5f604082019050620014ee5f830185620014c8565b620014fd6020830184620014c8565b9392505050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f6200153a601f83620012de565b9150620015478262001504565b602082019050919050565b5f6020820190508181035f8301526200156b816200152c565b9050919050565b5f6200157e82620010b0565b91506200158b83620010b0565b9250828201905080821115620015a657620015a56200135c565b5b92915050565b620015b781620010b0565b82525050565b5f602082019050620015d25f830184620015ac565b92915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f62001634602483620012de565b91506200164182620015d8565b604082019050919050565b5f6020820190508181035f830152620016658162001626565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f620016c8602283620012de565b9150620016d5826200166c565b604082019050919050565b5f6020820190508181035f830152620016f981620016ba565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f62001736602083620012de565b9150620017438262001700565b602082019050919050565b5f6020820190508181035f830152620017678162001728565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f620017ca602683620012de565b9150620017d7826200176e565b604082019050919050565b5f6020820190508181035f830152620017fb81620017bc565b9050919050565b613da280620018105f395ff3fe608060405260043610610233575f3560e01c80638a8c523c1161012d578063c3f70b52116100aa578063e884f2601161006e578063e884f26014610840578063ea4cfe1214610856578063ea6debd014610880578063f2fde38b146108a8578063f8b45b05146108d05761023a565b8063c3f70b521461075c578063c78d0fa014610786578063c876d0b9146107b0578063cc1776d3146107da578063dd62ed3e146108045761023a565b8063a13d1a2b116100f1578063a13d1a2b14610656578063a457c2d71461067e578063a9059cbb146106ba578063b0249cc6146106f6578063bbc0c742146107325761023a565b80638a8c523c146105865780638d3e6e401461059c5780638da5cb5b146105d857806395d89b41146106025780639e93ad8e1461062c5761023a565b806339509351116101bb5780635d58ce361161017f5780635d58ce36146104cc57806370a08231146104f6578063715018a614610532578063751039fc1461054857806377b27d1f1461055e5761023a565b806339509351146103d6578063452ed4f1146104125780634a62bb651461043c5780634f7041a5146104665780635a90a49e146104905761023a565b80631006ee0c116102025780631006ee0c146102f657806318160ddd1461031e5780631c499ab01461034857806323b872dd14610370578063313ce567146103ac5761023a565b80630517d13d1461023e57806306fdde03146102665780630758d92414610290578063095ea7b3146102ba5761023a565b3661023a57005b5f80fd5b348015610249575f80fd5b50610264600480360381019061025f9190612bcb565b6108fa565b005b348015610271575f80fd5b5061027a610a72565b6040516102879190612c80565b60405180910390f35b34801561029b575f80fd5b506102a4610b02565b6040516102b19190612d1a565b60405180910390f35b3480156102c5575f80fd5b506102e060048036038101906102db9190612d6e565b610b27565b6040516102ed9190612dc6565b60405180910390f35b348015610301575f80fd5b5061031c60048036038101906103179190612ddf565b610b49565b005b348015610329575f80fd5b50610332610c63565b60405161033f9190612e2c565b60405180910390f35b348015610353575f80fd5b5061036e60048036038101906103699190612bcb565b610c6c565b005b34801561037b575f80fd5b5061039660048036038101906103919190612e45565b610de3565b6040516103a39190612dc6565b60405180910390f35b3480156103b7575f80fd5b506103c0610e11565b6040516103cd9190612eb0565b60405180910390f35b3480156103e1575f80fd5b506103fc60048036038101906103f79190612d6e565b610e19565b6040516104099190612dc6565b60405180910390f35b34801561041d575f80fd5b50610426610e4f565b6040516104339190612ed8565b60405180910390f35b348015610447575f80fd5b50610450610e74565b60405161045d9190612dc6565b60405180910390f35b348015610471575f80fd5b5061047a610e87565b6040516104879190612e2c565b60405180910390f35b34801561049b575f80fd5b506104b660048036038101906104b19190612ef1565b610e8d565b6040516104c39190612dc6565b60405180910390f35b3480156104d7575f80fd5b506104e0610eaa565b6040516104ed9190612e2c565b60405180910390f35b348015610501575f80fd5b5061051c60048036038101906105179190612ef1565b610eb1565b6040516105299190612e2c565b60405180910390f35b34801561053d575f80fd5b50610546610ef6565b005b348015610553575f80fd5b5061055c611049565b005b348015610569575f80fd5b50610584600480360381019061057f9190612f46565b61115c565b005b348015610591575f80fd5b5061059a6112f1565b005b3480156105a7575f80fd5b506105c260048036038101906105bd9190612ef1565b6113f2565b6040516105cf9190612dc6565b60405180910390f35b3480156105e3575f80fd5b506105ec61140f565b6040516105f99190612ed8565b60405180910390f35b34801561060d575f80fd5b50610616611437565b6040516106239190612c80565b60405180910390f35b348015610637575f80fd5b506106406114c7565b60405161064d9190612e2c565b60405180910390f35b348015610661575f80fd5b5061067c60048036038101906106779190612f46565b6114cd565b005b348015610689575f80fd5b506106a4600480360381019061069f9190612d6e565b6116f7565b6040516106b19190612dc6565b60405180910390f35b3480156106c5575f80fd5b506106e060048036038101906106db9190612d6e565b61176c565b6040516106ed9190612dc6565b60405180910390f35b348015610701575f80fd5b5061071c60048036038101906107179190612ef1565b61178e565b6040516107299190612dc6565b60405180910390f35b34801561073d575f80fd5b506107466117ab565b6040516107539190612dc6565b60405180910390f35b348015610767575f80fd5b506107706117bd565b60405161077d9190612e2c565b60405180910390f35b348015610791575f80fd5b5061079a6117c3565b6040516107a79190612e2c565b60405180910390f35b3480156107bb575f80fd5b506107c46117c9565b6040516107d19190612dc6565b60405180910390f35b3480156107e5575f80fd5b506107ee6117db565b6040516107fb9190612e2c565b60405180910390f35b34801561080f575f80fd5b5061082a60048036038101906108259190612f84565b6117e1565b6040516108379190612e2c565b60405180910390f35b34801561084b575f80fd5b50610854611863565b005b348015610861575f80fd5b5061086a611914565b6040516108779190612ed8565b60405180910390f35b34801561088b575f80fd5b506108a660048036038101906108a19190612ef1565b611939565b005b3480156108b3575f80fd5b506108ce60048036038101906108c99190612ef1565b611a80565b005b3480156108db575f80fd5b506108e4611c42565b6040516108f19190612e2c565b60405180910390f35b610902611c48565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610990576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109879061300c565b60405180910390fd5b610998610e11565b600a6109a49190613186565b6103e860056109b1610c63565b6109bb91906131d0565b6109c5919061323e565b6109cf919061323e565b811015610a11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a08906132b8565b60405180910390fd5b610a19610e11565b600a610a259190613186565b81610a3091906131d0565b600a819055507f76a9278644b7300961aa0e7e86f10934585987f1daf1c6ecc971c18376691574600a54604051610a679190612e2c565b60405180910390a150565b606060038054610a8190613303565b80601f0160208091040260200160405190810160405280929190818152602001828054610aad90613303565b8015610af85780601f10610acf57610100808354040283529160200191610af8565b820191905f5260205f20905b815481529060010190602001808311610adb57829003601f168201915b5050505050905090565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f80610b31611c48565b9050610b3e818585611c4f565b600191505092915050565b610b51611c48565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bdf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd69061300c565b60405180910390fd5b81600d819055507f5380a61520019ce8270d583f62f1b2b9f4f4372e1acaaf708f4865cecece0508600d54604051610c179190612e2c565b60405180910390a180600e819055507fa02824f65350567bc405e202b741e7ca6274004a9feeb44149df72b8bd599c97600e54604051610c579190612e2c565b60405180910390a15050565b5f600254905090565b610c74611c48565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf99061300c565b60405180910390fd5b610d0a610e11565b600a610d169190613186565b60646001610d22610c63565b610d2c91906131d0565b610d36919061323e565b610d40919061323e565b811015610d82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d79906132b8565b60405180910390fd5b610d8a610e11565b600a610d969190613186565b81610da191906131d0565b600b819055507f3046ad62de8b70d396246aaed19ff2559ff20df8706520cbde58320766c42762600b54604051610dd89190612e2c565b60405180910390a150565b5f80610ded611c48565b9050610dfa858285611e12565b610e05858585611e9d565b60019150509392505050565b5f6012905090565b5f80610e23611c48565b9050610e44818585610e3585896117e1565b610e3f9190613333565b611c4f565b600191505092915050565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601060019054906101000a900460ff1681565b600d5481565b6006602052805f5260405f205f915054906101000a900460ff1681565b5f47905090565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610efe611c48565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f839061300c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b611051611c48565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d69061300c565b60405180910390fd5b5f601060016101000a81548160ff0219169083151502179055505f60105f6101000a81548160ff02191690831515021790555061111a610c63565b600a81905550611128610c63565b600b819055507fa4ffae85e880608d5d4365c2b682786545d136145537788e7e0940dff9f0b98c60405160405180910390a1565b611164611c48565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e99061300c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611260576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611257906133b0565b60405180910390fd5b8060065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055507f998cce27cbf44405c67eb636a634d5e2f2e6ff248b3d71fbbbb022f3c4c6dd2d82826040516112e59291906133ce565b60405180910390a15050565b6112f9611c48565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611387576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137e9061300c565b60405180910390fd5b60085f9054906101000a900460ff16156113d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113cd9061343f565b60405180910390fd5b600160085f6101000a81548160ff021916908315150217905550565b6007602052805f5260405f205f915054906101000a900460ff1681565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461144690613303565b80601f016020809104026020016040519081016040528092919081815260200182805461147290613303565b80156114bd5780601f10611494576101008083540402835291602001916114bd565b820191905f5260205f20905b8154815290600101906020018083116114a057829003601f168201915b5050505050905090565b61271081565b6114d5611c48565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611563576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155a9061300c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115c8906133b0565b60405180910390fd5b806116665760125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611665576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165c906134a7565b60405180910390fd5b5b8060075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055507f8f9f40630a1d139e6cf69b4f447ca47a36f10a017524efaa38252e516fa227ce82826040516116eb9291906133ce565b60405180910390a15050565b5f80611701611c48565b90505f61170e82866117e1565b905083811015611753576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174a90613535565b60405180910390fd5b6117608286868403611c4f565b60019250505092915050565b5f80611776611c48565b9050611783818585611e9d565b600191505092915050565b6009602052805f5260405f205f915054906101000a900460ff1681565b60085f9054906101000a900460ff1681565b600a5481565b60115481565b60105f9054906101000a900460ff1681565b600e5481565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b61186b611c48565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118f09061300c565b60405180910390fd5b5f60105f6101000a81548160ff021916908315150217905550565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611941611c48565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c69061300c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611a3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a349061359d565b60405180910390fd5b80600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611a88611c48565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611b16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b0d9061300c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611b84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b7b9061362b565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a38060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600b5481565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611cbd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cb4906136b9565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611d2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d2290613747565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611e059190612e2c565b60405180910390a3505050565b5f611e1d84846117e1565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611e975781811015611e89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e80906137af565b60405180910390fd5b611e968484848403611c4f565b5b50505050565b60065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611f38575060065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b80611f4f5750601060029054906101000a900460ff165b15611f6457611f5f838383611ffc565b611ff7565b60085f9054906101000a900460ff16611fb2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fa990613817565b60405180910390fd5b601060019054906101000a900460ff1615611fd357611fd2838383612268565b5b611fde8383836126c6565b81611fe99190613835565b9050611ff6838383611ffc565b5b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361206a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612061906138d8565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036120d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120cf90613966565b60405180910390fd5b6120e383838361289d565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015612166576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161215d906139f4565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161224f9190612e2c565b60405180910390a36122628484846128a2565b50505050565b60105f9054906101000a900460ff16156123e85760135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015612320575060095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156123e75743600f5f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054106123a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161239b90613a5c565b60405180910390fd5b43600f5f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60095f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612485575060075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561252c57600a548111156124cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124c690613ac4565b60405180910390fd5b600b546124db83610eb1565b826124e69190613333565b1115612527576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161251e90613b2c565b60405180910390fd5b6126c1565b60095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156125c9575060075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561261857600a54811115612613576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161260a90613ac4565b60405180910390fd5b6126c0565b60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166126bf57600b5461267283610eb1565b8261267d9190613333565b11156126be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126b590613b2c565b60405180910390fd5b5b5b5b505050565b5f6011546126d330610eb1565b101580156126ee5750601060029054906101000a900460ff16155b8015612741575060095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612784576001601060026101000a81548160ff0219169083151502179055506127696128a7565b5f601060026101000a81548160ff0219169083151502179055505b5f60095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156127dc57505f600e54115b1561280357612710600e54846127f291906131d0565b6127fc919061323e565b905061287e565b60095f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561285a57505f600d54115b1561287d57612710600d548461287091906131d0565b61287a919061323e565b90505b5b5f81111561289257612891853083611ffc565b5b809150509392505050565b505050565b505050565b5f6128b130610eb1565b90505f81036128c05750612988565b60286011546128cf91906131d0565b8111156128e85760286011546128e591906131d0565b90505b6128f18161298a565b5f471115612986575f600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff164760405161293f90613b77565b5f6040518083038185875af1925050503d805f8114612979576040519150601f19603f3d011682016040523d82523d5f602084013e61297e565b606091505b505080915050505b505b565b5f600267ffffffffffffffff8111156129a6576129a5613b8b565b5b6040519080825280602002602001820160405280156129d45781602001602082028036833780820191505090505b50905030815f815181106129eb576129ea613bb8565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a8f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ab39190613bf9565b81600181518110612ac757612ac6613bb8565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612b63959493929190613d14565b5f604051808303815f87803b158015612b7a575f80fd5b505af1158015612b8c573d5f803e3d5ffd5b505050505050565b5f80fd5b5f819050919050565b612baa81612b98565b8114612bb4575f80fd5b50565b5f81359050612bc581612ba1565b92915050565b5f60208284031215612be057612bdf612b94565b5b5f612bed84828501612bb7565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612c2d578082015181840152602081019050612c12565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612c5282612bf6565b612c5c8185612c00565b9350612c6c818560208601612c10565b612c7581612c38565b840191505092915050565b5f6020820190508181035f830152612c988184612c48565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f819050919050565b5f612ce2612cdd612cd884612ca0565b612cbf565b612ca0565b9050919050565b5f612cf382612cc8565b9050919050565b5f612d0482612ce9565b9050919050565b612d1481612cfa565b82525050565b5f602082019050612d2d5f830184612d0b565b92915050565b5f612d3d82612ca0565b9050919050565b612d4d81612d33565b8114612d57575f80fd5b50565b5f81359050612d6881612d44565b92915050565b5f8060408385031215612d8457612d83612b94565b5b5f612d9185828601612d5a565b9250506020612da285828601612bb7565b9150509250929050565b5f8115159050919050565b612dc081612dac565b82525050565b5f602082019050612dd95f830184612db7565b92915050565b5f8060408385031215612df557612df4612b94565b5b5f612e0285828601612bb7565b9250506020612e1385828601612bb7565b9150509250929050565b612e2681612b98565b82525050565b5f602082019050612e3f5f830184612e1d565b92915050565b5f805f60608486031215612e5c57612e5b612b94565b5b5f612e6986828701612d5a565b9350506020612e7a86828701612d5a565b9250506040612e8b86828701612bb7565b9150509250925092565b5f60ff82169050919050565b612eaa81612e95565b82525050565b5f602082019050612ec35f830184612ea1565b92915050565b612ed281612d33565b82525050565b5f602082019050612eeb5f830184612ec9565b92915050565b5f60208284031215612f0657612f05612b94565b5b5f612f1384828501612d5a565b91505092915050565b612f2581612dac565b8114612f2f575f80fd5b50565b5f81359050612f4081612f1c565b92915050565b5f8060408385031215612f5c57612f5b612b94565b5b5f612f6985828601612d5a565b9250506020612f7a85828601612f32565b9150509250929050565b5f8060408385031215612f9a57612f99612b94565b5b5f612fa785828601612d5a565b9250506020612fb885828601612d5a565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612ff6602083612c00565b915061300182612fc2565b602082019050919050565b5f6020820190508181035f83015261302381612fea565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156130ac578086048111156130885761308761302a565b5b60018516156130975780820291505b80810290506130a585613057565b945061306c565b94509492505050565b5f826130c4576001905061317f565b816130d1575f905061317f565b81600181146130e757600281146130f157613120565b600191505061317f565b60ff8411156131035761310261302a565b5b8360020a91508482111561311a5761311961302a565b5b5061317f565b5060208310610133831016604e8410600b84101617156131555782820a9050838111156131505761314f61302a565b5b61317f565b6131628484846001613063565b925090508184048111156131795761317861302a565b5b81810290505b9392505050565b5f61319082612b98565b915061319b83612e95565b92506131c87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846130b5565b905092915050565b5f6131da82612b98565b91506131e583612b98565b92508282026131f381612b98565b9150828204841483151761320a5761320961302a565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61324882612b98565b915061325383612b98565b92508261326357613262613211565b5b828204905092915050565b7f546f6f206c6f77000000000000000000000000000000000000000000000000005f82015250565b5f6132a2600783612c00565b91506132ad8261326e565b602082019050919050565b5f6020820190508181035f8301526132cf81613296565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061331a57607f821691505b60208210810361332d5761332c6132d6565b5b50919050565b5f61333d82612b98565b915061334883612b98565b92508282019050808211156133605761335f61302a565b5b92915050565b7f5a65726f204164647265737300000000000000000000000000000000000000005f82015250565b5f61339a600c83612c00565b91506133a582613366565b602082019050919050565b5f6020820190508181035f8301526133c78161338e565b9050919050565b5f6040820190506133e15f830185612ec9565b6133ee6020830184612db7565b9392505050565b7f54726164696e67206163746976650000000000000000000000000000000000005f82015250565b5f613429600e83612c00565b9150613434826133f5565b602082019050919050565b5f6020820190508181035f8301526134568161341d565b9050919050565b7f50616972000000000000000000000000000000000000000000000000000000005f82015250565b5f613491600483612c00565b915061349c8261345d565b602082019050919050565b5f6020820190508181035f8301526134be81613485565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f61351f602583612c00565b915061352a826134c5565b604082019050919050565b5f6020820190508181035f83015261354c81613513565b9050919050565b7f7a65726f206164647265737300000000000000000000000000000000000000005f82015250565b5f613587600c83612c00565b915061359282613553565b602082019050919050565b5f6020820190508181035f8301526135b48161357b565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f613615602683612c00565b9150613620826135bb565b604082019050919050565b5f6020820190508181035f83015261364281613609565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6136a3602483612c00565b91506136ae82613649565b604082019050919050565b5f6020820190508181035f8301526136d081613697565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f613731602283612c00565b915061373c826136d7565b604082019050919050565b5f6020820190508181035f83015261375e81613725565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f613799601d83612c00565b91506137a482613765565b602082019050919050565b5f6020820190508181035f8301526137c68161378d565b9050919050565b7f54726164696e67206e6f742061637469766500000000000000000000000000005f82015250565b5f613801601283612c00565b915061380c826137cd565b602082019050919050565b5f6020820190508181035f83015261382e816137f5565b9050919050565b5f61383f82612b98565b915061384a83612b98565b92508282039050818111156138625761386161302a565b5b92915050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6138c2602583612c00565b91506138cd82613868565b604082019050919050565b5f6020820190508181035f8301526138ef816138b6565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f613950602383612c00565b915061395b826138f6565b604082019050919050565b5f6020820190508181035f83015261397d81613944565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f6139de602683612c00565b91506139e982613984565b604082019050919050565b5f6020820190508181035f830152613a0b816139d2565b9050919050565b7f5472616e736665722044656c617920656e61626c65642e0000000000000000005f82015250565b5f613a46601783612c00565b9150613a5182613a12565b602082019050919050565b5f6020820190508181035f830152613a7381613a3a565b9050919050565b7f4d61782074782065786365656465642e000000000000000000000000000000005f82015250565b5f613aae601083612c00565b9150613ab982613a7a565b602082019050919050565b5f6020820190508181035f830152613adb81613aa2565b9050919050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f613b16601383612c00565b9150613b2182613ae2565b602082019050919050565b5f6020820190508181035f830152613b4381613b0a565b9050919050565b5f81905092915050565b50565b5f613b625f83613b4a565b9150613b6d82613b54565b5f82019050919050565b5f613b8182613b57565b9150819050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050613bf381612d44565b92915050565b5f60208284031215613c0e57613c0d612b94565b5b5f613c1b84828501613be5565b91505092915050565b5f819050919050565b5f613c47613c42613c3d84613c24565b612cbf565b612b98565b9050919050565b613c5781613c2d565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613c8f81612d33565b82525050565b5f613ca08383613c86565b60208301905092915050565b5f602082019050919050565b5f613cc282613c5d565b613ccc8185613c67565b9350613cd783613c77565b805f5b83811015613d07578151613cee8882613c95565b9750613cf983613cac565b925050600181019050613cda565b5085935050505092915050565b5f60a082019050613d275f830188612e1d565b613d346020830187613c4e565b8181036040830152613d468186613cb8565b9050613d556060830185612ec9565b613d626080830184612e1d565b969550505050505056fea2646970667358221220b38de5aab8e6fe3aa514cb78cb10255856e1f0a63f2c60e3bafec48af3f6b95264736f6c634300081400330000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000094d6f6e696520426f74000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054d4f4e4945000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405260043610610233575f3560e01c80638a8c523c1161012d578063c3f70b52116100aa578063e884f2601161006e578063e884f26014610840578063ea4cfe1214610856578063ea6debd014610880578063f2fde38b146108a8578063f8b45b05146108d05761023a565b8063c3f70b521461075c578063c78d0fa014610786578063c876d0b9146107b0578063cc1776d3146107da578063dd62ed3e146108045761023a565b8063a13d1a2b116100f1578063a13d1a2b14610656578063a457c2d71461067e578063a9059cbb146106ba578063b0249cc6146106f6578063bbc0c742146107325761023a565b80638a8c523c146105865780638d3e6e401461059c5780638da5cb5b146105d857806395d89b41146106025780639e93ad8e1461062c5761023a565b806339509351116101bb5780635d58ce361161017f5780635d58ce36146104cc57806370a08231146104f6578063715018a614610532578063751039fc1461054857806377b27d1f1461055e5761023a565b806339509351146103d6578063452ed4f1146104125780634a62bb651461043c5780634f7041a5146104665780635a90a49e146104905761023a565b80631006ee0c116102025780631006ee0c146102f657806318160ddd1461031e5780631c499ab01461034857806323b872dd14610370578063313ce567146103ac5761023a565b80630517d13d1461023e57806306fdde03146102665780630758d92414610290578063095ea7b3146102ba5761023a565b3661023a57005b5f80fd5b348015610249575f80fd5b50610264600480360381019061025f9190612bcb565b6108fa565b005b348015610271575f80fd5b5061027a610a72565b6040516102879190612c80565b60405180910390f35b34801561029b575f80fd5b506102a4610b02565b6040516102b19190612d1a565b60405180910390f35b3480156102c5575f80fd5b506102e060048036038101906102db9190612d6e565b610b27565b6040516102ed9190612dc6565b60405180910390f35b348015610301575f80fd5b5061031c60048036038101906103179190612ddf565b610b49565b005b348015610329575f80fd5b50610332610c63565b60405161033f9190612e2c565b60405180910390f35b348015610353575f80fd5b5061036e60048036038101906103699190612bcb565b610c6c565b005b34801561037b575f80fd5b5061039660048036038101906103919190612e45565b610de3565b6040516103a39190612dc6565b60405180910390f35b3480156103b7575f80fd5b506103c0610e11565b6040516103cd9190612eb0565b60405180910390f35b3480156103e1575f80fd5b506103fc60048036038101906103f79190612d6e565b610e19565b6040516104099190612dc6565b60405180910390f35b34801561041d575f80fd5b50610426610e4f565b6040516104339190612ed8565b60405180910390f35b348015610447575f80fd5b50610450610e74565b60405161045d9190612dc6565b60405180910390f35b348015610471575f80fd5b5061047a610e87565b6040516104879190612e2c565b60405180910390f35b34801561049b575f80fd5b506104b660048036038101906104b19190612ef1565b610e8d565b6040516104c39190612dc6565b60405180910390f35b3480156104d7575f80fd5b506104e0610eaa565b6040516104ed9190612e2c565b60405180910390f35b348015610501575f80fd5b5061051c60048036038101906105179190612ef1565b610eb1565b6040516105299190612e2c565b60405180910390f35b34801561053d575f80fd5b50610546610ef6565b005b348015610553575f80fd5b5061055c611049565b005b348015610569575f80fd5b50610584600480360381019061057f9190612f46565b61115c565b005b348015610591575f80fd5b5061059a6112f1565b005b3480156105a7575f80fd5b506105c260048036038101906105bd9190612ef1565b6113f2565b6040516105cf9190612dc6565b60405180910390f35b3480156105e3575f80fd5b506105ec61140f565b6040516105f99190612ed8565b60405180910390f35b34801561060d575f80fd5b50610616611437565b6040516106239190612c80565b60405180910390f35b348015610637575f80fd5b506106406114c7565b60405161064d9190612e2c565b60405180910390f35b348015610661575f80fd5b5061067c60048036038101906106779190612f46565b6114cd565b005b348015610689575f80fd5b506106a4600480360381019061069f9190612d6e565b6116f7565b6040516106b19190612dc6565b60405180910390f35b3480156106c5575f80fd5b506106e060048036038101906106db9190612d6e565b61176c565b6040516106ed9190612dc6565b60405180910390f35b348015610701575f80fd5b5061071c60048036038101906107179190612ef1565b61178e565b6040516107299190612dc6565b60405180910390f35b34801561073d575f80fd5b506107466117ab565b6040516107539190612dc6565b60405180910390f35b348015610767575f80fd5b506107706117bd565b60405161077d9190612e2c565b60405180910390f35b348015610791575f80fd5b5061079a6117c3565b6040516107a79190612e2c565b60405180910390f35b3480156107bb575f80fd5b506107c46117c9565b6040516107d19190612dc6565b60405180910390f35b3480156107e5575f80fd5b506107ee6117db565b6040516107fb9190612e2c565b60405180910390f35b34801561080f575f80fd5b5061082a60048036038101906108259190612f84565b6117e1565b6040516108379190612e2c565b60405180910390f35b34801561084b575f80fd5b50610854611863565b005b348015610861575f80fd5b5061086a611914565b6040516108779190612ed8565b60405180910390f35b34801561088b575f80fd5b506108a660048036038101906108a19190612ef1565b611939565b005b3480156108b3575f80fd5b506108ce60048036038101906108c99190612ef1565b611a80565b005b3480156108db575f80fd5b506108e4611c42565b6040516108f19190612e2c565b60405180910390f35b610902611c48565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610990576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109879061300c565b60405180910390fd5b610998610e11565b600a6109a49190613186565b6103e860056109b1610c63565b6109bb91906131d0565b6109c5919061323e565b6109cf919061323e565b811015610a11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a08906132b8565b60405180910390fd5b610a19610e11565b600a610a259190613186565b81610a3091906131d0565b600a819055507f76a9278644b7300961aa0e7e86f10934585987f1daf1c6ecc971c18376691574600a54604051610a679190612e2c565b60405180910390a150565b606060038054610a8190613303565b80601f0160208091040260200160405190810160405280929190818152602001828054610aad90613303565b8015610af85780601f10610acf57610100808354040283529160200191610af8565b820191905f5260205f20905b815481529060010190602001808311610adb57829003601f168201915b5050505050905090565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f80610b31611c48565b9050610b3e818585611c4f565b600191505092915050565b610b51611c48565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bdf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd69061300c565b60405180910390fd5b81600d819055507f5380a61520019ce8270d583f62f1b2b9f4f4372e1acaaf708f4865cecece0508600d54604051610c179190612e2c565b60405180910390a180600e819055507fa02824f65350567bc405e202b741e7ca6274004a9feeb44149df72b8bd599c97600e54604051610c579190612e2c565b60405180910390a15050565b5f600254905090565b610c74611c48565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf99061300c565b60405180910390fd5b610d0a610e11565b600a610d169190613186565b60646001610d22610c63565b610d2c91906131d0565b610d36919061323e565b610d40919061323e565b811015610d82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d79906132b8565b60405180910390fd5b610d8a610e11565b600a610d969190613186565b81610da191906131d0565b600b819055507f3046ad62de8b70d396246aaed19ff2559ff20df8706520cbde58320766c42762600b54604051610dd89190612e2c565b60405180910390a150565b5f80610ded611c48565b9050610dfa858285611e12565b610e05858585611e9d565b60019150509392505050565b5f6012905090565b5f80610e23611c48565b9050610e44818585610e3585896117e1565b610e3f9190613333565b611c4f565b600191505092915050565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601060019054906101000a900460ff1681565b600d5481565b6006602052805f5260405f205f915054906101000a900460ff1681565b5f47905090565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610efe611c48565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f839061300c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b611051611c48565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d69061300c565b60405180910390fd5b5f601060016101000a81548160ff0219169083151502179055505f60105f6101000a81548160ff02191690831515021790555061111a610c63565b600a81905550611128610c63565b600b819055507fa4ffae85e880608d5d4365c2b682786545d136145537788e7e0940dff9f0b98c60405160405180910390a1565b611164611c48565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e99061300c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611260576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611257906133b0565b60405180910390fd5b8060065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055507f998cce27cbf44405c67eb636a634d5e2f2e6ff248b3d71fbbbb022f3c4c6dd2d82826040516112e59291906133ce565b60405180910390a15050565b6112f9611c48565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611387576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137e9061300c565b60405180910390fd5b60085f9054906101000a900460ff16156113d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113cd9061343f565b60405180910390fd5b600160085f6101000a81548160ff021916908315150217905550565b6007602052805f5260405f205f915054906101000a900460ff1681565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461144690613303565b80601f016020809104026020016040519081016040528092919081815260200182805461147290613303565b80156114bd5780601f10611494576101008083540402835291602001916114bd565b820191905f5260205f20905b8154815290600101906020018083116114a057829003601f168201915b5050505050905090565b61271081565b6114d5611c48565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611563576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155a9061300c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115c8906133b0565b60405180910390fd5b806116665760125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611665576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165c906134a7565b60405180910390fd5b5b8060075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055507f8f9f40630a1d139e6cf69b4f447ca47a36f10a017524efaa38252e516fa227ce82826040516116eb9291906133ce565b60405180910390a15050565b5f80611701611c48565b90505f61170e82866117e1565b905083811015611753576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174a90613535565b60405180910390fd5b6117608286868403611c4f565b60019250505092915050565b5f80611776611c48565b9050611783818585611e9d565b600191505092915050565b6009602052805f5260405f205f915054906101000a900460ff1681565b60085f9054906101000a900460ff1681565b600a5481565b60115481565b60105f9054906101000a900460ff1681565b600e5481565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b61186b611c48565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118f09061300c565b60405180910390fd5b5f60105f6101000a81548160ff021916908315150217905550565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611941611c48565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c69061300c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611a3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a349061359d565b60405180910390fd5b80600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611a88611c48565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611b16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b0d9061300c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611b84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b7b9061362b565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a38060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600b5481565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611cbd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cb4906136b9565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611d2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d2290613747565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611e059190612e2c565b60405180910390a3505050565b5f611e1d84846117e1565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611e975781811015611e89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e80906137af565b60405180910390fd5b611e968484848403611c4f565b5b50505050565b60065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611f38575060065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b80611f4f5750601060029054906101000a900460ff165b15611f6457611f5f838383611ffc565b611ff7565b60085f9054906101000a900460ff16611fb2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fa990613817565b60405180910390fd5b601060019054906101000a900460ff1615611fd357611fd2838383612268565b5b611fde8383836126c6565b81611fe99190613835565b9050611ff6838383611ffc565b5b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361206a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612061906138d8565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036120d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120cf90613966565b60405180910390fd5b6120e383838361289d565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015612166576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161215d906139f4565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161224f9190612e2c565b60405180910390a36122628484846128a2565b50505050565b60105f9054906101000a900460ff16156123e85760135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015612320575060095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156123e75743600f5f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054106123a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161239b90613a5c565b60405180910390fd5b43600f5f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60095f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612485575060075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561252c57600a548111156124cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124c690613ac4565b60405180910390fd5b600b546124db83610eb1565b826124e69190613333565b1115612527576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161251e90613b2c565b60405180910390fd5b6126c1565b60095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156125c9575060075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561261857600a54811115612613576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161260a90613ac4565b60405180910390fd5b6126c0565b60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166126bf57600b5461267283610eb1565b8261267d9190613333565b11156126be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126b590613b2c565b60405180910390fd5b5b5b5b505050565b5f6011546126d330610eb1565b101580156126ee5750601060029054906101000a900460ff16155b8015612741575060095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612784576001601060026101000a81548160ff0219169083151502179055506127696128a7565b5f601060026101000a81548160ff0219169083151502179055505b5f60095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156127dc57505f600e54115b1561280357612710600e54846127f291906131d0565b6127fc919061323e565b905061287e565b60095f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561285a57505f600d54115b1561287d57612710600d548461287091906131d0565b61287a919061323e565b90505b5b5f81111561289257612891853083611ffc565b5b809150509392505050565b505050565b505050565b5f6128b130610eb1565b90505f81036128c05750612988565b60286011546128cf91906131d0565b8111156128e85760286011546128e591906131d0565b90505b6128f18161298a565b5f471115612986575f600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff164760405161293f90613b77565b5f6040518083038185875af1925050503d805f8114612979576040519150601f19603f3d011682016040523d82523d5f602084013e61297e565b606091505b505080915050505b505b565b5f600267ffffffffffffffff8111156129a6576129a5613b8b565b5b6040519080825280602002602001820160405280156129d45781602001602082028036833780820191505090505b50905030815f815181106129eb576129ea613bb8565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a8f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ab39190613bf9565b81600181518110612ac757612ac6613bb8565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612b63959493929190613d14565b5f604051808303815f87803b158015612b7a575f80fd5b505af1158015612b8c573d5f803e3d5ffd5b505050505050565b5f80fd5b5f819050919050565b612baa81612b98565b8114612bb4575f80fd5b50565b5f81359050612bc581612ba1565b92915050565b5f60208284031215612be057612bdf612b94565b5b5f612bed84828501612bb7565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612c2d578082015181840152602081019050612c12565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612c5282612bf6565b612c5c8185612c00565b9350612c6c818560208601612c10565b612c7581612c38565b840191505092915050565b5f6020820190508181035f830152612c988184612c48565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f819050919050565b5f612ce2612cdd612cd884612ca0565b612cbf565b612ca0565b9050919050565b5f612cf382612cc8565b9050919050565b5f612d0482612ce9565b9050919050565b612d1481612cfa565b82525050565b5f602082019050612d2d5f830184612d0b565b92915050565b5f612d3d82612ca0565b9050919050565b612d4d81612d33565b8114612d57575f80fd5b50565b5f81359050612d6881612d44565b92915050565b5f8060408385031215612d8457612d83612b94565b5b5f612d9185828601612d5a565b9250506020612da285828601612bb7565b9150509250929050565b5f8115159050919050565b612dc081612dac565b82525050565b5f602082019050612dd95f830184612db7565b92915050565b5f8060408385031215612df557612df4612b94565b5b5f612e0285828601612bb7565b9250506020612e1385828601612bb7565b9150509250929050565b612e2681612b98565b82525050565b5f602082019050612e3f5f830184612e1d565b92915050565b5f805f60608486031215612e5c57612e5b612b94565b5b5f612e6986828701612d5a565b9350506020612e7a86828701612d5a565b9250506040612e8b86828701612bb7565b9150509250925092565b5f60ff82169050919050565b612eaa81612e95565b82525050565b5f602082019050612ec35f830184612ea1565b92915050565b612ed281612d33565b82525050565b5f602082019050612eeb5f830184612ec9565b92915050565b5f60208284031215612f0657612f05612b94565b5b5f612f1384828501612d5a565b91505092915050565b612f2581612dac565b8114612f2f575f80fd5b50565b5f81359050612f4081612f1c565b92915050565b5f8060408385031215612f5c57612f5b612b94565b5b5f612f6985828601612d5a565b9250506020612f7a85828601612f32565b9150509250929050565b5f8060408385031215612f9a57612f99612b94565b5b5f612fa785828601612d5a565b9250506020612fb885828601612d5a565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612ff6602083612c00565b915061300182612fc2565b602082019050919050565b5f6020820190508181035f83015261302381612fea565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156130ac578086048111156130885761308761302a565b5b60018516156130975780820291505b80810290506130a585613057565b945061306c565b94509492505050565b5f826130c4576001905061317f565b816130d1575f905061317f565b81600181146130e757600281146130f157613120565b600191505061317f565b60ff8411156131035761310261302a565b5b8360020a91508482111561311a5761311961302a565b5b5061317f565b5060208310610133831016604e8410600b84101617156131555782820a9050838111156131505761314f61302a565b5b61317f565b6131628484846001613063565b925090508184048111156131795761317861302a565b5b81810290505b9392505050565b5f61319082612b98565b915061319b83612e95565b92506131c87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846130b5565b905092915050565b5f6131da82612b98565b91506131e583612b98565b92508282026131f381612b98565b9150828204841483151761320a5761320961302a565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61324882612b98565b915061325383612b98565b92508261326357613262613211565b5b828204905092915050565b7f546f6f206c6f77000000000000000000000000000000000000000000000000005f82015250565b5f6132a2600783612c00565b91506132ad8261326e565b602082019050919050565b5f6020820190508181035f8301526132cf81613296565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061331a57607f821691505b60208210810361332d5761332c6132d6565b5b50919050565b5f61333d82612b98565b915061334883612b98565b92508282019050808211156133605761335f61302a565b5b92915050565b7f5a65726f204164647265737300000000000000000000000000000000000000005f82015250565b5f61339a600c83612c00565b91506133a582613366565b602082019050919050565b5f6020820190508181035f8301526133c78161338e565b9050919050565b5f6040820190506133e15f830185612ec9565b6133ee6020830184612db7565b9392505050565b7f54726164696e67206163746976650000000000000000000000000000000000005f82015250565b5f613429600e83612c00565b9150613434826133f5565b602082019050919050565b5f6020820190508181035f8301526134568161341d565b9050919050565b7f50616972000000000000000000000000000000000000000000000000000000005f82015250565b5f613491600483612c00565b915061349c8261345d565b602082019050919050565b5f6020820190508181035f8301526134be81613485565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f61351f602583612c00565b915061352a826134c5565b604082019050919050565b5f6020820190508181035f83015261354c81613513565b9050919050565b7f7a65726f206164647265737300000000000000000000000000000000000000005f82015250565b5f613587600c83612c00565b915061359282613553565b602082019050919050565b5f6020820190508181035f8301526135b48161357b565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f613615602683612c00565b9150613620826135bb565b604082019050919050565b5f6020820190508181035f83015261364281613609565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6136a3602483612c00565b91506136ae82613649565b604082019050919050565b5f6020820190508181035f8301526136d081613697565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f613731602283612c00565b915061373c826136d7565b604082019050919050565b5f6020820190508181035f83015261375e81613725565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f613799601d83612c00565b91506137a482613765565b602082019050919050565b5f6020820190508181035f8301526137c68161378d565b9050919050565b7f54726164696e67206e6f742061637469766500000000000000000000000000005f82015250565b5f613801601283612c00565b915061380c826137cd565b602082019050919050565b5f6020820190508181035f83015261382e816137f5565b9050919050565b5f61383f82612b98565b915061384a83612b98565b92508282039050818111156138625761386161302a565b5b92915050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6138c2602583612c00565b91506138cd82613868565b604082019050919050565b5f6020820190508181035f8301526138ef816138b6565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f613950602383612c00565b915061395b826138f6565b604082019050919050565b5f6020820190508181035f83015261397d81613944565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f6139de602683612c00565b91506139e982613984565b604082019050919050565b5f6020820190508181035f830152613a0b816139d2565b9050919050565b7f5472616e736665722044656c617920656e61626c65642e0000000000000000005f82015250565b5f613a46601783612c00565b9150613a5182613a12565b602082019050919050565b5f6020820190508181035f830152613a7381613a3a565b9050919050565b7f4d61782074782065786365656465642e000000000000000000000000000000005f82015250565b5f613aae601083612c00565b9150613ab982613a7a565b602082019050919050565b5f6020820190508181035f830152613adb81613aa2565b9050919050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f613b16601383612c00565b9150613b2182613ae2565b602082019050919050565b5f6020820190508181035f830152613b4381613b0a565b9050919050565b5f81905092915050565b50565b5f613b625f83613b4a565b9150613b6d82613b54565b5f82019050919050565b5f613b8182613b57565b9150819050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050613bf381612d44565b92915050565b5f60208284031215613c0e57613c0d612b94565b5b5f613c1b84828501613be5565b91505092915050565b5f819050919050565b5f613c47613c42613c3d84613c24565b612cbf565b612b98565b9050919050565b613c5781613c2d565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613c8f81612d33565b82525050565b5f613ca08383613c86565b60208301905092915050565b5f602082019050919050565b5f613cc282613c5d565b613ccc8185613c67565b9350613cd783613c77565b805f5b83811015613d07578151613cee8882613c95565b9750613cf983613cac565b925050600181019050613cda565b5085935050505092915050565b5f60a082019050613d275f830188612e1d565b613d346020830187613c4e565b8181036040830152613d468186613cb8565b9050613d556060830185612ec9565b613d626080830184612e1d565b969550505050505056fea2646970667358221220b38de5aab8e6fe3aa514cb78cb10255856e1f0a63f2c60e3bafec48af3f6b95264736f6c63430008140033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000094d6f6e696520426f74000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054d4f4e4945000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _name (string): Monie Bot
Arg [1] : _symbol (string): MONIE

-----Encoded View---------------
6 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000009
Arg [3] : 4d6f6e696520426f740000000000000000000000000000000000000000000000
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [5] : 4d4f4e4945000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

16794:7952:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23288:287;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4314:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17507:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6793:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23857:215;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5562:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23583:266;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7574:261;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5404:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8244:238;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17479:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17370:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17146:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16839:47;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4422:109;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5733:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15964:150;;;;;;;;;;;;;:::i;:::-;;24223:231;;;;;;;;;;;;;:::i;:::-;;22686:247;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;24080:135;;;;;;;;;;;;;:::i;:::-;;16893:49;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15750:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4652:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17543:43;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22941:339;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8985:436;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6066:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16985:42;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16951:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17036:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17440:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17324:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17174:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6322:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24462:98;;;;;;;;;;;;;:::i;:::-;;17105:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24568:175;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16122:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17072:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23288:287;15887:12;:10;:12::i;:::-;15877:22;;:6;;;;;;;;;;;:22;;;15869:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;23430:10:::1;:8;:10::i;:::-;23426:2;:14;;;;:::i;:::-;23419:4;23415:1;23399:13;:11;:13::i;:::-;:17;;;;:::i;:::-;:24;;;;:::i;:::-;23398:43;;;;:::i;:::-;23380:14;:61;;23372:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;23503:10;:8;:10::i;:::-;23499:2;:14;;;;:::i;:::-;23481;:33;;;;:::i;:::-;23464:14;:50;;;;23530:37;23552:14;;23530:37;;;;;;:::i;:::-;;;;;;;;23288:287:::0;:::o;4314:100::-;4368:13;4401:5;4394:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4314:100;:::o;17507:27::-;;;;;;;;;;;;;:::o;6793:201::-;6876:4;6893:13;6909:12;:10;:12::i;:::-;6893:28;;6932:32;6941:5;6948:7;6957:6;6932:8;:32::i;:::-;6982:4;6975:11;;;6793:201;;;;:::o;23857:215::-;15887:12;:10;:12::i;:::-;15877:22;;:6;;;;;;;;;;;:22;;;15869:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;23952:7:::1;23943:6;:16;;;;23975:21;23989:6;;23975:21;;;;;;:::i;:::-;;;;;;;;24017:8;24007:7;:18;;;;24041:23;24056:7;;24041:23;;;;;;:::i;:::-;;;;;;;;23857:215:::0;;:::o;5562:108::-;5623:7;5650:12;;5643:19;;5562:108;:::o;23583:266::-;15887:12;:10;:12::i;:::-;15877:22;;:6;;;;;;;;;;;:22;;;15869:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;23719:10:::1;:8;:10::i;:::-;23715:2;:14;;;;:::i;:::-;23709:3;23705:1;23689:13;:11;:13::i;:::-;:17;;;;:::i;:::-;:23;;;;:::i;:::-;23688:42;;;;:::i;:::-;23670:14;:60;;23662:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;23787:10;:8;:10::i;:::-;23783:2;:14;;;;:::i;:::-;23765;:33;;;;:::i;:::-;23753:9;:45;;;;23814:27;23831:9;;23814:27;;;;;;:::i;:::-;;;;;;;;23583:266:::0;:::o;7574:261::-;7671:4;7688:15;7706:12;:10;:12::i;:::-;7688:30;;7729:38;7745:4;7751:7;7760:6;7729:15;:38::i;:::-;7778:27;7788:4;7794:2;7798:6;7778:9;:27::i;:::-;7823:4;7816:11;;;7574:261;;;;;:::o;5404:93::-;5462:5;5487:2;5480:9;;5404:93;:::o;8244:238::-;8332:4;8349:13;8365:12;:10;:12::i;:::-;8349:28;;8388:64;8397:5;8404:7;8441:10;8413:25;8423:5;8430:7;8413:9;:25::i;:::-;:38;;;;:::i;:::-;8388:8;:64::i;:::-;8470:4;8463:11;;;8244:238;;;;:::o;17479:21::-;;;;;;;;;;;;;:::o;17370:33::-;;;;;;;;;;;;;:::o;17146:21::-;;;;:::o;16839:47::-;;;;;;;;;;;;;;;;;;;;;;:::o;4422:109::-;4475:7;4502:21;4495:28;;4422:109;:::o;5733:127::-;5807:7;5834:9;:18;5844:7;5834:18;;;;;;;;;;;;;;;;5827:25;;5733:127;;;:::o;15964:150::-;15887:12;:10;:12::i;:::-;15877:22;;:6;;;;;;;;;;;:22;;;15869:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16073:1:::1;16036:40;;16057:6;;;;;;;;;;;16036:40;;;;;;;;;;;;16104:1;16087:6;;:19;;;;;;;;;;;;;;;;;;15964:150::o:0;24223:231::-;15887:12;:10;:12::i;:::-;15877:22;;:6;;;;;;;;;;;:22;;;15869:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;24294:5:::1;24277:14;;:22;;;;;;;;;;;;;;;;;;24333:5;24310:20;;:28;;;;;;;;;;;;;;;;;;24366:13;:11;:13::i;:::-;24349:14;:30;;;;24402:13;:11;:13::i;:::-;24390:9;:25;;;;24431:15;;;;;;;;;;24223:231::o:0;22686:247::-;15887:12;:10;:12::i;:::-;15877:22;;:6;;;;;;;;;;;:22;;;15869:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;22805:1:::1;22785:22;;:8;:22;;::::0;22777:47:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;22862:9;22835:14;:24;22850:8;22835:24;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;22887:38;22905:8;22915:9;22887:38;;;;;;;:::i;:::-;;;;;;;;22686:247:::0;;:::o;24080:135::-;15887:12;:10;:12::i;:::-;15877:22;;:6;;;;;;;;;;;:22;;;15869:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;24144:13:::1;;;;;;;;;;;24143:14;24135:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;24203:4;24187:13;;:20;;;;;;;;;;;;;;;;;;24080:135::o:0;16893:49::-;;;;;;;;;;;;;;;;;;;;;;:::o;15750:79::-;15788:7;15815:6;;;;;;;;;;;15808:13;;15750:79;:::o;4652:104::-;4708:13;4741:7;4734:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4652:104;:::o;17543:43::-;17581:5;17543:43;:::o;22941:339::-;15887:12;:10;:12::i;:::-;15877:22;;:6;;;;;;;;;;;:22;;;15869:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;23062:1:::1;23042:22;;:8;:22;;::::0;23034:47:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;23096:9;23092:76;;23141:6;;;;;;;;;;;23129:18;;:8;:18;;::::0;23121:35:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;23092:76;23207:9;23178:16;:26;23195:8;23178:26;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;23232:40;23252:8;23262:9;23232:40;;;;;;;:::i;:::-;;;;;;;;22941:339:::0;;:::o;8985:436::-;9078:4;9095:13;9111:12;:10;:12::i;:::-;9095:28;;9134:24;9161:25;9171:5;9178:7;9161:9;:25::i;:::-;9134:52;;9225:15;9205:16;:35;;9197:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;9318:60;9327:5;9334:7;9362:15;9343:16;:34;9318:8;:60::i;:::-;9409:4;9402:11;;;;8985:436;;;;:::o;6066:193::-;6145:4;6162:13;6178:12;:10;:12::i;:::-;6162:28;;6201;6211:5;6218:2;6222:6;6201:9;:28::i;:::-;6247:4;6240:11;;;6066:193;;;;:::o;16985:42::-;;;;;;;;;;;;;;;;;;;;;;:::o;16951:25::-;;;;;;;;;;;;;:::o;17036:29::-;;;;:::o;17440:30::-;;;;:::o;17324:39::-;;;;;;;;;;;;;:::o;17174:22::-;;;;:::o;6322:151::-;6411:7;6438:11;:18;6450:5;6438:18;;;;;;;;;;;;;;;:27;6457:7;6438:27;;;;;;;;;;;;;;;;6431:34;;6322:151;;;;:::o;24462:98::-;15887:12;:10;:12::i;:::-;15877:22;;:6;;;;;;;;;;;:22;;;15869:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;24547:5:::1;24524:20;;:28;;;;;;;;;;;;;;;;;;24462:98::o:0;17105:32::-;;;;;;;;;;;;;:::o;24568:175::-;15887:12;:10;:12::i;:::-;15877:22;;:6;;;;;;;;;;;:22;;;15869:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;24677:1:::1;24657:22;;:8;:22;;::::0;24649:47:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;24727:8;24707:17;;:28;;;;;;;;;;;;;;;;;;24568:175:::0;:::o;16122:244::-;15887:12;:10;:12::i;:::-;15877:22;;:6;;;;;;;;;;;:22;;;15869:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16231:1:::1;16211:22;;:8;:22;;::::0;16203:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;16321:8;16292:38;;16313:6;;;;;;;;;;;16292:38;;;;;;;;;;;;16350:8;16341:6;;:17;;;;;;;;;;;;;;;;;;16122:244:::0;:::o;17072:24::-;;;;:::o;220:98::-;273:7;300:10;293:17;;220:98;:::o;12978:346::-;13097:1;13080:19;;:5;:19;;;13072:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13178:1;13159:21;;:7;:21;;;13151:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13262:6;13232:11;:18;13244:5;13232:18;;;;;;;;;;;;;;;:27;13251:7;13232:27;;;;;;;;;;;;;;;:36;;;;13300:7;13284:32;;13293:5;13284:32;;;13309:6;13284:32;;;;;;:::i;:::-;;;;;;;;12978:346;;;:::o;13615:419::-;13716:24;13743:25;13753:5;13760:7;13743:9;:25::i;:::-;13716:52;;13803:17;13783:16;:37;13779:248;;13865:6;13845:16;:26;;13837:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13949:51;13958:5;13965:7;13993:6;13974:16;:25;13949:8;:51::i;:::-;13779:248;13705:329;13615:419;;;:::o;19590:523::-;19735:14;:20;19750:4;19735:20;;;;;;;;;;;;;;;;;;;;;;;;;:42;;;;19759:14;:18;19774:2;19759:18;;;;;;;;;;;;;;;;;;;;;;;;;19735:42;:54;;;;19781:8;;;;;;;;;;;19735:54;19732:137;;;19805:31;19821:4;19826:2;19829:6;19805:15;:31::i;:::-;19851:7;;19732:137;19889:13;;;;;;;;;;;19881:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;19941:14;;;;;;;;;;;19938:74;;;19971:29;19983:4;19989:2;19993:6;19971:11;:29::i;:::-;19938:74;20034:27;20044:4;20050:2;20054:6;20034:9;:27::i;:::-;20024:37;;;;;:::i;:::-;;;20074:31;20090:4;20095:2;20098:6;20074:15;:31::i;:::-;19590:523;;;;:::o;9891:806::-;10004:1;9988:18;;:4;:18;;;9980:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10081:1;10067:16;;:2;:16;;;10059:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;10136:38;10157:4;10163:2;10167:6;10136:20;:38::i;:::-;10187:19;10209:9;:15;10219:4;10209:15;;;;;;;;;;;;;;;;10187:37;;10258:6;10243:11;:21;;10235:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;10375:6;10361:11;:20;10343:9;:15;10353:4;10343:15;;;;;;;;;;;;;;;:38;;;;10578:6;10561:9;:13;10571:2;10561:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;10628:2;10613:26;;10622:4;10613:26;;;10632:6;10613:26;;;;;;:::i;:::-;;;;;;;;10652:37;10672:4;10678:2;10682:6;10652:19;:37::i;:::-;9969:728;9891:806;;;:::o;20121:908::-;20208:20;;;;;;;;;;;20204:288;;;20262:9;;;;;;;;;;;20248:24;;:2;:24;;;;:42;;;;;20277:9;:13;20287:2;20277:13;;;;;;;;;;;;;;;;;;;;;;;;;20276:14;20248:42;20244:237;;;20356:12;20318:24;:35;20343:9;20318:35;;;;;;;;;;;;;;;;:50;20310:86;;;;;;;;;;;;:::i;:::-;;;;;;;;;20453:12;20415:24;:35;20440:9;20415:35;;;;;;;;;;;;;;;:50;;;;20244:237;20204:288;20524:9;:15;20534:4;20524:15;;;;;;;;;;;;;;;;;;;;;;;;;:40;;;;;20544:16;:20;20561:2;20544:20;;;;;;;;;;;;;;;;;;;;;;;;;20543:21;20524:40;20520:502;;;20599:14;;20589:6;:24;;20581:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;20683:9;;20666:13;20676:2;20666:9;:13::i;:::-;20657:6;:22;;;;:::i;:::-;:35;;20649:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20520:502;;;20765:9;:13;20775:2;20765:13;;;;;;;;;;;;;;;;;;;;;;;;;:40;;;;;20783:16;:22;20800:4;20783:22;;;;;;;;;;;;;;;;;;;;;;;;;20782:23;20765:40;20761:261;;;20840:14;;20830:6;:24;;20822:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;20761:261;;;20906:16;:20;20923:2;20906:20;;;;;;;;;;;;;;;;;;;;;;;;;20902:120;;20977:9;;20960:13;20970:2;20960:9;:13::i;:::-;20951:6;:22;;;;:::i;:::-;:35;;20943:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20902:120;20761:261;20520:502;20121:908;;;:::o;21037:712::-;21116:7;21166:15;;21138:24;21156:4;21138:9;:24::i;:::-;:43;;:56;;;;;21186:8;;;;;;;;;;;21185:9;21138:56;:76;;;;;21199:9;:15;21209:4;21199:15;;;;;;;;;;;;;;;;;;;;;;;;;21198:16;21138:76;21135:179;;;21242:4;21231:8;;:15;;;;;;;;;;;;;;;;;;21261:10;:8;:10::i;:::-;21297:5;21286:8;;:16;;;;;;;;;;;;;;;;;;21135:179;21334:11;21386:9;:13;21396:2;21386:13;;;;;;;;;;;;;;;;;;;;;;;;;:28;;;;;21413:1;21403:7;;:11;21386:28;21382:226;;;17581:5;21445:7;;21436:6;:16;;;;:::i;:::-;:30;;;;:::i;:::-;21430:36;;21382:226;;;21515:9;:15;21525:4;21515:15;;;;;;;;;;;;;;;;;;;;;;;;;:29;;;;;21543:1;21534:6;;:10;21515:29;21512:96;;;17581:5;21576:6;;21567;:15;;;;:::i;:::-;:29;;;;:::i;:::-;21561:35;;21512:96;21382:226;21637:1;21631:3;:7;21628:83;;;21658:41;21674:4;21688;21695:3;21658:15;:41::i;:::-;21628:83;21738:3;21731:10;;;21037:712;;;;;:::o;14634:91::-;;;;:::o;15329:90::-;;;;:::o;22149:503::-;22190:23;22216:24;22234:4;22216:9;:24::i;:::-;22190:50;;22283:1;22264:15;:20;22261:34;;22287:7;;;22261:34;22346:2;22328:15;;:20;;;;:::i;:::-;22310:15;:38;22307:107;;;22400:2;22382:15;;:20;;;;:::i;:::-;22364:38;;22307:107;22434:33;22451:15;22434:16;:33::i;:::-;22519:1;22495:21;:25;22492:153;;;22536:12;22577:17;;;;;;;;;;;:22;;22607:21;22577:56;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22563:70;;;;;22521:124;22492:153;22177:475;22149:503;:::o;21757:384::-;21822:21;21860:1;21846:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21822:40;;21891:4;21873;21878:1;21873:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;21917:9;;;;;;;;;;;:14;;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21907:4;21912:1;21907:7;;;;;;;;:::i;:::-;;;;;;;:26;;;;;;;;;;;21946:9;;;;;;;;;;;:60;;;22021:8;22044:1;22060:4;22087;22107:15;21946:187;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21809:332;21757:384;:::o;88:117:1:-;197:1;194;187:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:139::-;591:5;629:6;616:20;607:29;;645:33;672:5;645:33;:::i;:::-;545:139;;;;:::o;690:329::-;749:6;798:2;786:9;777:7;773:23;769:32;766:119;;;804:79;;:::i;:::-;766:119;924:1;949:53;994:7;985:6;974:9;970:22;949:53;:::i;:::-;939:63;;895:117;690:329;;;;:::o;1025:99::-;1077:6;1111:5;1105:12;1095:22;;1025:99;;;:::o;1130:169::-;1214:11;1248:6;1243:3;1236:19;1288:4;1283:3;1279:14;1264:29;;1130:169;;;;:::o;1305:246::-;1386:1;1396:113;1410:6;1407:1;1404:13;1396:113;;;1495:1;1490:3;1486:11;1480:18;1476:1;1471:3;1467:11;1460:39;1432:2;1429:1;1425:10;1420:15;;1396:113;;;1543:1;1534:6;1529:3;1525:16;1518:27;1367:184;1305:246;;;:::o;1557:102::-;1598:6;1649:2;1645:7;1640:2;1633:5;1629:14;1625:28;1615:38;;1557:102;;;:::o;1665:377::-;1753:3;1781:39;1814:5;1781:39;:::i;:::-;1836:71;1900:6;1895:3;1836:71;:::i;:::-;1829:78;;1916:65;1974:6;1969:3;1962:4;1955:5;1951:16;1916:65;:::i;:::-;2006:29;2028:6;2006:29;:::i;:::-;2001:3;1997:39;1990:46;;1757:285;1665:377;;;;:::o;2048:313::-;2161:4;2199:2;2188:9;2184:18;2176:26;;2248:9;2242:4;2238:20;2234:1;2223:9;2219:17;2212:47;2276:78;2349:4;2340:6;2276:78;:::i;:::-;2268:86;;2048:313;;;;:::o;2367:126::-;2404:7;2444:42;2437:5;2433:54;2422:65;;2367:126;;;:::o;2499:60::-;2527:3;2548:5;2541:12;;2499:60;;;:::o;2565:142::-;2615:9;2648:53;2666:34;2675:24;2693:5;2675:24;:::i;:::-;2666:34;:::i;:::-;2648:53;:::i;:::-;2635:66;;2565:142;;;:::o;2713:126::-;2763:9;2796:37;2827:5;2796:37;:::i;:::-;2783:50;;2713:126;;;:::o;2845:144::-;2913:9;2946:37;2977:5;2946:37;:::i;:::-;2933:50;;2845:144;;;:::o;2995:167::-;3100:55;3149:5;3100:55;:::i;:::-;3095:3;3088:68;2995:167;;:::o;3168:258::-;3279:4;3317:2;3306:9;3302:18;3294:26;;3330:89;3416:1;3405:9;3401:17;3392:6;3330:89;:::i;:::-;3168:258;;;;:::o;3432:96::-;3469:7;3498:24;3516:5;3498:24;:::i;:::-;3487:35;;3432:96;;;:::o;3534:122::-;3607:24;3625:5;3607:24;:::i;:::-;3600:5;3597:35;3587:63;;3646:1;3643;3636:12;3587:63;3534:122;:::o;3662:139::-;3708:5;3746:6;3733:20;3724:29;;3762:33;3789:5;3762:33;:::i;:::-;3662:139;;;;:::o;3807:474::-;3875:6;3883;3932:2;3920:9;3911:7;3907:23;3903:32;3900:119;;;3938:79;;:::i;:::-;3900:119;4058:1;4083:53;4128:7;4119:6;4108:9;4104:22;4083:53;:::i;:::-;4073:63;;4029:117;4185:2;4211:53;4256:7;4247:6;4236:9;4232:22;4211:53;:::i;:::-;4201:63;;4156:118;3807:474;;;;;:::o;4287:90::-;4321:7;4364:5;4357:13;4350:21;4339:32;;4287:90;;;:::o;4383:109::-;4464:21;4479:5;4464:21;:::i;:::-;4459:3;4452:34;4383:109;;:::o;4498:210::-;4585:4;4623:2;4612:9;4608:18;4600:26;;4636:65;4698:1;4687:9;4683:17;4674:6;4636:65;:::i;:::-;4498:210;;;;:::o;4714:474::-;4782:6;4790;4839:2;4827:9;4818:7;4814:23;4810:32;4807:119;;;4845:79;;:::i;:::-;4807:119;4965:1;4990:53;5035:7;5026:6;5015:9;5011:22;4990:53;:::i;:::-;4980:63;;4936:117;5092:2;5118:53;5163:7;5154:6;5143:9;5139:22;5118:53;:::i;:::-;5108:63;;5063:118;4714:474;;;;;:::o;5194:118::-;5281:24;5299:5;5281:24;:::i;:::-;5276:3;5269:37;5194:118;;:::o;5318:222::-;5411:4;5449:2;5438:9;5434:18;5426:26;;5462:71;5530:1;5519:9;5515:17;5506:6;5462:71;:::i;:::-;5318:222;;;;:::o;5546:619::-;5623:6;5631;5639;5688:2;5676:9;5667:7;5663:23;5659:32;5656:119;;;5694:79;;:::i;:::-;5656:119;5814:1;5839:53;5884:7;5875:6;5864:9;5860:22;5839:53;:::i;:::-;5829:63;;5785:117;5941:2;5967:53;6012:7;6003:6;5992:9;5988:22;5967:53;:::i;:::-;5957:63;;5912:118;6069:2;6095:53;6140:7;6131:6;6120:9;6116:22;6095:53;:::i;:::-;6085:63;;6040:118;5546:619;;;;;:::o;6171:86::-;6206:7;6246:4;6239:5;6235:16;6224:27;;6171:86;;;:::o;6263:112::-;6346:22;6362:5;6346:22;:::i;:::-;6341:3;6334:35;6263:112;;:::o;6381:214::-;6470:4;6508:2;6497:9;6493:18;6485:26;;6521:67;6585:1;6574:9;6570:17;6561:6;6521:67;:::i;:::-;6381:214;;;;:::o;6601:118::-;6688:24;6706:5;6688:24;:::i;:::-;6683:3;6676:37;6601:118;;:::o;6725:222::-;6818:4;6856:2;6845:9;6841:18;6833:26;;6869:71;6937:1;6926:9;6922:17;6913:6;6869:71;:::i;:::-;6725:222;;;;:::o;6953:329::-;7012:6;7061:2;7049:9;7040:7;7036:23;7032:32;7029:119;;;7067:79;;:::i;:::-;7029:119;7187:1;7212:53;7257:7;7248:6;7237:9;7233:22;7212:53;:::i;:::-;7202:63;;7158:117;6953:329;;;;:::o;7288:116::-;7358:21;7373:5;7358:21;:::i;:::-;7351:5;7348:32;7338:60;;7394:1;7391;7384:12;7338:60;7288:116;:::o;7410:133::-;7453:5;7491:6;7478:20;7469:29;;7507:30;7531:5;7507:30;:::i;:::-;7410:133;;;;:::o;7549:468::-;7614:6;7622;7671:2;7659:9;7650:7;7646:23;7642:32;7639:119;;;7677:79;;:::i;:::-;7639:119;7797:1;7822:53;7867:7;7858:6;7847:9;7843:22;7822:53;:::i;:::-;7812:63;;7768:117;7924:2;7950:50;7992:7;7983:6;7972:9;7968:22;7950:50;:::i;:::-;7940:60;;7895:115;7549:468;;;;;:::o;8023:474::-;8091:6;8099;8148:2;8136:9;8127:7;8123:23;8119:32;8116:119;;;8154:79;;:::i;:::-;8116:119;8274:1;8299:53;8344:7;8335:6;8324:9;8320:22;8299:53;:::i;:::-;8289:63;;8245:117;8401:2;8427:53;8472:7;8463:6;8452:9;8448:22;8427:53;:::i;:::-;8417:63;;8372:118;8023:474;;;;;:::o;8503:182::-;8643:34;8639:1;8631:6;8627:14;8620:58;8503:182;:::o;8691:366::-;8833:3;8854:67;8918:2;8913:3;8854:67;:::i;:::-;8847:74;;8930:93;9019:3;8930:93;:::i;:::-;9048:2;9043:3;9039:12;9032:19;;8691:366;;;:::o;9063:419::-;9229:4;9267:2;9256:9;9252:18;9244:26;;9316:9;9310:4;9306:20;9302:1;9291:9;9287:17;9280:47;9344:131;9470:4;9344:131;:::i;:::-;9336:139;;9063:419;;;:::o;9488:180::-;9536:77;9533:1;9526:88;9633:4;9630:1;9623:15;9657:4;9654:1;9647:15;9674:102;9716:8;9763:5;9760:1;9756:13;9735:34;;9674:102;;;:::o;9782:848::-;9843:5;9850:4;9874:6;9865:15;;9898:5;9889:14;;9912:712;9933:1;9923:8;9920:15;9912:712;;;10028:4;10023:3;10019:14;10013:4;10010:24;10007:50;;;10037:18;;:::i;:::-;10007:50;10087:1;10077:8;10073:16;10070:451;;;10502:4;10495:5;10491:16;10482:25;;10070:451;10552:4;10546;10542:15;10534:23;;10582:32;10605:8;10582:32;:::i;:::-;10570:44;;9912:712;;;9782:848;;;;;;;:::o;10636:1073::-;10690:5;10881:8;10871:40;;10902:1;10893:10;;10904:5;;10871:40;10930:4;10920:36;;10947:1;10938:10;;10949:5;;10920:36;11016:4;11064:1;11059:27;;;;11100:1;11095:191;;;;11009:277;;11059:27;11077:1;11068:10;;11079:5;;;11095:191;11140:3;11130:8;11127:17;11124:43;;;11147:18;;:::i;:::-;11124:43;11196:8;11193:1;11189:16;11180:25;;11231:3;11224:5;11221:14;11218:40;;;11238:18;;:::i;:::-;11218:40;11271:5;;;11009:277;;11395:2;11385:8;11382:16;11376:3;11370:4;11367:13;11363:36;11345:2;11335:8;11332:16;11327:2;11321:4;11318:12;11314:35;11298:111;11295:246;;;11451:8;11445:4;11441:19;11432:28;;11486:3;11479:5;11476:14;11473:40;;;11493:18;;:::i;:::-;11473:40;11526:5;;11295:246;11566:42;11604:3;11594:8;11588:4;11585:1;11566:42;:::i;:::-;11551:57;;;;11640:4;11635:3;11631:14;11624:5;11621:25;11618:51;;;11649:18;;:::i;:::-;11618:51;11698:4;11691:5;11687:16;11678:25;;10636:1073;;;;;;:::o;11715:281::-;11773:5;11797:23;11815:4;11797:23;:::i;:::-;11789:31;;11841:25;11857:8;11841:25;:::i;:::-;11829:37;;11885:104;11922:66;11912:8;11906:4;11885:104;:::i;:::-;11876:113;;11715:281;;;;:::o;12002:410::-;12042:7;12065:20;12083:1;12065:20;:::i;:::-;12060:25;;12099:20;12117:1;12099:20;:::i;:::-;12094:25;;12154:1;12151;12147:9;12176:30;12194:11;12176:30;:::i;:::-;12165:41;;12355:1;12346:7;12342:15;12339:1;12336:22;12316:1;12309:9;12289:83;12266:139;;12385:18;;:::i;:::-;12266:139;12050:362;12002:410;;;;:::o;12418:180::-;12466:77;12463:1;12456:88;12563:4;12560:1;12553:15;12587:4;12584:1;12577:15;12604:185;12644:1;12661:20;12679:1;12661:20;:::i;:::-;12656:25;;12695:20;12713:1;12695:20;:::i;:::-;12690:25;;12734:1;12724:35;;12739:18;;:::i;:::-;12724:35;12781:1;12778;12774:9;12769:14;;12604:185;;;;:::o;12795:157::-;12935:9;12931:1;12923:6;12919:14;12912:33;12795:157;:::o;12958:365::-;13100:3;13121:66;13185:1;13180:3;13121:66;:::i;:::-;13114:73;;13196:93;13285:3;13196:93;:::i;:::-;13314:2;13309:3;13305:12;13298:19;;12958:365;;;:::o;13329:419::-;13495:4;13533:2;13522:9;13518:18;13510:26;;13582:9;13576:4;13572:20;13568:1;13557:9;13553:17;13546:47;13610:131;13736:4;13610:131;:::i;:::-;13602:139;;13329:419;;;:::o;13754:180::-;13802:77;13799:1;13792:88;13899:4;13896:1;13889:15;13923:4;13920:1;13913:15;13940:320;13984:6;14021:1;14015:4;14011:12;14001:22;;14068:1;14062:4;14058:12;14089:18;14079:81;;14145:4;14137:6;14133:17;14123:27;;14079:81;14207:2;14199:6;14196:14;14176:18;14173:38;14170:84;;14226:18;;:::i;:::-;14170:84;13991:269;13940:320;;;:::o;14266:191::-;14306:3;14325:20;14343:1;14325:20;:::i;:::-;14320:25;;14359:20;14377:1;14359:20;:::i;:::-;14354:25;;14402:1;14399;14395:9;14388:16;;14423:3;14420:1;14417:10;14414:36;;;14430:18;;:::i;:::-;14414:36;14266:191;;;;:::o;14463:162::-;14603:14;14599:1;14591:6;14587:14;14580:38;14463:162;:::o;14631:366::-;14773:3;14794:67;14858:2;14853:3;14794:67;:::i;:::-;14787:74;;14870:93;14959:3;14870:93;:::i;:::-;14988:2;14983:3;14979:12;14972:19;;14631:366;;;:::o;15003:419::-;15169:4;15207:2;15196:9;15192:18;15184:26;;15256:9;15250:4;15246:20;15242:1;15231:9;15227:17;15220:47;15284:131;15410:4;15284:131;:::i;:::-;15276:139;;15003:419;;;:::o;15428:320::-;15543:4;15581:2;15570:9;15566:18;15558:26;;15594:71;15662:1;15651:9;15647:17;15638:6;15594:71;:::i;:::-;15675:66;15737:2;15726:9;15722:18;15713:6;15675:66;:::i;:::-;15428:320;;;;;:::o;15754:164::-;15894:16;15890:1;15882:6;15878:14;15871:40;15754:164;:::o;15924:366::-;16066:3;16087:67;16151:2;16146:3;16087:67;:::i;:::-;16080:74;;16163:93;16252:3;16163:93;:::i;:::-;16281:2;16276:3;16272:12;16265:19;;15924:366;;;:::o;16296:419::-;16462:4;16500:2;16489:9;16485:18;16477:26;;16549:9;16543:4;16539:20;16535:1;16524:9;16520:17;16513:47;16577:131;16703:4;16577:131;:::i;:::-;16569:139;;16296:419;;;:::o;16721:154::-;16861:6;16857:1;16849:6;16845:14;16838:30;16721:154;:::o;16881:365::-;17023:3;17044:66;17108:1;17103:3;17044:66;:::i;:::-;17037:73;;17119:93;17208:3;17119:93;:::i;:::-;17237:2;17232:3;17228:12;17221:19;;16881:365;;;:::o;17252:419::-;17418:4;17456:2;17445:9;17441:18;17433:26;;17505:9;17499:4;17495:20;17491:1;17480:9;17476:17;17469:47;17533:131;17659:4;17533:131;:::i;:::-;17525:139;;17252:419;;;:::o;17677:224::-;17817:34;17813:1;17805:6;17801:14;17794:58;17886:7;17881:2;17873:6;17869:15;17862:32;17677:224;:::o;17907:366::-;18049:3;18070:67;18134:2;18129:3;18070:67;:::i;:::-;18063:74;;18146:93;18235:3;18146:93;:::i;:::-;18264:2;18259:3;18255:12;18248:19;;17907:366;;;:::o;18279:419::-;18445:4;18483:2;18472:9;18468:18;18460:26;;18532:9;18526:4;18522:20;18518:1;18507:9;18503:17;18496:47;18560:131;18686:4;18560:131;:::i;:::-;18552:139;;18279:419;;;:::o;18704:162::-;18844:14;18840:1;18832:6;18828:14;18821:38;18704:162;:::o;18872:366::-;19014:3;19035:67;19099:2;19094:3;19035:67;:::i;:::-;19028:74;;19111:93;19200:3;19111:93;:::i;:::-;19229:2;19224:3;19220:12;19213:19;;18872:366;;;:::o;19244:419::-;19410:4;19448:2;19437:9;19433:18;19425:26;;19497:9;19491:4;19487:20;19483:1;19472:9;19468:17;19461:47;19525:131;19651:4;19525:131;:::i;:::-;19517:139;;19244:419;;;:::o;19669:225::-;19809:34;19805:1;19797:6;19793:14;19786:58;19878:8;19873:2;19865:6;19861:15;19854:33;19669:225;:::o;19900:366::-;20042:3;20063:67;20127:2;20122:3;20063:67;:::i;:::-;20056:74;;20139:93;20228:3;20139:93;:::i;:::-;20257:2;20252:3;20248:12;20241:19;;19900:366;;;:::o;20272:419::-;20438:4;20476:2;20465:9;20461:18;20453:26;;20525:9;20519:4;20515:20;20511:1;20500:9;20496:17;20489:47;20553:131;20679:4;20553:131;:::i;:::-;20545:139;;20272:419;;;:::o;20697:223::-;20837:34;20833:1;20825:6;20821:14;20814:58;20906:6;20901:2;20893:6;20889:15;20882:31;20697:223;:::o;20926:366::-;21068:3;21089:67;21153:2;21148:3;21089:67;:::i;:::-;21082:74;;21165:93;21254:3;21165:93;:::i;:::-;21283:2;21278:3;21274:12;21267:19;;20926:366;;;:::o;21298:419::-;21464:4;21502:2;21491:9;21487:18;21479:26;;21551:9;21545:4;21541:20;21537:1;21526:9;21522:17;21515:47;21579:131;21705:4;21579:131;:::i;:::-;21571:139;;21298:419;;;:::o;21723:221::-;21863:34;21859:1;21851:6;21847:14;21840:58;21932:4;21927:2;21919:6;21915:15;21908:29;21723:221;:::o;21950:366::-;22092:3;22113:67;22177:2;22172:3;22113:67;:::i;:::-;22106:74;;22189:93;22278:3;22189:93;:::i;:::-;22307:2;22302:3;22298:12;22291:19;;21950:366;;;:::o;22322:419::-;22488:4;22526:2;22515:9;22511:18;22503:26;;22575:9;22569:4;22565:20;22561:1;22550:9;22546:17;22539:47;22603:131;22729:4;22603:131;:::i;:::-;22595:139;;22322:419;;;:::o;22747:179::-;22887:31;22883:1;22875:6;22871:14;22864:55;22747:179;:::o;22932:366::-;23074:3;23095:67;23159:2;23154:3;23095:67;:::i;:::-;23088:74;;23171:93;23260:3;23171:93;:::i;:::-;23289:2;23284:3;23280:12;23273:19;;22932:366;;;:::o;23304:419::-;23470:4;23508:2;23497:9;23493:18;23485:26;;23557:9;23551:4;23547:20;23543:1;23532:9;23528:17;23521:47;23585:131;23711:4;23585:131;:::i;:::-;23577:139;;23304:419;;;:::o;23729:168::-;23869:20;23865:1;23857:6;23853:14;23846:44;23729:168;:::o;23903:366::-;24045:3;24066:67;24130:2;24125:3;24066:67;:::i;:::-;24059:74;;24142:93;24231:3;24142:93;:::i;:::-;24260:2;24255:3;24251:12;24244:19;;23903:366;;;:::o;24275:419::-;24441:4;24479:2;24468:9;24464:18;24456:26;;24528:9;24522:4;24518:20;24514:1;24503:9;24499:17;24492:47;24556:131;24682:4;24556:131;:::i;:::-;24548:139;;24275:419;;;:::o;24700:194::-;24740:4;24760:20;24778:1;24760:20;:::i;:::-;24755:25;;24794:20;24812:1;24794:20;:::i;:::-;24789:25;;24838:1;24835;24831:9;24823:17;;24862:1;24856:4;24853:11;24850:37;;;24867:18;;:::i;:::-;24850:37;24700:194;;;;:::o;24900:224::-;25040:34;25036:1;25028:6;25024:14;25017:58;25109:7;25104:2;25096:6;25092:15;25085:32;24900:224;:::o;25130:366::-;25272:3;25293:67;25357:2;25352:3;25293:67;:::i;:::-;25286:74;;25369:93;25458:3;25369:93;:::i;:::-;25487:2;25482:3;25478:12;25471:19;;25130:366;;;:::o;25502:419::-;25668:4;25706:2;25695:9;25691:18;25683:26;;25755:9;25749:4;25745:20;25741:1;25730:9;25726:17;25719:47;25783:131;25909:4;25783:131;:::i;:::-;25775:139;;25502:419;;;:::o;25927:222::-;26067:34;26063:1;26055:6;26051:14;26044:58;26136:5;26131:2;26123:6;26119:15;26112:30;25927:222;:::o;26155:366::-;26297:3;26318:67;26382:2;26377:3;26318:67;:::i;:::-;26311:74;;26394:93;26483:3;26394:93;:::i;:::-;26512:2;26507:3;26503:12;26496:19;;26155:366;;;:::o;26527:419::-;26693:4;26731:2;26720:9;26716:18;26708:26;;26780:9;26774:4;26770:20;26766:1;26755:9;26751:17;26744:47;26808:131;26934:4;26808:131;:::i;:::-;26800:139;;26527:419;;;:::o;26952:225::-;27092:34;27088:1;27080:6;27076:14;27069:58;27161:8;27156:2;27148:6;27144:15;27137:33;26952:225;:::o;27183:366::-;27325:3;27346:67;27410:2;27405:3;27346:67;:::i;:::-;27339:74;;27422:93;27511:3;27422:93;:::i;:::-;27540:2;27535:3;27531:12;27524:19;;27183:366;;;:::o;27555:419::-;27721:4;27759:2;27748:9;27744:18;27736:26;;27808:9;27802:4;27798:20;27794:1;27783:9;27779:17;27772:47;27836:131;27962:4;27836:131;:::i;:::-;27828:139;;27555:419;;;:::o;27980:173::-;28120:25;28116:1;28108:6;28104:14;28097:49;27980:173;:::o;28159:366::-;28301:3;28322:67;28386:2;28381:3;28322:67;:::i;:::-;28315:74;;28398:93;28487:3;28398:93;:::i;:::-;28516:2;28511:3;28507:12;28500:19;;28159:366;;;:::o;28531:419::-;28697:4;28735:2;28724:9;28720:18;28712:26;;28784:9;28778:4;28774:20;28770:1;28759:9;28755:17;28748:47;28812:131;28938:4;28812:131;:::i;:::-;28804:139;;28531:419;;;:::o;28956:166::-;29096:18;29092:1;29084:6;29080:14;29073:42;28956:166;:::o;29128:366::-;29270:3;29291:67;29355:2;29350:3;29291:67;:::i;:::-;29284:74;;29367:93;29456:3;29367:93;:::i;:::-;29485:2;29480:3;29476:12;29469:19;;29128:366;;;:::o;29500:419::-;29666:4;29704:2;29693:9;29689:18;29681:26;;29753:9;29747:4;29743:20;29739:1;29728:9;29724:17;29717:47;29781:131;29907:4;29781:131;:::i;:::-;29773:139;;29500:419;;;:::o;29925:169::-;30065:21;30061:1;30053:6;30049:14;30042:45;29925:169;:::o;30100:366::-;30242:3;30263:67;30327:2;30322:3;30263:67;:::i;:::-;30256:74;;30339:93;30428:3;30339:93;:::i;:::-;30457:2;30452:3;30448:12;30441:19;;30100:366;;;:::o;30472:419::-;30638:4;30676:2;30665:9;30661:18;30653:26;;30725:9;30719:4;30715:20;30711:1;30700:9;30696:17;30689:47;30753:131;30879:4;30753:131;:::i;:::-;30745:139;;30472:419;;;:::o;30897:147::-;30998:11;31035:3;31020:18;;30897:147;;;;:::o;31050:114::-;;:::o;31170:398::-;31329:3;31350:83;31431:1;31426:3;31350:83;:::i;:::-;31343:90;;31442:93;31531:3;31442:93;:::i;:::-;31560:1;31555:3;31551:11;31544:18;;31170:398;;;:::o;31574:379::-;31758:3;31780:147;31923:3;31780:147;:::i;:::-;31773:154;;31944:3;31937:10;;31574:379;;;:::o;31959:180::-;32007:77;32004:1;31997:88;32104:4;32101:1;32094:15;32128:4;32125:1;32118:15;32145:180;32193:77;32190:1;32183:88;32290:4;32287:1;32280:15;32314:4;32311:1;32304:15;32331:143;32388:5;32419:6;32413:13;32404:22;;32435:33;32462:5;32435:33;:::i;:::-;32331:143;;;;:::o;32480:351::-;32550:6;32599:2;32587:9;32578:7;32574:23;32570:32;32567:119;;;32605:79;;:::i;:::-;32567:119;32725:1;32750:64;32806:7;32797:6;32786:9;32782:22;32750:64;:::i;:::-;32740:74;;32696:128;32480:351;;;;:::o;32837:85::-;32882:7;32911:5;32900:16;;32837:85;;;:::o;32928:158::-;32986:9;33019:61;33037:42;33046:32;33072:5;33046:32;:::i;:::-;33037:42;:::i;:::-;33019:61;:::i;:::-;33006:74;;32928:158;;;:::o;33092:147::-;33187:45;33226:5;33187:45;:::i;:::-;33182:3;33175:58;33092:147;;:::o;33245:114::-;33312:6;33346:5;33340:12;33330:22;;33245:114;;;:::o;33365:184::-;33464:11;33498:6;33493:3;33486:19;33538:4;33533:3;33529:14;33514:29;;33365:184;;;;:::o;33555:132::-;33622:4;33645:3;33637:11;;33675:4;33670:3;33666:14;33658:22;;33555:132;;;:::o;33693:108::-;33770:24;33788:5;33770:24;:::i;:::-;33765:3;33758:37;33693:108;;:::o;33807:179::-;33876:10;33897:46;33939:3;33931:6;33897:46;:::i;:::-;33975:4;33970:3;33966:14;33952:28;;33807:179;;;;:::o;33992:113::-;34062:4;34094;34089:3;34085:14;34077:22;;33992:113;;;:::o;34141:732::-;34260:3;34289:54;34337:5;34289:54;:::i;:::-;34359:86;34438:6;34433:3;34359:86;:::i;:::-;34352:93;;34469:56;34519:5;34469:56;:::i;:::-;34548:7;34579:1;34564:284;34589:6;34586:1;34583:13;34564:284;;;34665:6;34659:13;34692:63;34751:3;34736:13;34692:63;:::i;:::-;34685:70;;34778:60;34831:6;34778:60;:::i;:::-;34768:70;;34624:224;34611:1;34608;34604:9;34599:14;;34564:284;;;34568:14;34864:3;34857:10;;34265:608;;;34141:732;;;;:::o;34879:831::-;35142:4;35180:3;35169:9;35165:19;35157:27;;35194:71;35262:1;35251:9;35247:17;35238:6;35194:71;:::i;:::-;35275:80;35351:2;35340:9;35336:18;35327:6;35275:80;:::i;:::-;35402:9;35396:4;35392:20;35387:2;35376:9;35372:18;35365:48;35430:108;35533:4;35524:6;35430:108;:::i;:::-;35422:116;;35548:72;35616:2;35605:9;35601:18;35592:6;35548:72;:::i;:::-;35630:73;35698:3;35687:9;35683:19;35674:6;35630:73;:::i;:::-;34879:831;;;;;;;;:::o

Swarm Source

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