ETH Price: $3,117.76 (+1.53%)
Gas: 5 Gwei

Token

BooBeareum6900 (GHOST)
 

Overview

Max Total Supply

1,000,000,000 GHOST

Holders

17

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
18,684,485.325969916 GHOST

Value
$0.00
0x34bde96966fd48c85354d914b2fbac4abb504e07
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:
BOOBEAREUM

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

// https://t.me/BooBeareum

// SPDX-License-Identifier: MIT
pragma solidity 0.8.19;

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

interface IERC20 {
    function totalSupply() external view returns (uint256);

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

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

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

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

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

    constructor() {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

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

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

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

}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

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

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

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

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

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

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

contract BOOBEAREUM is Context, IERC20, Ownable {

    using SafeMath for uint256;

    string private constant _name = "BooBeareum6900";
    string private constant _symbol = "GHOST";
    uint8 private constant _decimals = 9;

    mapping(address => uint256) private _rOwned;
    mapping(address => uint256) private _tOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    mapping(address => bool) public flaggedAsBot;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1000000000 * 10**9; //1t
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 private _redisFeeOnBuy = 0;
    uint256 private _taxFeeOnBuy = 0;
    uint256 private _redisFeeOnSell = 0;
    uint256 private _taxFeeOnSell = 0;

    //Original Fee
    uint256 private _redisFee = _redisFeeOnSell;
    uint256 private _taxFee = _taxFeeOnSell;

    uint256 private _previousredisFee = _redisFee;
    uint256 private _previoustaxFee = _taxFee;

    mapping (address => uint256) public _buyMap;
    address payable private _developmentAddress = payable(0x0E487018d0400793d84bCB5E063190F0eaaA6143);
    address payable private _marketingAddress = payable(0x498cd8f9c52E5AB010cdE24a138C45d80A43BB92);

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;

    bool private tradingOpen = false;
    bool private inSwap = false;
    bool private swapEnabled = true;

    uint256 public _maxTxAmount = (_tTotal * 2) / 100;
    uint256 public _maxWalletSize = (_tTotal * 2) / 100;
    uint256 public _swapTokensAtAmount = (_tTotal * 5) / 10000;

    event MaxTxAmountUpdated(uint256 _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor(uint256 startFeeBuy, uint256 startFeeSell) {

        _rOwned[_msgSender()] = _rTotal;

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
        _taxFeeOnBuy = startFeeBuy;
        _taxFeeOnSell = startFeeSell;

        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_developmentAddress] = true;
        _isExcludedFromFee[_marketingAddress] = true;

        emit Transfer(address(0), _msgSender(), _tTotal);
    }

    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

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

    function transfer(address recipient, uint256 amount)
        public
        override
        returns (bool)
    {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

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

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

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()].sub(
                amount,
                "ERC20: transfer amount exceeds allowance"
            )
        );
        return true;
    }

    function tokenFromReflection(uint256 rAmount)
        private
        view
        returns (uint256)
    {
        require(
            rAmount <= _rTotal,
            "Amount must be less than total reflections"
        );
        uint256 currentRate = _getRate();
        return rAmount.div(currentRate);
    }

    function removeAllFee() private {
        if (_redisFee == 0 && _taxFee == 0) return;

        _previousredisFee = _redisFee;
        _previoustaxFee = _taxFee;

        _redisFee = 0;
        _taxFee = 0;
    }

    function restoreAllFee() private {
        _redisFee = _previousredisFee;
        _taxFee = _previoustaxFee;
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) private {
        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 _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

        if (from != owner() && to != owner()) {

            //Trade start check
            if (!tradingOpen) {
                require(from == owner(), "TOKEN: This account cannot send tokens until trading is enabled");
            }

            if (from != _developmentAddress && to != _developmentAddress) {
                require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");

                if(to != uniswapV2Pair) {
                    require(balanceOf(to) + amount < _maxWalletSize, "TOKEN: Balance exceeds wallet size!");
                }
            }

            if (tradingOpen) {
                require(
                    !flaggedAsBot[from] || to == _marketingAddress || to == owner() || to == address(0xdead),
                    "Bots cannot transfer tokens in or out except to owner, marketing, or dead address."
                );
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            bool canSwap = contractTokenBalance >= _swapTokensAtAmount;

            if(contractTokenBalance >= _maxTxAmount)
            {
                contractTokenBalance = _maxTxAmount;
            }

            if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        bool takeFee = true;

        //Transfer Tokens
        if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) {
            takeFee = false;
        } else {

            //Set Fee for Buys
            if(from == uniswapV2Pair && to != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnBuy;
                _taxFee = _taxFeeOnBuy;
            }

            //Set Fee for Sells
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnSell;
                _taxFee = _taxFeeOnSell;
            }

        }

        _tokenTransfer(from, to, amount, takeFee);
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        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,
            address(this),
            block.timestamp
        );
    }

    function sendETHToFee(uint256 amount) private {
        _marketingAddress.transfer(amount);
    }

    function setTrading(bool _tradingOpen) public onlyOwner {
        tradingOpen = _tradingOpen;
    }

    function manualswap() external {
        require(_msgSender() == _developmentAddress || _msgSender() == owner() || _msgSender() == _marketingAddress);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }

    function manualsend() external {
        require(_msgSender() == _developmentAddress || _msgSender() == owner() || _msgSender() == _marketingAddress);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }


    function flagMultipleBots(address[] memory wallets) external onlyOwner {
        require(
            wallets.length < 600,
            "Can only mark 600 wallets per txn due to gas limits"
        );

        for (uint256 i = 0; i < wallets.length; i++) {
            address wallet = wallets[i];
            flaggedAsBot[wallet] = true;
        }
    }

    function unflagMultipleBots(address[] memory wallets) external onlyOwner {
        require(
            wallets.length < 600,
            "Can only mark 600 wallets per txn due to gas limits"
        );
        for (uint256 i = 0; i < wallets.length; i++) {
            address wallet = wallets[i];
            flaggedAsBot[wallet] = false;
        }
    }

    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount,
        bool takeFee
    ) private {
        if (!takeFee) removeAllFee();
        _transferStandard(sender, recipient, amount);
        if (!takeFee) restoreAllFee();
    }

    function _transferStandard(
        address sender,
        address recipient,
        uint256 tAmount
    ) private {
        (
            uint256 rAmount,
            uint256 rTransferAmount,
            uint256 rFee,
            uint256 tTransferAmount,
            uint256 tFee,
            uint256 tTeam
        ) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate = _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    receive() external payable {}

    function _getValues(uint256 tAmount)
        private
        view
        returns (
            uint256,
            uint256,
            uint256,
            uint256,
            uint256,
            uint256
        )
    {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) =
            _getTValues(tAmount, _redisFee, _taxFee);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) =
            _getRValues(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }

    function _getTValues(
        uint256 tAmount,
        uint256 redisFee,
        uint256 taxFee
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 tFee = tAmount.mul(redisFee).div(100);
        uint256 tTeam = tAmount.mul(taxFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }

    function _getRValues(
        uint256 tAmount,
        uint256 tFee,
        uint256 tTeam,
        uint256 currentRate
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
        return (rAmount, rTransferAmount, rFee);
    }

    function _getRate() private view returns (uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns (uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }

    function setFee(uint256 redisFeeOnBuy, uint256 redisFeeOnSell, uint256 taxFeeOnBuy, uint256 taxFeeOnSell) public onlyOwner {
        _redisFeeOnBuy = redisFeeOnBuy;
        _redisFeeOnSell = redisFeeOnSell;
        _taxFeeOnBuy = taxFeeOnBuy;
        _taxFeeOnSell = taxFeeOnSell;
    }

    //Set minimum tokens required to swap.
    function setMinSwapTokensThreshold(uint256 swapTokensAtAmount) public onlyOwner {
        _swapTokensAtAmount = swapTokensAtAmount;
    }

    //Set minimum tokens required to swap.
    function toggleSwap(bool _swapEnabled) public onlyOwner {
        swapEnabled = _swapEnabled;
    }

    //Set maximum transaction
    function setMaxTxnAmount(uint256 maxTxAmount) public onlyOwner {
        _maxTxAmount = maxTxAmount;
    }

    function setMaxWalletSize(uint256 maxWalletSize) public onlyOwner {
        _maxWalletSize = maxWalletSize;
    }

    function excludeMultipleAccountsFromFees(address[] calldata accounts, bool excluded) public onlyOwner {
        for(uint256 i = 0; i < accounts.length; i++) {
            _isExcludedFromFee[accounts[i]] = excluded;
        }
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"uint256","name":"startFeeBuy","type":"uint256"},{"internalType":"uint256","name":"startFeeSell","type":"uint256"}],"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":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_buyMap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeMultipleAccountsFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"wallets","type":"address[]"}],"name":"flagMultipleBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"flaggedAsBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"redisFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"redisFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletSize","type":"uint256"}],"name":"setMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_tradingOpen","type":"bool"}],"name":"setTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"wallets","type":"address[]"}],"name":"unflagMultipleBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052670de0b6b3a76400006000196200001c9190620007b7565b6000196200002b91906200081e565b60075560006009556000600a556000600b556000600c55600b54600d55600c54600e55600d54600f55600e54601055730e487018d0400793d84bcb5e063190f0eaaa6143601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073498cd8f9c52e5ab010cde24a138c45d80a43bb92601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000601560146101000a81548160ff02191690831515021790555060006015806101000a81548160ff0219169083151502179055506001601560166101000a81548160ff02191690831515021790555060646002670de0b6b3a76400006200016d919062000859565b620001799190620008a4565b60165560646002670de0b6b3a764000062000195919062000859565b620001a19190620008a4565b6017556127106005670de0b6b3a7640000620001be919062000859565b620001ca9190620008a4565b601855348015620001da57600080fd5b5060405162004b3d38038062004b3d833981810160405281019062000200919062000912565b6000620002126200074d60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35060075460026000620002c76200074d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620003ab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003d19190620009be565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000439573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200045f9190620009be565b6040518363ffffffff1660e01b81526004016200047e92919062000a01565b6020604051808303816000875af11580156200049e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004c49190620009be565b601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600a8190555081600c81905550600160056000620005286200075560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620006d56200074d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef670de0b6b3a76400006040516200073c919062000a3f565b60405180910390a350505062000a5c565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620007c4826200077e565b9150620007d1836200077e565b925082620007e457620007e362000788565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006200082b826200077e565b915062000838836200077e565b9250828203905081811115620008535762000852620007ef565b5b92915050565b600062000866826200077e565b915062000873836200077e565b925082820262000883816200077e565b915082820484148315176200089d576200089c620007ef565b5b5092915050565b6000620008b1826200077e565b9150620008be836200077e565b925082620008d157620008d062000788565b5b828204905092915050565b600080fd5b620008ec816200077e565b8114620008f857600080fd5b50565b6000815190506200090c81620008e1565b92915050565b600080604083850312156200092c576200092b620008dc565b5b60006200093c85828601620008fb565b92505060206200094f85828601620008fb565b9150509250929050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620009868262000959565b9050919050565b620009988162000979565b8114620009a457600080fd5b50565b600081519050620009b8816200098d565b92915050565b600060208284031215620009d757620009d6620008dc565b5b6000620009e784828501620009a7565b91505092915050565b620009fb8162000979565b82525050565b600060408201905062000a186000830185620009f0565b62000a276020830184620009f0565b9392505050565b62000a39816200077e565b82525050565b600060208201905062000a56600083018462000a2e565b92915050565b6140d18062000a6c6000396000f3fe6080604052600436106101d15760003560e01c80637d1db4a5116100f7578063a2a957bb11610095578063dd62ed3e11610064578063dd62ed3e1461065d578063e1d9888f1461069a578063ea1644d5146106c3578063f2fde38b146106ec576101d8565b8063a2a957bb146105b7578063a9059cbb146105e0578063c3c8cd801461061d578063c492f04614610634576101d8565b80638f70ccf7116100d15780638f70ccf71461050f5780638f9a55c01461053857806395d89b411461056357806398a5c3151461058e576101d8565b80637d1db4a51461047c5780637f2feddc146104a75780638da5cb5b146104e4576101d8565b8063313ce5671161016f57806370a082311161013e57806370a08231146103d6578063713318c114610413578063715018a61461043c57806374010ece14610453576101d8565b8063313ce5671461034057806349bd5a5e1461036b5780636d8aa8f8146103965780636fc3eaec146103bf576101d8565b80631694505e116101ab5780631694505e1461028257806318160ddd146102ad57806323b872dd146102d85780632fd689e314610315576101d8565b8063017e0192146101dd57806306fdde031461021a578063095ea7b314610245576101d8565b366101d857005b600080fd5b3480156101e957600080fd5b5061020460048036038101906101ff9190612e90565b610715565b6040516102119190612ed8565b60405180910390f35b34801561022657600080fd5b5061022f610735565b60405161023c9190612f83565b60405180910390f35b34801561025157600080fd5b5061026c60048036038101906102679190612fdb565b610772565b6040516102799190612ed8565b60405180910390f35b34801561028e57600080fd5b50610297610790565b6040516102a4919061307a565b60405180910390f35b3480156102b957600080fd5b506102c26107b6565b6040516102cf91906130a4565b60405180910390f35b3480156102e457600080fd5b506102ff60048036038101906102fa91906130bf565b6107c6565b60405161030c9190612ed8565b60405180910390f35b34801561032157600080fd5b5061032a61089f565b60405161033791906130a4565b60405180910390f35b34801561034c57600080fd5b506103556108a5565b604051610362919061312e565b60405180910390f35b34801561037757600080fd5b506103806108ae565b60405161038d9190613158565b60405180910390f35b3480156103a257600080fd5b506103bd60048036038101906103b8919061319f565b6108d4565b005b3480156103cb57600080fd5b506103d4610986565b005b3480156103e257600080fd5b506103fd60048036038101906103f89190612e90565b610a9b565b60405161040a91906130a4565b60405180910390f35b34801561041f57600080fd5b5061043a60048036038101906104359190613314565b610aec565b005b34801561044857600080fd5b50610451610c61565b005b34801561045f57600080fd5b5061047a6004803603810190610475919061335d565b610db4565b005b34801561048857600080fd5b50610491610e53565b60405161049e91906130a4565b60405180910390f35b3480156104b357600080fd5b506104ce60048036038101906104c99190612e90565b610e59565b6040516104db91906130a4565b60405180910390f35b3480156104f057600080fd5b506104f9610e71565b6040516105069190613158565b60405180910390f35b34801561051b57600080fd5b506105366004803603810190610531919061319f565b610e9a565b005b34801561054457600080fd5b5061054d610f4c565b60405161055a91906130a4565b60405180910390f35b34801561056f57600080fd5b50610578610f52565b6040516105859190612f83565b60405180910390f35b34801561059a57600080fd5b506105b560048036038101906105b0919061335d565b610f8f565b005b3480156105c357600080fd5b506105de60048036038101906105d9919061338a565b61102e565b005b3480156105ec57600080fd5b5061060760048036038101906106029190612fdb565b6110e5565b6040516106149190612ed8565b60405180910390f35b34801561062957600080fd5b50610632611103565b005b34801561064057600080fd5b5061065b6004803603810190610656919061344c565b611220565b005b34801561066957600080fd5b50610684600480360381019061067f91906134ac565b61135a565b60405161069191906130a4565b60405180910390f35b3480156106a657600080fd5b506106c160048036038101906106bc9190613314565b6113e1565b005b3480156106cf57600080fd5b506106ea60048036038101906106e5919061335d565b611556565b005b3480156106f857600080fd5b50610713600480360381019061070e9190612e90565b6115f5565b005b60066020528060005260406000206000915054906101000a900460ff1681565b60606040518060400160405280600e81526020017f426f6f4265617265756d36393030000000000000000000000000000000000000815250905090565b600061078661077f6117b6565b84846117be565b6001905092915050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000670de0b6b3a7640000905090565b60006107d3848484611987565b610894846107df6117b6565b61088f8560405180606001604052806028815260200161407460289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006108456117b6565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123499092919063ffffffff16565b6117be565b600190509392505050565b60185481565b60006009905090565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6108dc6117b6565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610969576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096090613538565b60405180910390fd5b80601560166101000a81548160ff02191690831515021790555050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109c76117b6565b73ffffffffffffffffffffffffffffffffffffffff161480610a2257506109ec610e71565b73ffffffffffffffffffffffffffffffffffffffff16610a0a6117b6565b73ffffffffffffffffffffffffffffffffffffffff16145b80610a815750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a696117b6565b73ffffffffffffffffffffffffffffffffffffffff16145b610a8a57600080fd5b6000479050610a98816123ad565b50565b6000610ae5600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612419565b9050919050565b610af46117b6565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7890613538565b60405180910390fd5b610258815110610bc6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bbd906135ca565b60405180910390fd5b60005b8151811015610c5d576000828281518110610be757610be66135ea565b5b602002602001015190506000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550508080610c5590613648565b915050610bc9565b5050565b610c696117b6565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cf6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ced90613538565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610dbc6117b6565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4090613538565b60405180910390fd5b8060168190555050565b60165481565b60116020528060005260406000206000915090505481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610ea26117b6565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2690613538565b60405180910390fd5b80601560146101000a81548160ff02191690831515021790555050565b60175481565b60606040518060400160405280600581526020017f47484f5354000000000000000000000000000000000000000000000000000000815250905090565b610f976117b6565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611024576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101b90613538565b60405180910390fd5b8060188190555050565b6110366117b6565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ba90613538565b60405180910390fd5b8360098190555082600b8190555081600a8190555080600c8190555050505050565b60006110f96110f26117b6565b8484611987565b6001905092915050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166111446117b6565b73ffffffffffffffffffffffffffffffffffffffff16148061119f5750611169610e71565b73ffffffffffffffffffffffffffffffffffffffff166111876117b6565b73ffffffffffffffffffffffffffffffffffffffff16145b806111fe5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166111e66117b6565b73ffffffffffffffffffffffffffffffffffffffff16145b61120757600080fd5b600061121230610a9b565b905061121d81612487565b50565b6112286117b6565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ac90613538565b60405180910390fd5b60005b838390508110156113545781600560008686858181106112db576112da6135ea565b5b90506020020160208101906112f09190612e90565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061134c90613648565b9150506112b8565b50505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6113e96117b6565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611476576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146d90613538565b60405180910390fd5b6102588151106114bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b2906135ca565b60405180910390fd5b60005b81518110156115525760008282815181106114dc576114db6135ea565b5b602002602001015190506001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050808061154a90613648565b9150506114be565b5050565b61155e6117b6565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e290613538565b60405180910390fd5b8060178190555050565b6115fd6117b6565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461168a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168190613538565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036116f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f090613702565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361182d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182490613794565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361189c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161189390613826565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161197a91906130a4565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036119f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119ed906138b8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611a65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5c9061394a565b60405180910390fd5b60008111611aa8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9f906139dc565b60405180910390fd5b611ab0610e71565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611b1e5750611aee610e71565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561204857601560149054906101000a900460ff16611bad57611b3f610e71565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611bac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ba390613a6e565b60405180910390fd5b5b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611c595750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611d5157601654811115611ca3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c9a90613ada565b60405180910390fd5b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611d505760175481611d0584610a9b565b611d0f9190613afa565b10611d4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d4690613ba0565b60405180910390fd5b5b5b601560149054906101000a900460ff1615611ec157600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580611e0c5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80611e495750611e1a610e71565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80611e81575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b611ec0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb790613c58565b60405180910390fd5b5b6000611ecc30610a9b565b9050600060185482101590506016548210611ee75760165491505b808015611eff575060158054906101000a900460ff16155b8015611f595750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611f715750601560169054906101000a900460ff165b8015611fc75750600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561201d5750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156120455761202b82612487565b6000479050600081111561204357612042476123ad565b5b505b50505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806120ef5750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806121a25750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156121a15750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b156121b05760009050612337565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561225b5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561227357600954600d81905550600a54600e819055505b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561231e5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561233657600b54600d81905550600c54600e819055505b5b612343848484846126fe565b50505050565b6000838311158290612391576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123889190612f83565b60405180910390fd5b50600083856123a09190613c78565b9050809150509392505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612415573d6000803e3d6000fd5b5050565b6000600754821115612460576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161245790613d1e565b60405180910390fd5b600061246a61272b565b905061247f818461275690919063ffffffff16565b915050919050565b60016015806101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156124be576124bd6131d1565b5b6040519080825280602002602001820160405280156124ec5781602001602082028036833780820191505090505b5090503081600081518110612504576125036135ea565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125cf9190613d53565b816001815181106125e3576125e26135ea565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061264a30601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846117be565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016126ae959493929190613e79565b600060405180830381600087803b1580156126c857600080fd5b505af11580156126dc573d6000803e3d6000fd5b505050505060006015806101000a81548160ff02191690831515021790555050565b8061270c5761270b6127a0565b5b6127178484846127dd565b80612725576127246129a8565b5b50505050565b60008060006127386129bc565b9150915061274f818361275690919063ffffffff16565b9250505090565b600061279883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612a1b565b905092915050565b6000600d541480156127b457506000600e54145b6127db57600d54600f81905550600e546010819055506000600d819055506000600e819055505b565b6000806000806000806127ef87612a7e565b95509550955095509550955061284d86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ae690919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506128e285600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b3090919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061292e81612b8e565b6129388483612c4b565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161299591906130a4565b60405180910390a3505050505050505050565b600f54600d81905550601054600e81905550565b600080600060075490506000670de0b6b3a764000090506129f0670de0b6b3a764000060075461275690919063ffffffff16565b821015612a0e57600754670de0b6b3a7640000935093505050612a17565b81819350935050505b9091565b60008083118290612a62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a599190612f83565b60405180910390fd5b5060008385612a719190613f02565b9050809150509392505050565b6000806000806000806000806000612a9b8a600d54600e54612c85565b9250925092506000612aab61272b565b90506000806000612abe8e878787612d1b565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000612b2883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612349565b905092915050565b6000808284612b3f9190613afa565b905083811015612b84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b7b90613f7f565b60405180910390fd5b8091505092915050565b6000612b9861272b565b90506000612baf8284612da490919063ffffffff16565b9050612c0381600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b3090919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612c6082600754612ae690919063ffffffff16565b600781905550612c7b81600854612b3090919063ffffffff16565b6008819055505050565b600080600080612cb16064612ca3888a612da490919063ffffffff16565b61275690919063ffffffff16565b90506000612cdb6064612ccd888b612da490919063ffffffff16565b61275690919063ffffffff16565b90506000612d0482612cf6858c612ae690919063ffffffff16565b612ae690919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612d348589612da490919063ffffffff16565b90506000612d4b8689612da490919063ffffffff16565b90506000612d628789612da490919063ffffffff16565b90506000612d8b82612d7d8587612ae690919063ffffffff16565b612ae690919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000808303612db65760009050612e18565b60008284612dc49190613f9f565b9050828482612dd39190613f02565b14612e13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e0a90614053565b60405180910390fd5b809150505b92915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612e5d82612e32565b9050919050565b612e6d81612e52565b8114612e7857600080fd5b50565b600081359050612e8a81612e64565b92915050565b600060208284031215612ea657612ea5612e28565b5b6000612eb484828501612e7b565b91505092915050565b60008115159050919050565b612ed281612ebd565b82525050565b6000602082019050612eed6000830184612ec9565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612f2d578082015181840152602081019050612f12565b60008484015250505050565b6000601f19601f8301169050919050565b6000612f5582612ef3565b612f5f8185612efe565b9350612f6f818560208601612f0f565b612f7881612f39565b840191505092915050565b60006020820190508181036000830152612f9d8184612f4a565b905092915050565b6000819050919050565b612fb881612fa5565b8114612fc357600080fd5b50565b600081359050612fd581612faf565b92915050565b60008060408385031215612ff257612ff1612e28565b5b600061300085828601612e7b565b925050602061301185828601612fc6565b9150509250929050565b6000819050919050565b600061304061303b61303684612e32565b61301b565b612e32565b9050919050565b600061305282613025565b9050919050565b600061306482613047565b9050919050565b61307481613059565b82525050565b600060208201905061308f600083018461306b565b92915050565b61309e81612fa5565b82525050565b60006020820190506130b96000830184613095565b92915050565b6000806000606084860312156130d8576130d7612e28565b5b60006130e686828701612e7b565b93505060206130f786828701612e7b565b925050604061310886828701612fc6565b9150509250925092565b600060ff82169050919050565b61312881613112565b82525050565b6000602082019050613143600083018461311f565b92915050565b61315281612e52565b82525050565b600060208201905061316d6000830184613149565b92915050565b61317c81612ebd565b811461318757600080fd5b50565b60008135905061319981613173565b92915050565b6000602082840312156131b5576131b4612e28565b5b60006131c38482850161318a565b91505092915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61320982612f39565b810181811067ffffffffffffffff82111715613228576132276131d1565b5b80604052505050565b600061323b612e1e565b90506132478282613200565b919050565b600067ffffffffffffffff821115613267576132666131d1565b5b602082029050602081019050919050565b600080fd5b600061329061328b8461324c565b613231565b905080838252602082019050602084028301858111156132b3576132b2613278565b5b835b818110156132dc57806132c88882612e7b565b8452602084019350506020810190506132b5565b5050509392505050565b600082601f8301126132fb576132fa6131cc565b5b813561330b84826020860161327d565b91505092915050565b60006020828403121561332a57613329612e28565b5b600082013567ffffffffffffffff81111561334857613347612e2d565b5b613354848285016132e6565b91505092915050565b60006020828403121561337357613372612e28565b5b600061338184828501612fc6565b91505092915050565b600080600080608085870312156133a4576133a3612e28565b5b60006133b287828801612fc6565b94505060206133c387828801612fc6565b93505060406133d487828801612fc6565b92505060606133e587828801612fc6565b91505092959194509250565b600080fd5b60008083601f84011261340c5761340b6131cc565b5b8235905067ffffffffffffffff811115613429576134286133f1565b5b60208301915083602082028301111561344557613444613278565b5b9250929050565b60008060006040848603121561346557613464612e28565b5b600084013567ffffffffffffffff81111561348357613482612e2d565b5b61348f868287016133f6565b935093505060206134a28682870161318a565b9150509250925092565b600080604083850312156134c3576134c2612e28565b5b60006134d185828601612e7b565b92505060206134e285828601612e7b565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613522602083612efe565b915061352d826134ec565b602082019050919050565b6000602082019050818103600083015261355181613515565b9050919050565b7f43616e206f6e6c79206d61726b203630302077616c6c6574732070657220747860008201527f6e2064756520746f20676173206c696d69747300000000000000000000000000602082015250565b60006135b4603383612efe565b91506135bf82613558565b604082019050919050565b600060208201905081810360008301526135e3816135a7565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061365382612fa5565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361368557613684613619565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006136ec602683612efe565b91506136f782613690565b604082019050919050565b6000602082019050818103600083015261371b816136df565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061377e602483612efe565b915061378982613722565b604082019050919050565b600060208201905081810360008301526137ad81613771565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613810602283612efe565b915061381b826137b4565b604082019050919050565b6000602082019050818103600083015261383f81613803565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006138a2602583612efe565b91506138ad82613846565b604082019050919050565b600060208201905081810360008301526138d181613895565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613934602383612efe565b915061393f826138d8565b604082019050919050565b6000602082019050818103600083015261396381613927565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006139c6602983612efe565b91506139d18261396a565b604082019050919050565b600060208201905081810360008301526139f5816139b9565b9050919050565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060008201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b6000613a58603f83612efe565b9150613a63826139fc565b604082019050919050565b60006020820190508181036000830152613a8781613a4b565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b6000613ac4601c83612efe565b9150613acf82613a8e565b602082019050919050565b60006020820190508181036000830152613af381613ab7565b9050919050565b6000613b0582612fa5565b9150613b1083612fa5565b9250828201905080821115613b2857613b27613619565b5b92915050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b6000613b8a602383612efe565b9150613b9582613b2e565b604082019050919050565b60006020820190508181036000830152613bb981613b7d565b9050919050565b7f426f74732063616e6e6f74207472616e7366657220746f6b656e7320696e206f60008201527f72206f75742065786365707420746f206f776e65722c206d61726b6574696e6760208201527f2c206f72206465616420616464726573732e0000000000000000000000000000604082015250565b6000613c42605283612efe565b9150613c4d82613bc0565b606082019050919050565b60006020820190508181036000830152613c7181613c35565b9050919050565b6000613c8382612fa5565b9150613c8e83612fa5565b9250828203905081811115613ca657613ca5613619565b5b92915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000613d08602a83612efe565b9150613d1382613cac565b604082019050919050565b60006020820190508181036000830152613d3781613cfb565b9050919050565b600081519050613d4d81612e64565b92915050565b600060208284031215613d6957613d68612e28565b5b6000613d7784828501613d3e565b91505092915050565b6000819050919050565b6000613da5613da0613d9b84613d80565b61301b565b612fa5565b9050919050565b613db581613d8a565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613df081612e52565b82525050565b6000613e028383613de7565b60208301905092915050565b6000602082019050919050565b6000613e2682613dbb565b613e308185613dc6565b9350613e3b83613dd7565b8060005b83811015613e6c578151613e538882613df6565b9750613e5e83613e0e565b925050600181019050613e3f565b5085935050505092915050565b600060a082019050613e8e6000830188613095565b613e9b6020830187613dac565b8181036040830152613ead8186613e1b565b9050613ebc6060830185613149565b613ec96080830184613095565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613f0d82612fa5565b9150613f1883612fa5565b925082613f2857613f27613ed3565b5b828204905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613f69601b83612efe565b9150613f7482613f33565b602082019050919050565b60006020820190508181036000830152613f9881613f5c565b9050919050565b6000613faa82612fa5565b9150613fb583612fa5565b9250828202613fc381612fa5565b91508282048414831517613fda57613fd9613619565b5b5092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061403d602183612efe565b915061404882613fe1565b604082019050919050565b6000602082019050818103600083015261406c81614030565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122093d0600a05a5ccef8334d4d2ba0e182d43a2d564940e0978ed02e5ba3b43cea764736f6c6343000813003300000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000003

Deployed Bytecode

0x6080604052600436106101d15760003560e01c80637d1db4a5116100f7578063a2a957bb11610095578063dd62ed3e11610064578063dd62ed3e1461065d578063e1d9888f1461069a578063ea1644d5146106c3578063f2fde38b146106ec576101d8565b8063a2a957bb146105b7578063a9059cbb146105e0578063c3c8cd801461061d578063c492f04614610634576101d8565b80638f70ccf7116100d15780638f70ccf71461050f5780638f9a55c01461053857806395d89b411461056357806398a5c3151461058e576101d8565b80637d1db4a51461047c5780637f2feddc146104a75780638da5cb5b146104e4576101d8565b8063313ce5671161016f57806370a082311161013e57806370a08231146103d6578063713318c114610413578063715018a61461043c57806374010ece14610453576101d8565b8063313ce5671461034057806349bd5a5e1461036b5780636d8aa8f8146103965780636fc3eaec146103bf576101d8565b80631694505e116101ab5780631694505e1461028257806318160ddd146102ad57806323b872dd146102d85780632fd689e314610315576101d8565b8063017e0192146101dd57806306fdde031461021a578063095ea7b314610245576101d8565b366101d857005b600080fd5b3480156101e957600080fd5b5061020460048036038101906101ff9190612e90565b610715565b6040516102119190612ed8565b60405180910390f35b34801561022657600080fd5b5061022f610735565b60405161023c9190612f83565b60405180910390f35b34801561025157600080fd5b5061026c60048036038101906102679190612fdb565b610772565b6040516102799190612ed8565b60405180910390f35b34801561028e57600080fd5b50610297610790565b6040516102a4919061307a565b60405180910390f35b3480156102b957600080fd5b506102c26107b6565b6040516102cf91906130a4565b60405180910390f35b3480156102e457600080fd5b506102ff60048036038101906102fa91906130bf565b6107c6565b60405161030c9190612ed8565b60405180910390f35b34801561032157600080fd5b5061032a61089f565b60405161033791906130a4565b60405180910390f35b34801561034c57600080fd5b506103556108a5565b604051610362919061312e565b60405180910390f35b34801561037757600080fd5b506103806108ae565b60405161038d9190613158565b60405180910390f35b3480156103a257600080fd5b506103bd60048036038101906103b8919061319f565b6108d4565b005b3480156103cb57600080fd5b506103d4610986565b005b3480156103e257600080fd5b506103fd60048036038101906103f89190612e90565b610a9b565b60405161040a91906130a4565b60405180910390f35b34801561041f57600080fd5b5061043a60048036038101906104359190613314565b610aec565b005b34801561044857600080fd5b50610451610c61565b005b34801561045f57600080fd5b5061047a6004803603810190610475919061335d565b610db4565b005b34801561048857600080fd5b50610491610e53565b60405161049e91906130a4565b60405180910390f35b3480156104b357600080fd5b506104ce60048036038101906104c99190612e90565b610e59565b6040516104db91906130a4565b60405180910390f35b3480156104f057600080fd5b506104f9610e71565b6040516105069190613158565b60405180910390f35b34801561051b57600080fd5b506105366004803603810190610531919061319f565b610e9a565b005b34801561054457600080fd5b5061054d610f4c565b60405161055a91906130a4565b60405180910390f35b34801561056f57600080fd5b50610578610f52565b6040516105859190612f83565b60405180910390f35b34801561059a57600080fd5b506105b560048036038101906105b0919061335d565b610f8f565b005b3480156105c357600080fd5b506105de60048036038101906105d9919061338a565b61102e565b005b3480156105ec57600080fd5b5061060760048036038101906106029190612fdb565b6110e5565b6040516106149190612ed8565b60405180910390f35b34801561062957600080fd5b50610632611103565b005b34801561064057600080fd5b5061065b6004803603810190610656919061344c565b611220565b005b34801561066957600080fd5b50610684600480360381019061067f91906134ac565b61135a565b60405161069191906130a4565b60405180910390f35b3480156106a657600080fd5b506106c160048036038101906106bc9190613314565b6113e1565b005b3480156106cf57600080fd5b506106ea60048036038101906106e5919061335d565b611556565b005b3480156106f857600080fd5b50610713600480360381019061070e9190612e90565b6115f5565b005b60066020528060005260406000206000915054906101000a900460ff1681565b60606040518060400160405280600e81526020017f426f6f4265617265756d36393030000000000000000000000000000000000000815250905090565b600061078661077f6117b6565b84846117be565b6001905092915050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000670de0b6b3a7640000905090565b60006107d3848484611987565b610894846107df6117b6565b61088f8560405180606001604052806028815260200161407460289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006108456117b6565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123499092919063ffffffff16565b6117be565b600190509392505050565b60185481565b60006009905090565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6108dc6117b6565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610969576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096090613538565b60405180910390fd5b80601560166101000a81548160ff02191690831515021790555050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109c76117b6565b73ffffffffffffffffffffffffffffffffffffffff161480610a2257506109ec610e71565b73ffffffffffffffffffffffffffffffffffffffff16610a0a6117b6565b73ffffffffffffffffffffffffffffffffffffffff16145b80610a815750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a696117b6565b73ffffffffffffffffffffffffffffffffffffffff16145b610a8a57600080fd5b6000479050610a98816123ad565b50565b6000610ae5600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612419565b9050919050565b610af46117b6565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7890613538565b60405180910390fd5b610258815110610bc6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bbd906135ca565b60405180910390fd5b60005b8151811015610c5d576000828281518110610be757610be66135ea565b5b602002602001015190506000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550508080610c5590613648565b915050610bc9565b5050565b610c696117b6565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cf6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ced90613538565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610dbc6117b6565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4090613538565b60405180910390fd5b8060168190555050565b60165481565b60116020528060005260406000206000915090505481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610ea26117b6565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2690613538565b60405180910390fd5b80601560146101000a81548160ff02191690831515021790555050565b60175481565b60606040518060400160405280600581526020017f47484f5354000000000000000000000000000000000000000000000000000000815250905090565b610f976117b6565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611024576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101b90613538565b60405180910390fd5b8060188190555050565b6110366117b6565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ba90613538565b60405180910390fd5b8360098190555082600b8190555081600a8190555080600c8190555050505050565b60006110f96110f26117b6565b8484611987565b6001905092915050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166111446117b6565b73ffffffffffffffffffffffffffffffffffffffff16148061119f5750611169610e71565b73ffffffffffffffffffffffffffffffffffffffff166111876117b6565b73ffffffffffffffffffffffffffffffffffffffff16145b806111fe5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166111e66117b6565b73ffffffffffffffffffffffffffffffffffffffff16145b61120757600080fd5b600061121230610a9b565b905061121d81612487565b50565b6112286117b6565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ac90613538565b60405180910390fd5b60005b838390508110156113545781600560008686858181106112db576112da6135ea565b5b90506020020160208101906112f09190612e90565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061134c90613648565b9150506112b8565b50505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6113e96117b6565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611476576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146d90613538565b60405180910390fd5b6102588151106114bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b2906135ca565b60405180910390fd5b60005b81518110156115525760008282815181106114dc576114db6135ea565b5b602002602001015190506001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050808061154a90613648565b9150506114be565b5050565b61155e6117b6565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e290613538565b60405180910390fd5b8060178190555050565b6115fd6117b6565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461168a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168190613538565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036116f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f090613702565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361182d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182490613794565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361189c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161189390613826565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161197a91906130a4565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036119f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119ed906138b8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611a65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5c9061394a565b60405180910390fd5b60008111611aa8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9f906139dc565b60405180910390fd5b611ab0610e71565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611b1e5750611aee610e71565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561204857601560149054906101000a900460ff16611bad57611b3f610e71565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611bac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ba390613a6e565b60405180910390fd5b5b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611c595750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611d5157601654811115611ca3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c9a90613ada565b60405180910390fd5b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611d505760175481611d0584610a9b565b611d0f9190613afa565b10611d4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d4690613ba0565b60405180910390fd5b5b5b601560149054906101000a900460ff1615611ec157600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580611e0c5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80611e495750611e1a610e71565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80611e81575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b611ec0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb790613c58565b60405180910390fd5b5b6000611ecc30610a9b565b9050600060185482101590506016548210611ee75760165491505b808015611eff575060158054906101000a900460ff16155b8015611f595750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611f715750601560169054906101000a900460ff165b8015611fc75750600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561201d5750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156120455761202b82612487565b6000479050600081111561204357612042476123ad565b5b505b50505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806120ef5750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806121a25750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156121a15750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b156121b05760009050612337565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561225b5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561227357600954600d81905550600a54600e819055505b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561231e5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561233657600b54600d81905550600c54600e819055505b5b612343848484846126fe565b50505050565b6000838311158290612391576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123889190612f83565b60405180910390fd5b50600083856123a09190613c78565b9050809150509392505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612415573d6000803e3d6000fd5b5050565b6000600754821115612460576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161245790613d1e565b60405180910390fd5b600061246a61272b565b905061247f818461275690919063ffffffff16565b915050919050565b60016015806101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156124be576124bd6131d1565b5b6040519080825280602002602001820160405280156124ec5781602001602082028036833780820191505090505b5090503081600081518110612504576125036135ea565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125cf9190613d53565b816001815181106125e3576125e26135ea565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061264a30601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846117be565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016126ae959493929190613e79565b600060405180830381600087803b1580156126c857600080fd5b505af11580156126dc573d6000803e3d6000fd5b505050505060006015806101000a81548160ff02191690831515021790555050565b8061270c5761270b6127a0565b5b6127178484846127dd565b80612725576127246129a8565b5b50505050565b60008060006127386129bc565b9150915061274f818361275690919063ffffffff16565b9250505090565b600061279883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612a1b565b905092915050565b6000600d541480156127b457506000600e54145b6127db57600d54600f81905550600e546010819055506000600d819055506000600e819055505b565b6000806000806000806127ef87612a7e565b95509550955095509550955061284d86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ae690919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506128e285600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b3090919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061292e81612b8e565b6129388483612c4b565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161299591906130a4565b60405180910390a3505050505050505050565b600f54600d81905550601054600e81905550565b600080600060075490506000670de0b6b3a764000090506129f0670de0b6b3a764000060075461275690919063ffffffff16565b821015612a0e57600754670de0b6b3a7640000935093505050612a17565b81819350935050505b9091565b60008083118290612a62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a599190612f83565b60405180910390fd5b5060008385612a719190613f02565b9050809150509392505050565b6000806000806000806000806000612a9b8a600d54600e54612c85565b9250925092506000612aab61272b565b90506000806000612abe8e878787612d1b565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000612b2883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612349565b905092915050565b6000808284612b3f9190613afa565b905083811015612b84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b7b90613f7f565b60405180910390fd5b8091505092915050565b6000612b9861272b565b90506000612baf8284612da490919063ffffffff16565b9050612c0381600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b3090919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612c6082600754612ae690919063ffffffff16565b600781905550612c7b81600854612b3090919063ffffffff16565b6008819055505050565b600080600080612cb16064612ca3888a612da490919063ffffffff16565b61275690919063ffffffff16565b90506000612cdb6064612ccd888b612da490919063ffffffff16565b61275690919063ffffffff16565b90506000612d0482612cf6858c612ae690919063ffffffff16565b612ae690919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612d348589612da490919063ffffffff16565b90506000612d4b8689612da490919063ffffffff16565b90506000612d628789612da490919063ffffffff16565b90506000612d8b82612d7d8587612ae690919063ffffffff16565b612ae690919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000808303612db65760009050612e18565b60008284612dc49190613f9f565b9050828482612dd39190613f02565b14612e13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e0a90614053565b60405180910390fd5b809150505b92915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612e5d82612e32565b9050919050565b612e6d81612e52565b8114612e7857600080fd5b50565b600081359050612e8a81612e64565b92915050565b600060208284031215612ea657612ea5612e28565b5b6000612eb484828501612e7b565b91505092915050565b60008115159050919050565b612ed281612ebd565b82525050565b6000602082019050612eed6000830184612ec9565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612f2d578082015181840152602081019050612f12565b60008484015250505050565b6000601f19601f8301169050919050565b6000612f5582612ef3565b612f5f8185612efe565b9350612f6f818560208601612f0f565b612f7881612f39565b840191505092915050565b60006020820190508181036000830152612f9d8184612f4a565b905092915050565b6000819050919050565b612fb881612fa5565b8114612fc357600080fd5b50565b600081359050612fd581612faf565b92915050565b60008060408385031215612ff257612ff1612e28565b5b600061300085828601612e7b565b925050602061301185828601612fc6565b9150509250929050565b6000819050919050565b600061304061303b61303684612e32565b61301b565b612e32565b9050919050565b600061305282613025565b9050919050565b600061306482613047565b9050919050565b61307481613059565b82525050565b600060208201905061308f600083018461306b565b92915050565b61309e81612fa5565b82525050565b60006020820190506130b96000830184613095565b92915050565b6000806000606084860312156130d8576130d7612e28565b5b60006130e686828701612e7b565b93505060206130f786828701612e7b565b925050604061310886828701612fc6565b9150509250925092565b600060ff82169050919050565b61312881613112565b82525050565b6000602082019050613143600083018461311f565b92915050565b61315281612e52565b82525050565b600060208201905061316d6000830184613149565b92915050565b61317c81612ebd565b811461318757600080fd5b50565b60008135905061319981613173565b92915050565b6000602082840312156131b5576131b4612e28565b5b60006131c38482850161318a565b91505092915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61320982612f39565b810181811067ffffffffffffffff82111715613228576132276131d1565b5b80604052505050565b600061323b612e1e565b90506132478282613200565b919050565b600067ffffffffffffffff821115613267576132666131d1565b5b602082029050602081019050919050565b600080fd5b600061329061328b8461324c565b613231565b905080838252602082019050602084028301858111156132b3576132b2613278565b5b835b818110156132dc57806132c88882612e7b565b8452602084019350506020810190506132b5565b5050509392505050565b600082601f8301126132fb576132fa6131cc565b5b813561330b84826020860161327d565b91505092915050565b60006020828403121561332a57613329612e28565b5b600082013567ffffffffffffffff81111561334857613347612e2d565b5b613354848285016132e6565b91505092915050565b60006020828403121561337357613372612e28565b5b600061338184828501612fc6565b91505092915050565b600080600080608085870312156133a4576133a3612e28565b5b60006133b287828801612fc6565b94505060206133c387828801612fc6565b93505060406133d487828801612fc6565b92505060606133e587828801612fc6565b91505092959194509250565b600080fd5b60008083601f84011261340c5761340b6131cc565b5b8235905067ffffffffffffffff811115613429576134286133f1565b5b60208301915083602082028301111561344557613444613278565b5b9250929050565b60008060006040848603121561346557613464612e28565b5b600084013567ffffffffffffffff81111561348357613482612e2d565b5b61348f868287016133f6565b935093505060206134a28682870161318a565b9150509250925092565b600080604083850312156134c3576134c2612e28565b5b60006134d185828601612e7b565b92505060206134e285828601612e7b565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613522602083612efe565b915061352d826134ec565b602082019050919050565b6000602082019050818103600083015261355181613515565b9050919050565b7f43616e206f6e6c79206d61726b203630302077616c6c6574732070657220747860008201527f6e2064756520746f20676173206c696d69747300000000000000000000000000602082015250565b60006135b4603383612efe565b91506135bf82613558565b604082019050919050565b600060208201905081810360008301526135e3816135a7565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061365382612fa5565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361368557613684613619565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006136ec602683612efe565b91506136f782613690565b604082019050919050565b6000602082019050818103600083015261371b816136df565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061377e602483612efe565b915061378982613722565b604082019050919050565b600060208201905081810360008301526137ad81613771565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613810602283612efe565b915061381b826137b4565b604082019050919050565b6000602082019050818103600083015261383f81613803565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006138a2602583612efe565b91506138ad82613846565b604082019050919050565b600060208201905081810360008301526138d181613895565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613934602383612efe565b915061393f826138d8565b604082019050919050565b6000602082019050818103600083015261396381613927565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006139c6602983612efe565b91506139d18261396a565b604082019050919050565b600060208201905081810360008301526139f5816139b9565b9050919050565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060008201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b6000613a58603f83612efe565b9150613a63826139fc565b604082019050919050565b60006020820190508181036000830152613a8781613a4b565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b6000613ac4601c83612efe565b9150613acf82613a8e565b602082019050919050565b60006020820190508181036000830152613af381613ab7565b9050919050565b6000613b0582612fa5565b9150613b1083612fa5565b9250828201905080821115613b2857613b27613619565b5b92915050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b6000613b8a602383612efe565b9150613b9582613b2e565b604082019050919050565b60006020820190508181036000830152613bb981613b7d565b9050919050565b7f426f74732063616e6e6f74207472616e7366657220746f6b656e7320696e206f60008201527f72206f75742065786365707420746f206f776e65722c206d61726b6574696e6760208201527f2c206f72206465616420616464726573732e0000000000000000000000000000604082015250565b6000613c42605283612efe565b9150613c4d82613bc0565b606082019050919050565b60006020820190508181036000830152613c7181613c35565b9050919050565b6000613c8382612fa5565b9150613c8e83612fa5565b9250828203905081811115613ca657613ca5613619565b5b92915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000613d08602a83612efe565b9150613d1382613cac565b604082019050919050565b60006020820190508181036000830152613d3781613cfb565b9050919050565b600081519050613d4d81612e64565b92915050565b600060208284031215613d6957613d68612e28565b5b6000613d7784828501613d3e565b91505092915050565b6000819050919050565b6000613da5613da0613d9b84613d80565b61301b565b612fa5565b9050919050565b613db581613d8a565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613df081612e52565b82525050565b6000613e028383613de7565b60208301905092915050565b6000602082019050919050565b6000613e2682613dbb565b613e308185613dc6565b9350613e3b83613dd7565b8060005b83811015613e6c578151613e538882613df6565b9750613e5e83613e0e565b925050600181019050613e3f565b5085935050505092915050565b600060a082019050613e8e6000830188613095565b613e9b6020830187613dac565b8181036040830152613ead8186613e1b565b9050613ebc6060830185613149565b613ec96080830184613095565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613f0d82612fa5565b9150613f1883612fa5565b925082613f2857613f27613ed3565b5b828204905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613f69601b83612efe565b9150613f7482613f33565b602082019050919050565b60006020820190508181036000830152613f9881613f5c565b9050919050565b6000613faa82612fa5565b9150613fb583612fa5565b9250828202613fc381612fa5565b91508282048414831517613fda57613fd9613619565b5b5092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061403d602183612efe565b915061404882613fe1565b604082019050919050565b6000602082019050818103600083015261406c81614030565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122093d0600a05a5ccef8334d4d2ba0e182d43a2d564940e0978ed02e5ba3b43cea764736f6c63430008130033

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

00000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000003

-----Decoded View---------------
Arg [0] : startFeeBuy (uint256): 3
Arg [1] : startFeeSell (uint256): 3

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000003


Deployed Bytecode Sourcemap

4091:14511:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4563:44;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6746:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7671:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5459:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7023:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7872:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5771:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6932:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5507:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17984:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13035:262;;;;;;;;;;;;;:::i;:::-;;7126:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13679:365;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1578:148;;;;;;;;;;;;;:::i;:::-;;18124:108;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5657:49;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5201:43;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1364:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12655:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5713:51;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6837:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17793:139;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17450:291;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7272:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12764:263;;;;;;;;;;;;;:::i;:::-;;18363:234;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7479:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13307:364;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18240:115;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1734:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4563:44;;;;;;;;;;;;;;;;;;;;;;:::o;6746:83::-;6783:13;6816:5;;;;;;;;;;;;;;;;;6809:12;;6746:83;:::o;7671:193::-;7773:4;7795:39;7804:12;:10;:12::i;:::-;7818:7;7827:6;7795:8;:39::i;:::-;7852:4;7845:11;;7671:193;;;;:::o;5459:41::-;;;;;;;;;;;;;:::o;7023:95::-;7076:7;4698:18;7096:14;;7023:95;:::o;7872:446::-;8004:4;8021:36;8031:6;8039:9;8050:6;8021:9;:36::i;:::-;8068:220;8091:6;8112:12;:10;:12::i;:::-;8139:138;8195:6;8139:138;;;;;;;;;;;;;;;;;:11;:19;8151:6;8139:19;;;;;;;;;;;;;;;:33;8159:12;:10;:12::i;:::-;8139:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;8068:8;:220::i;:::-;8306:4;8299:11;;7872:446;;;;;:::o;5771:58::-;;;;:::o;6932:83::-;6973:5;4321:1;6991:16;;6932:83;:::o;5507:28::-;;;;;;;;;;;;;:::o;17984:101::-;1501:12;:10;:12::i;:::-;1491:22;;:6;;;;;;;;;;:22;;;1483:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18065:12:::1;18051:11;;:26;;;;;;;;;;;;;;;;;;17984:101:::0;:::o;13035:262::-;13101:19;;;;;;;;;;;13085:35;;:12;:10;:12::i;:::-;:35;;;:62;;;;13140:7;:5;:7::i;:::-;13124:23;;:12;:10;:12::i;:::-;:23;;;13085:62;:99;;;;13167:17;;;;;;;;;;;13151:33;;:12;:10;:12::i;:::-;:33;;;13085:99;13077:108;;;;;;13196:26;13225:21;13196:50;;13257:32;13270:18;13257:12;:32::i;:::-;13066:231;13035:262::o;7126:138::-;7192:7;7219:37;7239:7;:16;7247:7;7239:16;;;;;;;;;;;;;;;;7219:19;:37::i;:::-;7212:44;;7126:138;;;:::o;13679:365::-;1501:12;:10;:12::i;:::-;1491:22;;:6;;;;;;;;;;:22;;;1483:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13802:3:::1;13785:7;:14;:20;13763:121;;;;;;;;;;;;:::i;:::-;;;;;;;;;13900:9;13895:142;13919:7;:14;13915:1;:18;13895:142;;;13955:14;13972:7;13980:1;13972:10;;;;;;;;:::i;:::-;;;;;;;;13955:27;;14020:5;13997:12;:20;14010:6;13997:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;13940:97;13935:3;;;;;:::i;:::-;;;;13895:142;;;;13679:365:::0;:::o;1578:148::-;1501:12;:10;:12::i;:::-;1491:22;;:6;;;;;;;;;;:22;;;1483:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1685:1:::1;1648:40;;1669:6;::::0;::::1;;;;;;;;1648:40;;;;;;;;;;;;1716:1;1699:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;1578:148::o:0;18124:108::-;1501:12;:10;:12::i;:::-;1491:22;;:6;;;;;;;;;;:22;;;1483:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18213:11:::1;18198:12;:26;;;;18124:108:::0;:::o;5657:49::-;;;;:::o;5201:43::-;;;;;;;;;;;;;;;;;:::o;1364:79::-;1402:7;1429:6;;;;;;;;;;;1422:13;;1364:79;:::o;12655:101::-;1501:12;:10;:12::i;:::-;1491:22;;:6;;;;;;;;;;:22;;;1483:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12736:12:::1;12722:11;;:26;;;;;;;;;;;;;;;;;;12655:101:::0;:::o;5713:51::-;;;;:::o;6837:87::-;6876:13;6909:7;;;;;;;;;;;;;;;;;6902:14;;6837:87;:::o;17793:139::-;1501:12;:10;:12::i;:::-;1491:22;;:6;;;;;;;;;;:22;;;1483:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17906:18:::1;17884:19;:40;;;;17793:139:::0;:::o;17450:291::-;1501:12;:10;:12::i;:::-;1491:22;;:6;;;;;;;;;;:22;;;1483:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17601:13:::1;17584:14;:30;;;;17643:14;17625:15;:32;;;;17683:11;17668:12;:26;;;;17721:12;17705:13;:28;;;;17450:291:::0;;;;:::o;7272:199::-;7377:4;7399:42;7409:12;:10;:12::i;:::-;7423:9;7434:6;7399:9;:42::i;:::-;7459:4;7452:11;;7272:199;;;;:::o;12764:263::-;12830:19;;;;;;;;;;;12814:35;;:12;:10;:12::i;:::-;:35;;;:62;;;;12869:7;:5;:7::i;:::-;12853:23;;:12;:10;:12::i;:::-;:23;;;12814:62;:99;;;;12896:17;;;;;;;;;;;12880:33;;:12;:10;:12::i;:::-;:33;;;12814:99;12806:108;;;;;;12925:23;12951:24;12969:4;12951:9;:24::i;:::-;12925:50;;12986:33;13003:15;12986:16;:33::i;:::-;12795:232;12764:263::o;18363:234::-;1501:12;:10;:12::i;:::-;1491:22;;:6;;;;;;;;;;:22;;;1483:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18480:9:::1;18476:114;18499:8;;:15;;18495:1;:19;18476:114;;;18570:8;18536:18;:31;18555:8;;18564:1;18555:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;18536:31;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;18516:3;;;;;:::i;:::-;;;;18476:114;;;;18363:234:::0;;;:::o;7479:184::-;7596:7;7628:11;:18;7640:5;7628:18;;;;;;;;;;;;;;;:27;7647:7;7628:27;;;;;;;;;;;;;;;;7621:34;;7479:184;;;;:::o;13307:364::-;1501:12;:10;:12::i;:::-;1491:22;;:6;;;;;;;;;;:22;;;1483:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13428:3:::1;13411:7;:14;:20;13389:121;;;;;;;;;;;;:::i;:::-;;;;;;;;;13528:9;13523:141;13547:7;:14;13543:1;:18;13523:141;;;13583:14;13600:7;13608:1;13600:10;;;;;;;;:::i;:::-;;;;;;;;13583:27;;13648:4;13625:12;:20;13638:6;13625:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;13568:96;13563:3;;;;;:::i;:::-;;;;13523:141;;;;13307:364:::0;:::o;18240:115::-;1501:12;:10;:12::i;:::-;1491:22;;:6;;;;;;;;;;:22;;;1483:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18334:13:::1;18317:14;:30;;;;18240:115:::0;:::o;1734:244::-;1501:12;:10;:12::i;:::-;1491:22;;:6;;;;;;;;;;:22;;;1483:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1843:1:::1;1823:22;;:8;:22;;::::0;1815:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;1933:8;1904:38;;1925:6;::::0;::::1;;;;;;;;1904:38;;;;;;;;;;;;1962:8;1953:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;1734:244:::0;:::o;123:98::-;176:7;203:10;196:17;;123:98;:::o;9009:369::-;9153:1;9136:19;;:5;:19;;;9128:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9234:1;9215:21;;:7;:21;;;9207:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9316:6;9286:11;:18;9298:5;9286:18;;;;;;;;;;;;;;;:27;9305:7;9286:27;;;;;;;;;;;;;;;:36;;;;9354:7;9338:32;;9347:5;9338:32;;;9363:6;9338:32;;;;;;:::i;:::-;;;;;;;;9009:369;;;:::o;9386:2663::-;9524:1;9508:18;;:4;:18;;;9500:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9601:1;9587:16;;:2;:16;;;9579:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9671:1;9662:6;:10;9654:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9743:7;:5;:7::i;:::-;9735:15;;:4;:15;;;;:32;;;;;9760:7;:5;:7::i;:::-;9754:13;;:2;:13;;;;9735:32;9731:1592;;;9824:11;;;;;;;;;;;9819:144;;9872:7;:5;:7::i;:::-;9864:15;;:4;:15;;;9856:91;;;;;;;;;;;;:::i;:::-;;;;;;;;;9819:144;9991:19;;;;;;;;;;;9983:27;;:4;:27;;;;:56;;;;;10020:19;;;;;;;;;;;10014:25;;:2;:25;;;;9983:56;9979:334;;;10078:12;;10068:6;:22;;10060:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;10153:13;;;;;;;;;;;10147:19;;:2;:19;;;10144:154;;10224:14;;10215:6;10199:13;10209:2;10199:9;:13::i;:::-;:22;;;;:::i;:::-;:39;10191:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;10144:154;9979:334;10333:11;;;;;;;;;;;10329:296;;;10396:12;:18;10409:4;10396:18;;;;;;;;;;;;;;;;;;;;;;;;;10395:19;:46;;;;10424:17;;;;;;;;;;;10418:23;;:2;:23;;;10395:46;:63;;;;10451:7;:5;:7::i;:::-;10445:13;;:2;:13;;;10395:63;:88;;;;10476:6;10462:21;;:2;:21;;;10395:88;10365:244;;;;;;;;;;;;:::i;:::-;;;;;;;;;10329:296;10641:28;10672:24;10690:4;10672:9;:24::i;:::-;10641:55;;10711:12;10750:19;;10726:20;:43;;10711:58;;10813:12;;10789:20;:36;10786:124;;10882:12;;10859:35;;10786:124;10930:7;:18;;;;;10942:6;;;;;;;;;;10941:7;10930:18;:43;;;;;10960:13;;;;;;;;;;;10952:21;;:4;:21;;;;10930:43;:58;;;;;10977:11;;;;;;;;;;;10930:58;:87;;;;;10993:18;:24;11012:4;10993:24;;;;;;;;;;;;;;;;;;;;;;;;;10992:25;10930:87;:114;;;;;11022:18;:22;11041:2;11022:22;;;;;;;;;;;;;;;;;;;;;;;;;11021:23;10930:114;10926:386;;;11065:38;11082:20;11065:16;:38::i;:::-;11122:26;11151:21;11122:50;;11216:1;11195:18;:22;11191:106;;;11242:35;11255:21;11242:12;:35::i;:::-;11191:106;11046:266;10926:386;9769:1554;;9731:1592;11335:12;11350:4;11335:19;;11399:18;:24;11418:4;11399:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;11427:18;:22;11446:2;11427:22;;;;;;;;;;;;;;;;;;;;;;;;;11399:50;11398:102;;;;11463:13;;;;;;;;;;;11455:21;;:4;:21;;;;:44;;;;;11486:13;;;;;;;;;;;11480:19;;:2;:19;;;;11455:44;11398:102;11394:594;;;11527:5;11517:15;;11394:594;;;11610:13;;;;;;;;;;;11602:21;;:4;:21;;;:55;;;;;11641:15;;;;;;;;;;;11627:30;;:2;:30;;;;11602:55;11599:162;;;11690:14;;11678:9;:26;;;;11733:12;;11723:7;:22;;;;11599:162;11820:13;;;;;;;;;;;11814:19;;:2;:19;;;:55;;;;;11853:15;;;;;;;;;;;11837:32;;:4;:32;;;;11814:55;11810:165;;;11902:15;;11890:9;:27;;;;11946:13;;11936:7;:23;;;;11810:165;11394:594;12000:41;12015:4;12021:2;12025:6;12033:7;12000:14;:41::i;:::-;9489:2560;9386:2663;;;:::o;2342:224::-;2462:7;2495:1;2490;:6;;2498:12;2482:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2522:9;2538:1;2534;:5;;;;:::i;:::-;2522:17;;2557:1;2550:8;;;2342:224;;;;;:::o;12548:99::-;12605:17;;;;;;;;;;;:26;;:34;12632:6;12605:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12548:99;:::o;8326:323::-;8421:7;8479;;8468;:18;;8446:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;8567:19;8589:10;:8;:10::i;:::-;8567:32;;8617:24;8629:11;8617:7;:11;;:24;;;;:::i;:::-;8610:31;;;8326:323;;;:::o;12057:483::-;5932:4;5923:6;;:13;;;;;;;;;;;;;;;;;;12135:21:::1;12173:1;12159:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12135:40;;12204:4;12186;12191:1;12186:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;12230:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12220:4;12225:1;12220:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;12263:62;12280:4;12295:15;;;;;;;;;;;12313:11;12263:8;:62::i;:::-;12336:15;;;;;;;;;;;:66;;;12417:11;12443:1;12459:4;12486;12506:15;12336:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;12124:416;5968:5:::0;5959:6;;:14;;;;;;;;;;;;;;;;;;12057:483;:::o;14052:282::-;14208:7;14203:28;;14217:14;:12;:14::i;:::-;14203:28;14242:44;14260:6;14268:9;14279:6;14242:17;:44::i;:::-;14302:7;14297:29;;14311:15;:13;:15::i;:::-;14297:29;14052:282;;;;:::o;17013:164::-;17055:7;17076:15;17093;17112:19;:17;:19::i;:::-;17075:56;;;;17149:20;17161:7;17149;:11;;:20;;;;:::i;:::-;17142:27;;;;17013:164;:::o;2828:132::-;2886:7;2913:39;2917:1;2920;2913:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2906:46;;2828:132;;;;:::o;8657:219::-;8717:1;8704:9;;:14;:30;;;;;8733:1;8722:7;;:12;8704:30;8736:7;8700:43;8775:9;;8755:17;:29;;;;8813:7;;8795:15;:25;;;;8845:1;8833:9;:13;;;;8867:1;8857:7;:11;;;;8657:219;:::o;14342:610::-;14489:15;14519:23;14557:12;14584:23;14622:12;14649:13;14676:19;14687:7;14676:10;:19::i;:::-;14474:221;;;;;;;;;;;;14724:28;14744:7;14724;:15;14732:6;14724:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;14706:7;:15;14714:6;14706:15;;;;;;;;;;;;;;;:46;;;;14784:39;14807:15;14784:7;:18;14792:9;14784:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;14763:7;:18;14771:9;14763:18;;;;;;;;;;;;;;;:60;;;;14834:16;14844:5;14834:9;:16::i;:::-;14861:23;14873:4;14879;14861:11;:23::i;:::-;14917:9;14900:44;;14909:6;14900:44;;;14928:15;14900:44;;;;;;:::i;:::-;;;;;;;;14463:489;;;;;;14342:610;;;:::o;8884:117::-;8940:17;;8928:9;:29;;;;8978:15;;8968:7;:25;;;;8884:117::o;17185:257::-;17236:7;17245;17265:15;17283:7;;17265:25;;17301:15;4698:18;17301:25;;17351:20;4698:18;17351:7;;:11;;:20;;;;:::i;:::-;17341:7;:30;17337:61;;;17381:7;;4698:18;17373:25;;;;;;;;17337:61;17417:7;17426;17409:25;;;;;;17185:257;;;:::o;2968:223::-;3088:7;3120:1;3116;:5;3123:12;3108:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3147:9;3163:1;3159;:5;;;;:::i;:::-;3147:17;;3182:1;3175:8;;;2968:223;;;;;:::o;15371:615::-;15471:7;15493;15515;15537;15559;15581;15617:23;15642:12;15656:13;15686:40;15698:7;15707:9;;15718:7;;15686:11;:40::i;:::-;15616:110;;;;;;15737:19;15759:10;:8;:10::i;:::-;15737:32;;15781:15;15798:23;15823:12;15852:46;15864:7;15873:4;15879:5;15886:11;15852;:46::i;:::-;15780:118;;;;;;15917:7;15926:15;15943:4;15949:15;15966:4;15972:5;15909:69;;;;;;;;;;;;;;;;;;;15371:615;;;;;;;:::o;2198:136::-;2256:7;2283:43;2287:1;2290;2283:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2276:50;;2198:136;;;;:::o;2011:179::-;2069:7;2089:9;2105:1;2101;:5;;;;:::i;:::-;2089:17;;2130:1;2125;:6;;2117:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2181:1;2174:8;;;2011:179;;;;:::o;14960:211::-;15013:19;15035:10;:8;:10::i;:::-;15013:32;;15056:13;15072:22;15082:11;15072:5;:9;;:22;;;;:::i;:::-;15056:38;;15130:33;15157:5;15130:7;:22;15146:4;15130:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;15105:7;:22;15121:4;15105:22;;;;;;;;;;;;;;;:58;;;;15002:169;;14960:211;:::o;15179:147::-;15257:17;15269:4;15257:7;;:11;;:17;;;;:::i;:::-;15247:7;:27;;;;15298:20;15313:4;15298:10;;:14;;:20;;;;:::i;:::-;15285:10;:33;;;;15179:147;;:::o;15994:469::-;16163:7;16185;16207;16242:12;16257:30;16283:3;16257:21;16269:8;16257:7;:11;;:21;;;;:::i;:::-;:25;;:30;;;;:::i;:::-;16242:45;;16298:13;16314:28;16338:3;16314:19;16326:6;16314:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;16298:44;;16353:23;16379:28;16401:5;16379:17;16391:4;16379:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;16353:54;;16426:15;16443:4;16449:5;16418:37;;;;;;;;;15994:469;;;;;;;:::o;16471:534::-;16665:7;16687;16709;16744:15;16762:24;16774:11;16762:7;:11;;:24;;;;:::i;:::-;16744:42;;16797:12;16812:21;16821:11;16812:4;:8;;:21;;;;:::i;:::-;16797:36;;16844:13;16860:22;16870:11;16860:5;:9;;:22;;;;:::i;:::-;16844:38;;16893:23;16919:28;16941:5;16919:17;16931:4;16919:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;16893:54;;16966:7;16975:15;16992:4;16958:39;;;;;;;;;;16471:534;;;;;;;;:::o;2574:246::-;2632:7;2661:1;2656;:6;2652:47;;2686:1;2679:8;;;;2652:47;2709:9;2725:1;2721;:5;;;;:::i;:::-;2709:17;;2754:1;2749;2745;:5;;;;:::i;:::-;:10;2737:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2811:1;2804:8;;;2574:246;;;;;:::o;7:75:1:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:329::-;900:6;949:2;937:9;928:7;924:23;920:32;917:119;;;955:79;;:::i;:::-;917:119;1075:1;1100:53;1145:7;1136:6;1125:9;1121:22;1100:53;:::i;:::-;1090:63;;1046:117;841:329;;;;:::o;1176:90::-;1210:7;1253:5;1246:13;1239:21;1228:32;;1176:90;;;:::o;1272:109::-;1353:21;1368:5;1353:21;:::i;:::-;1348:3;1341:34;1272:109;;:::o;1387:210::-;1474:4;1512:2;1501:9;1497:18;1489:26;;1525:65;1587:1;1576:9;1572:17;1563:6;1525:65;:::i;:::-;1387:210;;;;:::o;1603:99::-;1655:6;1689:5;1683:12;1673:22;;1603:99;;;:::o;1708:169::-;1792:11;1826:6;1821:3;1814:19;1866:4;1861:3;1857:14;1842:29;;1708:169;;;;:::o;1883:246::-;1964:1;1974:113;1988:6;1985:1;1982:13;1974:113;;;2073:1;2068:3;2064:11;2058:18;2054:1;2049:3;2045:11;2038:39;2010:2;2007:1;2003:10;1998:15;;1974:113;;;2121:1;2112:6;2107:3;2103:16;2096:27;1945:184;1883:246;;;:::o;2135:102::-;2176:6;2227:2;2223:7;2218:2;2211:5;2207:14;2203:28;2193:38;;2135:102;;;:::o;2243:377::-;2331:3;2359:39;2392:5;2359:39;:::i;:::-;2414:71;2478:6;2473:3;2414:71;:::i;:::-;2407:78;;2494:65;2552:6;2547:3;2540:4;2533:5;2529:16;2494:65;:::i;:::-;2584:29;2606:6;2584:29;:::i;:::-;2579:3;2575:39;2568:46;;2335:285;2243:377;;;;:::o;2626:313::-;2739:4;2777:2;2766:9;2762:18;2754:26;;2826:9;2820:4;2816:20;2812:1;2801:9;2797:17;2790:47;2854:78;2927:4;2918:6;2854:78;:::i;:::-;2846:86;;2626:313;;;;:::o;2945:77::-;2982:7;3011:5;3000:16;;2945:77;;;:::o;3028:122::-;3101:24;3119:5;3101:24;:::i;:::-;3094:5;3091:35;3081:63;;3140:1;3137;3130:12;3081:63;3028:122;:::o;3156:139::-;3202:5;3240:6;3227:20;3218:29;;3256:33;3283:5;3256:33;:::i;:::-;3156:139;;;;:::o;3301:474::-;3369:6;3377;3426:2;3414:9;3405:7;3401:23;3397:32;3394:119;;;3432:79;;:::i;:::-;3394:119;3552:1;3577:53;3622:7;3613:6;3602:9;3598:22;3577:53;:::i;:::-;3567:63;;3523:117;3679:2;3705:53;3750:7;3741:6;3730:9;3726:22;3705:53;:::i;:::-;3695:63;;3650:118;3301:474;;;;;:::o;3781:60::-;3809:3;3830:5;3823:12;;3781:60;;;:::o;3847:142::-;3897:9;3930:53;3948:34;3957:24;3975:5;3957:24;:::i;:::-;3948:34;:::i;:::-;3930:53;:::i;:::-;3917:66;;3847:142;;;:::o;3995:126::-;4045:9;4078:37;4109:5;4078:37;:::i;:::-;4065:50;;3995:126;;;:::o;4127:152::-;4203:9;4236:37;4267:5;4236:37;:::i;:::-;4223:50;;4127:152;;;:::o;4285:183::-;4398:63;4455:5;4398:63;:::i;:::-;4393:3;4386:76;4285:183;;:::o;4474:274::-;4593:4;4631:2;4620:9;4616:18;4608:26;;4644:97;4738:1;4727:9;4723:17;4714:6;4644:97;:::i;:::-;4474:274;;;;:::o;4754:118::-;4841:24;4859:5;4841:24;:::i;:::-;4836:3;4829:37;4754:118;;:::o;4878:222::-;4971:4;5009:2;4998:9;4994:18;4986:26;;5022:71;5090:1;5079:9;5075:17;5066:6;5022:71;:::i;:::-;4878:222;;;;:::o;5106:619::-;5183:6;5191;5199;5248:2;5236:9;5227:7;5223:23;5219:32;5216:119;;;5254:79;;:::i;:::-;5216:119;5374:1;5399:53;5444:7;5435:6;5424:9;5420:22;5399:53;:::i;:::-;5389:63;;5345:117;5501:2;5527:53;5572:7;5563:6;5552:9;5548:22;5527:53;:::i;:::-;5517:63;;5472:118;5629:2;5655:53;5700:7;5691:6;5680:9;5676:22;5655:53;:::i;:::-;5645:63;;5600:118;5106:619;;;;;:::o;5731:86::-;5766:7;5806:4;5799:5;5795:16;5784:27;;5731:86;;;:::o;5823:112::-;5906:22;5922:5;5906:22;:::i;:::-;5901:3;5894:35;5823:112;;:::o;5941:214::-;6030:4;6068:2;6057:9;6053:18;6045:26;;6081:67;6145:1;6134:9;6130:17;6121:6;6081:67;:::i;:::-;5941:214;;;;:::o;6161:118::-;6248:24;6266:5;6248:24;:::i;:::-;6243:3;6236:37;6161:118;;:::o;6285:222::-;6378:4;6416:2;6405:9;6401:18;6393:26;;6429:71;6497:1;6486:9;6482:17;6473:6;6429:71;:::i;:::-;6285:222;;;;:::o;6513:116::-;6583:21;6598:5;6583:21;:::i;:::-;6576:5;6573:32;6563:60;;6619:1;6616;6609:12;6563:60;6513:116;:::o;6635:133::-;6678:5;6716:6;6703:20;6694:29;;6732:30;6756:5;6732:30;:::i;:::-;6635:133;;;;:::o;6774:323::-;6830:6;6879:2;6867:9;6858:7;6854:23;6850:32;6847:119;;;6885:79;;:::i;:::-;6847:119;7005:1;7030:50;7072:7;7063:6;7052:9;7048:22;7030:50;:::i;:::-;7020:60;;6976:114;6774:323;;;;:::o;7103:117::-;7212:1;7209;7202:12;7226:180;7274:77;7271:1;7264:88;7371:4;7368:1;7361:15;7395:4;7392:1;7385:15;7412:281;7495:27;7517:4;7495:27;:::i;:::-;7487:6;7483:40;7625:6;7613:10;7610:22;7589:18;7577:10;7574:34;7571:62;7568:88;;;7636:18;;:::i;:::-;7568:88;7676:10;7672:2;7665:22;7455:238;7412:281;;:::o;7699:129::-;7733:6;7760:20;;:::i;:::-;7750:30;;7789:33;7817:4;7809:6;7789:33;:::i;:::-;7699:129;;;:::o;7834:311::-;7911:4;8001:18;7993:6;7990:30;7987:56;;;8023:18;;:::i;:::-;7987:56;8073:4;8065:6;8061:17;8053:25;;8133:4;8127;8123:15;8115:23;;7834:311;;;:::o;8151:117::-;8260:1;8257;8250:12;8291:710;8387:5;8412:81;8428:64;8485:6;8428:64;:::i;:::-;8412:81;:::i;:::-;8403:90;;8513:5;8542:6;8535:5;8528:21;8576:4;8569:5;8565:16;8558:23;;8629:4;8621:6;8617:17;8609:6;8605:30;8658:3;8650:6;8647:15;8644:122;;;8677:79;;:::i;:::-;8644:122;8792:6;8775:220;8809:6;8804:3;8801:15;8775:220;;;8884:3;8913:37;8946:3;8934:10;8913:37;:::i;:::-;8908:3;8901:50;8980:4;8975:3;8971:14;8964:21;;8851:144;8835:4;8830:3;8826:14;8819:21;;8775:220;;;8779:21;8393:608;;8291:710;;;;;:::o;9024:370::-;9095:5;9144:3;9137:4;9129:6;9125:17;9121:27;9111:122;;9152:79;;:::i;:::-;9111:122;9269:6;9256:20;9294:94;9384:3;9376:6;9369:4;9361:6;9357:17;9294:94;:::i;:::-;9285:103;;9101:293;9024:370;;;;:::o;9400:539::-;9484:6;9533:2;9521:9;9512:7;9508:23;9504:32;9501:119;;;9539:79;;:::i;:::-;9501:119;9687:1;9676:9;9672:17;9659:31;9717:18;9709:6;9706:30;9703:117;;;9739:79;;:::i;:::-;9703:117;9844:78;9914:7;9905:6;9894:9;9890:22;9844:78;:::i;:::-;9834:88;;9630:302;9400:539;;;;:::o;9945:329::-;10004:6;10053:2;10041:9;10032:7;10028:23;10024:32;10021:119;;;10059:79;;:::i;:::-;10021:119;10179:1;10204:53;10249:7;10240:6;10229:9;10225:22;10204:53;:::i;:::-;10194:63;;10150:117;9945:329;;;;:::o;10280:765::-;10366:6;10374;10382;10390;10439:3;10427:9;10418:7;10414:23;10410:33;10407:120;;;10446:79;;:::i;:::-;10407:120;10566:1;10591:53;10636:7;10627:6;10616:9;10612:22;10591:53;:::i;:::-;10581:63;;10537:117;10693:2;10719:53;10764:7;10755:6;10744:9;10740:22;10719:53;:::i;:::-;10709:63;;10664:118;10821:2;10847:53;10892:7;10883:6;10872:9;10868:22;10847:53;:::i;:::-;10837:63;;10792:118;10949:2;10975:53;11020:7;11011:6;11000:9;10996:22;10975:53;:::i;:::-;10965:63;;10920:118;10280:765;;;;;;;:::o;11051:117::-;11160:1;11157;11150:12;11191:568;11264:8;11274:6;11324:3;11317:4;11309:6;11305:17;11301:27;11291:122;;11332:79;;:::i;:::-;11291:122;11445:6;11432:20;11422:30;;11475:18;11467:6;11464:30;11461:117;;;11497:79;;:::i;:::-;11461:117;11611:4;11603:6;11599:17;11587:29;;11665:3;11657:4;11649:6;11645:17;11635:8;11631:32;11628:41;11625:128;;;11672:79;;:::i;:::-;11625:128;11191:568;;;;;:::o;11765:698::-;11857:6;11865;11873;11922:2;11910:9;11901:7;11897:23;11893:32;11890:119;;;11928:79;;:::i;:::-;11890:119;12076:1;12065:9;12061:17;12048:31;12106:18;12098:6;12095:30;12092:117;;;12128:79;;:::i;:::-;12092:117;12241:80;12313:7;12304:6;12293:9;12289:22;12241:80;:::i;:::-;12223:98;;;;12019:312;12370:2;12396:50;12438:7;12429:6;12418:9;12414:22;12396:50;:::i;:::-;12386:60;;12341:115;11765:698;;;;;:::o;12469:474::-;12537:6;12545;12594:2;12582:9;12573:7;12569:23;12565:32;12562:119;;;12600:79;;:::i;:::-;12562:119;12720:1;12745:53;12790:7;12781:6;12770:9;12766:22;12745:53;:::i;:::-;12735:63;;12691:117;12847:2;12873:53;12918:7;12909:6;12898:9;12894:22;12873:53;:::i;:::-;12863:63;;12818:118;12469:474;;;;;:::o;12949:182::-;13089:34;13085:1;13077:6;13073:14;13066:58;12949:182;:::o;13137:366::-;13279:3;13300:67;13364:2;13359:3;13300:67;:::i;:::-;13293:74;;13376:93;13465:3;13376:93;:::i;:::-;13494:2;13489:3;13485:12;13478:19;;13137:366;;;:::o;13509:419::-;13675:4;13713:2;13702:9;13698:18;13690:26;;13762:9;13756:4;13752:20;13748:1;13737:9;13733:17;13726:47;13790:131;13916:4;13790:131;:::i;:::-;13782:139;;13509:419;;;:::o;13934:238::-;14074:34;14070:1;14062:6;14058:14;14051:58;14143:21;14138:2;14130:6;14126:15;14119:46;13934:238;:::o;14178:366::-;14320:3;14341:67;14405:2;14400:3;14341:67;:::i;:::-;14334:74;;14417:93;14506:3;14417:93;:::i;:::-;14535:2;14530:3;14526:12;14519:19;;14178:366;;;:::o;14550:419::-;14716:4;14754:2;14743:9;14739:18;14731:26;;14803:9;14797:4;14793:20;14789:1;14778:9;14774:17;14767:47;14831:131;14957:4;14831:131;:::i;:::-;14823:139;;14550:419;;;:::o;14975:180::-;15023:77;15020:1;15013:88;15120:4;15117:1;15110:15;15144:4;15141:1;15134:15;15161:180;15209:77;15206:1;15199:88;15306:4;15303:1;15296:15;15330:4;15327:1;15320:15;15347:233;15386:3;15409:24;15427:5;15409:24;:::i;:::-;15400:33;;15455:66;15448:5;15445:77;15442:103;;15525:18;;:::i;:::-;15442:103;15572:1;15565:5;15561:13;15554:20;;15347:233;;;:::o;15586:225::-;15726:34;15722:1;15714:6;15710:14;15703:58;15795:8;15790:2;15782:6;15778:15;15771:33;15586:225;:::o;15817:366::-;15959:3;15980:67;16044:2;16039:3;15980:67;:::i;:::-;15973:74;;16056:93;16145:3;16056:93;:::i;:::-;16174:2;16169:3;16165:12;16158:19;;15817:366;;;:::o;16189:419::-;16355:4;16393:2;16382:9;16378:18;16370:26;;16442:9;16436:4;16432:20;16428:1;16417:9;16413:17;16406:47;16470:131;16596:4;16470:131;:::i;:::-;16462:139;;16189:419;;;:::o;16614:223::-;16754:34;16750:1;16742:6;16738:14;16731:58;16823:6;16818:2;16810:6;16806:15;16799:31;16614:223;:::o;16843:366::-;16985:3;17006:67;17070:2;17065:3;17006:67;:::i;:::-;16999:74;;17082:93;17171:3;17082:93;:::i;:::-;17200:2;17195:3;17191:12;17184:19;;16843:366;;;:::o;17215:419::-;17381:4;17419:2;17408:9;17404:18;17396:26;;17468:9;17462:4;17458:20;17454:1;17443:9;17439:17;17432:47;17496:131;17622:4;17496:131;:::i;:::-;17488:139;;17215:419;;;:::o;17640:221::-;17780:34;17776:1;17768:6;17764:14;17757:58;17849:4;17844:2;17836:6;17832:15;17825:29;17640:221;:::o;17867:366::-;18009:3;18030:67;18094:2;18089:3;18030:67;:::i;:::-;18023:74;;18106:93;18195:3;18106:93;:::i;:::-;18224:2;18219:3;18215:12;18208:19;;17867:366;;;:::o;18239:419::-;18405:4;18443:2;18432:9;18428:18;18420:26;;18492:9;18486:4;18482:20;18478:1;18467:9;18463:17;18456:47;18520:131;18646:4;18520:131;:::i;:::-;18512:139;;18239:419;;;:::o;18664:224::-;18804:34;18800:1;18792:6;18788:14;18781:58;18873:7;18868:2;18860:6;18856:15;18849:32;18664:224;:::o;18894:366::-;19036:3;19057:67;19121:2;19116:3;19057:67;:::i;:::-;19050:74;;19133:93;19222:3;19133:93;:::i;:::-;19251:2;19246:3;19242:12;19235:19;;18894:366;;;:::o;19266:419::-;19432:4;19470:2;19459:9;19455:18;19447:26;;19519:9;19513:4;19509:20;19505:1;19494:9;19490:17;19483:47;19547:131;19673:4;19547:131;:::i;:::-;19539:139;;19266:419;;;:::o;19691:222::-;19831:34;19827:1;19819:6;19815:14;19808:58;19900:5;19895:2;19887:6;19883:15;19876:30;19691:222;:::o;19919:366::-;20061:3;20082:67;20146:2;20141:3;20082:67;:::i;:::-;20075:74;;20158:93;20247:3;20158:93;:::i;:::-;20276:2;20271:3;20267:12;20260:19;;19919:366;;;:::o;20291:419::-;20457:4;20495:2;20484:9;20480:18;20472:26;;20544:9;20538:4;20534:20;20530:1;20519:9;20515:17;20508:47;20572:131;20698:4;20572:131;:::i;:::-;20564:139;;20291:419;;;:::o;20716:228::-;20856:34;20852:1;20844:6;20840:14;20833:58;20925:11;20920:2;20912:6;20908:15;20901:36;20716:228;:::o;20950:366::-;21092:3;21113:67;21177:2;21172:3;21113:67;:::i;:::-;21106:74;;21189:93;21278:3;21189:93;:::i;:::-;21307:2;21302:3;21298:12;21291:19;;20950:366;;;:::o;21322:419::-;21488:4;21526:2;21515:9;21511:18;21503:26;;21575:9;21569:4;21565:20;21561:1;21550:9;21546:17;21539:47;21603:131;21729:4;21603:131;:::i;:::-;21595:139;;21322:419;;;:::o;21747:250::-;21887:34;21883:1;21875:6;21871:14;21864:58;21956:33;21951:2;21943:6;21939:15;21932:58;21747:250;:::o;22003:366::-;22145:3;22166:67;22230:2;22225:3;22166:67;:::i;:::-;22159:74;;22242:93;22331:3;22242:93;:::i;:::-;22360:2;22355:3;22351:12;22344:19;;22003:366;;;:::o;22375:419::-;22541:4;22579:2;22568:9;22564:18;22556:26;;22628:9;22622:4;22618:20;22614:1;22603:9;22599:17;22592:47;22656:131;22782:4;22656:131;:::i;:::-;22648:139;;22375:419;;;:::o;22800:178::-;22940:30;22936:1;22928:6;22924:14;22917:54;22800:178;:::o;22984:366::-;23126:3;23147:67;23211:2;23206:3;23147:67;:::i;:::-;23140:74;;23223:93;23312:3;23223:93;:::i;:::-;23341:2;23336:3;23332:12;23325:19;;22984:366;;;:::o;23356:419::-;23522:4;23560:2;23549:9;23545:18;23537:26;;23609:9;23603:4;23599:20;23595:1;23584:9;23580:17;23573:47;23637:131;23763:4;23637:131;:::i;:::-;23629:139;;23356:419;;;:::o;23781:191::-;23821:3;23840:20;23858:1;23840:20;:::i;:::-;23835:25;;23874:20;23892:1;23874:20;:::i;:::-;23869:25;;23917:1;23914;23910:9;23903:16;;23938:3;23935:1;23932:10;23929:36;;;23945:18;;:::i;:::-;23929:36;23781:191;;;;:::o;23978:222::-;24118:34;24114:1;24106:6;24102:14;24095:58;24187:5;24182:2;24174:6;24170:15;24163:30;23978:222;:::o;24206:366::-;24348:3;24369:67;24433:2;24428:3;24369:67;:::i;:::-;24362:74;;24445:93;24534:3;24445:93;:::i;:::-;24563:2;24558:3;24554:12;24547:19;;24206:366;;;:::o;24578:419::-;24744:4;24782:2;24771:9;24767:18;24759:26;;24831:9;24825:4;24821:20;24817:1;24806:9;24802:17;24795:47;24859:131;24985:4;24859:131;:::i;:::-;24851:139;;24578:419;;;:::o;25003:306::-;25143:34;25139:1;25131:6;25127:14;25120:58;25212:34;25207:2;25199:6;25195:15;25188:59;25281:20;25276:2;25268:6;25264:15;25257:45;25003:306;:::o;25315:366::-;25457:3;25478:67;25542:2;25537:3;25478:67;:::i;:::-;25471:74;;25554:93;25643:3;25554:93;:::i;:::-;25672:2;25667:3;25663:12;25656:19;;25315:366;;;:::o;25687:419::-;25853:4;25891:2;25880:9;25876:18;25868:26;;25940:9;25934:4;25930:20;25926:1;25915:9;25911:17;25904:47;25968:131;26094:4;25968:131;:::i;:::-;25960:139;;25687:419;;;:::o;26112:194::-;26152:4;26172:20;26190:1;26172:20;:::i;:::-;26167:25;;26206:20;26224:1;26206:20;:::i;:::-;26201:25;;26250:1;26247;26243:9;26235:17;;26274:1;26268:4;26265:11;26262:37;;;26279:18;;:::i;:::-;26262:37;26112:194;;;;:::o;26312:229::-;26452:34;26448:1;26440:6;26436:14;26429:58;26521:12;26516:2;26508:6;26504:15;26497:37;26312:229;:::o;26547:366::-;26689:3;26710:67;26774:2;26769:3;26710:67;:::i;:::-;26703:74;;26786:93;26875:3;26786:93;:::i;:::-;26904:2;26899:3;26895:12;26888:19;;26547:366;;;:::o;26919:419::-;27085:4;27123:2;27112:9;27108:18;27100:26;;27172:9;27166:4;27162:20;27158:1;27147:9;27143:17;27136:47;27200:131;27326:4;27200:131;:::i;:::-;27192:139;;26919:419;;;:::o;27344:143::-;27401:5;27432:6;27426:13;27417:22;;27448:33;27475:5;27448:33;:::i;:::-;27344:143;;;;:::o;27493:351::-;27563:6;27612:2;27600:9;27591:7;27587:23;27583:32;27580:119;;;27618:79;;:::i;:::-;27580:119;27738:1;27763:64;27819:7;27810:6;27799:9;27795:22;27763:64;:::i;:::-;27753:74;;27709:128;27493:351;;;;:::o;27850:85::-;27895:7;27924:5;27913:16;;27850:85;;;:::o;27941:158::-;27999:9;28032:61;28050:42;28059:32;28085:5;28059:32;:::i;:::-;28050:42;:::i;:::-;28032:61;:::i;:::-;28019:74;;27941:158;;;:::o;28105:147::-;28200:45;28239:5;28200:45;:::i;:::-;28195:3;28188:58;28105:147;;:::o;28258:114::-;28325:6;28359:5;28353:12;28343:22;;28258:114;;;:::o;28378:184::-;28477:11;28511:6;28506:3;28499:19;28551:4;28546:3;28542:14;28527:29;;28378:184;;;;:::o;28568:132::-;28635:4;28658:3;28650:11;;28688:4;28683:3;28679:14;28671:22;;28568:132;;;:::o;28706:108::-;28783:24;28801:5;28783:24;:::i;:::-;28778:3;28771:37;28706:108;;:::o;28820:179::-;28889:10;28910:46;28952:3;28944:6;28910:46;:::i;:::-;28988:4;28983:3;28979:14;28965:28;;28820:179;;;;:::o;29005:113::-;29075:4;29107;29102:3;29098:14;29090:22;;29005:113;;;:::o;29154:732::-;29273:3;29302:54;29350:5;29302:54;:::i;:::-;29372:86;29451:6;29446:3;29372:86;:::i;:::-;29365:93;;29482:56;29532:5;29482:56;:::i;:::-;29561:7;29592:1;29577:284;29602:6;29599:1;29596:13;29577:284;;;29678:6;29672:13;29705:63;29764:3;29749:13;29705:63;:::i;:::-;29698:70;;29791:60;29844:6;29791:60;:::i;:::-;29781:70;;29637:224;29624:1;29621;29617:9;29612:14;;29577:284;;;29581:14;29877:3;29870:10;;29278:608;;;29154:732;;;;:::o;29892:831::-;30155:4;30193:3;30182:9;30178:19;30170:27;;30207:71;30275:1;30264:9;30260:17;30251:6;30207:71;:::i;:::-;30288:80;30364:2;30353:9;30349:18;30340:6;30288:80;:::i;:::-;30415:9;30409:4;30405:20;30400:2;30389:9;30385:18;30378:48;30443:108;30546:4;30537:6;30443:108;:::i;:::-;30435:116;;30561:72;30629:2;30618:9;30614:18;30605:6;30561:72;:::i;:::-;30643:73;30711:3;30700:9;30696:19;30687:6;30643:73;:::i;:::-;29892:831;;;;;;;;:::o;30729:180::-;30777:77;30774:1;30767:88;30874:4;30871:1;30864:15;30898:4;30895:1;30888:15;30915:185;30955:1;30972:20;30990:1;30972:20;:::i;:::-;30967:25;;31006:20;31024:1;31006:20;:::i;:::-;31001:25;;31045:1;31035:35;;31050:18;;:::i;:::-;31035:35;31092:1;31089;31085:9;31080:14;;30915:185;;;;:::o;31106:177::-;31246:29;31242:1;31234:6;31230:14;31223:53;31106:177;:::o;31289:366::-;31431:3;31452:67;31516:2;31511:3;31452:67;:::i;:::-;31445:74;;31528:93;31617:3;31528:93;:::i;:::-;31646:2;31641:3;31637:12;31630:19;;31289:366;;;:::o;31661:419::-;31827:4;31865:2;31854:9;31850:18;31842:26;;31914:9;31908:4;31904:20;31900:1;31889:9;31885:17;31878:47;31942:131;32068:4;31942:131;:::i;:::-;31934:139;;31661:419;;;:::o;32086:410::-;32126:7;32149:20;32167:1;32149:20;:::i;:::-;32144:25;;32183:20;32201:1;32183:20;:::i;:::-;32178:25;;32238:1;32235;32231:9;32260:30;32278:11;32260:30;:::i;:::-;32249:41;;32439:1;32430:7;32426:15;32423:1;32420:22;32400:1;32393:9;32373:83;32350:139;;32469:18;;:::i;:::-;32350:139;32134:362;32086:410;;;;:::o;32502:220::-;32642:34;32638:1;32630:6;32626:14;32619:58;32711:3;32706:2;32698:6;32694:15;32687:28;32502:220;:::o;32728:366::-;32870:3;32891:67;32955:2;32950:3;32891:67;:::i;:::-;32884:74;;32967:93;33056:3;32967:93;:::i;:::-;33085:2;33080:3;33076:12;33069:19;;32728:366;;;:::o;33100:419::-;33266:4;33304:2;33293:9;33289:18;33281:26;;33353:9;33347:4;33343:20;33339:1;33328:9;33324:17;33317:47;33381:131;33507:4;33381:131;:::i;:::-;33373:139;;33100:419;;;:::o

Swarm Source

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