ETH Price: $3,359.58 (-0.67%)
Gas: 9 Gwei

Contract

0x5dCD6272C3cbb250823F0b7e6C618bce11B21f90
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

TokenTracker

Pear Swap (PEAR) (@$0.0155)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
Approve201767382024-06-26 15:23:471 hr ago1719415427IN
Pear Swap: PEAR Token
0 ETH0.0006219713.16902038
Approve201751942024-06-26 10:13:596 hrs ago1719396839IN
Pear Swap: PEAR Token
0 ETH0.000192524.09404035
Approve201722222024-06-26 0:16:4716 hrs ago1719361007IN
Pear Swap: PEAR Token
0 ETH0.000136832.89713973
Approve201687482024-06-25 12:38:5928 hrs ago1719319139IN
Pear Swap: PEAR Token
0 ETH0.000285666.04843317
Approve201644332024-06-24 22:10:1142 hrs ago1719267011IN
Pear Swap: PEAR Token
0 ETH0.000304996.44947465
Transfer201644292024-06-24 22:09:2342 hrs ago1719266963IN
Pear Swap: PEAR Token
0 ETH0.001329446.7584603
Transfer201636772024-06-24 19:37:4745 hrs ago1719257867IN
Pear Swap: PEAR Token
0 ETH0.000351554.02332099
Transfer201636282024-06-24 19:27:5945 hrs ago1719257279IN
Pear Swap: PEAR Token
0 ETH0.000363195.54668884
Transfer201636122024-06-24 19:24:4745 hrs ago1719257087IN
Pear Swap: PEAR Token
0 ETH0.0019670910
Transfer201633732024-06-24 18:36:3546 hrs ago1719254195IN
Pear Swap: PEAR Token
0 ETH0.001855369.43201485
Approve201619252024-06-24 13:45:352 days ago1719236735IN
Pear Swap: PEAR Token
0 ETH0.000334037.11224479
Approve201600872024-06-24 7:35:112 days ago1719214511IN
Pear Swap: PEAR Token
0 ETH0.000239625.09550494
Approve201600232024-06-24 7:22:112 days ago1719213731IN
Pear Swap: PEAR Token
0 ETH0.000114762.42689905
Transfer201573162024-06-23 22:17:592 days ago1719181079IN
Pear Swap: PEAR Token
0 ETH0.000480682.44364177
Approve201558012024-06-23 17:12:232 days ago1719162743IN
Pear Swap: PEAR Token
0 ETH0.000223734.75880797
Approve201537092024-06-23 10:11:473 days ago1719137507IN
Pear Swap: PEAR Token
0 ETH0.000140062.96557191
Approve201513182024-06-23 2:08:353 days ago1719108515IN
Pear Swap: PEAR Token
0 ETH0.00010992.34072035
Approve201507272024-06-23 0:10:113 days ago1719101411IN
Pear Swap: PEAR Token
0 ETH0.000075881.60461965
Transfer201498842024-06-22 21:20:113 days ago1719091211IN
Pear Swap: PEAR Token
0 ETH0.000160561.94403127
Transfer201488642024-06-22 17:54:473 days ago1719078887IN
Pear Swap: PEAR Token
0 ETH0.00048
Transfer201481612024-06-22 15:33:234 days ago1719070403IN
Pear Swap: PEAR Token
0 ETH0.000660738
Transfer201479332024-06-22 14:46:474 days ago1719067607IN
Pear Swap: PEAR Token
0 ETH0.0039345620
Approve201474382024-06-22 13:07:114 days ago1719061631IN
Pear Swap: PEAR Token
0 ETH0.000101114.0531979
Approve201463492024-06-22 9:27:474 days ago1719048467IN
Pear Swap: PEAR Token
0 ETH0.000137882.93670213
Approve201423432024-06-21 20:00:234 days ago1719000023IN
Pear Swap: PEAR Token
0 ETH0.000096463.55622945
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To Value
201758052024-06-26 12:16:234 hrs ago1719404183
Pear Swap: PEAR Token
0.0069141 ETH
201758052024-06-26 12:16:234 hrs ago1719404183
Pear Swap: PEAR Token
0.0069141 ETH
201757952024-06-26 12:14:234 hrs ago1719404063
Pear Swap: PEAR Token
0.00354562 ETH
201757952024-06-26 12:14:234 hrs ago1719404063
Pear Swap: PEAR Token
0.00354562 ETH
201752042024-06-26 10:15:596 hrs ago1719396959
Pear Swap: PEAR Token
0.00083553 ETH
201752042024-06-26 10:15:596 hrs ago1719396959
Pear Swap: PEAR Token
0.00083553 ETH
201727152024-06-26 1:55:4714 hrs ago1719366947
Pear Swap: PEAR Token
0.00125493 ETH
201727152024-06-26 1:55:4714 hrs ago1719366947
Pear Swap: PEAR Token
0.00125493 ETH
201722232024-06-26 0:16:5916 hrs ago1719361019
Pear Swap: PEAR Token
0.00125493 ETH
201722232024-06-26 0:16:5916 hrs ago1719361019
Pear Swap: PEAR Token
0.00125493 ETH
201704832024-06-25 18:27:2322 hrs ago1719340043
Pear Swap: PEAR Token
0.00278911 ETH
201704832024-06-25 18:27:2322 hrs ago1719340043
Pear Swap: PEAR Token
0.00278911 ETH
201681772024-06-25 10:43:4729 hrs ago1719312227
Pear Swap: PEAR Token
0.00042933 ETH
201681772024-06-25 10:43:4729 hrs ago1719312227
Pear Swap: PEAR Token
0.00042933 ETH
201674932024-06-25 8:26:3532 hrs ago1719303995
Pear Swap: PEAR Token
0.04963102 ETH
201674932024-06-25 8:26:3532 hrs ago1719303995
Pear Swap: PEAR Token
0.04963102 ETH
201644292024-06-24 22:09:2342 hrs ago1719266963
Pear Swap: PEAR Token
0.00266596 ETH
201644292024-06-24 22:09:2342 hrs ago1719266963
Pear Swap: PEAR Token
0.00266596 ETH
201636122024-06-24 19:24:4745 hrs ago1719257087
Pear Swap: PEAR Token
0.00303358 ETH
201636122024-06-24 19:24:4745 hrs ago1719257087
Pear Swap: PEAR Token
0.00303358 ETH
201633732024-06-24 18:36:3546 hrs ago1719254195
Pear Swap: PEAR Token
0.00094858 ETH
201633732024-06-24 18:36:3546 hrs ago1719254195
Pear Swap: PEAR Token
0.00094858 ETH
201619302024-06-24 13:46:352 days ago1719236795
Pear Swap: PEAR Token
0.00243449 ETH
201619302024-06-24 13:46:352 days ago1719236795
Pear Swap: PEAR Token
0.00243449 ETH
201573162024-06-23 22:17:592 days ago1719181079
Pear Swap: PEAR Token
0.00027145 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
PEAR

Compiler Version
v0.8.13+commit.abaa5c0e

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT   
// Website https://pearswap.net/
// Telegram Telegram https://t.me/pearswaptg
// Twitter https://twitter.com/Pearswapnet
// Medium https://medium.com/@pearswap

pragma solidity ^0.8.11;

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address to, uint256 amount) external returns (bool);
    function allowance(address owner, address spender)
        external
        view
        returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}
interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
}
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}
contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    uint256 private _totalSupply;
    string private _name;
    string private _symbol;
    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }
    function name() public view virtual override returns (string memory) {
        return _name;
    }
    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }
    function decimals() public view virtual override returns (uint8) {
        return 18;
    }
    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }
    function balanceOf(address account) public view virtual override returns (uint256) {
        return _balances[account];
    }

    function transfer(address to, uint256 amount)
        public
        virtual
        override
        returns (bool)
    {
        address owner = _msgSender();
        _transfer(owner, to, amount);
        return true;
    }
    function allowance(address owner, address spender)
        public
        view
        virtual
        override
        returns (uint256)
    {
        return _allowances[owner][spender];
    }
    function approve(address spender, uint256 amount)
        public
        virtual
        override
        returns (bool)
    {
        address owner = _msgSender();
        _approve(owner, spender, amount);
        return true;
    }
    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) public virtual override returns (bool) {
        address spender = _msgSender();
        _spendAllowance(from, spender, amount);
        _transfer(from, to, amount);
        return true;
    }
    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {
        require(from != address(0), "ERC20: a from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        _beforeTokenTransfer(from, to, amount);
        uint256 fromBalance = _balances[from];
        require(
            fromBalance >= amount,
            "ERC20: transfer amount exceeds balance"
        );
        unchecked {
            _balances[from] = fromBalance - amount;
            _balances[to] += amount;
        }
        emit Transfer(from, to, amount);
        _afterTokenTransfer(from, to, amount);
    }
    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");
        _beforeTokenTransfer(address(0), account, amount);
        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);
        _afterTokenTransfer(address(0), account, amount);
    }
    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    function _spendAllowance(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        uint256 currentAllowance = allowance(owner, spender);
        if (currentAllowance != type(uint256).max) {
            require(
                currentAllowance >= amount,
                "ERC20: insufficient allowance"
            );
            unchecked {
                _approve(owner, spender, currentAllowance - amount);
            }
        }
    }
    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
    function _afterTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}
interface IUniswapV2Factory {
    event PairCreated(
        address indexed token0,
        address indexed token1,
        address pair,
        uint256
    );
    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);
    function getPair(address tokenA, address tokenB)
        external
        view
        returns (address pair);
    function allPairs(uint256) external view returns (address pair);
    function allPairsLength() external view returns (uint256);
    function createPair(address tokenA, address tokenB)
        external
        returns (address pair);

    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
}
interface IUniswapV2Pair {
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
    event Transfer(address indexed from, address indexed to, uint256 value);
    function name() external pure returns (string memory);
    function symbol() external pure returns (string memory);
    function decimals() external pure returns (uint8);
    function totalSupply() external view returns (uint256);
    function balanceOf(address owner) external view returns (uint256);
    function allowance(address owner, address spender)
        external
        view
        returns (uint256);

    function approve(address spender, uint256 value) external returns (bool);
    function transfer(address to, uint256 value) external returns (bool);
    function transferFrom(
        address from,
        address to,
        uint256 value
    ) external returns (bool);
    function DOMAIN_SEPARATOR() external view returns (bytes32);
    function PERMIT_TYPEHASH() external pure returns (bytes32);
    function nonces(address owner) external view returns (uint256);
    function permit(
        address owner,
        address spender,
        uint256 value,
        uint256 deadline,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external;
    event Mint(address indexed sender, uint256 amount0, uint256 amount1);
    event Swap(
        address indexed sender,
        uint256 amount0In,
        uint256 amount1In,
        uint256 amount0Out,
        uint256 amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);
    function MINIMUM_LIQUIDITY() external pure returns (uint256);
    function factory() external view returns (address);
    function token0() external view returns (address);
    function token1() external view returns (address);
    function getReserves()
        external
        view
        returns (
            uint112 reserve0,
            uint112 reserve1,
            uint32 blockTimestampLast
        );
    function price0CumulativeLast() external view returns (uint256);
    function price1CumulativeLast() external view returns (uint256);
    function kLast() external view returns (uint256);
    function mint(address to) external returns (uint256 liquidity);
    function swap(
        uint256 amount0Out,
        uint256 amount1Out,
        address to,
        bytes calldata data
    ) external;
    function skim(address to) external;
    function sync() external;
    function initialize(address, address) external;
}
interface IUniswapV2Router01 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidity(
        address tokenA,
        address tokenB,
        uint256 amountADesired,
        uint256 amountBDesired,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline
    )
        external
        returns (
            uint256 amountA,
            uint256 amountB,
            uint256 liquidity
        );
    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );
    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint256 liquidity,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline
    ) external returns (uint256 amountA, uint256 amountB);
    function removeLiquidityETH(
        address token,
        uint256 liquidity,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    ) external returns (uint256 amountToken, uint256 amountETH);
    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint256 liquidity,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline,
        bool approveMax,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external returns (uint256 amountA, uint256 amountB);
    function removeLiquidityETHWithPermit(
        address token,
        uint256 liquidity,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline,
        bool approveMax,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external returns (uint256 amountToken, uint256 amountETH);
    function swapExactTokensForTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external returns (uint256[] memory amounts);
    function swapTokensForExactTokens(
        uint256 amountOut,
        uint256 amountInMax,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external returns (uint256[] memory amounts);
    function swapExactETHForTokens(
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external payable returns (uint256[] memory amounts);
    function swapTokensForExactETH(
        uint256 amountOut,
        uint256 amountInMax,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external returns (uint256[] memory amounts);
    function swapExactTokensForETH(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external returns (uint256[] memory amounts);
    function swapETHForExactTokens(
        uint256 amountOut,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external payable returns (uint256[] memory amounts);
    function quote(
        uint256 amountA,
        uint256 reserveA,
        uint256 reserveB
    ) external pure returns (uint256 amountB);
    function getAmountOut(
        uint256 amountIn,
        uint256 reserveIn,
        uint256 reserveOut
    ) external pure returns (uint256 amountOut);
    function getAmountIn(
        uint256 amountOut,
        uint256 reserveIn,
        uint256 reserveOut
    ) external pure returns (uint256 amountIn);
    function getAmountsOut(uint256 amountIn, address[] calldata path)
        external
        view
        returns (uint256[] memory amounts);
    function getAmountsIn(uint256 amountOut, address[] calldata path)
        external
        view
        returns (uint256[] memory amounts);
        }

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint256 liquidity,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    ) external returns (uint256 amountETH);
    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint256 liquidity,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline,
        bool approveMax,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external returns (uint256 amountETH);
    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external payable;
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;
}

abstract contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );
    constructor() {
        _transferOwnership(_msgSender());
    }
    function owner() public view virtual returns (address) {
        return _owner;
    }
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(
            newOwner != address(0),
            "Ownable: new owner is the zero address"
        );
        _transferOwnership(newOwner);
    }
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}
contract PEAR is ERC20, Ownable {

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private _swapping;
    address public MarketingWallet;
    uint256 private swapAt = 25000 * (10 ** decimals());
    uint256 public maxTransactionAmountOnPurchase;
    uint256 public maxTransactionAmountOnSale;
    uint256 public maxWallet;
    bool public feesDisabled = false;
    bool public tradingLive = false;
    uint256 private _fundingFee = 1;
    uint256 private _tokensForFunding;
    uint256 public buyFee;
    uint256 public sellFee;
    bool public buyStatus;
    bool public sellStatus;
    uint256 public totalFees = _fundingFee;
    mapping(address => bool) private _isExcludedFromFees;
    mapping(address => bool) private _isExcludedMaxTransactionAmount;
    mapping(address => bool) private _automatedMarketMakerPairs;

    constructor(string memory name, string memory symbol,uint256 _buyFee,uint256 _sellFee,uint256 _swapTreshold) payable ERC20(name,symbol) {
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D        );
        _isExcludedMaxTransactionAmount[address(_uniswapV2Router)] = true;
        uniswapV2Router = _uniswapV2Router;

        buyFee = _buyFee;
        sellFee = _sellFee;
        addSwapTreshold(_swapTreshold);

        uint256 totalSupply = 100000000 * 1e18;
        sellStatus = true;
        buyStatus = true;
        MarketingWallet = msg.sender;
        updateLimits(1000001,1000001,1000001);
        excludeFromFees(owner(), true);
        excludeFromFees(address(this), true);
        excludeFromFees(address(0xdead), true);
        excludeFromFees(MarketingWallet, true);
        _isExcludedMaxTransactionAmount[owner()] = true;
        _isExcludedMaxTransactionAmount[address(this)] = true;
        _isExcludedMaxTransactionAmount[MarketingWallet] = true;
        _mint(owner(), totalSupply);
    }

     function removeTxLimits() public onlyOwner{
        maxTransactionAmountOnPurchase = 2**256 - 1;
        maxTransactionAmountOnSale = 2**256 - 1;
        maxWallet = 2**256 - 1;
    }

    function setUniswapPair(address _pair) public onlyOwner{
        uniswapV2Pair = _pair;
        _automatedMarketMakerPairs[_pair] = true;
        _isExcludedMaxTransactionAmount[_pair] = true;
    }

    function addSwapTreshold(uint256 _percent) public onlyOwner {
        swapAt = (totalSupply() * _percent) / 100000000;
     }

      function setTaxWallets(address fundingWallet) public onlyOwner{
        MarketingWallet = fundingWallet;
     }

    function enableTrading() external onlyOwner {
        tradingLive = true;
    }

    function excludeFromFees(address account, bool excluded)
        public // changed from public to private
        onlyOwner
    {
        _isExcludedFromFees[account] = excluded;
    }

     function updateTradingFees(uint256 _buyFee,uint256 _sellFee) public onlyOwner {
         require(_buyFee <= 99 && _sellFee <= 99, "Too much fee");
        buyFee = _buyFee;
        sellFee = _sellFee;
     }
     
    function updateLimits(
        uint256 buyLimit,
        uint256 sellLimit,
        uint256 _maxWallet
    ) public onlyOwner {
        maxTransactionAmountOnPurchase = buyLimit * (10**decimals());
        maxTransactionAmountOnSale = sellLimit * (10**decimals());
        maxWallet = _maxWallet * (10**decimals());
    }

    function isExcludedFromFees(address account) external view returns (bool) {
        return _isExcludedFromFees[account];
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal override {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");

        if (amount == 0) {
            super._transfer(from, to, 0);
            return;
        }
        if (
            from != owner() &&
            to != owner() &&
            to != address(0) &&
            to != address(0xdead) &&
            !_swapping
        ) {
            if (!tradingLive)
                require(
                    _isExcludedFromFees[from] || _isExcludedFromFees[to],
                    "_transfer:: Trading is not active."
                );
            // on buy
            if (
                _automatedMarketMakerPairs[from] &&
                !_isExcludedMaxTransactionAmount[to]
            ) {
                require(
                    amount <= maxTransactionAmountOnPurchase,
                    "_transfer:: Buy transfer amount exceeds the maxTransactionAmount."
                );
                require(
                    amount + balanceOf(to) <= maxWallet,
                    "_transfer:: Max wallet exceeded"
                );
            }
            // on sell
            else if (
                _automatedMarketMakerPairs[to] &&
                !_isExcludedMaxTransactionAmount[from]
            ) {
                require(
                    amount <= maxTransactionAmountOnSale,
                    "_transfer:: Sell transfer amount exceeds the maxTransactionAmount."
                );
            } else if (!_isExcludedMaxTransactionAmount[to]) {
                require(
                    amount + balanceOf(to) <= maxWallet,
                    "_transfer:: Max wallet exceeded"
                );
            }
        }
        bool CanISwap = balanceOf(address(this)) >= swapAt;
        if (
            CanISwap &&
            !_swapping &&
            !_automatedMarketMakerPairs[from] &&
            !_isExcludedFromFees[from] &&
            !_isExcludedFromFees[to]
        ) {
            _swapping = true;

            swapBack();

            _swapping = false;
        }
        bool takeFee = !_swapping;
        if (
            feesDisabled ||
            _isExcludedFromFees[from] ||
            _isExcludedFromFees[to] ||
            (!_automatedMarketMakerPairs[from] &&
                !_automatedMarketMakerPairs[to])
        ) takeFee = false;
        uint256 fees = 0;
        if (takeFee) {
            uint256 feePercent;
            if(to == uniswapV2Pair){
                require(sellStatus,"Sell status is closed");
                feePercent = sellFee;
            }else if(from == uniswapV2Pair){
                require(buyStatus,"Buy status is closed");
                feePercent = buyFee;
            }
            fees = amount * feePercent / 100;
            _tokensForFunding += (fees * _fundingFee) / totalFees;
            if (fees > 0) {
                super._transfer(from, address(this), fees);
            }
            amount -= fees;
        }
        super._transfer(from, to, amount);
    }
    function _swapTokensForETH(uint256 tokenAmount) internal {
        if(tokenAmount != 0){
        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 _addLiquidity(uint256 tokenAmount, uint256 ethAmount) internal {
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.addLiquidityETH{value: ethAmount}(
            address(this),
            tokenAmount,
            0,
            0,
            owner(),
            block.timestamp
        );
    }
    function swapBack() public {
        uint256 contractBalance = balanceOf(address(this));
        if (contractBalance == 0) return;
        _swapTokensForETH(_tokensForFunding);
        payable(MarketingWallet).transfer(address(this).balance);

        _tokensForFunding = 0;
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"uint256","name":"_buyFee","type":"uint256"},{"internalType":"uint256","name":"_sellFee","type":"uint256"},{"internalType":"uint256","name":"_swapTreshold","type":"uint256"}],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"MarketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_percent","type":"uint256"}],"name":"addSwapTreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feesDisabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTransactionAmountOnPurchase","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTransactionAmountOnSale","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeTxLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"fundingWallet","type":"address"}],"name":"setTaxWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_pair","type":"address"}],"name":"setUniswapPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapBack","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingLive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"buyLimit","type":"uint256"},{"internalType":"uint256","name":"sellLimit","type":"uint256"},{"internalType":"uint256","name":"_maxWallet","type":"uint256"}],"name":"updateLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyFee","type":"uint256"},{"internalType":"uint256","name":"_sellFee","type":"uint256"}],"name":"updateTradingFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000146200044760201b60201c565b600a62000022919062000bf5565b6161a862000031919062000c46565b6009556000600d60006101000a81548160ff0219169083151502179055506000600d60016101000a81548160ff0219169083151502179055506001600e55600e5460135560405162004ab038038062004ab083398181016040528101906200009a919062000e75565b84848160039080519060200190620000b4929190620009ab565b508060049080519060200190620000cd929190620009ab565b505050620000f0620000e46200045060201b60201c565b6200045860201b60201c565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d90506001601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508360108190555082601181905550620001c1826200051e60201b60201c565b60006a52b7d2dcc80cd2e400000090506001601260016101000a81548160ff0219169083151502179055506001601260006101000a81548160ff02191690831515021790555033600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000261620f424180620f4241620005e460201b60201c565b62000283620002756200070b60201b60201c565b60016200073560201b60201c565b620002963060016200073560201b60201c565b620002ab61dead60016200073560201b60201c565b620002e0600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016200073560201b60201c565b600160156000620002f66200070b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160156000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200043a6200042d6200070b60201b60201c565b826200081f60201b60201c565b5050505050505062001186565b60006012905090565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6200052e6200045060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16620005546200070b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614620005ad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005a49062000f9c565b60405180910390fd5b6305f5e10081620005c36200099760201b60201c565b620005cf919062000c46565b620005db919062000fed565b60098190555050565b620005f46200045060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff166200061a6200070b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff161462000673576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200066a9062000f9c565b60405180910390fd5b620006836200044760201b60201c565b600a62000691919062000bf5565b836200069e919062000c46565b600a81905550620006b46200044760201b60201c565b600a620006c2919062000bf5565b82620006cf919062000c46565b600b81905550620006e56200044760201b60201c565b600a620006f3919062000bf5565b8162000700919062000c46565b600c81905550505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b620007456200045060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff166200076b6200070b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614620007c4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620007bb9062000f9c565b60405180910390fd5b80601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000891576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008889062001075565b60405180910390fd5b620008a560008383620009a160201b60201c565b8060026000828254620008b9919062001097565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825462000910919062001097565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000977919062001105565b60405180910390a36200099360008383620009a660201b60201c565b5050565b6000600254905090565b505050565b505050565b828054620009b99062001151565b90600052602060002090601f016020900481019282620009dd576000855562000a29565b82601f10620009f857805160ff191683800117855562000a29565b8280016001018555821562000a29579182015b8281111562000a2857825182559160200191906001019062000a0b565b5b50905062000a38919062000a3c565b5090565b5b8082111562000a5757600081600090555060010162000a3d565b5090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000ae95780860481111562000ac15762000ac062000a5b565b5b600185161562000ad15780820291505b808102905062000ae18562000a8a565b945062000aa1565b94509492505050565b60008262000b04576001905062000bd7565b8162000b14576000905062000bd7565b816001811462000b2d576002811462000b385762000b6e565b600191505062000bd7565b60ff84111562000b4d5762000b4c62000a5b565b5b8360020a91508482111562000b675762000b6662000a5b565b5b5062000bd7565b5060208310610133831016604e8410600b841016171562000ba85782820a90508381111562000ba25762000ba162000a5b565b5b62000bd7565b62000bb7848484600162000a97565b9250905081840481111562000bd15762000bd062000a5b565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b600062000c028262000bde565b915062000c0f8362000be8565b925062000c3e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000af2565b905092915050565b600062000c538262000bde565b915062000c608362000bde565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000c9c5762000c9b62000a5b565b5b828202905092915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b62000d108262000cc5565b810181811067ffffffffffffffff8211171562000d325762000d3162000cd6565b5b80604052505050565b600062000d4762000ca7565b905062000d55828262000d05565b919050565b600067ffffffffffffffff82111562000d785762000d7762000cd6565b5b62000d838262000cc5565b9050602081019050919050565b60005b8381101562000db057808201518184015260208101905062000d93565b8381111562000dc0576000848401525b50505050565b600062000ddd62000dd78462000d5a565b62000d3b565b90508281526020810184848401111562000dfc5762000dfb62000cc0565b5b62000e0984828562000d90565b509392505050565b600082601f83011262000e295762000e2862000cbb565b5b815162000e3b84826020860162000dc6565b91505092915050565b62000e4f8162000bde565b811462000e5b57600080fd5b50565b60008151905062000e6f8162000e44565b92915050565b600080600080600060a0868803121562000e945762000e9362000cb1565b5b600086015167ffffffffffffffff81111562000eb55762000eb462000cb6565b5b62000ec38882890162000e11565b955050602086015167ffffffffffffffff81111562000ee75762000ee662000cb6565b5b62000ef58882890162000e11565b945050604062000f088882890162000e5e565b935050606062000f1b8882890162000e5e565b925050608062000f2e8882890162000e5e565b9150509295509295909350565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600062000f8460208362000f3b565b915062000f918262000f4c565b602082019050919050565b6000602082019050818103600083015262000fb78162000f75565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000ffa8262000bde565b9150620010078362000bde565b9250826200101a576200101962000fbe565b5b828204905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b60006200105d601f8362000f3b565b91506200106a8262001025565b602082019050919050565b6000602082019050818103600083015262001090816200104e565b9050919050565b6000620010a48262000bde565b9150620010b18362000bde565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620010e957620010e862000a5b565b5b828201905092915050565b620010ff8162000bde565b82525050565b60006020820190506200111c6000830184620010f4565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200116a57607f821691505b60208210810362001180576200117f62001122565b5b50919050565b61391a80620011966000396000f3fe6080604052600436106101f25760003560e01c80634fbee1931161010d57806395d89b41116100a0578063d01dc84b1161006f578063d01dc84b146106b4578063d5aed6bf146106dd578063dd62ed3e14610706578063f2fde38b14610743578063f8b45b051461076c576101f9565b806395d89b41146105f8578063a9059cbb14610623578063b1d0b72514610660578063c02466681461068b576101f9565b8063715018a6116100dc578063715018a6146105765780638a8c523c1461058d5780638da5cb5b146105a457806393b1c69c146105cf576101f9565b80634fbee193146104ba57806365cffb1e146104f75780636ac5eeee1461052257806370a0823114610539576101f9565b80632598cdb2116101855780633415650e116101545780633415650e1461041057806336a0f8a51461043b578063399e4bfb14610464578063470624021461048f576101f9565b80632598cdb214610366578063277a2205146103915780632b14ca56146103ba578063313ce567146103e5576101f9565b806311704f52116101c157806311704f52146102a857806313114a9d146102d357806318160ddd146102fe57806323b872dd14610329576101f9565b80630106aaef146101fe57806302bf2a5c1461021557806306fdde0314610240578063095ea7b31461026b576101f9565b366101f957005b600080fd5b34801561020a57600080fd5b50610213610797565b005b34801561022157600080fd5b5061022a61088a565b604051610237919061270c565b60405180910390f35b34801561024c57600080fd5b50610255610890565b60405161026291906127c0565b60405180910390f35b34801561027757600080fd5b50610292600480360381019061028d9190612871565b610922565b60405161029f91906128cc565b60405180910390f35b3480156102b457600080fd5b506102bd610945565b6040516102ca91906128cc565b60405180910390f35b3480156102df57600080fd5b506102e8610958565b6040516102f5919061270c565b60405180910390f35b34801561030a57600080fd5b5061031361095e565b604051610320919061270c565b60405180910390f35b34801561033557600080fd5b50610350600480360381019061034b91906128e7565b610968565b60405161035d91906128cc565b60405180910390f35b34801561037257600080fd5b5061037b610997565b6040516103889190612949565b60405180910390f35b34801561039d57600080fd5b506103b860048036038101906103b39190612964565b6109bd565b005b3480156103c657600080fd5b506103cf610a64565b6040516103dc919061270c565b60405180910390f35b3480156103f157600080fd5b506103fa610a6a565b60405161040791906129ad565b60405180910390f35b34801561041c57600080fd5b50610425610a73565b60405161043291906128cc565b60405180910390f35b34801561044757600080fd5b50610462600480360381019061045d91906129c8565b610a86565b005b34801561047057600080fd5b50610479610b76565b604051610486919061270c565b60405180910390f35b34801561049b57600080fd5b506104a4610b7c565b6040516104b1919061270c565b60405180910390f35b3480156104c657600080fd5b506104e160048036038101906104dc9190612a1b565b610b82565b6040516104ee91906128cc565b60405180910390f35b34801561050357600080fd5b5061050c610bd8565b60405161051991906128cc565b60405180910390f35b34801561052e57600080fd5b50610537610beb565b005b34801561054557600080fd5b50610560600480360381019061055b9190612a1b565b610c86565b60405161056d919061270c565b60405180910390f35b34801561058257600080fd5b5061058b610cce565b005b34801561059957600080fd5b506105a2610d56565b005b3480156105b057600080fd5b506105b9610def565b6040516105c69190612949565b60405180910390f35b3480156105db57600080fd5b506105f660048036038101906105f19190612a48565b610e19565b005b34801561060457600080fd5b5061060d610ef8565b60405161061a91906127c0565b60405180910390f35b34801561062f57600080fd5b5061064a60048036038101906106459190612871565b610f8a565b60405161065791906128cc565b60405180910390f35b34801561066c57600080fd5b50610675610fad565b60405161068291906128cc565b60405180910390f35b34801561069757600080fd5b506106b260048036038101906106ad9190612ab4565b610fc0565b005b3480156106c057600080fd5b506106db60048036038101906106d69190612a1b565b611097565b005b3480156106e957600080fd5b5061070460048036038101906106ff9190612a1b565b611157565b005b34801561071257600080fd5b5061072d60048036038101906107289190612af4565b6112c7565b60405161073a919061270c565b60405180910390f35b34801561074f57600080fd5b5061076a60048036038101906107659190612a1b565b61134e565b005b34801561077857600080fd5b50610781611445565b60405161078e919061270c565b60405180910390f35b61079f61144b565b73ffffffffffffffffffffffffffffffffffffffff166107bd610def565b73ffffffffffffffffffffffffffffffffffffffff1614610813576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080a90612b80565b60405180910390fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600a819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600b819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600c81905550565b600a5481565b60606003805461089f90612bcf565b80601f01602080910402602001604051908101604052809291908181526020018280546108cb90612bcf565b80156109185780601f106108ed57610100808354040283529160200191610918565b820191906000526020600020905b8154815290600101906020018083116108fb57829003601f168201915b5050505050905090565b60008061092d61144b565b905061093a818585611453565b600191505092915050565b600d60019054906101000a900460ff1681565b60135481565b6000600254905090565b60008061097361144b565b905061098085828561161c565b61098b8585856116a8565b60019150509392505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6109c561144b565b73ffffffffffffffffffffffffffffffffffffffff166109e3610def565b73ffffffffffffffffffffffffffffffffffffffff1614610a39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3090612b80565b60405180910390fd5b6305f5e10081610a4761095e565b610a519190612c2f565b610a5b9190612cb8565b60098190555050565b60115481565b60006012905090565b601260009054906101000a900460ff1681565b610a8e61144b565b73ffffffffffffffffffffffffffffffffffffffff16610aac610def565b73ffffffffffffffffffffffffffffffffffffffff1614610b02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af990612b80565b60405180910390fd5b610b0a610a6a565b600a610b169190612e1c565b83610b219190612c2f565b600a81905550610b2f610a6a565b600a610b3b9190612e1c565b82610b469190612c2f565b600b81905550610b54610a6a565b600a610b609190612e1c565b81610b6b9190612c2f565b600c81905550505050565b600b5481565b60105481565b6000601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600d60009054906101000a900460ff1681565b6000610bf630610c86565b905060008103610c065750610c84565b610c11600f54612161565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015610c79573d6000803e3d6000fd5b506000600f81905550505b565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610cd661144b565b73ffffffffffffffffffffffffffffffffffffffff16610cf4610def565b73ffffffffffffffffffffffffffffffffffffffff1614610d4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4190612b80565b60405180910390fd5b610d5460006123ad565b565b610d5e61144b565b73ffffffffffffffffffffffffffffffffffffffff16610d7c610def565b73ffffffffffffffffffffffffffffffffffffffff1614610dd2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc990612b80565b60405180910390fd5b6001600d60016101000a81548160ff021916908315150217905550565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610e2161144b565b73ffffffffffffffffffffffffffffffffffffffff16610e3f610def565b73ffffffffffffffffffffffffffffffffffffffff1614610e95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8c90612b80565b60405180910390fd5b60638211158015610ea7575060638111155b610ee6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610edd90612eb3565b60405180910390fd5b81601081905550806011819055505050565b606060048054610f0790612bcf565b80601f0160208091040260200160405190810160405280929190818152602001828054610f3390612bcf565b8015610f805780601f10610f5557610100808354040283529160200191610f80565b820191906000526020600020905b815481529060010190602001808311610f6357829003601f168201915b5050505050905090565b600080610f9561144b565b9050610fa28185856116a8565b600191505092915050565b601260019054906101000a900460ff1681565b610fc861144b565b73ffffffffffffffffffffffffffffffffffffffff16610fe6610def565b73ffffffffffffffffffffffffffffffffffffffff161461103c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103390612b80565b60405180910390fd5b80601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b61109f61144b565b73ffffffffffffffffffffffffffffffffffffffff166110bd610def565b73ffffffffffffffffffffffffffffffffffffffff1614611113576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110a90612b80565b60405180910390fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61115f61144b565b73ffffffffffffffffffffffffffffffffffffffff1661117d610def565b73ffffffffffffffffffffffffffffffffffffffff16146111d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ca90612b80565b60405180910390fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61135661144b565b73ffffffffffffffffffffffffffffffffffffffff16611374610def565b73ffffffffffffffffffffffffffffffffffffffff16146113ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c190612b80565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611439576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143090612f45565b60405180910390fd5b611442816123ad565b50565b600c5481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036114c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b990612fd7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611531576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152890613069565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161160f919061270c565b60405180910390a3505050565b600061162884846112c7565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146116a25781811015611694576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168b906130d5565b60405180910390fd5b6116a18484848403611453565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611717576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170e90613167565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611786576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177d906131f9565b60405180910390fd5b6000810361179f5761179a83836000612473565b61215c565b6117a7610def565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561181557506117e5610def565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561184e5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611888575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156118a15750600760149054906101000a900460ff16155b15611c8457600d60019054906101000a900460ff1661199b57601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061195b5750601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61199a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119919061328b565b60405180910390fd5b5b601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611a3e5750601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611ae557600a54811115611a88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a7f90613343565b60405180910390fd5b600c54611a9483610c86565b82611a9f9190613363565b1115611ae0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ad790613405565b60405180910390fd5b611c83565b601660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611b885750601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611bd757600b54811115611bd2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bc9906134bd565b60405180910390fd5b611c82565b601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611c8157600c54611c3483610c86565b82611c3f9190613363565b1115611c80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c7790613405565b60405180910390fd5b5b5b5b5b6000600954611c9230610c86565b10159050808015611cb05750600760149054906101000a900460ff16155b8015611d065750601660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611d5c5750601460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611db25750601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611df6576001600760146101000a81548160ff021916908315150217905550611dda610beb565b6000600760146101000a81548160ff0219169083151502179055505b6000600760149054906101000a900460ff16159050600d60009054906101000a900460ff1680611e6f5750601460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611ec35750601460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611f6e5750601660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611f6d5750601660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b5b15611f7857600090505b6000811561214d576000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff160361203057601260019054906101000a900460ff16612026576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161201d90613529565b60405180910390fd5b60115490506120db565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16036120da57601260009054906101000a900460ff166120d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120cb90613595565b60405180910390fd5b60105490505b5b606481866120e99190612c2f565b6120f39190612cb8565b9150601354600e54836121069190612c2f565b6121109190612cb8565b600f60008282546121219190613363565b92505081905550600082111561213d5761213c873084612473565b5b818561214991906135b5565b9450505b612158868686612473565b5050505b505050565b600081146123aa576000600267ffffffffffffffff811115612186576121856135e9565b5b6040519080825280602002602001820160405280156121b45781602001602082028036833780820191505090505b50905030816000815181106121cc576121cb613618565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612273573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612297919061365c565b816001815181106122ab576122aa613618565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061231230600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611453565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161237695949392919061378c565b600060405180830381600087803b15801561239057600080fd5b505af11580156123a4573d6000803e3d6000fd5b50505050505b50565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036124e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124d990613832565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612551576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612548906131f9565b60405180910390fd5b61255c8383836126e9565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156125e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125d9906138c4565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516126d0919061270c565b60405180910390a36126e38484846126ee565b50505050565b505050565b505050565b6000819050919050565b612706816126f3565b82525050565b600060208201905061272160008301846126fd565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612761578082015181840152602081019050612746565b83811115612770576000848401525b50505050565b6000601f19601f8301169050919050565b600061279282612727565b61279c8185612732565b93506127ac818560208601612743565b6127b581612776565b840191505092915050565b600060208201905081810360008301526127da8184612787565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612812826127e7565b9050919050565b61282281612807565b811461282d57600080fd5b50565b60008135905061283f81612819565b92915050565b61284e816126f3565b811461285957600080fd5b50565b60008135905061286b81612845565b92915050565b60008060408385031215612888576128876127e2565b5b600061289685828601612830565b92505060206128a78582860161285c565b9150509250929050565b60008115159050919050565b6128c6816128b1565b82525050565b60006020820190506128e160008301846128bd565b92915050565b600080600060608486031215612900576128ff6127e2565b5b600061290e86828701612830565b935050602061291f86828701612830565b92505060406129308682870161285c565b9150509250925092565b61294381612807565b82525050565b600060208201905061295e600083018461293a565b92915050565b60006020828403121561297a576129796127e2565b5b60006129888482850161285c565b91505092915050565b600060ff82169050919050565b6129a781612991565b82525050565b60006020820190506129c2600083018461299e565b92915050565b6000806000606084860312156129e1576129e06127e2565b5b60006129ef8682870161285c565b9350506020612a008682870161285c565b9250506040612a118682870161285c565b9150509250925092565b600060208284031215612a3157612a306127e2565b5b6000612a3f84828501612830565b91505092915050565b60008060408385031215612a5f57612a5e6127e2565b5b6000612a6d8582860161285c565b9250506020612a7e8582860161285c565b9150509250929050565b612a91816128b1565b8114612a9c57600080fd5b50565b600081359050612aae81612a88565b92915050565b60008060408385031215612acb57612aca6127e2565b5b6000612ad985828601612830565b9250506020612aea85828601612a9f565b9150509250929050565b60008060408385031215612b0b57612b0a6127e2565b5b6000612b1985828601612830565b9250506020612b2a85828601612830565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612b6a602083612732565b9150612b7582612b34565b602082019050919050565b60006020820190508181036000830152612b9981612b5d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612be757607f821691505b602082108103612bfa57612bf9612ba0565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612c3a826126f3565b9150612c45836126f3565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612c7e57612c7d612c00565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612cc3826126f3565b9150612cce836126f3565b925082612cde57612cdd612c89565b5b828204905092915050565b60008160011c9050919050565b6000808291508390505b6001851115612d4057808604811115612d1c57612d1b612c00565b5b6001851615612d2b5780820291505b8081029050612d3985612ce9565b9450612d00565b94509492505050565b600082612d595760019050612e15565b81612d675760009050612e15565b8160018114612d7d5760028114612d8757612db6565b6001915050612e15565b60ff841115612d9957612d98612c00565b5b8360020a915084821115612db057612daf612c00565b5b50612e15565b5060208310610133831016604e8410600b8410161715612deb5782820a905083811115612de657612de5612c00565b5b612e15565b612df88484846001612cf6565b92509050818404811115612e0f57612e0e612c00565b5b81810290505b9392505050565b6000612e27826126f3565b9150612e3283612991565b9250612e5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612d49565b905092915050565b7f546f6f206d756368206665650000000000000000000000000000000000000000600082015250565b6000612e9d600c83612732565b9150612ea882612e67565b602082019050919050565b60006020820190508181036000830152612ecc81612e90565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612f2f602683612732565b9150612f3a82612ed3565b604082019050919050565b60006020820190508181036000830152612f5e81612f22565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612fc1602483612732565b9150612fcc82612f65565b604082019050919050565b60006020820190508181036000830152612ff081612fb4565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613053602283612732565b915061305e82612ff7565b604082019050919050565b6000602082019050818103600083015261308281613046565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b60006130bf601d83612732565b91506130ca82613089565b602082019050919050565b600060208201905081810360008301526130ee816130b2565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613151602583612732565b915061315c826130f5565b604082019050919050565b6000602082019050818103600083015261318081613144565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006131e3602383612732565b91506131ee82613187565b604082019050919050565b60006020820190508181036000830152613212816131d6565b9050919050565b7f5f7472616e736665723a3a2054726164696e67206973206e6f7420616374697660008201527f652e000000000000000000000000000000000000000000000000000000000000602082015250565b6000613275602283612732565b915061328082613219565b604082019050919050565b600060208201905081810360008301526132a481613268565b9050919050565b7f5f7472616e736665723a3a20427579207472616e7366657220616d6f756e742060008201527f6578636565647320746865206d61785472616e73616374696f6e416d6f756e7460208201527f2e00000000000000000000000000000000000000000000000000000000000000604082015250565b600061332d604183612732565b9150613338826132ab565b606082019050919050565b6000602082019050818103600083015261335c81613320565b9050919050565b600061336e826126f3565b9150613379836126f3565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156133ae576133ad612c00565b5b828201905092915050565b7f5f7472616e736665723a3a204d61782077616c6c657420657863656564656400600082015250565b60006133ef601f83612732565b91506133fa826133b9565b602082019050919050565b6000602082019050818103600083015261341e816133e2565b9050919050565b7f5f7472616e736665723a3a2053656c6c207472616e7366657220616d6f756e7460008201527f206578636565647320746865206d61785472616e73616374696f6e416d6f756e60208201527f742e000000000000000000000000000000000000000000000000000000000000604082015250565b60006134a7604283612732565b91506134b282613425565b606082019050919050565b600060208201905081810360008301526134d68161349a565b9050919050565b7f53656c6c2073746174757320697320636c6f7365640000000000000000000000600082015250565b6000613513601583612732565b915061351e826134dd565b602082019050919050565b6000602082019050818103600083015261354281613506565b9050919050565b7f4275792073746174757320697320636c6f736564000000000000000000000000600082015250565b600061357f601483612732565b915061358a82613549565b602082019050919050565b600060208201905081810360008301526135ae81613572565b9050919050565b60006135c0826126f3565b91506135cb836126f3565b9250828210156135de576135dd612c00565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061365681612819565b92915050565b600060208284031215613672576136716127e2565b5b600061368084828501613647565b91505092915050565b6000819050919050565b6000819050919050565b60006136b86136b36136ae84613689565b613693565b6126f3565b9050919050565b6136c88161369d565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61370381612807565b82525050565b600061371583836136fa565b60208301905092915050565b6000602082019050919050565b6000613739826136ce565b61374381856136d9565b935061374e836136ea565b8060005b8381101561377f5781516137668882613709565b975061377183613721565b925050600181019050613752565b5085935050505092915050565b600060a0820190506137a160008301886126fd565b6137ae60208301876136bf565b81810360408301526137c0818661372e565b90506137cf606083018561293a565b6137dc60808301846126fd565b9695505050505050565b7f45524332303a20612066726f6d20746865207a65726f20616464726573730000600082015250565b600061381c601e83612732565b9150613827826137e6565b602082019050919050565b6000602082019050818103600083015261384b8161380f565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006138ae602683612732565b91506138b982613852565b604082019050919050565b600060208201905081810360008301526138dd816138a1565b905091905056fea264697066735822122092cc682529e3e91e4fe43e35fd3f094e69591e0a7fe17bea4d72ada5b4bf6c5464736f6c634300080d003300000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000009506561722053776170000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045045415200000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x6080604052600436106101f25760003560e01c80634fbee1931161010d57806395d89b41116100a0578063d01dc84b1161006f578063d01dc84b146106b4578063d5aed6bf146106dd578063dd62ed3e14610706578063f2fde38b14610743578063f8b45b051461076c576101f9565b806395d89b41146105f8578063a9059cbb14610623578063b1d0b72514610660578063c02466681461068b576101f9565b8063715018a6116100dc578063715018a6146105765780638a8c523c1461058d5780638da5cb5b146105a457806393b1c69c146105cf576101f9565b80634fbee193146104ba57806365cffb1e146104f75780636ac5eeee1461052257806370a0823114610539576101f9565b80632598cdb2116101855780633415650e116101545780633415650e1461041057806336a0f8a51461043b578063399e4bfb14610464578063470624021461048f576101f9565b80632598cdb214610366578063277a2205146103915780632b14ca56146103ba578063313ce567146103e5576101f9565b806311704f52116101c157806311704f52146102a857806313114a9d146102d357806318160ddd146102fe57806323b872dd14610329576101f9565b80630106aaef146101fe57806302bf2a5c1461021557806306fdde0314610240578063095ea7b31461026b576101f9565b366101f957005b600080fd5b34801561020a57600080fd5b50610213610797565b005b34801561022157600080fd5b5061022a61088a565b604051610237919061270c565b60405180910390f35b34801561024c57600080fd5b50610255610890565b60405161026291906127c0565b60405180910390f35b34801561027757600080fd5b50610292600480360381019061028d9190612871565b610922565b60405161029f91906128cc565b60405180910390f35b3480156102b457600080fd5b506102bd610945565b6040516102ca91906128cc565b60405180910390f35b3480156102df57600080fd5b506102e8610958565b6040516102f5919061270c565b60405180910390f35b34801561030a57600080fd5b5061031361095e565b604051610320919061270c565b60405180910390f35b34801561033557600080fd5b50610350600480360381019061034b91906128e7565b610968565b60405161035d91906128cc565b60405180910390f35b34801561037257600080fd5b5061037b610997565b6040516103889190612949565b60405180910390f35b34801561039d57600080fd5b506103b860048036038101906103b39190612964565b6109bd565b005b3480156103c657600080fd5b506103cf610a64565b6040516103dc919061270c565b60405180910390f35b3480156103f157600080fd5b506103fa610a6a565b60405161040791906129ad565b60405180910390f35b34801561041c57600080fd5b50610425610a73565b60405161043291906128cc565b60405180910390f35b34801561044757600080fd5b50610462600480360381019061045d91906129c8565b610a86565b005b34801561047057600080fd5b50610479610b76565b604051610486919061270c565b60405180910390f35b34801561049b57600080fd5b506104a4610b7c565b6040516104b1919061270c565b60405180910390f35b3480156104c657600080fd5b506104e160048036038101906104dc9190612a1b565b610b82565b6040516104ee91906128cc565b60405180910390f35b34801561050357600080fd5b5061050c610bd8565b60405161051991906128cc565b60405180910390f35b34801561052e57600080fd5b50610537610beb565b005b34801561054557600080fd5b50610560600480360381019061055b9190612a1b565b610c86565b60405161056d919061270c565b60405180910390f35b34801561058257600080fd5b5061058b610cce565b005b34801561059957600080fd5b506105a2610d56565b005b3480156105b057600080fd5b506105b9610def565b6040516105c69190612949565b60405180910390f35b3480156105db57600080fd5b506105f660048036038101906105f19190612a48565b610e19565b005b34801561060457600080fd5b5061060d610ef8565b60405161061a91906127c0565b60405180910390f35b34801561062f57600080fd5b5061064a60048036038101906106459190612871565b610f8a565b60405161065791906128cc565b60405180910390f35b34801561066c57600080fd5b50610675610fad565b60405161068291906128cc565b60405180910390f35b34801561069757600080fd5b506106b260048036038101906106ad9190612ab4565b610fc0565b005b3480156106c057600080fd5b506106db60048036038101906106d69190612a1b565b611097565b005b3480156106e957600080fd5b5061070460048036038101906106ff9190612a1b565b611157565b005b34801561071257600080fd5b5061072d60048036038101906107289190612af4565b6112c7565b60405161073a919061270c565b60405180910390f35b34801561074f57600080fd5b5061076a60048036038101906107659190612a1b565b61134e565b005b34801561077857600080fd5b50610781611445565b60405161078e919061270c565b60405180910390f35b61079f61144b565b73ffffffffffffffffffffffffffffffffffffffff166107bd610def565b73ffffffffffffffffffffffffffffffffffffffff1614610813576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080a90612b80565b60405180910390fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600a819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600b819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600c81905550565b600a5481565b60606003805461089f90612bcf565b80601f01602080910402602001604051908101604052809291908181526020018280546108cb90612bcf565b80156109185780601f106108ed57610100808354040283529160200191610918565b820191906000526020600020905b8154815290600101906020018083116108fb57829003601f168201915b5050505050905090565b60008061092d61144b565b905061093a818585611453565b600191505092915050565b600d60019054906101000a900460ff1681565b60135481565b6000600254905090565b60008061097361144b565b905061098085828561161c565b61098b8585856116a8565b60019150509392505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6109c561144b565b73ffffffffffffffffffffffffffffffffffffffff166109e3610def565b73ffffffffffffffffffffffffffffffffffffffff1614610a39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3090612b80565b60405180910390fd5b6305f5e10081610a4761095e565b610a519190612c2f565b610a5b9190612cb8565b60098190555050565b60115481565b60006012905090565b601260009054906101000a900460ff1681565b610a8e61144b565b73ffffffffffffffffffffffffffffffffffffffff16610aac610def565b73ffffffffffffffffffffffffffffffffffffffff1614610b02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af990612b80565b60405180910390fd5b610b0a610a6a565b600a610b169190612e1c565b83610b219190612c2f565b600a81905550610b2f610a6a565b600a610b3b9190612e1c565b82610b469190612c2f565b600b81905550610b54610a6a565b600a610b609190612e1c565b81610b6b9190612c2f565b600c81905550505050565b600b5481565b60105481565b6000601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600d60009054906101000a900460ff1681565b6000610bf630610c86565b905060008103610c065750610c84565b610c11600f54612161565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015610c79573d6000803e3d6000fd5b506000600f81905550505b565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610cd661144b565b73ffffffffffffffffffffffffffffffffffffffff16610cf4610def565b73ffffffffffffffffffffffffffffffffffffffff1614610d4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4190612b80565b60405180910390fd5b610d5460006123ad565b565b610d5e61144b565b73ffffffffffffffffffffffffffffffffffffffff16610d7c610def565b73ffffffffffffffffffffffffffffffffffffffff1614610dd2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc990612b80565b60405180910390fd5b6001600d60016101000a81548160ff021916908315150217905550565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610e2161144b565b73ffffffffffffffffffffffffffffffffffffffff16610e3f610def565b73ffffffffffffffffffffffffffffffffffffffff1614610e95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8c90612b80565b60405180910390fd5b60638211158015610ea7575060638111155b610ee6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610edd90612eb3565b60405180910390fd5b81601081905550806011819055505050565b606060048054610f0790612bcf565b80601f0160208091040260200160405190810160405280929190818152602001828054610f3390612bcf565b8015610f805780601f10610f5557610100808354040283529160200191610f80565b820191906000526020600020905b815481529060010190602001808311610f6357829003601f168201915b5050505050905090565b600080610f9561144b565b9050610fa28185856116a8565b600191505092915050565b601260019054906101000a900460ff1681565b610fc861144b565b73ffffffffffffffffffffffffffffffffffffffff16610fe6610def565b73ffffffffffffffffffffffffffffffffffffffff161461103c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103390612b80565b60405180910390fd5b80601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b61109f61144b565b73ffffffffffffffffffffffffffffffffffffffff166110bd610def565b73ffffffffffffffffffffffffffffffffffffffff1614611113576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110a90612b80565b60405180910390fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61115f61144b565b73ffffffffffffffffffffffffffffffffffffffff1661117d610def565b73ffffffffffffffffffffffffffffffffffffffff16146111d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ca90612b80565b60405180910390fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61135661144b565b73ffffffffffffffffffffffffffffffffffffffff16611374610def565b73ffffffffffffffffffffffffffffffffffffffff16146113ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c190612b80565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611439576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143090612f45565b60405180910390fd5b611442816123ad565b50565b600c5481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036114c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b990612fd7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611531576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152890613069565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161160f919061270c565b60405180910390a3505050565b600061162884846112c7565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146116a25781811015611694576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168b906130d5565b60405180910390fd5b6116a18484848403611453565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611717576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170e90613167565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611786576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177d906131f9565b60405180910390fd5b6000810361179f5761179a83836000612473565b61215c565b6117a7610def565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561181557506117e5610def565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561184e5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611888575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156118a15750600760149054906101000a900460ff16155b15611c8457600d60019054906101000a900460ff1661199b57601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061195b5750601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61199a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119919061328b565b60405180910390fd5b5b601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611a3e5750601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611ae557600a54811115611a88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a7f90613343565b60405180910390fd5b600c54611a9483610c86565b82611a9f9190613363565b1115611ae0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ad790613405565b60405180910390fd5b611c83565b601660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611b885750601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611bd757600b54811115611bd2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bc9906134bd565b60405180910390fd5b611c82565b601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611c8157600c54611c3483610c86565b82611c3f9190613363565b1115611c80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c7790613405565b60405180910390fd5b5b5b5b5b6000600954611c9230610c86565b10159050808015611cb05750600760149054906101000a900460ff16155b8015611d065750601660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611d5c5750601460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611db25750601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611df6576001600760146101000a81548160ff021916908315150217905550611dda610beb565b6000600760146101000a81548160ff0219169083151502179055505b6000600760149054906101000a900460ff16159050600d60009054906101000a900460ff1680611e6f5750601460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611ec35750601460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611f6e5750601660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611f6d5750601660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b5b15611f7857600090505b6000811561214d576000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff160361203057601260019054906101000a900460ff16612026576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161201d90613529565b60405180910390fd5b60115490506120db565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16036120da57601260009054906101000a900460ff166120d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120cb90613595565b60405180910390fd5b60105490505b5b606481866120e99190612c2f565b6120f39190612cb8565b9150601354600e54836121069190612c2f565b6121109190612cb8565b600f60008282546121219190613363565b92505081905550600082111561213d5761213c873084612473565b5b818561214991906135b5565b9450505b612158868686612473565b5050505b505050565b600081146123aa576000600267ffffffffffffffff811115612186576121856135e9565b5b6040519080825280602002602001820160405280156121b45781602001602082028036833780820191505090505b50905030816000815181106121cc576121cb613618565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612273573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612297919061365c565b816001815181106122ab576122aa613618565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061231230600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611453565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161237695949392919061378c565b600060405180830381600087803b15801561239057600080fd5b505af11580156123a4573d6000803e3d6000fd5b50505050505b50565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036124e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124d990613832565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612551576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612548906131f9565b60405180910390fd5b61255c8383836126e9565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156125e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125d9906138c4565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516126d0919061270c565b60405180910390a36126e38484846126ee565b50505050565b505050565b505050565b6000819050919050565b612706816126f3565b82525050565b600060208201905061272160008301846126fd565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612761578082015181840152602081019050612746565b83811115612770576000848401525b50505050565b6000601f19601f8301169050919050565b600061279282612727565b61279c8185612732565b93506127ac818560208601612743565b6127b581612776565b840191505092915050565b600060208201905081810360008301526127da8184612787565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612812826127e7565b9050919050565b61282281612807565b811461282d57600080fd5b50565b60008135905061283f81612819565b92915050565b61284e816126f3565b811461285957600080fd5b50565b60008135905061286b81612845565b92915050565b60008060408385031215612888576128876127e2565b5b600061289685828601612830565b92505060206128a78582860161285c565b9150509250929050565b60008115159050919050565b6128c6816128b1565b82525050565b60006020820190506128e160008301846128bd565b92915050565b600080600060608486031215612900576128ff6127e2565b5b600061290e86828701612830565b935050602061291f86828701612830565b92505060406129308682870161285c565b9150509250925092565b61294381612807565b82525050565b600060208201905061295e600083018461293a565b92915050565b60006020828403121561297a576129796127e2565b5b60006129888482850161285c565b91505092915050565b600060ff82169050919050565b6129a781612991565b82525050565b60006020820190506129c2600083018461299e565b92915050565b6000806000606084860312156129e1576129e06127e2565b5b60006129ef8682870161285c565b9350506020612a008682870161285c565b9250506040612a118682870161285c565b9150509250925092565b600060208284031215612a3157612a306127e2565b5b6000612a3f84828501612830565b91505092915050565b60008060408385031215612a5f57612a5e6127e2565b5b6000612a6d8582860161285c565b9250506020612a7e8582860161285c565b9150509250929050565b612a91816128b1565b8114612a9c57600080fd5b50565b600081359050612aae81612a88565b92915050565b60008060408385031215612acb57612aca6127e2565b5b6000612ad985828601612830565b9250506020612aea85828601612a9f565b9150509250929050565b60008060408385031215612b0b57612b0a6127e2565b5b6000612b1985828601612830565b9250506020612b2a85828601612830565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612b6a602083612732565b9150612b7582612b34565b602082019050919050565b60006020820190508181036000830152612b9981612b5d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612be757607f821691505b602082108103612bfa57612bf9612ba0565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612c3a826126f3565b9150612c45836126f3565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612c7e57612c7d612c00565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612cc3826126f3565b9150612cce836126f3565b925082612cde57612cdd612c89565b5b828204905092915050565b60008160011c9050919050565b6000808291508390505b6001851115612d4057808604811115612d1c57612d1b612c00565b5b6001851615612d2b5780820291505b8081029050612d3985612ce9565b9450612d00565b94509492505050565b600082612d595760019050612e15565b81612d675760009050612e15565b8160018114612d7d5760028114612d8757612db6565b6001915050612e15565b60ff841115612d9957612d98612c00565b5b8360020a915084821115612db057612daf612c00565b5b50612e15565b5060208310610133831016604e8410600b8410161715612deb5782820a905083811115612de657612de5612c00565b5b612e15565b612df88484846001612cf6565b92509050818404811115612e0f57612e0e612c00565b5b81810290505b9392505050565b6000612e27826126f3565b9150612e3283612991565b9250612e5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612d49565b905092915050565b7f546f6f206d756368206665650000000000000000000000000000000000000000600082015250565b6000612e9d600c83612732565b9150612ea882612e67565b602082019050919050565b60006020820190508181036000830152612ecc81612e90565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612f2f602683612732565b9150612f3a82612ed3565b604082019050919050565b60006020820190508181036000830152612f5e81612f22565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612fc1602483612732565b9150612fcc82612f65565b604082019050919050565b60006020820190508181036000830152612ff081612fb4565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613053602283612732565b915061305e82612ff7565b604082019050919050565b6000602082019050818103600083015261308281613046565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b60006130bf601d83612732565b91506130ca82613089565b602082019050919050565b600060208201905081810360008301526130ee816130b2565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613151602583612732565b915061315c826130f5565b604082019050919050565b6000602082019050818103600083015261318081613144565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006131e3602383612732565b91506131ee82613187565b604082019050919050565b60006020820190508181036000830152613212816131d6565b9050919050565b7f5f7472616e736665723a3a2054726164696e67206973206e6f7420616374697660008201527f652e000000000000000000000000000000000000000000000000000000000000602082015250565b6000613275602283612732565b915061328082613219565b604082019050919050565b600060208201905081810360008301526132a481613268565b9050919050565b7f5f7472616e736665723a3a20427579207472616e7366657220616d6f756e742060008201527f6578636565647320746865206d61785472616e73616374696f6e416d6f756e7460208201527f2e00000000000000000000000000000000000000000000000000000000000000604082015250565b600061332d604183612732565b9150613338826132ab565b606082019050919050565b6000602082019050818103600083015261335c81613320565b9050919050565b600061336e826126f3565b9150613379836126f3565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156133ae576133ad612c00565b5b828201905092915050565b7f5f7472616e736665723a3a204d61782077616c6c657420657863656564656400600082015250565b60006133ef601f83612732565b91506133fa826133b9565b602082019050919050565b6000602082019050818103600083015261341e816133e2565b9050919050565b7f5f7472616e736665723a3a2053656c6c207472616e7366657220616d6f756e7460008201527f206578636565647320746865206d61785472616e73616374696f6e416d6f756e60208201527f742e000000000000000000000000000000000000000000000000000000000000604082015250565b60006134a7604283612732565b91506134b282613425565b606082019050919050565b600060208201905081810360008301526134d68161349a565b9050919050565b7f53656c6c2073746174757320697320636c6f7365640000000000000000000000600082015250565b6000613513601583612732565b915061351e826134dd565b602082019050919050565b6000602082019050818103600083015261354281613506565b9050919050565b7f4275792073746174757320697320636c6f736564000000000000000000000000600082015250565b600061357f601483612732565b915061358a82613549565b602082019050919050565b600060208201905081810360008301526135ae81613572565b9050919050565b60006135c0826126f3565b91506135cb836126f3565b9250828210156135de576135dd612c00565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061365681612819565b92915050565b600060208284031215613672576136716127e2565b5b600061368084828501613647565b91505092915050565b6000819050919050565b6000819050919050565b60006136b86136b36136ae84613689565b613693565b6126f3565b9050919050565b6136c88161369d565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61370381612807565b82525050565b600061371583836136fa565b60208301905092915050565b6000602082019050919050565b6000613739826136ce565b61374381856136d9565b935061374e836136ea565b8060005b8381101561377f5781516137668882613709565b975061377183613721565b925050600181019050613752565b5085935050505092915050565b600060a0820190506137a160008301886126fd565b6137ae60208301876136bf565b81810360408301526137c0818661372e565b90506137cf606083018561293a565b6137dc60808301846126fd565b9695505050505050565b7f45524332303a20612066726f6d20746865207a65726f20616464726573730000600082015250565b600061381c601e83612732565b9150613827826137e6565b602082019050919050565b6000602082019050818103600083015261384b8161380f565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006138ae602683612732565b91506138b982613852565b604082019050919050565b600060208201905081810360008301526138dd816138a1565b905091905056fea264697066735822122092cc682529e3e91e4fe43e35fd3f094e69591e0a7fe17bea4d72ada5b4bf6c5464736f6c634300080d0033

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

00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000009506561722053776170000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045045415200000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : name (string): Pear Swap
Arg [1] : symbol (string): PEAR
Arg [2] : _buyFee (uint256): 20
Arg [3] : _sellFee (uint256): 20
Arg [4] : _swapTreshold (uint256): 1

-----Encoded View---------------
9 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000e0
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000014
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000014
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000009
Arg [6] : 5065617220537761700000000000000000000000000000000000000000000000
Arg [7] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [8] : 5045415200000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

15678:8149:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17682:187;;;;;;;;;;;;;:::i;:::-;;15928:45;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1842:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2853:242;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16098:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16328:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2157:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3101:295;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15833:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18087:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16242:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2058:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16271:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18856:329;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15980:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16214:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19193:128;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16059:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23500:287;;;;;;;;;;;;;:::i;:::-;;2271:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15129:103;;;;;;;;;;;;;:::i;:::-;;18345:81;;;;;;;;;;;;;:::i;:::-;;14910:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18632:211;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1948:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2406:234;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16299:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18434:189;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18224:113;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17877:202;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2646:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15238:238;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16028:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17682:187;15054:12;:10;:12::i;:::-;15043:23;;:7;:5;:7::i;:::-;:23;;;15035:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17768:10:::1;17735:30;:43;;;;17818:10;17789:26;:39;;;;17851:10;17839:9;:22;;;;17682:187::o:0;15928:45::-;;;;:::o;1842:100::-;1896:13;1929:5;1922:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1842:100;:::o;2853:242::-;2972:4;2994:13;3010:12;:10;:12::i;:::-;2994:28;;3033:32;3042:5;3049:7;3058:6;3033:8;:32::i;:::-;3083:4;3076:11;;;2853:242;;;;:::o;16098:31::-;;;;;;;;;;;;;:::o;16328:38::-;;;;:::o;2157:108::-;2218:7;2245:12;;2238:19;;2157:108;:::o;3101:295::-;3232:4;3249:15;3267:12;:10;:12::i;:::-;3249:30;;3290:38;3306:4;3312:7;3321:6;3290:15;:38::i;:::-;3339:27;3349:4;3355:2;3359:6;3339:9;:27::i;:::-;3384:4;3377:11;;;3101:295;;;;;:::o;15833:30::-;;;;;;;;;;;;;:::o;18087:127::-;15054:12;:10;:12::i;:::-;15043:23;;:7;:5;:7::i;:::-;:23;;;15035:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18196:9:::1;18184:8;18168:13;:11;:13::i;:::-;:24;;;;:::i;:::-;18167:38;;;;:::i;:::-;18158:6;:47;;;;18087:127:::0;:::o;16242:22::-;;;;:::o;2058:93::-;2116:5;2141:2;2134:9;;2058:93;:::o;16271:21::-;;;;;;;;;;;;;:::o;18856:329::-;15054:12;:10;:12::i;:::-;15043:23;;:7;:5;:7::i;:::-;:23;;;15035:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19046:10:::1;:8;:10::i;:::-;19042:2;:14;;;;:::i;:::-;19030:8;:27;;;;:::i;:::-;18997:30;:60;;;;19114:10;:8;:10::i;:::-;19110:2;:14;;;;:::i;:::-;19097:9;:28;;;;:::i;:::-;19068:26;:57;;;;19166:10;:8;:10::i;:::-;19162:2;:14;;;;:::i;:::-;19148:10;:29;;;;:::i;:::-;19136:9;:41;;;;18856:329:::0;;;:::o;15980:41::-;;;;:::o;16214:21::-;;;;:::o;19193:128::-;19261:4;19285:19;:28;19305:7;19285:28;;;;;;;;;;;;;;;;;;;;;;;;;19278:35;;19193:128;;;:::o;16059:32::-;;;;;;;;;;;;;:::o;23500:287::-;23538:23;23564:24;23582:4;23564:9;:24::i;:::-;23538:50;;23622:1;23603:15;:20;23599:33;;23625:7;;;23599:33;23642:36;23660:17;;23642;:36::i;:::-;23697:15;;;;;;;;;;;23689:33;;:56;23723:21;23689:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23778:1;23758:17;:21;;;;23527:260;23500:287;:::o;2271:127::-;2345:7;2372:9;:18;2382:7;2372:18;;;;;;;;;;;;;;;;2365:25;;2271:127;;;:::o;15129:103::-;15054:12;:10;:12::i;:::-;15043:23;;:7;:5;:7::i;:::-;:23;;;15035:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15194:30:::1;15221:1;15194:18;:30::i;:::-;15129:103::o:0;18345:81::-;15054:12;:10;:12::i;:::-;15043:23;;:7;:5;:7::i;:::-;:23;;;15035:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18414:4:::1;18400:11;;:18;;;;;;;;;;;;;;;;;;18345:81::o:0;14910:87::-;14956:7;14983:6;;;;;;;;;;;14976:13;;14910:87;:::o;18632:211::-;15054:12;:10;:12::i;:::-;15043:23;;:7;:5;:7::i;:::-;:23;;;15035:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18741:2:::1;18730:7;:13;;:31;;;;;18759:2;18747:8;:14;;18730:31;18722:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;18798:7;18789:6;:16;;;;18826:8;18816:7;:18;;;;18632:211:::0;;:::o;1948:104::-;2004:13;2037:7;2030:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1948:104;:::o;2406:234::-;2521:4;2543:13;2559:12;:10;:12::i;:::-;2543:28;;2582;2592:5;2599:2;2603:6;2582:9;:28::i;:::-;2628:4;2621:11;;;2406:234;;;;:::o;16299:22::-;;;;;;;;;;;;;:::o;18434:189::-;15054:12;:10;:12::i;:::-;15043:23;;:7;:5;:7::i;:::-;:23;;;15035:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18607:8:::1;18576:19;:28;18596:7;18576:28;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;18434:189:::0;;:::o;18224:113::-;15054:12;:10;:12::i;:::-;15043:23;;:7;:5;:7::i;:::-;:23;;;15035:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18315:13:::1;18297:15;;:31;;;;;;;;;;;;;;;;;;18224:113:::0;:::o;17877:202::-;15054:12;:10;:12::i;:::-;15043:23;;:7;:5;:7::i;:::-;:23;;;15035:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17959:5:::1;17943:13;;:21;;;;;;;;;;;;;;;;;;18011:4;17975:26;:33;18002:5;17975:33;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;;;;;;;18067:4;18026:31;:38;18058:5;18026:38;;;;;;;;;;;;;;;;:45;;;;;;;;;;;;;;;;;;17877:202:::0;:::o;2646:201::-;2780:7;2812:11;:18;2824:5;2812:18;;;;;;;;;;;;;;;:27;2831:7;2812:27;;;;;;;;;;;;;;;;2805:34;;2646:201;;;;:::o;15238:238::-;15054:12;:10;:12::i;:::-;15043:23;;:7;:5;:7::i;:::-;:23;;;15035:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15361:1:::1;15341:22;;:8;:22;;::::0;15319:110:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;15440:28;15459:8;15440:18;:28::i;:::-;15238:238:::0;:::o;16028:24::-;;;;:::o;1236:98::-;1289:7;1316:10;1309:17;;1236:98;:::o;4504:378::-;4657:1;4640:19;;:5;:19;;;4632:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;4738:1;4719:21;;:7;:21;;;4711:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;4820:6;4790:11;:18;4802:5;4790:18;;;;;;;;;;;;;;;:27;4809:7;4790:27;;;;;;;;;;;;;;;:36;;;;4858:7;4842:32;;4851:5;4842:32;;;4867:6;4842:32;;;;;;:::i;:::-;;;;;;;;4504:378;;;:::o;4888:502::-;5023:24;5050:25;5060:5;5067:7;5050:9;:25::i;:::-;5023:52;;5110:17;5090:16;:37;5086:297;;5190:6;5170:16;:26;;5144:117;;;;;;;;;;;;:::i;:::-;;;;;;;;;5305:51;5314:5;5321:7;5349:6;5330:16;:25;5305:8;:51::i;:::-;5086:297;5012:378;4888:502;;;:::o;19329:3276::-;19477:1;19461:18;;:4;:18;;;19453:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19554:1;19540:16;;:2;:16;;;19532:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;19623:1;19613:6;:11;19609:93;;19641:28;19657:4;19663:2;19667:1;19641:15;:28::i;:::-;19684:7;;19609:93;19738:7;:5;:7::i;:::-;19730:15;;:4;:15;;;;:45;;;;;19768:7;:5;:7::i;:::-;19762:13;;:2;:13;;;;19730:45;:78;;;;;19806:1;19792:16;;:2;:16;;;;19730:78;:116;;;;;19839:6;19825:21;;:2;:21;;;;19730:116;:143;;;;;19864:9;;;;;;;;;;;19863:10;19730:143;19712:1536;;;19905:11;;;;;;;;;;;19900:195;;19965:19;:25;19985:4;19965:25;;;;;;;;;;;;;;;;;;;;;;;;;:52;;;;19994:19;:23;20014:2;19994:23;;;;;;;;;;;;;;;;;;;;;;;;;19965:52;19935:160;;;;;;;;;;;;:::i;:::-;;;;;;;;;19900:195;20155:26;:32;20182:4;20155:32;;;;;;;;;;;;;;;;;;;;;;;;;:89;;;;;20209:31;:35;20241:2;20209:35;;;;;;;;;;;;;;;;;;;;;;;;;20208:36;20155:89;20133:1104;;;20319:30;;20309:6;:40;;20279:179;;;;;;;;;;;;:::i;:::-;;;;;;;;;20533:9;;20516:13;20526:2;20516:9;:13::i;:::-;20507:6;:22;;;;:::i;:::-;:35;;20477:140;;;;;;;;;;;;:::i;:::-;;;;;;;;;20133:1104;;;20698:26;:30;20725:2;20698:30;;;;;;;;;;;;;;;;;;;;;;;;;:89;;;;;20750:31;:37;20782:4;20750:37;;;;;;;;;;;;;;;;;;;;;;;;;20749:38;20698:89;20676:561;;;20862:26;;20852:6;:36;;20822:176;;;;;;;;;;;;:::i;:::-;;;;;;;;;20676:561;;;21025:31;:35;21057:2;21025:35;;;;;;;;;;;;;;;;;;;;;;;;;21020:217;;21137:9;;21120:13;21130:2;21120:9;:13::i;:::-;21111:6;:22;;;;:::i;:::-;:35;;21081:140;;;;;;;;;;;;:::i;:::-;;;;;;;;;21020:217;20676:561;20133:1104;19712:1536;21258:13;21302:6;;21274:24;21292:4;21274:9;:24::i;:::-;:34;;21258:50;;21337:8;:35;;;;;21363:9;;;;;;;;;;;21362:10;21337:35;:85;;;;;21390:26;:32;21417:4;21390:32;;;;;;;;;;;;;;;;;;;;;;;;;21389:33;21337:85;:128;;;;;21440:19;:25;21460:4;21440:25;;;;;;;;;;;;;;;;;;;;;;;;;21439:26;21337:128;:169;;;;;21483:19;:23;21503:2;21483:23;;;;;;;;;;;;;;;;;;;;;;;;;21482:24;21337:169;21319:303;;;21545:4;21533:9;;:16;;;;;;;;;;;;;;;;;;21566:10;:8;:10::i;:::-;21605:5;21593:9;;:17;;;;;;;;;;;;;;;;;;21319:303;21632:12;21648:9;;;;;;;;;;;21647:10;21632:25;;21686:12;;;;;;;;;;;:54;;;;21715:19;:25;21735:4;21715:25;;;;;;;;;;;;;;;;;;;;;;;;;21686:54;:94;;;;21757:19;:23;21777:2;21757:23;;;;;;;;;;;;;;;;;;;;;;;;;21686:94;:198;;;;21799:26;:32;21826:4;21799:32;;;;;;;;;;;;;;;;;;;;;;;;;21798:33;:85;;;;;21853:26;:30;21880:2;21853:30;;;;;;;;;;;;;;;;;;;;;;;;;21852:31;21798:85;21686:198;21668:243;;;21906:5;21896:15;;21668:243;21922:12;21953:7;21949:605;;;21977:18;22019:13;;;;;;;;;;;22013:19;;:2;:19;;;22010:284;;22060:10;;;;;;;;;;;22052:43;;;;;;;;;;;;:::i;:::-;;;;;;;;;22127:7;;22114:20;;22010:284;;;22166:13;;;;;;;;;;;22158:21;;:4;:21;;;22155:139;;22207:9;;;;;;;;;;;22199:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;22272:6;;22259:19;;22155:139;22010:284;22337:3;22324:10;22315:6;:19;;;;:::i;:::-;:25;;;;:::i;:::-;22308:32;;22399:9;;22384:11;;22377:4;:18;;;;:::i;:::-;22376:32;;;;:::i;:::-;22355:17;;:53;;;;;;;:::i;:::-;;;;;;;;22434:1;22427:4;:8;22423:91;;;22456:42;22472:4;22486;22493;22456:15;:42::i;:::-;22423:91;22538:4;22528:14;;;;;:::i;:::-;;;21962:592;21949:605;22564:33;22580:4;22586:2;22590:6;22564:15;:33::i;:::-;19442:3163;;;19329:3276;;;;:::o;22611:515::-;22697:1;22682:11;:16;22679:440;;22710:21;22748:1;22734:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22710:40;;22779:4;22761;22766:1;22761:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;22805:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22795:4;22800:1;22795:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;22838:62;22855:4;22870:15;;;;;;;;;;;22888:11;22838:8;:62::i;:::-;22911:15;;;;;;;;;;;:66;;;22992:11;23018:1;23034:4;23061;23081:15;22911:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22699:420;22679:440;22611:515;:::o;15482:191::-;15556:16;15575:6;;;;;;;;;;;15556:25;;15601:8;15592:6;;:17;;;;;;;;;;;;;;;;;;15656:8;15625:40;;15646:8;15625:40;;;;;;;;;;;;15545:128;15482:191;:::o;3402:697::-;3549:1;3533:18;;:4;:18;;;3525:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;3619:1;3605:16;;:2;:16;;;3597:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;3672:38;3693:4;3699:2;3703:6;3672:20;:38::i;:::-;3721:19;3743:9;:15;3753:4;3743:15;;;;;;;;;;;;;;;;3721:37;;3806:6;3791:11;:21;;3769:109;;;;;;;;;;;;:::i;:::-;;;;;;;;;3946:6;3932:11;:20;3914:9;:15;3924:4;3914:15;;;;;;;;;;;;;;;:38;;;;3984:6;3967:9;:13;3977:2;3967:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;4032:2;4017:26;;4026:4;4017:26;;;4036:6;4017:26;;;;;;:::i;:::-;;;;;;;;4054:37;4074:4;4080:2;4084:6;4054:19;:37::i;:::-;3514:585;3402:697;;;:::o;5396:125::-;;;;:::o;5527:124::-;;;;:::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;442:99::-;494:6;528:5;522:12;512:22;;442:99;;;:::o;547:169::-;631:11;665:6;660:3;653:19;705:4;700:3;696:14;681:29;;547:169;;;;:::o;722:307::-;790:1;800:113;814:6;811:1;808:13;800:113;;;899:1;894:3;890:11;884:18;880:1;875:3;871:11;864:39;836:2;833:1;829:10;824:15;;800:113;;;931:6;928:1;925:13;922:101;;;1011:1;1002:6;997:3;993:16;986:27;922:101;771:258;722:307;;;:::o;1035:102::-;1076:6;1127:2;1123:7;1118:2;1111:5;1107:14;1103:28;1093:38;;1035:102;;;:::o;1143:364::-;1231:3;1259:39;1292:5;1259:39;:::i;:::-;1314:71;1378:6;1373:3;1314:71;:::i;:::-;1307:78;;1394:52;1439:6;1434:3;1427:4;1420:5;1416:16;1394:52;:::i;:::-;1471:29;1493:6;1471:29;:::i;:::-;1466:3;1462:39;1455:46;;1235:272;1143:364;;;;:::o;1513:313::-;1626:4;1664:2;1653:9;1649:18;1641:26;;1713:9;1707:4;1703:20;1699:1;1688:9;1684:17;1677:47;1741:78;1814:4;1805:6;1741:78;:::i;:::-;1733:86;;1513:313;;;;:::o;1913:117::-;2022:1;2019;2012:12;2159:126;2196:7;2236:42;2229:5;2225:54;2214:65;;2159:126;;;:::o;2291:96::-;2328:7;2357:24;2375:5;2357:24;:::i;:::-;2346:35;;2291:96;;;:::o;2393:122::-;2466:24;2484:5;2466:24;:::i;:::-;2459:5;2456:35;2446:63;;2505:1;2502;2495:12;2446:63;2393:122;:::o;2521:139::-;2567:5;2605:6;2592:20;2583:29;;2621:33;2648:5;2621:33;:::i;:::-;2521:139;;;;:::o;2666:122::-;2739:24;2757:5;2739:24;:::i;:::-;2732:5;2729:35;2719:63;;2778:1;2775;2768:12;2719:63;2666:122;:::o;2794:139::-;2840:5;2878:6;2865:20;2856:29;;2894:33;2921:5;2894:33;:::i;:::-;2794:139;;;;:::o;2939:474::-;3007:6;3015;3064:2;3052:9;3043:7;3039:23;3035:32;3032:119;;;3070:79;;:::i;:::-;3032:119;3190:1;3215:53;3260:7;3251:6;3240:9;3236:22;3215:53;:::i;:::-;3205:63;;3161:117;3317:2;3343:53;3388:7;3379:6;3368:9;3364:22;3343:53;:::i;:::-;3333:63;;3288:118;2939:474;;;;;:::o;3419:90::-;3453:7;3496:5;3489:13;3482:21;3471:32;;3419:90;;;:::o;3515:109::-;3596:21;3611:5;3596:21;:::i;:::-;3591:3;3584:34;3515:109;;:::o;3630:210::-;3717:4;3755:2;3744:9;3740:18;3732:26;;3768:65;3830:1;3819:9;3815:17;3806:6;3768:65;:::i;:::-;3630:210;;;;:::o;3846:619::-;3923:6;3931;3939;3988:2;3976:9;3967:7;3963:23;3959:32;3956:119;;;3994:79;;:::i;:::-;3956:119;4114:1;4139:53;4184:7;4175:6;4164:9;4160:22;4139:53;:::i;:::-;4129:63;;4085:117;4241:2;4267:53;4312:7;4303:6;4292:9;4288:22;4267:53;:::i;:::-;4257:63;;4212:118;4369:2;4395:53;4440:7;4431:6;4420:9;4416:22;4395:53;:::i;:::-;4385:63;;4340:118;3846:619;;;;;:::o;4471:118::-;4558:24;4576:5;4558:24;:::i;:::-;4553:3;4546:37;4471:118;;:::o;4595:222::-;4688:4;4726:2;4715:9;4711:18;4703:26;;4739:71;4807:1;4796:9;4792:17;4783:6;4739:71;:::i;:::-;4595:222;;;;:::o;4823:329::-;4882:6;4931:2;4919:9;4910:7;4906:23;4902:32;4899:119;;;4937:79;;:::i;:::-;4899:119;5057:1;5082:53;5127:7;5118:6;5107:9;5103:22;5082:53;:::i;:::-;5072:63;;5028:117;4823:329;;;;:::o;5158:86::-;5193:7;5233:4;5226:5;5222:16;5211:27;;5158:86;;;:::o;5250:112::-;5333:22;5349:5;5333:22;:::i;:::-;5328:3;5321:35;5250:112;;:::o;5368:214::-;5457:4;5495:2;5484:9;5480:18;5472:26;;5508:67;5572:1;5561:9;5557:17;5548:6;5508:67;:::i;:::-;5368:214;;;;:::o;5588:619::-;5665:6;5673;5681;5730:2;5718:9;5709:7;5705:23;5701:32;5698:119;;;5736:79;;:::i;:::-;5698:119;5856:1;5881:53;5926:7;5917:6;5906:9;5902:22;5881:53;:::i;:::-;5871:63;;5827:117;5983:2;6009:53;6054:7;6045:6;6034:9;6030:22;6009:53;:::i;:::-;5999:63;;5954:118;6111:2;6137:53;6182:7;6173:6;6162:9;6158:22;6137:53;:::i;:::-;6127:63;;6082:118;5588:619;;;;;:::o;6213:329::-;6272:6;6321:2;6309:9;6300:7;6296:23;6292:32;6289:119;;;6327:79;;:::i;:::-;6289:119;6447:1;6472:53;6517:7;6508:6;6497:9;6493:22;6472:53;:::i;:::-;6462:63;;6418:117;6213:329;;;;:::o;6548:474::-;6616:6;6624;6673:2;6661:9;6652:7;6648:23;6644:32;6641:119;;;6679:79;;:::i;:::-;6641:119;6799:1;6824:53;6869:7;6860:6;6849:9;6845:22;6824:53;:::i;:::-;6814:63;;6770:117;6926:2;6952:53;6997:7;6988:6;6977:9;6973:22;6952:53;:::i;:::-;6942:63;;6897:118;6548:474;;;;;:::o;7028:116::-;7098:21;7113:5;7098:21;:::i;:::-;7091:5;7088:32;7078:60;;7134:1;7131;7124:12;7078:60;7028:116;:::o;7150:133::-;7193:5;7231:6;7218:20;7209:29;;7247:30;7271:5;7247:30;:::i;:::-;7150:133;;;;:::o;7289:468::-;7354:6;7362;7411:2;7399:9;7390:7;7386:23;7382:32;7379:119;;;7417:79;;:::i;:::-;7379:119;7537:1;7562:53;7607:7;7598:6;7587:9;7583:22;7562:53;:::i;:::-;7552:63;;7508:117;7664:2;7690:50;7732:7;7723:6;7712:9;7708:22;7690:50;:::i;:::-;7680:60;;7635:115;7289:468;;;;;:::o;7763:474::-;7831:6;7839;7888:2;7876:9;7867:7;7863:23;7859:32;7856:119;;;7894:79;;:::i;:::-;7856:119;8014:1;8039:53;8084:7;8075:6;8064:9;8060:22;8039:53;:::i;:::-;8029:63;;7985:117;8141:2;8167:53;8212:7;8203:6;8192:9;8188:22;8167:53;:::i;:::-;8157:63;;8112:118;7763:474;;;;;:::o;8243:182::-;8383:34;8379:1;8371:6;8367:14;8360:58;8243:182;:::o;8431:366::-;8573:3;8594:67;8658:2;8653:3;8594:67;:::i;:::-;8587:74;;8670:93;8759:3;8670:93;:::i;:::-;8788:2;8783:3;8779:12;8772:19;;8431:366;;;:::o;8803:419::-;8969:4;9007:2;8996:9;8992:18;8984:26;;9056:9;9050:4;9046:20;9042:1;9031:9;9027:17;9020:47;9084:131;9210:4;9084:131;:::i;:::-;9076:139;;8803:419;;;:::o;9228:180::-;9276:77;9273:1;9266:88;9373:4;9370:1;9363:15;9397:4;9394:1;9387:15;9414:320;9458:6;9495:1;9489:4;9485:12;9475:22;;9542:1;9536:4;9532:12;9563:18;9553:81;;9619:4;9611:6;9607:17;9597:27;;9553:81;9681:2;9673:6;9670:14;9650:18;9647:38;9644:84;;9700:18;;:::i;:::-;9644:84;9465:269;9414:320;;;:::o;9740:180::-;9788:77;9785:1;9778:88;9885:4;9882:1;9875:15;9909:4;9906:1;9899:15;9926:348;9966:7;9989:20;10007:1;9989:20;:::i;:::-;9984:25;;10023:20;10041:1;10023:20;:::i;:::-;10018:25;;10211:1;10143:66;10139:74;10136:1;10133:81;10128:1;10121:9;10114:17;10110:105;10107:131;;;10218:18;;:::i;:::-;10107:131;10266:1;10263;10259:9;10248:20;;9926:348;;;;:::o;10280:180::-;10328:77;10325:1;10318:88;10425:4;10422:1;10415:15;10449:4;10446:1;10439:15;10466:185;10506:1;10523:20;10541:1;10523:20;:::i;:::-;10518:25;;10557:20;10575:1;10557:20;:::i;:::-;10552:25;;10596:1;10586:35;;10601:18;;:::i;:::-;10586:35;10643:1;10640;10636:9;10631:14;;10466:185;;;;:::o;10657:102::-;10699:8;10746:5;10743:1;10739:13;10718:34;;10657:102;;;:::o;10765:848::-;10826:5;10833:4;10857:6;10848:15;;10881:5;10872:14;;10895:712;10916:1;10906:8;10903:15;10895:712;;;11011:4;11006:3;11002:14;10996:4;10993:24;10990:50;;;11020:18;;:::i;:::-;10990:50;11070:1;11060:8;11056:16;11053:451;;;11485:4;11478:5;11474:16;11465:25;;11053:451;11535:4;11529;11525:15;11517:23;;11565:32;11588:8;11565:32;:::i;:::-;11553:44;;10895:712;;;10765:848;;;;;;;:::o;11619:1073::-;11673:5;11864:8;11854:40;;11885:1;11876:10;;11887:5;;11854:40;11913:4;11903:36;;11930:1;11921:10;;11932:5;;11903:36;11999:4;12047:1;12042:27;;;;12083:1;12078:191;;;;11992:277;;12042:27;12060:1;12051:10;;12062:5;;;12078:191;12123:3;12113:8;12110:17;12107:43;;;12130:18;;:::i;:::-;12107:43;12179:8;12176:1;12172:16;12163:25;;12214:3;12207:5;12204:14;12201:40;;;12221:18;;:::i;:::-;12201:40;12254:5;;;11992:277;;12378:2;12368:8;12365:16;12359:3;12353:4;12350:13;12346:36;12328:2;12318:8;12315:16;12310:2;12304:4;12301:12;12297:35;12281:111;12278:246;;;12434:8;12428:4;12424:19;12415:28;;12469:3;12462:5;12459:14;12456:40;;;12476:18;;:::i;:::-;12456:40;12509:5;;12278:246;12549:42;12587:3;12577:8;12571:4;12568:1;12549:42;:::i;:::-;12534:57;;;;12623:4;12618:3;12614:14;12607:5;12604:25;12601:51;;;12632:18;;:::i;:::-;12601:51;12681:4;12674:5;12670:16;12661:25;;11619:1073;;;;;;:::o;12698:281::-;12756:5;12780:23;12798:4;12780:23;:::i;:::-;12772:31;;12824:25;12840:8;12824:25;:::i;:::-;12812:37;;12868:104;12905:66;12895:8;12889:4;12868:104;:::i;:::-;12859:113;;12698:281;;;;:::o;12985:162::-;13125:14;13121:1;13113:6;13109:14;13102:38;12985:162;:::o;13153:366::-;13295:3;13316:67;13380:2;13375:3;13316:67;:::i;:::-;13309:74;;13392:93;13481:3;13392:93;:::i;:::-;13510:2;13505:3;13501:12;13494:19;;13153:366;;;:::o;13525:419::-;13691:4;13729:2;13718:9;13714:18;13706:26;;13778:9;13772:4;13768:20;13764:1;13753:9;13749:17;13742:47;13806:131;13932:4;13806:131;:::i;:::-;13798:139;;13525:419;;;:::o;13950:225::-;14090:34;14086:1;14078:6;14074:14;14067:58;14159:8;14154:2;14146:6;14142:15;14135:33;13950:225;:::o;14181:366::-;14323:3;14344:67;14408:2;14403:3;14344:67;:::i;:::-;14337:74;;14420:93;14509:3;14420:93;:::i;:::-;14538:2;14533:3;14529:12;14522:19;;14181:366;;;:::o;14553:419::-;14719:4;14757:2;14746:9;14742:18;14734:26;;14806:9;14800:4;14796:20;14792:1;14781:9;14777:17;14770:47;14834:131;14960:4;14834:131;:::i;:::-;14826:139;;14553:419;;;:::o;14978:223::-;15118:34;15114:1;15106:6;15102:14;15095:58;15187:6;15182:2;15174:6;15170:15;15163:31;14978:223;:::o;15207:366::-;15349:3;15370:67;15434:2;15429:3;15370:67;:::i;:::-;15363:74;;15446:93;15535:3;15446:93;:::i;:::-;15564:2;15559:3;15555:12;15548:19;;15207:366;;;:::o;15579:419::-;15745:4;15783:2;15772:9;15768:18;15760:26;;15832:9;15826:4;15822:20;15818:1;15807:9;15803:17;15796:47;15860:131;15986:4;15860:131;:::i;:::-;15852:139;;15579:419;;;:::o;16004:221::-;16144:34;16140:1;16132:6;16128:14;16121:58;16213:4;16208:2;16200:6;16196:15;16189:29;16004:221;:::o;16231:366::-;16373:3;16394:67;16458:2;16453:3;16394:67;:::i;:::-;16387:74;;16470:93;16559:3;16470:93;:::i;:::-;16588:2;16583:3;16579:12;16572:19;;16231:366;;;:::o;16603:419::-;16769:4;16807:2;16796:9;16792:18;16784:26;;16856:9;16850:4;16846:20;16842:1;16831:9;16827:17;16820:47;16884:131;17010:4;16884:131;:::i;:::-;16876:139;;16603:419;;;:::o;17028:179::-;17168:31;17164:1;17156:6;17152:14;17145:55;17028:179;:::o;17213:366::-;17355:3;17376:67;17440:2;17435:3;17376:67;:::i;:::-;17369:74;;17452:93;17541:3;17452:93;:::i;:::-;17570:2;17565:3;17561:12;17554:19;;17213:366;;;:::o;17585:419::-;17751:4;17789:2;17778:9;17774:18;17766:26;;17838:9;17832:4;17828:20;17824:1;17813:9;17809:17;17802:47;17866:131;17992:4;17866:131;:::i;:::-;17858:139;;17585:419;;;:::o;18010:224::-;18150:34;18146:1;18138:6;18134:14;18127:58;18219:7;18214:2;18206:6;18202:15;18195:32;18010:224;:::o;18240:366::-;18382:3;18403:67;18467:2;18462:3;18403:67;:::i;:::-;18396:74;;18479:93;18568:3;18479:93;:::i;:::-;18597:2;18592:3;18588:12;18581:19;;18240:366;;;:::o;18612:419::-;18778:4;18816:2;18805:9;18801:18;18793:26;;18865:9;18859:4;18855:20;18851:1;18840:9;18836:17;18829:47;18893:131;19019:4;18893:131;:::i;:::-;18885:139;;18612:419;;;:::o;19037:222::-;19177:34;19173:1;19165:6;19161:14;19154:58;19246:5;19241:2;19233:6;19229:15;19222:30;19037:222;:::o;19265:366::-;19407:3;19428:67;19492:2;19487:3;19428:67;:::i;:::-;19421:74;;19504:93;19593:3;19504:93;:::i;:::-;19622:2;19617:3;19613:12;19606:19;;19265:366;;;:::o;19637:419::-;19803:4;19841:2;19830:9;19826:18;19818:26;;19890:9;19884:4;19880:20;19876:1;19865:9;19861:17;19854:47;19918:131;20044:4;19918:131;:::i;:::-;19910:139;;19637:419;;;:::o;20062:221::-;20202:34;20198:1;20190:6;20186:14;20179:58;20271:4;20266:2;20258:6;20254:15;20247:29;20062:221;:::o;20289:366::-;20431:3;20452:67;20516:2;20511:3;20452:67;:::i;:::-;20445:74;;20528:93;20617:3;20528:93;:::i;:::-;20646:2;20641:3;20637:12;20630:19;;20289:366;;;:::o;20661:419::-;20827:4;20865:2;20854:9;20850:18;20842:26;;20914:9;20908:4;20904:20;20900:1;20889:9;20885:17;20878:47;20942:131;21068:4;20942:131;:::i;:::-;20934:139;;20661:419;;;:::o;21086:289::-;21226:34;21222:1;21214:6;21210:14;21203:58;21295:34;21290:2;21282:6;21278:15;21271:59;21364:3;21359:2;21351:6;21347:15;21340:28;21086:289;:::o;21381:366::-;21523:3;21544:67;21608:2;21603:3;21544:67;:::i;:::-;21537:74;;21620:93;21709:3;21620:93;:::i;:::-;21738:2;21733:3;21729:12;21722:19;;21381:366;;;:::o;21753:419::-;21919:4;21957:2;21946:9;21942:18;21934:26;;22006:9;22000:4;21996:20;21992:1;21981:9;21977:17;21970:47;22034:131;22160:4;22034:131;:::i;:::-;22026:139;;21753:419;;;:::o;22178:305::-;22218:3;22237:20;22255:1;22237:20;:::i;:::-;22232:25;;22271:20;22289:1;22271:20;:::i;:::-;22266:25;;22425:1;22357:66;22353:74;22350:1;22347:81;22344:107;;;22431:18;;:::i;:::-;22344:107;22475:1;22472;22468:9;22461:16;;22178:305;;;;:::o;22489:181::-;22629:33;22625:1;22617:6;22613:14;22606:57;22489:181;:::o;22676:366::-;22818:3;22839:67;22903:2;22898:3;22839:67;:::i;:::-;22832:74;;22915:93;23004:3;22915:93;:::i;:::-;23033:2;23028:3;23024:12;23017:19;;22676:366;;;:::o;23048:419::-;23214:4;23252:2;23241:9;23237:18;23229:26;;23301:9;23295:4;23291:20;23287:1;23276:9;23272:17;23265:47;23329:131;23455:4;23329:131;:::i;:::-;23321:139;;23048:419;;;:::o;23473:290::-;23613:34;23609:1;23601:6;23597:14;23590:58;23682:34;23677:2;23669:6;23665:15;23658:59;23751:4;23746:2;23738:6;23734:15;23727:29;23473:290;:::o;23769:366::-;23911:3;23932:67;23996:2;23991:3;23932:67;:::i;:::-;23925:74;;24008:93;24097:3;24008:93;:::i;:::-;24126:2;24121:3;24117:12;24110:19;;23769:366;;;:::o;24141:419::-;24307:4;24345:2;24334:9;24330:18;24322:26;;24394:9;24388:4;24384:20;24380:1;24369:9;24365:17;24358:47;24422:131;24548:4;24422:131;:::i;:::-;24414:139;;24141:419;;;:::o;24566:171::-;24706:23;24702:1;24694:6;24690:14;24683:47;24566:171;:::o;24743:366::-;24885:3;24906:67;24970:2;24965:3;24906:67;:::i;:::-;24899:74;;24982:93;25071:3;24982:93;:::i;:::-;25100:2;25095:3;25091:12;25084:19;;24743:366;;;:::o;25115:419::-;25281:4;25319:2;25308:9;25304:18;25296:26;;25368:9;25362:4;25358:20;25354:1;25343:9;25339:17;25332:47;25396:131;25522:4;25396:131;:::i;:::-;25388:139;;25115:419;;;:::o;25540:170::-;25680:22;25676:1;25668:6;25664:14;25657:46;25540:170;:::o;25716:366::-;25858:3;25879:67;25943:2;25938:3;25879:67;:::i;:::-;25872:74;;25955:93;26044:3;25955:93;:::i;:::-;26073:2;26068:3;26064:12;26057:19;;25716:366;;;:::o;26088:419::-;26254:4;26292:2;26281:9;26277:18;26269:26;;26341:9;26335:4;26331:20;26327:1;26316:9;26312:17;26305:47;26369:131;26495:4;26369:131;:::i;:::-;26361:139;;26088:419;;;:::o;26513:191::-;26553:4;26573:20;26591:1;26573:20;:::i;:::-;26568:25;;26607:20;26625:1;26607:20;:::i;:::-;26602:25;;26646:1;26643;26640:8;26637:34;;;26651:18;;:::i;:::-;26637:34;26696:1;26693;26689:9;26681:17;;26513:191;;;;:::o;26710:180::-;26758:77;26755:1;26748:88;26855:4;26852:1;26845:15;26879:4;26876:1;26869:15;26896:180;26944:77;26941:1;26934:88;27041:4;27038:1;27031:15;27065:4;27062:1;27055:15;27082:143;27139:5;27170:6;27164:13;27155:22;;27186:33;27213:5;27186:33;:::i;:::-;27082:143;;;;:::o;27231:351::-;27301:6;27350:2;27338:9;27329:7;27325:23;27321:32;27318:119;;;27356:79;;:::i;:::-;27318:119;27476:1;27501:64;27557:7;27548:6;27537:9;27533:22;27501:64;:::i;:::-;27491:74;;27447:128;27231:351;;;;:::o;27588:85::-;27633:7;27662:5;27651:16;;27588:85;;;:::o;27679:60::-;27707:3;27728:5;27721:12;;27679:60;;;:::o;27745:158::-;27803:9;27836:61;27854:42;27863:32;27889:5;27863:32;:::i;:::-;27854:42;:::i;:::-;27836:61;:::i;:::-;27823:74;;27745:158;;;:::o;27909:147::-;28004:45;28043:5;28004:45;:::i;:::-;27999:3;27992:58;27909:147;;:::o;28062:114::-;28129:6;28163:5;28157:12;28147:22;;28062:114;;;:::o;28182:184::-;28281:11;28315:6;28310:3;28303:19;28355:4;28350:3;28346:14;28331:29;;28182:184;;;;:::o;28372:132::-;28439:4;28462:3;28454:11;;28492:4;28487:3;28483:14;28475:22;;28372:132;;;:::o;28510:108::-;28587:24;28605:5;28587:24;:::i;:::-;28582:3;28575:37;28510:108;;:::o;28624:179::-;28693:10;28714:46;28756:3;28748:6;28714:46;:::i;:::-;28792:4;28787:3;28783:14;28769:28;;28624:179;;;;:::o;28809:113::-;28879:4;28911;28906:3;28902:14;28894:22;;28809:113;;;:::o;28958:732::-;29077:3;29106:54;29154:5;29106:54;:::i;:::-;29176:86;29255:6;29250:3;29176:86;:::i;:::-;29169:93;;29286:56;29336:5;29286:56;:::i;:::-;29365:7;29396:1;29381:284;29406:6;29403:1;29400:13;29381:284;;;29482:6;29476:13;29509:63;29568:3;29553:13;29509:63;:::i;:::-;29502:70;;29595:60;29648:6;29595:60;:::i;:::-;29585:70;;29441:224;29428:1;29425;29421:9;29416:14;;29381:284;;;29385:14;29681:3;29674:10;;29082:608;;;28958:732;;;;:::o;29696:831::-;29959:4;29997:3;29986:9;29982:19;29974:27;;30011:71;30079:1;30068:9;30064:17;30055:6;30011:71;:::i;:::-;30092:80;30168:2;30157:9;30153:18;30144:6;30092:80;:::i;:::-;30219:9;30213:4;30209:20;30204:2;30193:9;30189:18;30182:48;30247:108;30350:4;30341:6;30247:108;:::i;:::-;30239:116;;30365:72;30433:2;30422:9;30418:18;30409:6;30365:72;:::i;:::-;30447:73;30515:3;30504:9;30500:19;30491:6;30447:73;:::i;:::-;29696:831;;;;;;;;:::o;30533:180::-;30673:32;30669:1;30661:6;30657:14;30650:56;30533:180;:::o;30719:366::-;30861:3;30882:67;30946:2;30941:3;30882:67;:::i;:::-;30875:74;;30958:93;31047:3;30958:93;:::i;:::-;31076:2;31071:3;31067:12;31060:19;;30719:366;;;:::o;31091:419::-;31257:4;31295:2;31284:9;31280:18;31272:26;;31344:9;31338:4;31334:20;31330:1;31319:9;31315:17;31308:47;31372:131;31498:4;31372:131;:::i;:::-;31364:139;;31091:419;;;:::o;31516:225::-;31656:34;31652:1;31644:6;31640:14;31633:58;31725:8;31720:2;31712:6;31708:15;31701:33;31516:225;:::o;31747:366::-;31889:3;31910:67;31974:2;31969:3;31910:67;:::i;:::-;31903:74;;31986:93;32075:3;31986:93;:::i;:::-;32104:2;32099:3;32095:12;32088:19;;31747:366;;;:::o;32119:419::-;32285:4;32323:2;32312:9;32308:18;32300:26;;32372:9;32366:4;32362:20;32358:1;32347:9;32343:17;32336:47;32400:131;32526:4;32400:131;:::i;:::-;32392:139;;32119:419;;;:::o

Swarm Source

ipfs://92cc682529e3e91e4fe43e35fd3f094e69591e0a7fe17bea4d72ada5b4bf6c54

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

OVERVIEW

Pear is a project that plays a much needed role in DeFi. The concept is simple, but elegant. Pear provides a platform for users to make direct P2P/OTC transfers of any cryptocurrency or fiat.

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.