ETH Price: $3,105.14 (-6.01%)
Gas: 7 Gwei

Token

BeepBeep (BEEP)
 

Overview

Max Total Supply

100,000,000,000,000 BEEP

Holders

119

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
intoodeep.eth
Balance
13.534728939 BEEP

Value
$0.00
0x0ff62862437c0492a6680150f6877b02b2f22515
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

They plan to deliver a strong utility to BEEP-BEEP token holders, but also for everyone who may not have easy access to digital tools to be able to buy and sell crypto.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
BeepBeep

Compiler Version
v0.8.13+commit.abaa5c0e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-04-15
*/

// SPDX-License-Identifier: MIT
pragma solidity 0.8.13;
 
interface IERC20 {
    function totalSupply() external view returns (uint256);
 
    function balanceOf(address account) external view returns (uint256);
 
    function transfer(address recipient, uint256 amount) external returns (bool);
 
    function allowance(address owner, address spender) external view returns (uint256);
 
    function approve(address spender, uint256 amount) external returns (bool);
 
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);
 
    event Transfer(address indexed from, address indexed to, uint256 value);
 
    event Approval(address indexed owner, address indexed spender, uint256 value);
}
 
library Address{
    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");
 
        (bool success, ) = recipient.call{value: amount}("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }
}
 
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
 
    function _msgData() internal view virtual returns (bytes calldata) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}
 
abstract contract Ownable is Context {
    address private _owner;
 
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
 
    constructor() {
        _setOwner(_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 {
        _setOwner(address(0));
    }
 
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _setOwner(newOwner);
    }
 
    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}
 
interface IFactory{
        function createPair(address tokenA, address tokenB) external returns (address pair);
}
 
interface IRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
 
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
 
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline) external;
}
 
contract BeepBeep is Context, IERC20, Ownable {
    using Address for address payable;
 
    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private _isExcluded;
 
 
    address[] private _excluded;
 
    bool public swapEnabled = true;
    bool private swapping;
 
    IRouter public router;
    address public pair;
 
    uint8 private constant _decimals = 9;
    uint256 private constant MAX = ~uint256(0);
 
    uint256 private _tTotal = 100e12 * 10**_decimals;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
 
    uint256 public swapTokensAtAmount = 5e9 * 10**_decimals;
    uint256 public maxSellAmount = 5e11 * 10**_decimals;
    uint256 public maxWalletAmount = 15e11 * 10**_decimals;
 
    address public marketingWallet = 0xA0d44A46073041E8cd442fED6802778B60c95411;
    address public charityWallet = 0x391F5cfc8f9DE21ac131842cd0F744D23B50BAbD;
    address public devWallet = 0xb04148F6956231c3CcA5E9B99de3329D10Ca173F;
 
    string private constant _name = "BeepBeep";
    string private constant _symbol = "BEEP";
 
 
    struct Taxes {
      uint256 rfi;
      uint256 burn;
      uint256 marketing;
      uint256 charity;
      uint256 dev;
    }
    Taxes public taxes = Taxes(2,1,3,2,2);
 
    struct TotFeesPaidStruct{
        uint256 rfi;
        uint256 burn;
        uint256 marketing;
        uint256 charity;
        uint256 dev;
    }
    TotFeesPaidStruct public totFeesPaid;
 
    struct valuesFromGetValues{
      uint256 rAmount;
      uint256 rTransferAmount;
      uint256 rRfi;
      uint256 rBurn;
      uint256 rMarketing;
      uint256 rCharity;
      uint256 rDev;
      uint256 tTransferAmount;
      uint256 tRfi;
      uint256 tBurn;
      uint256 tMarketing;
      uint256 tCharity;
      uint256 tDev;
    }
 
    modifier lockTheSwap {
        swapping = true;
        _;
        swapping = false;
    }
 
    constructor (address routerAddress) {
        IRouter _router = IRouter(routerAddress);
        address _pair = IFactory(_router.factory())
            .createPair(address(this), _router.WETH());
 
        router = _router;
        pair = _pair;
 
        excludeFromReward(pair);
        excludeFromReward(address(0xdead));
 
        _rOwned[owner()] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[marketingWallet]=true;
        _isExcludedFromFee[charityWallet] = true;
        _isExcludedFromFee[devWallet] = true;
 
        emit Transfer(address(0), owner(), _tTotal);
    }
 
    function name() public pure returns (string memory) {
        return _name;
    }
    function symbol() public pure returns (string memory) {
        return _symbol;
    }
    function decimals() public pure returns (uint8) {
        return _decimals;
    }
 
    function totalSupply() public view override returns (uint256) {
        return _tTotal;
    }
 
    function balanceOf(address account) public view override returns (uint256) {
        if (_isExcluded[account]) return _tOwned[account];
        return tokenFromReflection(_rOwned[account]);
    }
 
    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }
 
    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }
 
    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }
 
    function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);
 
        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        _approve(sender, _msgSender(), currentAllowance - amount);
 
        return true;
    }
 
    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }
 
    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        _approve(_msgSender(), spender, currentAllowance - subtractedValue);
 
        return true;
    }
 
    function isExcludedFromReward(address account) public view returns (bool) {
        return _isExcluded[account];
    }
 
    function reflectionFromToken(uint256 tAmount, bool deductTransferRfi) public view returns(uint256) {
        require(tAmount <= _tTotal, "Amount must be less than supply");
        if (!deductTransferRfi) {
            valuesFromGetValues memory s = _getValues(tAmount, true);
            return s.rAmount;
        } else {
            valuesFromGetValues memory s = _getValues(tAmount, true);
            return s.rTransferAmount;
        }
    }
 
    function tokenFromReflection(uint256 rAmount) public view returns(uint256) {
        require(rAmount <= _rTotal, "Amount must be less than total reflections");
        uint256 currentRate =  _getRate();
        return rAmount/currentRate;
    }
 
    function excludeFromReward(address account) public onlyOwner() {
        require(!_isExcluded[account], "Account is already excluded");
        if(_rOwned[account] > 0) {
            _tOwned[account] = tokenFromReflection(_rOwned[account]);
        }
        _isExcluded[account] = true;
        _excluded.push(account);
    }
 
    function includeInReward(address account) external onlyOwner() {
        require(_isExcluded[account], "Account is not excluded");
        for (uint256 i = 0; i < _excluded.length; i++) {
            if (_excluded[i] == account) {
                _excluded[i] = _excluded[_excluded.length - 1];
                _tOwned[account] = 0;
                _isExcluded[account] = false;
                _excluded.pop();
                break;
            }
        }
    }
 
 
    function excludeFromFee(address account) public onlyOwner {
        _isExcludedFromFee[account] = true;
    }
 
    function includeInFee(address account) public onlyOwner {
        _isExcludedFromFee[account] = false;
    }
 
 
    function isExcludedFromFee(address account) public view returns(bool) {
        return _isExcludedFromFee[account];
    }
 
    function setTaxes(uint256 _rfi, uint256 _burn,uint256 _marketing, uint256 _charity, uint256 _dev) public onlyOwner {
        taxes = Taxes(_rfi,_burn, _marketing, _charity, _dev);
    }
 
    function _reflectRfi(uint256 rRfi, uint256 tRfi) private {
        _rTotal -=rRfi;
        totFeesPaid.rfi +=tRfi;
    }
 
    function _takeCharity(uint256 rCharity, uint256 tCharity) private {
        totFeesPaid.charity +=tCharity;
 
        if(_isExcluded[address(this)])
        {
            _tOwned[address(this)]+=tCharity;
        }
        _rOwned[address(this)] +=rCharity;
    }
 
    function _takeMarketing(uint256 rMarketing, uint256 tMarketing) private {
        totFeesPaid.marketing +=tMarketing;
 
        if(_isExcluded[address(this)])
        {
            _tOwned[address(this)]+=tMarketing;
        }
        _rOwned[address(this)] +=rMarketing;
    }
 
    function _takeBurn(uint256 rBurn, uint256 tBurn) private {
        totFeesPaid.burn +=tBurn;
 
        if(_isExcluded[address(0xdead)])
        {
            _tOwned[address(0xdead)]+=tBurn;
        }
        _rOwned[address(0xdead)] +=rBurn;
    }
 
 
    function _takeDev(uint256 rDev, uint256 tDev) private {
        totFeesPaid.dev +=tDev;
 
        if(_isExcluded[address(this)])
        {
            _tOwned[address(this)]+=tDev;
        }
        _rOwned[address(this)] +=rDev;
    }
 
    function _getValues(uint256 tAmount, bool takeFee) private view returns (valuesFromGetValues memory to_return) {
        to_return = _getTValues(tAmount, takeFee);
        (to_return.rAmount, to_return.rTransferAmount, to_return.rRfi, to_return.rBurn, to_return.rMarketing, to_return.rCharity, to_return.rDev) = _getRValues(to_return, tAmount, takeFee, _getRate());
        return to_return;
    }
 
    function _getTValues(uint256 tAmount, bool takeFee) private view returns (valuesFromGetValues memory s) {
 
        if(!takeFee) {
          s.tTransferAmount = tAmount;
          return s;
        }
        s.tRfi = tAmount*taxes.rfi/100;
        s.tBurn = tAmount*taxes.burn/100;
        s.tMarketing = tAmount*taxes.marketing/100;
        s.tCharity = tAmount*taxes.charity/100;
        s.tDev = tAmount*taxes.dev/100;
        s.tTransferAmount = tAmount-s.tRfi-s.tBurn-s.tMarketing-s.tCharity-s.tDev;
        return s;
    }
 
    function _getRValues(valuesFromGetValues memory s, uint256 tAmount, bool takeFee, uint256 currentRate) private pure returns (
        uint256 rAmount, uint256 rTransferAmount, uint256 rRfi,uint256 rBurn, 
        uint256 rMarketing, uint256 rCharity, uint256 rDev) {
 
        rAmount = tAmount*currentRate;
 
        if(!takeFee) {
          return(rAmount, rAmount, 0,0,0,0,0);
        }
 
        rRfi = s.tRfi*currentRate;
        rBurn = s.tBurn*currentRate;
        rMarketing = s.tMarketing*currentRate;
        rCharity = s.tCharity*currentRate;
        rDev = s.tDev*currentRate;
        rTransferAmount =  rAmount-rRfi-rBurn-rMarketing-rCharity-rDev;
        return (rAmount, rTransferAmount, rRfi,rBurn,rMarketing,rCharity,rDev);
    }
 
    function _getRate() private view returns(uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply/tSupply;
    }
 
    function _getCurrentSupply() private view returns(uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        for (uint256 i = 0; i < _excluded.length; i++) {
            if (_rOwned[_excluded[i]] > rSupply || _tOwned[_excluded[i]] > tSupply) return (_rTotal, _tTotal);
            rSupply = rSupply-_rOwned[_excluded[i]];
            tSupply = tSupply-_tOwned[_excluded[i]];
        }
        if (rSupply < _rTotal/_tTotal) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }
 
    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
 
 
    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        require(amount <= balanceOf(from),"You are trying to transfer more than your balance");       
 
        if(!_isExcludedFromFee[from] && !_isExcludedFromFee[to] && !swapping){
            if(to == pair) require(amount <= maxSellAmount ,"Amount is exceeding maxSellAmount");
            else if (to != pair) require(balanceOf(to) + amount <= maxWalletAmount, "You are exceeding maxWalletAmount");
        }
 
 
        bool canSwap = balanceOf(address(this)) >= swapTokensAtAmount;
        if(!swapping && swapEnabled && canSwap && from != pair && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]){
            swapAndSendToFees(swapTokensAtAmount);
        }
 
 
        _tokenTransfer(from, to, amount, !(_isExcludedFromFee[from] || _isExcludedFromFee[to]));
    }
 
 
    //this method is responsible for taking all fee, if takeFee is true
    function _tokenTransfer(address sender, address recipient, uint256 tAmount, bool takeFee) private {
 
        valuesFromGetValues memory s = _getValues(tAmount, takeFee);
 
        if (_isExcluded[sender] ) {  //from excluded
                _tOwned[sender] = _tOwned[sender]-tAmount;
        }
        if (_isExcluded[recipient]) { //to excluded
                _tOwned[recipient] = _tOwned[recipient]+s.tTransferAmount;
        }
 
        _rOwned[sender] = _rOwned[sender]-s.rAmount;
        _rOwned[recipient] = _rOwned[recipient]+s.rTransferAmount;
 
        if(s.rRfi > 0 || s.tRfi > 0) _reflectRfi(s.rRfi, s.tRfi);
        if(s.rCharity > 0 || s.tCharity > 0) _takeCharity(s.rCharity,s.tCharity);
        if(s.rMarketing > 0 || s.tMarketing > 0) _takeMarketing(s.rMarketing, s.tMarketing);
        if(s.rDev > 0 || s.tDev > 0) _takeDev(s.rDev, s.tDev);
        if(s.rBurn > 0 || s.tBurn > 0) {
            _takeBurn(s.rBurn, s.tBurn);
            emit Transfer(sender, address(0xdead), s.tBurn);
        }
 
        emit Transfer(sender, recipient, s.tTransferAmount);
        emit Transfer(sender, address(this), s.tCharity + s.tDev + s.tMarketing);
 
    }
 
    function swapAndSendToFees(uint256 tokens) private lockTheSwap{
        uint256 initialBalance = address(this).balance;
 
        swapTokensForBNB(tokens);
 
        uint256 tempBalance = address(this).balance - initialBalance;
 
        uint256 totalTax = taxes.charity + taxes.marketing + taxes.dev;
 
        uint256 marketingAmt = tempBalance * taxes.marketing / totalTax;
        uint256 charityAmt = tempBalance * taxes.charity / totalTax;
        uint256 devAmt = tempBalance * taxes.dev / totalTax;
        if(marketingAmt > 0) payable(marketingWallet).sendValue(marketingAmt);
        if(charityAmt > 0) payable(charityWallet).sendValue(charityAmt);
        if(devAmt > 0) payable(devWallet).sendValue(devAmt);
    }
 
 
    function swapTokensForBNB(uint256 tokenAmount) private {
        // generate the uniswap pair path of token -> weth
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();
 
        _approve(address(this), address(router), tokenAmount);
 
        // make the swap
        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this),
            block.timestamp
        );
    }
 
    function updateWallets(address _marketingWallet, address _charityWallet, address _devWallet) external onlyOwner{
        marketingWallet = _marketingWallet;
        charityWallet = _charityWallet;
        devWallet = _devWallet;
    }
 
    function updateMaxSellAmount(uint256 amount) external onlyOwner{
        maxSellAmount = amount * 10**_decimals;
    }
 
    function updateMaxWalletAmount(uint256 amount) external onlyOwner{
        maxWalletAmount = amount * 10**_decimals;
    }
 
    function updateSwapTokensAtAmount(uint256 amount) external onlyOwner{
        swapTokensAtAmount = amount * 10**_decimals;
    }
 
    function updateSwapEnabled(bool _enabled) external onlyOwner{
        swapEnabled = _enabled;
    }
 
    function updateRouterAndPair(address newRouter, address newPair) external onlyOwner{
        router = IRouter(newRouter);
        pair = newPair;
    }
 
 
    //Use this in case BNB are sent to the contract by mistake
    function rescueBNB(uint256 weiAmount) external onlyOwner{
        require(address(this).balance >= weiAmount, "insufficient BNB balance");
        payable(msg.sender).transfer(weiAmount);
    }
 
    // Function to allow admin to claim *other* BEP20 tokens sent to this contract (by mistake)
    // Owner cannot transfer out catecoin from this smart contract
    function rescueAnyBEP20Tokens(address _tokenAddr, address _to, uint _amount) public onlyOwner {
        IERC20(_tokenAddr).transfer(_to, _amount);
    }
 
    receive() external payable{
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"routerAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"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":"charityWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"devWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromReward","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxSellAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"},{"internalType":"bool","name":"deductTransferRfi","type":"bool"}],"name":"reflectionFromToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenAddr","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"rescueAnyBEP20Tokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"weiAmount","type":"uint256"}],"name":"rescueBNB","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_rfi","type":"uint256"},{"internalType":"uint256","name":"_burn","type":"uint256"},{"internalType":"uint256","name":"_marketing","type":"uint256"},{"internalType":"uint256","name":"_charity","type":"uint256"},{"internalType":"uint256","name":"_dev","type":"uint256"}],"name":"setTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"taxes","outputs":[{"internalType":"uint256","name":"rfi","type":"uint256"},{"internalType":"uint256","name":"burn","type":"uint256"},{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"charity","type":"uint256"},{"internalType":"uint256","name":"dev","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"rAmount","type":"uint256"}],"name":"tokenFromReflection","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totFeesPaid","outputs":[{"internalType":"uint256","name":"rfi","type":"uint256"},{"internalType":"uint256","name":"burn","type":"uint256"},{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"charity","type":"uint256"},{"internalType":"uint256","name":"dev","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"updateMaxSellAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"updateMaxWalletAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newRouter","type":"address"},{"internalType":"address","name":"newPair","type":"address"}],"name":"updateRouterAndPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"updateSwapEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"updateSwapTokensAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_marketingWallet","type":"address"},{"internalType":"address","name":"_charityWallet","type":"address"},{"internalType":"address","name":"_devWallet","type":"address"}],"name":"updateWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526007805460ff191660011790556200001f6009600a620009df565b6200003190655af3107a4000620009f0565b6009819055620000449060001962000a28565b620000529060001962000a3f565b600a556009600a620000659190620009df565b620000769064012a05f200620009f0565b600b55620000876009600a620009df565b620000989064746a528800620009f0565b600c55620000a96009600a620009df565b620000bb9065015d3ef79800620009f0565b600d55600e80546001600160a01b031990811673a0d44a46073041e8cd442fed6802778b60c9541117909155600f8054821673391f5cfc8f9de21ac131842cd0f744d23b50babd1790556010805490911673b04148f6956231c3cca5e9b99de3329d10ca173f1790556040805160a08101825260028082526001602083018190526003938301849052606083018290526080909201819052601181905560129190915560139190915560148190556015553480156200017957600080fd5b5060405162003588380380620035888339810160408190526200019c9162000a59565b620001a73362000491565b60008190506000816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001ed573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000213919062000a59565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000261573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000287919062000a59565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002d5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002fb919062000a59565b600780546001600160a01b03808616620100000262010000600160b01b031990921691909117909155600880549183166001600160a01b0319909216821790559091506200034990620004e1565b6200035661dead620004e1565b600a5460016000620003706000546001600160a01b031690565b6001600160a01b03166001600160a01b0316815260200190815260200160002081905550600160046000620003aa6200066f60201b60201c565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526004909352818320805485166001908117909155600e54821684528284208054861682179055600f54821684528284208054861682179055601054909116835291208054909216179055620004386000546001600160a01b031690565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009546040516200048091815260200190565b60405180910390a350505062000acd565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000546001600160a01b03163314620005415760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b6001600160a01b03811660009081526005602052604090205460ff1615620005ac5760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c756465640000000000604482015260640162000538565b6001600160a01b0381166000908152600160205260409020541562000609576001600160a01b038116600090815260016020526040902054620005ef906200067e565b6001600160a01b0382166000908152600260205260409020555b6001600160a01b03166000818152600560205260408120805460ff191660019081179091556006805491820181559091527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0180546001600160a01b0319169091179055565b6000546001600160a01b031690565b6000600a54821115620006e75760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b606482015260840162000538565b6000620006f362000708565b905062000701818462000a84565b9392505050565b60008080620007166200072e565b909250905062000727818362000a84565b9250505090565b600a546009546000918291825b600654811015620008965782600160006006848154811062000761576200076162000a9b565b60009182526020808320909101546001600160a01b031683528201929092526040019020541180620007d05750816002600060068481548110620007a957620007a962000a9b565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b15620007e757600a54600954945094505050509091565b600160006006838154811062000801576200080162000a9b565b60009182526020808320909101546001600160a01b0316835282019290925260400190205462000832908462000a3f565b925060026000600683815481106200084e576200084e62000a9b565b60009182526020808320909101546001600160a01b031683528201929092526040019020546200087f908362000a3f565b9150806200088d8162000ab1565b9150506200073b565b50600954600a54620008a9919062000a84565b821015620008c157600a546009549350935050509091565b90939092509050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000921578160001904821115620009055762000905620008ca565b808516156200091357918102915b93841c9390800290620008e5565b509250929050565b6000826200093a57506001620009d9565b816200094957506000620009d9565b81600181146200096257600281146200096d576200098d565b6001915050620009d9565b60ff841115620009815762000981620008ca565b50506001821b620009d9565b5060208310610133831016604e8410600b8410161715620009b2575081810a620009d9565b620009be8383620008e0565b8060001904821115620009d557620009d5620008ca565b0290505b92915050565b60006200070160ff84168362000929565b600081600019048311821515161562000a0d5762000a0d620008ca565b500290565b634e487b7160e01b600052601260045260246000fd5b60008262000a3a5762000a3a62000a12565b500690565b60008282101562000a545762000a54620008ca565b500390565b60006020828403121562000a6c57600080fd5b81516001600160a01b03811681146200070157600080fd5b60008262000a965762000a9662000a12565b500490565b634e487b7160e01b600052603260045260246000fd5b60006001820162000ac65762000ac6620008ca565b5060010190565b612aab8062000add6000396000f3fe6080604052600436106102555760003560e01c8063728f8eea11610139578063a8aa1b31116100b6578063dc3f0d0f1161007a578063dc3f0d0f14610777578063dd62ed3e14610797578063e2f45605146107dd578063ea2f0b37146107f3578063f2fde38b14610813578063f887ea401461083357600080fd5b8063a8aa1b31146106e1578063a9059cbb14610701578063aa4bde2814610721578063c18bc19514610737578063d257b34f1461075757600080fd5b80638ea5220f116100fd5780638ea5220f1461062d578063924de9b71461064d57806395d89b411461066d5780639ba5e4d51461069a578063a457c2d7146106c157600080fd5b8063728f8eea1461052f57806375f0a8741461057e5780637b208769146105b657806388f82020146105d65780638da5cb5b1461060f57600080fd5b8063437823ec116101d25780635342acb4116101965780635342acb4146104715780635fcefa42146104aa57806366d602ae146104ca5780636ddd1713146104e057806370a08231146104fa578063715018a61461051a57600080fd5b8063437823ec146103d1578063441b1d30146103f15780634549b0391461041157806347c230921461043157806352390c021461045157600080fd5b80632d838119116102195780632d83811914610335578063313ce567146103555780633685d41914610371578063395093511461039157806340b28c2f146103b157600080fd5b806306fdde0314610261578063095ea7b3146102a4578063147c9f6d146102d457806318160ddd146102f657806323b872dd1461031557600080fd5b3661025c57005b600080fd5b34801561026d57600080fd5b50604080518082019091526008815267042656570426565760c41b60208201525b60405161029b91906125bb565b60405180910390f35b3480156102b057600080fd5b506102c46102bf366004612625565b610859565b604051901515815260200161029b565b3480156102e057600080fd5b506102f46102ef366004612651565b610870565b005b34801561030257600080fd5b506009545b60405190815260200161029b565b34801561032157600080fd5b506102c461033036600461269c565b6108e2565b34801561034157600080fd5b506103076103503660046126dd565b610993565b34801561036157600080fd5b506040516009815260200161029b565b34801561037d57600080fd5b506102f461038c3660046126f6565b610a17565b34801561039d57600080fd5b506102c46103ac366004612625565b610bcd565b3480156103bd57600080fd5b506102f46103cc366004612713565b610c04565b3480156103dd57600080fd5b506102f46103ec3660046126f6565b610c68565b3480156103fd57600080fd5b506102f461040c3660046126dd565b610cb6565b34801561041d57600080fd5b5061030761042c36600461275a565b610d5d565b34801561043d57600080fd5b506102f461044c36600461269c565b610de7565b34801561045d57600080fd5b506102f461046c3660046126f6565b610e8a565b34801561047d57600080fd5b506102c461048c3660046126f6565b6001600160a01b031660009081526004602052604090205460ff1690565b3480156104b657600080fd5b506102f46104c536600461277f565b610fdd565b3480156104d657600080fd5b50610307600c5481565b3480156104ec57600080fd5b506007546102c49060ff1681565b34801561050657600080fd5b506103076105153660046126f6565b611045565b34801561052657600080fd5b506102f46110a4565b34801561053b57600080fd5b50601154601254601354601454601554610556949392919085565b604080519586526020860194909452928401919091526060830152608082015260a00161029b565b34801561058a57600080fd5b50600e5461059e906001600160a01b031681565b6040516001600160a01b03909116815260200161029b565b3480156105c257600080fd5b50600f5461059e906001600160a01b031681565b3480156105e257600080fd5b506102c46105f13660046126f6565b6001600160a01b031660009081526005602052604090205460ff1690565b34801561061b57600080fd5b506000546001600160a01b031661059e565b34801561063957600080fd5b5060105461059e906001600160a01b031681565b34801561065957600080fd5b506102f46106683660046127ba565b6110da565b34801561067957600080fd5b506040805180820190915260048152630424545560e41b602082015261028e565b3480156106a657600080fd5b50601654601754601854601954601a54610556949392919085565b3480156106cd57600080fd5b506102c46106dc366004612625565b611117565b3480156106ed57600080fd5b5060085461059e906001600160a01b031681565b34801561070d57600080fd5b506102c461071c366004612625565b6111b2565b34801561072d57600080fd5b50610307600d5481565b34801561074357600080fd5b506102f46107523660046126dd565b6111bf565b34801561076357600080fd5b506102f46107723660046126dd565b611205565b34801561078357600080fd5b506102f46107923660046126dd565b61124b565b3480156107a357600080fd5b506103076107b2366004612713565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b3480156107e957600080fd5b50610307600b5481565b3480156107ff57600080fd5b506102f461080e3660046126f6565b611291565b34801561081f57600080fd5b506102f461082e3660046126f6565b6112dc565b34801561083f57600080fd5b5060075461059e906201000090046001600160a01b031681565b6000610866338484611377565b5060015b92915050565b6000546001600160a01b031633146108a35760405162461bcd60e51b815260040161089a906127d7565b60405180910390fd5b600e80546001600160a01b039485166001600160a01b031991821617909155600f80549385169382169390931790925560108054919093169116179055565b60006108ef84848461149b565b6001600160a01b0384166000908152600360209081526040808320338452909152902054828110156109745760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b606482015260840161089a565b61098885336109838685612822565b611377565b506001949350505050565b6000600a548211156109fa5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b606482015260840161089a565b6000610a04611884565b9050610a108184612839565b9392505050565b6000546001600160a01b03163314610a415760405162461bcd60e51b815260040161089a906127d7565b6001600160a01b03811660009081526005602052604090205460ff16610aa95760405162461bcd60e51b815260206004820152601760248201527f4163636f756e74206973206e6f74206578636c75646564000000000000000000604482015260640161089a565b60005b600654811015610bc957816001600160a01b031660068281548110610ad357610ad361285b565b6000918252602090912001546001600160a01b031603610bb75760068054610afd90600190612822565b81548110610b0d57610b0d61285b565b600091825260209091200154600680546001600160a01b039092169183908110610b3957610b3961285b565b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600282526040808220829055600590925220805460ff191690556006805480610b9157610b91612871565b600082815260209020810160001990810180546001600160a01b03191690550190555050565b80610bc181612887565b915050610aac565b5050565b3360008181526003602090815260408083206001600160a01b038716845290915281205490916108669185906109839086906128a0565b6000546001600160a01b03163314610c2e5760405162461bcd60e51b815260040161089a906127d7565b6007805462010000600160b01b031916620100006001600160a01b0394851602179055600880546001600160a01b03191691909216179055565b6000546001600160a01b03163314610c925760405162461bcd60e51b815260040161089a906127d7565b6001600160a01b03166000908152600460205260409020805460ff19166001179055565b6000546001600160a01b03163314610ce05760405162461bcd60e51b815260040161089a906127d7565b80471015610d305760405162461bcd60e51b815260206004820152601860248201527f696e73756666696369656e7420424e422062616c616e63650000000000000000604482015260640161089a565b604051339082156108fc029083906000818181858888f19350505050158015610bc9573d6000803e3d6000fd5b6000600954831115610db15760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c7900604482015260640161089a565b81610dcd576000610dc38460016118a7565b51915061086a9050565b6000610dda8460016118a7565b60200151915061086a9050565b6000546001600160a01b03163314610e115760405162461bcd60e51b815260040161089a906127d7565b60405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb906044016020604051808303816000875af1158015610e60573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e8491906128b8565b50505050565b6000546001600160a01b03163314610eb45760405162461bcd60e51b815260040161089a906127d7565b6001600160a01b03811660009081526005602052604090205460ff1615610f1d5760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c756465640000000000604482015260640161089a565b6001600160a01b03811660009081526001602052604090205415610f77576001600160a01b038116600090815260016020526040902054610f5d90610993565b6001600160a01b0382166000908152600260205260409020555b6001600160a01b03166000818152600560205260408120805460ff191660019081179091556006805491820181559091527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0180546001600160a01b0319169091179055565b6000546001600160a01b031633146110075760405162461bcd60e51b815260040161089a906127d7565b6040805160a0810182528681526020810186905290810184905260608101839052608001819052601194909455601292909255601355601455601555565b6001600160a01b03811660009081526005602052604081205460ff161561108257506001600160a01b031660009081526002602052604090205490565b6001600160a01b03821660009081526001602052604090205461086a90610993565b6000546001600160a01b031633146110ce5760405162461bcd60e51b815260040161089a906127d7565b6110d860006118f4565b565b6000546001600160a01b031633146111045760405162461bcd60e51b815260040161089a906127d7565b6007805460ff1916911515919091179055565b3360009081526003602090815260408083206001600160a01b0386168452909152812054828110156111995760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161089a565b6111a833856109838685612822565b5060019392505050565b600061086633848461149b565b6000546001600160a01b031633146111e95760405162461bcd60e51b815260040161089a906127d7565b6111f56009600a6129b9565b6111ff90826129c8565b600d5550565b6000546001600160a01b0316331461122f5760405162461bcd60e51b815260040161089a906127d7565b61123b6009600a6129b9565b61124590826129c8565b600b5550565b6000546001600160a01b031633146112755760405162461bcd60e51b815260040161089a906127d7565b6112816009600a6129b9565b61128b90826129c8565b600c5550565b6000546001600160a01b031633146112bb5760405162461bcd60e51b815260040161089a906127d7565b6001600160a01b03166000908152600460205260409020805460ff19169055565b6000546001600160a01b031633146113065760405162461bcd60e51b815260040161089a906127d7565b6001600160a01b03811661136b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161089a565b611374816118f4565b50565b6001600160a01b0383166113d95760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161089a565b6001600160a01b03821661143a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161089a565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166114ff5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161089a565b6001600160a01b0382166115615760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161089a565b600081116115c35760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161089a565b6115cc83611045565b8111156116355760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b606482015260840161089a565b6001600160a01b03831660009081526004602052604090205460ff1615801561167757506001600160a01b03821660009081526004602052604090205460ff16155b801561168b5750600754610100900460ff16155b1561178b576008546001600160a01b039081169083160361170757600c548111156117025760405162461bcd60e51b815260206004820152602160248201527f416d6f756e7420697320657863656564696e67206d617853656c6c416d6f756e6044820152601d60fa1b606482015260840161089a565b61178b565b6008546001600160a01b0383811691161461178b57600d548161172984611045565b61173391906128a0565b111561178b5760405162461bcd60e51b815260206004820152602160248201527f596f752061726520657863656564696e67206d617857616c6c6574416d6f756e6044820152601d60fa1b606482015260840161089a565b6000600b5461179930611045565b6007549111159150610100900460ff161580156117b8575060075460ff165b80156117c15750805b80156117db57506008546001600160a01b03858116911614155b801561180057506001600160a01b03841660009081526004602052604090205460ff16155b801561182557506001600160a01b03831660009081526004602052604090205460ff16155b1561183557611835600b54611944565b6001600160a01b038416600090815260046020526040902054610e849085908590859060ff168061187e57506001600160a01b03871660009081526004602052604090205460ff165b15611a56565b6000806000611891611da7565b90925090506118a08183612839565b9250505090565b6118af612553565b6118b98383611f2a565b90506118ce8184846118c9611884565b61203a565b60c088015260a08701526080860152606085015260408401526020830152815292915050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6007805461ff0019166101001790554761195d82612110565b60006119698247612822565b60155460135460145492935060009261198291906128a0565b61198c91906128a0565b9050600081601160020154846119a291906129c8565b6119ac9190612839565b9050600082601160030154856119c291906129c8565b6119cc9190612839565b9050600083601160040154866119e291906129c8565b6119ec9190612839565b90508215611a0a57600e54611a0a906001600160a01b03168461228f565b8115611a2657600f54611a26906001600160a01b03168361228f565b8015611a4257601054611a42906001600160a01b03168261228f565b50506007805461ff00191690555050505050565b6000611a6283836118a7565b6001600160a01b03861660009081526005602052604090205490915060ff1615611ac4576001600160a01b038516600090815260026020526040902054611aaa908490612822565b6001600160a01b0386166000908152600260205260409020555b6001600160a01b03841660009081526005602052604090205460ff1615611b275760e08101516001600160a01b038516600090815260026020526040902054611b0d91906128a0565b6001600160a01b0385166000908152600260205260409020555b80516001600160a01b038616600090815260016020526040902054611b4c9190612822565b6001600160a01b0380871660009081526001602090815260408083209490945584015191871681529190912054611b8391906128a0565b6001600160a01b0385166000908152600160205260409081902091909155810151151580611bb657506000816101000151115b15611bce57611bce81604001518261010001516123ad565b60008160a001511180611be657506000816101600151115b15611bfe57611bfe8160a001518261016001516123e2565b600081608001511180611c1657506000816101400151115b15611c2e57611c2e8160800151826101400151612458565b60008160c001511180611c4657506000816101800151115b15611c5e57611c5e8160c0015182610180015161246d565b600081606001511180611c7657506000816101200151115b15611ce357611c8e8160600151826101200151612482565b61dead6001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836101200151604051611cda91815260200190565b60405180910390a35b836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360e00151604051611d2c91815260200190565b60405180910390a3306001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836101400151846101800151856101600151611d8591906128a0565b611d8f91906128a0565b60405190815260200160405180910390a35050505050565b600a546009546000918291825b600654811015611ef957826001600060068481548110611dd657611dd661285b565b60009182526020808320909101546001600160a01b031683528201929092526040019020541180611e415750816002600060068481548110611e1a57611e1a61285b565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b15611e5757600a54600954945094505050509091565b6001600060068381548110611e6e57611e6e61285b565b60009182526020808320909101546001600160a01b03168352820192909252604001902054611e9d9084612822565b92506002600060068381548110611eb657611eb661285b565b60009182526020808320909101546001600160a01b03168352820192909252604001902054611ee59083612822565b915080611ef181612887565b915050611db4565b50600954600a54611f0a9190612839565b821015611f2157600a546009549350935050509091565b90939092509050565b611f32612553565b81611f435760e0810183905261086a565b601154606490611f5390856129c8565b611f5d9190612839565b610100820152601254606490611f7390856129c8565b611f7d9190612839565b610120820152601354606490611f9390856129c8565b611f9d9190612839565b610140820152601454606490611fb390856129c8565b611fbd9190612839565b610160820152601554606490611fd390856129c8565b611fdd9190612839565b61018082018190526101608201516101408301516101208401516101008501516120079088612822565b6120119190612822565b61201b9190612822565b6120259190612822565b61202f9190612822565b60e082015292915050565b600080808080808061204c888b6129c8565b96508861206a57508594506000935083925082915081905080612102565b878b610100015161207b91906129c8565b9450878b610120015161208e91906129c8565b9350878b61014001516120a191906129c8565b9250878b61016001516120b491906129c8565b9150878b61018001516120c791906129c8565b9050808284866120d7898c612822565b6120e19190612822565b6120eb9190612822565b6120f59190612822565b6120ff9190612822565b95505b949950949992975094509450565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106121455761214561285b565b60200260200101906001600160a01b031690816001600160a01b031681525050600760029054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121dc91906129e7565b816001815181106121ef576121ef61285b565b6001600160a01b03928316602091820292909201015260075461221b9130916201000090041684611377565b60075460405163791ac94760e01b8152620100009091046001600160a01b03169063791ac94790612259908590600090869030904290600401612a04565b600060405180830381600087803b15801561227357600080fd5b505af1158015612287573d6000803e3d6000fd5b505050505050565b804710156122df5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e6365000000604482015260640161089a565b6000826001600160a01b03168260405160006040518083038185875af1925050503d806000811461232c576040519150601f19603f3d011682016040523d82523d6000602084013e612331565b606091505b50509050806123a85760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d61792068617665207265766572746564000000000000606482015260840161089a565b505050565b81600a60008282546123bf9190612822565b9091555050601680548291906000906123d99084906128a0565b90915550505050565b80601660030160008282546123f791906128a0565b90915550503060009081526005602052604090205460ff16156124395730600090815260026020526040812080548392906124339084906128a0565b90915550505b30600090815260016020526040812080548492906123d99084906128a0565b80601660020160008282546123f791906128a0565b80601660040160008282546123f791906128a0565b806016600101600082825461249791906128a0565b909155505061dead60005260056020527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba5460ff16156125155761dead600090815260026020527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc805483929061250f9084906128a0565b90915550505b61dead600090815260016020527fb34209a263f6c38fe55f099e9e70f9d67e93982480ff3234a5e0108028ad164d80548492906123d99084906128a0565b604051806101a00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b600060208083528351808285015260005b818110156125e8578581018301518582016040015282016125cc565b818111156125fa576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461137457600080fd5b6000806040838503121561263857600080fd5b823561264381612610565b946020939093013593505050565b60008060006060848603121561266657600080fd5b833561267181612610565b9250602084013561268181612610565b9150604084013561269181612610565b809150509250925092565b6000806000606084860312156126b157600080fd5b83356126bc81612610565b925060208401356126cc81612610565b929592945050506040919091013590565b6000602082840312156126ef57600080fd5b5035919050565b60006020828403121561270857600080fd5b8135610a1081612610565b6000806040838503121561272657600080fd5b823561273181612610565b9150602083013561274181612610565b809150509250929050565b801515811461137457600080fd5b6000806040838503121561276d57600080fd5b8235915060208301356127418161274c565b600080600080600060a0868803121561279757600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b6000602082840312156127cc57600080fd5b8135610a108161274c565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000828210156128345761283461280c565b500390565b60008261285657634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b6000600182016128995761289961280c565b5060010190565b600082198211156128b3576128b361280c565b500190565b6000602082840312156128ca57600080fd5b8151610a108161274c565b600181815b808511156129105781600019048211156128f6576128f661280c565b8085161561290357918102915b93841c93908002906128da565b509250929050565b6000826129275750600161086a565b816129345750600061086a565b816001811461294a576002811461295457612970565b600191505061086a565b60ff8411156129655761296561280c565b50506001821b61086a565b5060208310610133831016604e8410600b8410161715612993575081810a61086a565b61299d83836128d5565b80600019048211156129b1576129b161280c565b029392505050565b6000610a1060ff841683612918565b60008160001904831182151516156129e2576129e261280c565b500290565b6000602082840312156129f957600080fd5b8151610a1081612610565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015612a545784516001600160a01b031683529383019391830191600101612a2f565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220087554b3b690470c9ca6a64d53d09fe9b0b368d996fe7b5285ea433861d2ebc264736f6c634300080d00330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d

Deployed Bytecode

0x6080604052600436106102555760003560e01c8063728f8eea11610139578063a8aa1b31116100b6578063dc3f0d0f1161007a578063dc3f0d0f14610777578063dd62ed3e14610797578063e2f45605146107dd578063ea2f0b37146107f3578063f2fde38b14610813578063f887ea401461083357600080fd5b8063a8aa1b31146106e1578063a9059cbb14610701578063aa4bde2814610721578063c18bc19514610737578063d257b34f1461075757600080fd5b80638ea5220f116100fd5780638ea5220f1461062d578063924de9b71461064d57806395d89b411461066d5780639ba5e4d51461069a578063a457c2d7146106c157600080fd5b8063728f8eea1461052f57806375f0a8741461057e5780637b208769146105b657806388f82020146105d65780638da5cb5b1461060f57600080fd5b8063437823ec116101d25780635342acb4116101965780635342acb4146104715780635fcefa42146104aa57806366d602ae146104ca5780636ddd1713146104e057806370a08231146104fa578063715018a61461051a57600080fd5b8063437823ec146103d1578063441b1d30146103f15780634549b0391461041157806347c230921461043157806352390c021461045157600080fd5b80632d838119116102195780632d83811914610335578063313ce567146103555780633685d41914610371578063395093511461039157806340b28c2f146103b157600080fd5b806306fdde0314610261578063095ea7b3146102a4578063147c9f6d146102d457806318160ddd146102f657806323b872dd1461031557600080fd5b3661025c57005b600080fd5b34801561026d57600080fd5b50604080518082019091526008815267042656570426565760c41b60208201525b60405161029b91906125bb565b60405180910390f35b3480156102b057600080fd5b506102c46102bf366004612625565b610859565b604051901515815260200161029b565b3480156102e057600080fd5b506102f46102ef366004612651565b610870565b005b34801561030257600080fd5b506009545b60405190815260200161029b565b34801561032157600080fd5b506102c461033036600461269c565b6108e2565b34801561034157600080fd5b506103076103503660046126dd565b610993565b34801561036157600080fd5b506040516009815260200161029b565b34801561037d57600080fd5b506102f461038c3660046126f6565b610a17565b34801561039d57600080fd5b506102c46103ac366004612625565b610bcd565b3480156103bd57600080fd5b506102f46103cc366004612713565b610c04565b3480156103dd57600080fd5b506102f46103ec3660046126f6565b610c68565b3480156103fd57600080fd5b506102f461040c3660046126dd565b610cb6565b34801561041d57600080fd5b5061030761042c36600461275a565b610d5d565b34801561043d57600080fd5b506102f461044c36600461269c565b610de7565b34801561045d57600080fd5b506102f461046c3660046126f6565b610e8a565b34801561047d57600080fd5b506102c461048c3660046126f6565b6001600160a01b031660009081526004602052604090205460ff1690565b3480156104b657600080fd5b506102f46104c536600461277f565b610fdd565b3480156104d657600080fd5b50610307600c5481565b3480156104ec57600080fd5b506007546102c49060ff1681565b34801561050657600080fd5b506103076105153660046126f6565b611045565b34801561052657600080fd5b506102f46110a4565b34801561053b57600080fd5b50601154601254601354601454601554610556949392919085565b604080519586526020860194909452928401919091526060830152608082015260a00161029b565b34801561058a57600080fd5b50600e5461059e906001600160a01b031681565b6040516001600160a01b03909116815260200161029b565b3480156105c257600080fd5b50600f5461059e906001600160a01b031681565b3480156105e257600080fd5b506102c46105f13660046126f6565b6001600160a01b031660009081526005602052604090205460ff1690565b34801561061b57600080fd5b506000546001600160a01b031661059e565b34801561063957600080fd5b5060105461059e906001600160a01b031681565b34801561065957600080fd5b506102f46106683660046127ba565b6110da565b34801561067957600080fd5b506040805180820190915260048152630424545560e41b602082015261028e565b3480156106a657600080fd5b50601654601754601854601954601a54610556949392919085565b3480156106cd57600080fd5b506102c46106dc366004612625565b611117565b3480156106ed57600080fd5b5060085461059e906001600160a01b031681565b34801561070d57600080fd5b506102c461071c366004612625565b6111b2565b34801561072d57600080fd5b50610307600d5481565b34801561074357600080fd5b506102f46107523660046126dd565b6111bf565b34801561076357600080fd5b506102f46107723660046126dd565b611205565b34801561078357600080fd5b506102f46107923660046126dd565b61124b565b3480156107a357600080fd5b506103076107b2366004612713565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b3480156107e957600080fd5b50610307600b5481565b3480156107ff57600080fd5b506102f461080e3660046126f6565b611291565b34801561081f57600080fd5b506102f461082e3660046126f6565b6112dc565b34801561083f57600080fd5b5060075461059e906201000090046001600160a01b031681565b6000610866338484611377565b5060015b92915050565b6000546001600160a01b031633146108a35760405162461bcd60e51b815260040161089a906127d7565b60405180910390fd5b600e80546001600160a01b039485166001600160a01b031991821617909155600f80549385169382169390931790925560108054919093169116179055565b60006108ef84848461149b565b6001600160a01b0384166000908152600360209081526040808320338452909152902054828110156109745760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b606482015260840161089a565b61098885336109838685612822565b611377565b506001949350505050565b6000600a548211156109fa5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b606482015260840161089a565b6000610a04611884565b9050610a108184612839565b9392505050565b6000546001600160a01b03163314610a415760405162461bcd60e51b815260040161089a906127d7565b6001600160a01b03811660009081526005602052604090205460ff16610aa95760405162461bcd60e51b815260206004820152601760248201527f4163636f756e74206973206e6f74206578636c75646564000000000000000000604482015260640161089a565b60005b600654811015610bc957816001600160a01b031660068281548110610ad357610ad361285b565b6000918252602090912001546001600160a01b031603610bb75760068054610afd90600190612822565b81548110610b0d57610b0d61285b565b600091825260209091200154600680546001600160a01b039092169183908110610b3957610b3961285b565b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600282526040808220829055600590925220805460ff191690556006805480610b9157610b91612871565b600082815260209020810160001990810180546001600160a01b03191690550190555050565b80610bc181612887565b915050610aac565b5050565b3360008181526003602090815260408083206001600160a01b038716845290915281205490916108669185906109839086906128a0565b6000546001600160a01b03163314610c2e5760405162461bcd60e51b815260040161089a906127d7565b6007805462010000600160b01b031916620100006001600160a01b0394851602179055600880546001600160a01b03191691909216179055565b6000546001600160a01b03163314610c925760405162461bcd60e51b815260040161089a906127d7565b6001600160a01b03166000908152600460205260409020805460ff19166001179055565b6000546001600160a01b03163314610ce05760405162461bcd60e51b815260040161089a906127d7565b80471015610d305760405162461bcd60e51b815260206004820152601860248201527f696e73756666696369656e7420424e422062616c616e63650000000000000000604482015260640161089a565b604051339082156108fc029083906000818181858888f19350505050158015610bc9573d6000803e3d6000fd5b6000600954831115610db15760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c7900604482015260640161089a565b81610dcd576000610dc38460016118a7565b51915061086a9050565b6000610dda8460016118a7565b60200151915061086a9050565b6000546001600160a01b03163314610e115760405162461bcd60e51b815260040161089a906127d7565b60405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb906044016020604051808303816000875af1158015610e60573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e8491906128b8565b50505050565b6000546001600160a01b03163314610eb45760405162461bcd60e51b815260040161089a906127d7565b6001600160a01b03811660009081526005602052604090205460ff1615610f1d5760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c756465640000000000604482015260640161089a565b6001600160a01b03811660009081526001602052604090205415610f77576001600160a01b038116600090815260016020526040902054610f5d90610993565b6001600160a01b0382166000908152600260205260409020555b6001600160a01b03166000818152600560205260408120805460ff191660019081179091556006805491820181559091527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0180546001600160a01b0319169091179055565b6000546001600160a01b031633146110075760405162461bcd60e51b815260040161089a906127d7565b6040805160a0810182528681526020810186905290810184905260608101839052608001819052601194909455601292909255601355601455601555565b6001600160a01b03811660009081526005602052604081205460ff161561108257506001600160a01b031660009081526002602052604090205490565b6001600160a01b03821660009081526001602052604090205461086a90610993565b6000546001600160a01b031633146110ce5760405162461bcd60e51b815260040161089a906127d7565b6110d860006118f4565b565b6000546001600160a01b031633146111045760405162461bcd60e51b815260040161089a906127d7565b6007805460ff1916911515919091179055565b3360009081526003602090815260408083206001600160a01b0386168452909152812054828110156111995760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161089a565b6111a833856109838685612822565b5060019392505050565b600061086633848461149b565b6000546001600160a01b031633146111e95760405162461bcd60e51b815260040161089a906127d7565b6111f56009600a6129b9565b6111ff90826129c8565b600d5550565b6000546001600160a01b0316331461122f5760405162461bcd60e51b815260040161089a906127d7565b61123b6009600a6129b9565b61124590826129c8565b600b5550565b6000546001600160a01b031633146112755760405162461bcd60e51b815260040161089a906127d7565b6112816009600a6129b9565b61128b90826129c8565b600c5550565b6000546001600160a01b031633146112bb5760405162461bcd60e51b815260040161089a906127d7565b6001600160a01b03166000908152600460205260409020805460ff19169055565b6000546001600160a01b031633146113065760405162461bcd60e51b815260040161089a906127d7565b6001600160a01b03811661136b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161089a565b611374816118f4565b50565b6001600160a01b0383166113d95760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161089a565b6001600160a01b03821661143a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161089a565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166114ff5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161089a565b6001600160a01b0382166115615760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161089a565b600081116115c35760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161089a565b6115cc83611045565b8111156116355760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b606482015260840161089a565b6001600160a01b03831660009081526004602052604090205460ff1615801561167757506001600160a01b03821660009081526004602052604090205460ff16155b801561168b5750600754610100900460ff16155b1561178b576008546001600160a01b039081169083160361170757600c548111156117025760405162461bcd60e51b815260206004820152602160248201527f416d6f756e7420697320657863656564696e67206d617853656c6c416d6f756e6044820152601d60fa1b606482015260840161089a565b61178b565b6008546001600160a01b0383811691161461178b57600d548161172984611045565b61173391906128a0565b111561178b5760405162461bcd60e51b815260206004820152602160248201527f596f752061726520657863656564696e67206d617857616c6c6574416d6f756e6044820152601d60fa1b606482015260840161089a565b6000600b5461179930611045565b6007549111159150610100900460ff161580156117b8575060075460ff165b80156117c15750805b80156117db57506008546001600160a01b03858116911614155b801561180057506001600160a01b03841660009081526004602052604090205460ff16155b801561182557506001600160a01b03831660009081526004602052604090205460ff16155b1561183557611835600b54611944565b6001600160a01b038416600090815260046020526040902054610e849085908590859060ff168061187e57506001600160a01b03871660009081526004602052604090205460ff165b15611a56565b6000806000611891611da7565b90925090506118a08183612839565b9250505090565b6118af612553565b6118b98383611f2a565b90506118ce8184846118c9611884565b61203a565b60c088015260a08701526080860152606085015260408401526020830152815292915050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6007805461ff0019166101001790554761195d82612110565b60006119698247612822565b60155460135460145492935060009261198291906128a0565b61198c91906128a0565b9050600081601160020154846119a291906129c8565b6119ac9190612839565b9050600082601160030154856119c291906129c8565b6119cc9190612839565b9050600083601160040154866119e291906129c8565b6119ec9190612839565b90508215611a0a57600e54611a0a906001600160a01b03168461228f565b8115611a2657600f54611a26906001600160a01b03168361228f565b8015611a4257601054611a42906001600160a01b03168261228f565b50506007805461ff00191690555050505050565b6000611a6283836118a7565b6001600160a01b03861660009081526005602052604090205490915060ff1615611ac4576001600160a01b038516600090815260026020526040902054611aaa908490612822565b6001600160a01b0386166000908152600260205260409020555b6001600160a01b03841660009081526005602052604090205460ff1615611b275760e08101516001600160a01b038516600090815260026020526040902054611b0d91906128a0565b6001600160a01b0385166000908152600260205260409020555b80516001600160a01b038616600090815260016020526040902054611b4c9190612822565b6001600160a01b0380871660009081526001602090815260408083209490945584015191871681529190912054611b8391906128a0565b6001600160a01b0385166000908152600160205260409081902091909155810151151580611bb657506000816101000151115b15611bce57611bce81604001518261010001516123ad565b60008160a001511180611be657506000816101600151115b15611bfe57611bfe8160a001518261016001516123e2565b600081608001511180611c1657506000816101400151115b15611c2e57611c2e8160800151826101400151612458565b60008160c001511180611c4657506000816101800151115b15611c5e57611c5e8160c0015182610180015161246d565b600081606001511180611c7657506000816101200151115b15611ce357611c8e8160600151826101200151612482565b61dead6001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836101200151604051611cda91815260200190565b60405180910390a35b836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360e00151604051611d2c91815260200190565b60405180910390a3306001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836101400151846101800151856101600151611d8591906128a0565b611d8f91906128a0565b60405190815260200160405180910390a35050505050565b600a546009546000918291825b600654811015611ef957826001600060068481548110611dd657611dd661285b565b60009182526020808320909101546001600160a01b031683528201929092526040019020541180611e415750816002600060068481548110611e1a57611e1a61285b565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b15611e5757600a54600954945094505050509091565b6001600060068381548110611e6e57611e6e61285b565b60009182526020808320909101546001600160a01b03168352820192909252604001902054611e9d9084612822565b92506002600060068381548110611eb657611eb661285b565b60009182526020808320909101546001600160a01b03168352820192909252604001902054611ee59083612822565b915080611ef181612887565b915050611db4565b50600954600a54611f0a9190612839565b821015611f2157600a546009549350935050509091565b90939092509050565b611f32612553565b81611f435760e0810183905261086a565b601154606490611f5390856129c8565b611f5d9190612839565b610100820152601254606490611f7390856129c8565b611f7d9190612839565b610120820152601354606490611f9390856129c8565b611f9d9190612839565b610140820152601454606490611fb390856129c8565b611fbd9190612839565b610160820152601554606490611fd390856129c8565b611fdd9190612839565b61018082018190526101608201516101408301516101208401516101008501516120079088612822565b6120119190612822565b61201b9190612822565b6120259190612822565b61202f9190612822565b60e082015292915050565b600080808080808061204c888b6129c8565b96508861206a57508594506000935083925082915081905080612102565b878b610100015161207b91906129c8565b9450878b610120015161208e91906129c8565b9350878b61014001516120a191906129c8565b9250878b61016001516120b491906129c8565b9150878b61018001516120c791906129c8565b9050808284866120d7898c612822565b6120e19190612822565b6120eb9190612822565b6120f59190612822565b6120ff9190612822565b95505b949950949992975094509450565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106121455761214561285b565b60200260200101906001600160a01b031690816001600160a01b031681525050600760029054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121dc91906129e7565b816001815181106121ef576121ef61285b565b6001600160a01b03928316602091820292909201015260075461221b9130916201000090041684611377565b60075460405163791ac94760e01b8152620100009091046001600160a01b03169063791ac94790612259908590600090869030904290600401612a04565b600060405180830381600087803b15801561227357600080fd5b505af1158015612287573d6000803e3d6000fd5b505050505050565b804710156122df5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e6365000000604482015260640161089a565b6000826001600160a01b03168260405160006040518083038185875af1925050503d806000811461232c576040519150601f19603f3d011682016040523d82523d6000602084013e612331565b606091505b50509050806123a85760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d61792068617665207265766572746564000000000000606482015260840161089a565b505050565b81600a60008282546123bf9190612822565b9091555050601680548291906000906123d99084906128a0565b90915550505050565b80601660030160008282546123f791906128a0565b90915550503060009081526005602052604090205460ff16156124395730600090815260026020526040812080548392906124339084906128a0565b90915550505b30600090815260016020526040812080548492906123d99084906128a0565b80601660020160008282546123f791906128a0565b80601660040160008282546123f791906128a0565b806016600101600082825461249791906128a0565b909155505061dead60005260056020527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba5460ff16156125155761dead600090815260026020527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc805483929061250f9084906128a0565b90915550505b61dead600090815260016020527fb34209a263f6c38fe55f099e9e70f9d67e93982480ff3234a5e0108028ad164d80548492906123d99084906128a0565b604051806101a00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b600060208083528351808285015260005b818110156125e8578581018301518582016040015282016125cc565b818111156125fa576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461137457600080fd5b6000806040838503121561263857600080fd5b823561264381612610565b946020939093013593505050565b60008060006060848603121561266657600080fd5b833561267181612610565b9250602084013561268181612610565b9150604084013561269181612610565b809150509250925092565b6000806000606084860312156126b157600080fd5b83356126bc81612610565b925060208401356126cc81612610565b929592945050506040919091013590565b6000602082840312156126ef57600080fd5b5035919050565b60006020828403121561270857600080fd5b8135610a1081612610565b6000806040838503121561272657600080fd5b823561273181612610565b9150602083013561274181612610565b809150509250929050565b801515811461137457600080fd5b6000806040838503121561276d57600080fd5b8235915060208301356127418161274c565b600080600080600060a0868803121561279757600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b6000602082840312156127cc57600080fd5b8135610a108161274c565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000828210156128345761283461280c565b500390565b60008261285657634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b6000600182016128995761289961280c565b5060010190565b600082198211156128b3576128b361280c565b500190565b6000602082840312156128ca57600080fd5b8151610a108161274c565b600181815b808511156129105781600019048211156128f6576128f661280c565b8085161561290357918102915b93841c93908002906128da565b509250929050565b6000826129275750600161086a565b816129345750600061086a565b816001811461294a576002811461295457612970565b600191505061086a565b60ff8411156129655761296561280c565b50506001821b61086a565b5060208310610133831016604e8410600b8410161715612993575081810a61086a565b61299d83836128d5565b80600019048211156129b1576129b161280c565b029392505050565b6000610a1060ff841683612918565b60008160001904831182151516156129e2576129e261280c565b500290565b6000602082840312156129f957600080fd5b8151610a1081612610565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015612a545784516001600160a01b031683529383019391830191600101612a2f565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220087554b3b690470c9ca6a64d53d09fe9b0b368d996fe7b5285ea433861d2ebc264736f6c634300080d0033

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

0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d

-----Decoded View---------------
Arg [0] : routerAddress (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d


Deployed Bytecode Sourcemap

3413:16495:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6249:83;;;;;;;;;;-1:-1:-1;6319:5:0;;;;;;;;;;;;-1:-1:-1;;;6319:5:0;;;;6249:83;;;;;;;:::i;:::-;;;;;;;;7162:161;;;;;;;;;;-1:-1:-1;7162:161:0;;;;;:::i;:::-;;:::i;:::-;;;1237:14:1;;1230:22;1212:41;;1200:2;1185:18;7162:161:0;1072:187:1;18350:238:0;;;;;;;;;;-1:-1:-1;18350:238:0;;;;;:::i;:::-;;:::i;:::-;;6523:95;;;;;;;;;;-1:-1:-1;6603:7:0;;6523:95;;;1944:25:1;;;1932:2;1917:18;6523:95:0;1798:177:1;7332:424:0;;;;;;;;;;-1:-1:-1;7332:424:0;;;;;:::i;:::-;;:::i;8970:248::-;;;;;;;;;;-1:-1:-1;8970:248:0;;;;;:::i;:::-;;:::i;6431:83::-;;;;;;;;;;-1:-1:-1;6431:83:0;;4001:1;2768:36:1;;2756:2;2741:18;6431:83:0;2626:184:1;9569:475:0;;;;;;;;;;-1:-1:-1;9569:475:0;;;;;:::i;:::-;;:::i;7765:215::-;;;;;;;;;;-1:-1:-1;7765:215:0;;;;;:::i;:::-;;:::i;19108:154::-;;;;;;;;;;-1:-1:-1;19108:154:0;;;;;:::i;:::-;;:::i;10056:111::-;;;;;;;;;;-1:-1:-1;10056:111:0;;;;;:::i;:::-;;:::i;19338:196::-;;;;;;;;;;-1:-1:-1;19338:196:0;;;;;:::i;:::-;;:::i;8505:456::-;;;;;;;;;;-1:-1:-1;8505:456:0;;;;;:::i;:::-;;:::i;19708:154::-;;;;;;;;;;-1:-1:-1;19708:154:0;;;;;:::i;:::-;;:::i;9227:333::-;;;;;;;;;;-1:-1:-1;9227:333:0;;;;;:::i;:::-;;:::i;10298:123::-;;;;;;;;;;-1:-1:-1;10298:123:0;;;;;:::i;:::-;-1:-1:-1;;;;;10386:27:0;10362:4;10386:27;;;:18;:27;;;;;;;;;10298:123;10430:187;;;;;;;;;;-1:-1:-1;10430:187:0;;;;;:::i;:::-;;:::i;4237:51::-;;;;;;;;;;;;;;;;3841:30;;;;;;;;;;-1:-1:-1;3841:30:0;;;;;;;;6627:198;;;;;;;;;;-1:-1:-1;6627:198:0;;;;;:::i;:::-;;:::i;1984:94::-;;;;;;;;;;;;;:::i;4840:37::-;;;;;;;;;;-1:-1:-1;4840:37:0;;;;;;;;;;;;;;;;;;;;;;4615:25:1;;;4671:2;4656:18;;4649:34;;;;4699:18;;;4692:34;;;;4757:2;4742:18;;4735:34;4800:3;4785:19;;4778:35;4602:3;4587:19;4840:37:0;4356:463:1;4359:75:0;;;;;;;;;;-1:-1:-1;4359:75:0;;;;-1:-1:-1;;;;;4359:75:0;;;;;;-1:-1:-1;;;;;4988:32:1;;;4970:51;;4958:2;4943:18;4359:75:0;4824:203:1;4441:73:0;;;;;;;;;;-1:-1:-1;4441:73:0;;;;-1:-1:-1;;;;;4441:73:0;;;8376:120;;;;;;;;;;-1:-1:-1;8376:120:0;;;;;:::i;:::-;-1:-1:-1;;;;;8468:20:0;8444:4;8468:20;;;:11;:20;;;;;;;;;8376:120;1759:87;;;;;;;;;;-1:-1:-1;1805:7:0;1832:6;-1:-1:-1;;;;;1832:6:0;1759:87;;4521:69;;;;;;;;;;-1:-1:-1;4521:69:0;;;;-1:-1:-1;;;;;4521:69:0;;;18998:101;;;;;;;;;;-1:-1:-1;18998:101:0;;;;;:::i;:::-;;:::i;6338:87::-;;;;;;;;;;-1:-1:-1;6410:7:0;;;;;;;;;;;;-1:-1:-1;;;6410:7:0;;;;6338:87;;5046:36;;;;;;;;;;-1:-1:-1;5046:36:0;;;;;;;;;;;;;;;;;;7989:378;;;;;;;;;;-1:-1:-1;7989:378:0;;;;;:::i;:::-;;:::i;3937:19::-;;;;;;;;;;-1:-1:-1;3937:19:0;;;;-1:-1:-1;;;;;3937:19:0;;;6834:167;;;;;;;;;;-1:-1:-1;6834:167:0;;;;;:::i;:::-;;:::i;4295:54::-;;;;;;;;;;;;;;;;18726:124;;;;;;;;;;-1:-1:-1;18726:124:0;;;;;:::i;:::-;;:::i;18859:130::-;;;;;;;;;;-1:-1:-1;18859:130:0;;;;;:::i;:::-;;:::i;18597:120::-;;;;;;;;;;-1:-1:-1;18597:120:0;;;;;:::i;:::-;;:::i;7010:143::-;;;;;;;;;;-1:-1:-1;7010:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;7118:18:0;;;7091:7;7118:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7010:143;4175:55;;;;;;;;;;;;;;;;10176:110;;;;;;;;;;-1:-1:-1;10176:110:0;;;;;:::i;:::-;;:::i;2087:192::-;;;;;;;;;;-1:-1:-1;2087:192:0;;;;;:::i;:::-;;:::i;3909:21::-;;;;;;;;;;-1:-1:-1;3909:21:0;;;;;;;-1:-1:-1;;;;;3909:21:0;;;7162:161;7237:4;7254:39;1255:10;7277:7;7286:6;7254:8;:39::i;:::-;-1:-1:-1;7311:4:0;7162:161;;;;;:::o;18350:238::-;1805:7;1832:6;-1:-1:-1;;;;;1832:6:0;1255:10;1895:23;1887:68;;;;-1:-1:-1;;;1887:68:0;;;;;;;:::i;:::-;;;;;;;;;18472:15:::1;:34:::0;;-1:-1:-1;;;;;18472:34:0;;::::1;-1:-1:-1::0;;;;;;18472:34:0;;::::1;;::::0;;;18517:13:::1;:30:::0;;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;18558:9:::1;:22:::0;;;;;::::1;::::0;::::1;;::::0;;18350:238::o;7332:424::-;7438:4;7455:36;7465:6;7473:9;7484:6;7455:9;:36::i;:::-;-1:-1:-1;;;;;7532:19:0;;7505:24;7532:19;;;:11;:19;;;;;;;;1255:10;7532:33;;;;;;;;7584:26;;;;7576:79;;;;-1:-1:-1;;;7576:79:0;;6064:2:1;7576:79:0;;;6046:21:1;6103:2;6083:18;;;6076:30;6142:34;6122:18;;;6115:62;-1:-1:-1;;;6193:18:1;;;6186:38;6241:19;;7576:79:0;5862:404:1;7576:79:0;7666:57;7675:6;1255:10;7697:25;7716:6;7697:16;:25;:::i;:::-;7666:8;:57::i;:::-;-1:-1:-1;7744:4:0;;7332:424;-1:-1:-1;;;;7332:424:0:o;8970:248::-;9036:7;9075;;9064;:18;;9056:73;;;;-1:-1:-1;;;9056:73:0;;6735:2:1;9056:73:0;;;6717:21:1;6774:2;6754:18;;;6747:30;6813:34;6793:18;;;6786:62;-1:-1:-1;;;6864:18:1;;;6857:40;6914:19;;9056:73:0;6533:406:1;9056:73:0;9140:19;9163:10;:8;:10::i;:::-;9140:33;-1:-1:-1;9191:19:0;9140:33;9191:7;:19;:::i;:::-;9184:26;8970:248;-1:-1:-1;;;8970:248:0:o;9569:475::-;1805:7;1832:6;-1:-1:-1;;;;;1832:6:0;1255:10;1895:23;1887:68;;;;-1:-1:-1;;;1887:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;9651:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;9643:56;;;::::0;-1:-1:-1;;;9643:56:0;;7368:2:1;9643:56:0::1;::::0;::::1;7350:21:1::0;7407:2;7387:18;;;7380:30;7446:25;7426:18;;;7419:53;7489:18;;9643:56:0::1;7166:347:1::0;9643:56:0::1;9715:9;9710:327;9734:9;:16:::0;9730:20;::::1;9710:327;;;9792:7;-1:-1:-1::0;;;;;9776:23:0::1;:9;9786:1;9776:12;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;9776:12:0::1;:23:::0;9772:254:::1;;9835:9;9845:16:::0;;:20:::1;::::0;9864:1:::1;::::0;9845:20:::1;:::i;:::-;9835:31;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;::::1;::::0;9820:9:::1;:12:::0;;-1:-1:-1;;;;;9835:31:0;;::::1;::::0;9830:1;;9820:12;::::1;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;;;::::1;:46:::0;;-1:-1:-1;;;;;;9820:46:0::1;-1:-1:-1::0;;;;;9820:46:0;;::::1;;::::0;;9885:16;;::::1;::::0;;:7:::1;:16:::0;;;;;;:20;;;9924:11:::1;:20:::0;;;;:28;;-1:-1:-1;;9924:28:0::1;::::0;;9971:9:::1;:15:::0;;;::::1;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;-1:-1:-1;;9971:15:0;;;;;-1:-1:-1;;;;;;9971:15:0::1;::::0;;;;;9710:327:::1;9569:475:::0;:::o;9772:254::-:1;9752:3:::0;::::1;::::0;::::1;:::i;:::-;;;;9710:327;;;;9569:475:::0;:::o;7765:215::-;1255:10;7853:4;7902:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;7902:34:0;;;;;;;;;;7853:4;;7870:80;;7893:7;;7902:47;;7939:10;;7902:47;:::i;19108:154::-;1805:7;1832:6;-1:-1:-1;;;;;1832:6:0;1255:10;1895:23;1887:68;;;;-1:-1:-1;;;1887:68:0;;;;;;;:::i;:::-;19202:6:::1;:27:::0;;-1:-1:-1;;;;;;19202:27:0::1;::::0;-1:-1:-1;;;;;19202:27:0;;::::1;;;::::0;;19240:4:::1;:14:::0;;-1:-1:-1;;;;;;19240:14:0::1;::::0;;;::::1;;::::0;;19108:154::o;10056:111::-;1805:7;1832:6;-1:-1:-1;;;;;1832:6:0;1255:10;1895:23;1887:68;;;;-1:-1:-1;;;1887:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10125:27:0::1;;::::0;;;:18:::1;:27;::::0;;;;:34;;-1:-1:-1;;10125:34:0::1;10155:4;10125:34;::::0;;10056:111::o;19338:196::-;1805:7;1832:6;-1:-1:-1;;;;;1832:6:0;1255:10;1895:23;1887:68;;;;-1:-1:-1;;;1887:68:0;;;;;;;:::i;:::-;19438:9:::1;19413:21;:34;;19405:71;;;::::0;-1:-1:-1;;;19405:71:0;;8257:2:1;19405:71:0::1;::::0;::::1;8239:21:1::0;8296:2;8276:18;;;8269:30;8335:26;8315:18;;;8308:54;8379:18;;19405:71:0::1;8055:348:1::0;19405:71:0::1;19487:39;::::0;19495:10:::1;::::0;19487:39;::::1;;;::::0;19516:9;;19487:39:::1;::::0;;;19516:9;19495:10;19487:39;::::1;;;;;;;;;;;;;::::0;::::1;;;;8505:456:::0;8595:7;8634;;8623;:18;;8615:62;;;;-1:-1:-1;;;8615:62:0;;8610:2:1;8615:62:0;;;8592:21:1;8649:2;8629:18;;;8622:30;8688:33;8668:18;;;8661:61;8739:18;;8615:62:0;8408:355:1;8615:62:0;8693:17;8688:266;;8727:28;8758:25;8769:7;8778:4;8758:10;:25::i;:::-;8805:9;;-1:-1:-1;8798:16:0;;-1:-1:-1;8798:16:0;8688:266;8847:28;8878:25;8889:7;8898:4;8878:10;:25::i;:::-;8925:17;;;;-1:-1:-1;8918:24:0;;-1:-1:-1;8918:24:0;19708:154;1805:7;1832:6;-1:-1:-1;;;;;1832:6:0;1255:10;1895:23;1887:68;;;;-1:-1:-1;;;1887:68:0;;;;;;;:::i;:::-;19813:41:::1;::::0;-1:-1:-1;;;19813:41:0;;-1:-1:-1;;;;;8960:32:1;;;19813:41:0::1;::::0;::::1;8942:51:1::0;9009:18;;;9002:34;;;19813:27:0;::::1;::::0;::::1;::::0;8915:18:1;;19813:41:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;19708:154:::0;;;:::o;9227:333::-;1805:7;1832:6;-1:-1:-1;;;;;1832:6:0;1255:10;1895:23;1887:68;;;;-1:-1:-1;;;1887:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;9310:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;9309:21;9301:61;;;::::0;-1:-1:-1;;;9301:61:0;;9499:2:1;9301:61:0::1;::::0;::::1;9481:21:1::0;9538:2;9518:18;;;9511:30;9577:29;9557:18;;;9550:57;9624:18;;9301:61:0::1;9297:351:1::0;9301:61:0::1;-1:-1:-1::0;;;;;9376:16:0;::::1;9395:1;9376:16:::0;;;:7:::1;:16;::::0;;;;;:20;9373:108:::1;;-1:-1:-1::0;;;;;9452:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;;9432:37:::1;::::0;:19:::1;:37::i;:::-;-1:-1:-1::0;;;;;9413:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;:56;9373:108:::1;-1:-1:-1::0;;;;;9491:20:0::1;;::::0;;;:11:::1;:20;::::0;;;;:27;;-1:-1:-1;;9491:27:0::1;9514:4;9491:27:::0;;::::1;::::0;;;9529:9:::1;:23:::0;;;;::::1;::::0;;;;;;::::1;::::0;;-1:-1:-1;;;;;;9529:23:0::1;::::0;;::::1;::::0;;9227:333::o;10430:187::-;1805:7;1832:6;-1:-1:-1;;;;;1832:6:0;1255:10;1895:23;1887:68;;;;-1:-1:-1;;;1887:68:0;;;;;;;:::i;:::-;10564:45:::1;::::0;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;::::1;::::0;;;;;;;;;;;;;;;;;;;;10556:5:::1;:53:::0;;;;;;;;;;;;;;;10430:187::o;6627:198::-;-1:-1:-1;;;;;6717:20:0;;6693:7;6717:20;;;:11;:20;;;;;;;;6713:49;;;-1:-1:-1;;;;;;6746:16:0;;;;;:7;:16;;;;;;;6627:198::o;6713:49::-;-1:-1:-1;;;;;6800:16:0;;;;;;:7;:16;;;;;;6780:37;;:19;:37::i;1984:94::-;1805:7;1832:6;-1:-1:-1;;;;;1832:6:0;1255:10;1895:23;1887:68;;;;-1:-1:-1;;;1887:68:0;;;;;;;:::i;:::-;2049:21:::1;2067:1;2049:9;:21::i;:::-;1984:94::o:0;18998:101::-;1805:7;1832:6;-1:-1:-1;;;;;1832:6:0;1255:10;1895:23;1887:68;;;;-1:-1:-1;;;1887:68:0;;;;;;;:::i;:::-;19069:11:::1;:22:::0;;-1:-1:-1;;19069:22:0::1;::::0;::::1;;::::0;;;::::1;::::0;;18998:101::o;7989:378::-;1255:10;8082:4;8126:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;8126:34:0;;;;;;;;;;8179:35;;;;8171:85;;;;-1:-1:-1;;;8171:85:0;;9855:2:1;8171:85:0;;;9837:21:1;9894:2;9874:18;;;9867:30;9933:34;9913:18;;;9906:62;-1:-1:-1;;;9984:18:1;;;9977:35;10029:19;;8171:85:0;9653:401:1;8171:85:0;8267:67;1255:10;8290:7;8299:34;8318:15;8299:16;:34;:::i;8267:67::-;-1:-1:-1;8355:4:0;;7989:378;-1:-1:-1;;;7989:378:0:o;6834:167::-;6912:4;6929:42;1255:10;6953:9;6964:6;6929:9;:42::i;18726:124::-;1805:7;1832:6;-1:-1:-1;;;;;1832:6:0;1255:10;1895:23;1887:68;;;;-1:-1:-1;;;1887:68:0;;;;;;;:::i;:::-;18829:13:::1;4001:1;18829:2;:13;:::i;:::-;18820:22;::::0;:6;:22:::1;:::i;:::-;18802:15;:40:::0;-1:-1:-1;18726:124:0:o;18859:130::-;1805:7;1832:6;-1:-1:-1;;;;;1832:6:0;1255:10;1895:23;1887:68;;;;-1:-1:-1;;;1887:68:0;;;;;;;:::i;:::-;18968:13:::1;4001:1;18968:2;:13;:::i;:::-;18959:22;::::0;:6;:22:::1;:::i;:::-;18938:18;:43:::0;-1:-1:-1;18859:130:0:o;18597:120::-;1805:7;1832:6;-1:-1:-1;;;;;1832:6:0;1255:10;1895:23;1887:68;;;;-1:-1:-1;;;1887:68:0;;;;;;;:::i;:::-;18696:13:::1;4001:1;18696:2;:13;:::i;:::-;18687:22;::::0;:6;:22:::1;:::i;:::-;18671:13;:38:::0;-1:-1:-1;18597:120:0:o;10176:110::-;1805:7;1832:6;-1:-1:-1;;;;;1832:6:0;1255:10;1895:23;1887:68;;;;-1:-1:-1;;;1887:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10243:27:0::1;10273:5;10243:27:::0;;;:18:::1;:27;::::0;;;;:35;;-1:-1:-1;;10243:35:0::1;::::0;;10176:110::o;2087:192::-;1805:7;1832:6;-1:-1:-1;;;;;1832:6:0;1255:10;1895:23;1887:68;;;;-1:-1:-1;;;1887:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2176:22:0;::::1;2168:73;;;::::0;-1:-1:-1;;;2168:73:0;;11817:2:1;2168:73:0::1;::::0;::::1;11799:21:1::0;11856:2;11836:18;;;11829:30;11895:34;11875:18;;;11868:62;-1:-1:-1;;;11946:18:1;;;11939:36;11992:19;;2168:73:0::1;11615:402:1::0;2168:73:0::1;2252:19;2262:8;2252:9;:19::i;:::-;2087:192:::0;:::o;14300:335::-;-1:-1:-1;;;;;14393:19:0;;14385:68;;;;-1:-1:-1;;;14385:68:0;;12224:2:1;14385:68:0;;;12206:21:1;12263:2;12243:18;;;12236:30;12302:34;12282:18;;;12275:62;-1:-1:-1;;;12353:18:1;;;12346:34;12397:19;;14385:68:0;12022:400:1;14385:68:0;-1:-1:-1;;;;;14472:21:0;;14464:68;;;;-1:-1:-1;;;14464:68:0;;12629:2:1;14464:68:0;;;12611:21:1;12668:2;12648:18;;;12641:30;12707:34;12687:18;;;12680:62;-1:-1:-1;;;12758:18:1;;;12751:32;12800:19;;14464:68:0;12427:398:1;14464:68:0;-1:-1:-1;;;;;14543:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;14595:32;;1944:25:1;;;14595:32:0;;1917:18:1;14595:32:0;;;;;;;14300:335;;;:::o;14647:1093::-;-1:-1:-1;;;;;14735:18:0;;14727:68;;;;-1:-1:-1;;;14727:68:0;;13032:2:1;14727:68:0;;;13014:21:1;13071:2;13051:18;;;13044:30;13110:34;13090:18;;;13083:62;-1:-1:-1;;;13161:18:1;;;13154:35;13206:19;;14727:68:0;12830:401:1;14727:68:0;-1:-1:-1;;;;;14814:16:0;;14806:64;;;;-1:-1:-1;;;14806:64:0;;13438:2:1;14806:64:0;;;13420:21:1;13477:2;13457:18;;;13450:30;13516:34;13496:18;;;13489:62;-1:-1:-1;;;13567:18:1;;;13560:33;13610:19;;14806:64:0;13236:399:1;14806:64:0;14898:1;14889:6;:10;14881:64;;;;-1:-1:-1;;;14881:64:0;;13842:2:1;14881:64:0;;;13824:21:1;13881:2;13861:18;;;13854:30;13920:34;13900:18;;;13893:62;-1:-1:-1;;;13971:18:1;;;13964:39;14020:19;;14881:64:0;13640:405:1;14881:64:0;14974:15;14984:4;14974:9;:15::i;:::-;14964:6;:25;;14956:86;;;;-1:-1:-1;;;14956:86:0;;14252:2:1;14956:86:0;;;14234:21:1;14291:2;14271:18;;;14264:30;14330:34;14310:18;;;14303:62;-1:-1:-1;;;14381:18:1;;;14374:47;14438:19;;14956:86:0;14050:413:1;14956:86:0;-1:-1:-1;;;;;15067:24:0;;;;;;:18;:24;;;;;;;;15066:25;:52;;;;-1:-1:-1;;;;;;15096:22:0;;;;;;:18;:22;;;;;;;;15095:23;15066:52;:65;;;;-1:-1:-1;15123:8:0;;;;;;;15122:9;15066:65;15063:303;;;15156:4;;-1:-1:-1;;;;;15156:4:0;;;15150:10;;;;15147:207;;15180:13;;15170:6;:23;;15162:69;;;;-1:-1:-1;;;15162:69:0;;14670:2:1;15162:69:0;;;14652:21:1;14709:2;14689:18;;;14682:30;14748:34;14728:18;;;14721:62;-1:-1:-1;;;14799:18:1;;;14792:31;14840:19;;15162:69:0;14468:397:1;15162:69:0;15147:207;;;15261:4;;-1:-1:-1;;;;;15255:10:0;;;15261:4;;15255:10;15251:103;;15301:15;;15291:6;15275:13;15285:2;15275:9;:13::i;:::-;:22;;;;:::i;:::-;:41;;15267:87;;;;-1:-1:-1;;;15267:87:0;;15072:2:1;15267:87:0;;;15054:21:1;15111:2;15091:18;;;15084:30;15150:34;15130:18;;;15123:62;-1:-1:-1;;;15201:18:1;;;15194:31;15242:19;;15267:87:0;14870:397:1;15267:87:0;15382:12;15425:18;;15397:24;15415:4;15397:9;:24::i;:::-;15458:8;;-1:-1:-1;;15397:46:0;;-1:-1:-1;15458:8:0;;;;;15457:9;:24;;;;-1:-1:-1;15470:11:0;;;;15457:24;:35;;;;;15485:7;15457:35;:51;;;;-1:-1:-1;15504:4:0;;-1:-1:-1;;;;;15496:12:0;;;15504:4;;15496:12;;15457:51;:80;;;;-1:-1:-1;;;;;;15513:24:0;;;;;;:18;:24;;;;;;;;15512:25;15457:80;:107;;;;-1:-1:-1;;;;;;15542:22:0;;;;;;:18;:22;;;;;;;;15541:23;15457:107;15454:175;;;15580:37;15598:18;;15580:17;:37::i;:::-;-1:-1:-1;;;;;15680:24:0;;;;;;:18;:24;;;;;;15645:87;;15660:4;;15666:2;;15670:6;;15680:24;;;:50;;-1:-1:-1;;;;;;15708:22:0;;;;;;:18;:22;;;;;;;;15680:50;15678:53;15645:14;:87::i;13584:158::-;13625:7;13646:15;13663;13682:19;:17;:19::i;:::-;13645:56;;-1:-1:-1;13645:56:0;-1:-1:-1;13719:15:0;13645:56;;13719:15;:::i;:::-;13712:22;;;;13584:158;:::o;11852:401::-;11925:36;;:::i;:::-;11986:29;11998:7;12007;11986:11;:29::i;:::-;11974:41;;12166:52;12178:9;12189:7;12198;12207:10;:8;:10::i;:::-;12166:11;:52::i;:::-;12148:14;;;12026:192;12128:18;;;12026:192;12106:20;;;12026:192;12089:15;;;12026:192;12073:14;;;12026:192;12046:25;;;12026:192;;;11852:401;;;;:::o;2288:173::-;2344:16;2363:6;;-1:-1:-1;;;;;2380:17:0;;;-1:-1:-1;;;;;;2380:17:0;;;;;;2413:40;;2363:6;;;;;;;2413:40;;2344:16;2413:40;2333:128;2288:173;:::o;17025:740::-;5487:8;:15;;-1:-1:-1;;5487:15:0;;;;;17123:21:::1;17158:24;17175:6:::0;17158:16:::1;:24::i;:::-;17196:19;17218:38;17242:14:::0;17218:21:::1;:38;:::i;:::-;17323:9:::0;;17305:15;;17289:13;;17196:60;;-1:-1:-1;17270:16:0::1;::::0;17289:31:::1;::::0;17305:15;17289:31:::1;:::i;:::-;:43;;;;:::i;:::-;17270:62;;17346:20;17401:8;17383:5;:15;;;17369:11;:29;;;;:::i;:::-;:40;;;;:::i;:::-;17346:63;;17420:18;17471:8;17455:5;:13;;;17441:11;:27;;;;:::i;:::-;:38;;;;:::i;:::-;17420:59;;17490:14;17533:8;17521:5;:9;;;17507:11;:23;;;;:::i;:::-;:34;;;;:::i;:::-;17490:51:::0;-1:-1:-1;17555:16:0;;17552:69:::1;;17581:15;::::0;17573:48:::1;::::0;-1:-1:-1;;;;;17581:15:0::1;17608:12:::0;17573:34:::1;:48::i;:::-;17635:14:::0;;17632:63:::1;;17659:13;::::0;17651:44:::1;::::0;-1:-1:-1;;;;;17659:13:0::1;17684:10:::0;17651:32:::1;:44::i;:::-;17709:10:::0;;17706:51:::1;;17729:9;::::0;17721:36:::1;::::0;-1:-1:-1;;;;;17729:9:0::1;17750:6:::0;17721:28:::1;:36::i;:::-;-1:-1:-1::0;;5525:8:0;:16;;-1:-1:-1;;5525:16:0;;;-1:-1:-1;;;;;17025:740:0:o;15825:1191::-;15937:28;15968;15979:7;15988;15968:10;:28::i;:::-;-1:-1:-1;;;;;16014:19:0;;;;;;:11;:19;;;;;;15937:59;;-1:-1:-1;16014:19:0;;16010:115;;;-1:-1:-1;;;;;16090:15:0;;;;;;:7;:15;;;;;;:23;;16106:7;;16090:23;:::i;:::-;-1:-1:-1;;;;;16072:15:0;;;;;;:7;:15;;;;;:41;16010:115;-1:-1:-1;;;;;16139:22:0;;;;;;:11;:22;;;;;;;;16135:130;;;16236:17;;;;-1:-1:-1;;;;;16217:18:0;;;;;;:7;:18;;;;;;:36;;16236:17;16217:36;:::i;:::-;-1:-1:-1;;;;;16196:18:0;;;;;;:7;:18;;;;;:57;16135:130;16312:9;;-1:-1:-1;;;;;16296:15:0;;16312:9;16296:15;;;:7;:15;;;;;;:25;;16312:9;16296:25;:::i;:::-;-1:-1:-1;;;;;16278:15:0;;;;;;;:7;:15;;;;;;;;:43;;;;16372:17;;;16353:18;;;;;;;;;;:36;;16372:17;16353:36;:::i;:::-;-1:-1:-1;;;;;16332:18:0;;;;;;:7;:18;;;;;;;:57;;;;16406:6;;;:10;;;:24;;;16429:1;16420;:6;;;:10;16406:24;16403:56;;;16432:27;16444:1;:6;;;16452:1;:6;;;16432:11;:27::i;:::-;16486:1;16473;:10;;;:14;:32;;;;16504:1;16491;:10;;;:14;16473:32;16470:72;;;16507:35;16520:1;:10;;;16531:1;:10;;;16507:12;:35::i;:::-;16571:1;16556;:12;;;:16;:36;;;;16591:1;16576;:12;;;:16;16556:36;16553:83;;;16594:42;16609:1;:12;;;16623:1;:12;;;16594:14;:42::i;:::-;16659:1;16650;:6;;;:10;:24;;;;16673:1;16664;:6;;;:10;16650:24;16647:53;;;16676:24;16685:1;:6;;;16693:1;:6;;;16676:8;:24::i;:::-;16724:1;16714;:7;;;:11;:26;;;;16739:1;16729;:7;;;:11;16714:26;16711:147;;;16757:27;16767:1;:7;;;16776:1;:7;;;16757:9;:27::i;:::-;16829:6;-1:-1:-1;;;;;16804:42:0;16813:6;-1:-1:-1;;;;;16804:42:0;;16838:1;:7;;;16804:42;;;;1944:25:1;;1932:2;1917:18;;1798:177;16804:42:0;;;;;;;;16711:147;16893:9;-1:-1:-1;;;;;16876:46:0;16885:6;-1:-1:-1;;;;;16876:46:0;;16904:1;:17;;;16876:46;;;;1944:25:1;;1932:2;1917:18;;1798:177;16876:46:0;;;;;;;;16963:4;-1:-1:-1;;;;;16938:67:0;16947:6;-1:-1:-1;;;;;16938:67:0;;16992:1;:12;;;16983:1;:6;;;16970:1;:10;;;:19;;;;:::i;:::-;:34;;;;:::i;:::-;16938:67;;1944:25:1;;;1932:2;1917:18;16938:67:0;;;;;;;15923:1093;15825:1191;;;;:::o;13751:540::-;13848:7;;13884;;13801;;;;;13902:279;13926:9;:16;13922:20;;13902:279;;;13992:7;13968;:21;13976:9;13986:1;13976:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;13976:12:0;13968:21;;;;;;;;;;;;;:31;;:66;;;14027:7;14003;:21;14011:9;14021:1;14011:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;14011:12:0;14003:21;;;;;;;;;;;;;:31;13968:66;13964:97;;;14044:7;;14053;;14036:25;;;;;;;13751:540;;:::o;13964:97::-;14094:7;:21;14102:9;14112:1;14102:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;14102:12:0;14094:21;;;;;;;;;;;;;14086:29;;:7;:29;:::i;:::-;14076:39;;14148:7;:21;14156:9;14166:1;14156:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;14156:12:0;14148:21;;;;;;;;;;;;;14140:29;;:7;:29;:::i;:::-;14130:39;-1:-1:-1;13944:3:0;;;;:::i;:::-;;;;13902:279;;;;14213:7;;14205;;:15;;;;:::i;:::-;14195:7;:25;14191:56;;;14230:7;;14239;;14222:25;;;;;;13751:540;;:::o;14191:56::-;14266:7;;14275;;-1:-1:-1;13751:540:0;-1:-1:-1;13751:540:0:o;12262:541::-;12336:28;;:::i;:::-;12384:7;12380:86;;12406:17;;;:27;;;12446:8;;12380:86;12493:5;:9;12503:3;;12485:17;;:7;:17;:::i;:::-;:21;;;;:::i;:::-;12476:6;;;:30;12535:10;;12546:3;;12527:18;;:7;:18;:::i;:::-;:22;;;;:::i;:::-;12517:7;;;:32;12583:15;;12599:3;;12575:23;;:7;:23;:::i;:::-;:27;;;;:::i;:::-;12560:12;;;:42;12634:13;;12648:3;;12626:21;;:7;:21;:::i;:::-;:25;;;;:::i;:::-;12613:10;;;:38;12679:9;;12689:3;;12671:17;;:7;:17;:::i;:::-;:21;;;;:::i;:::-;12662:6;;;:30;;;12759:10;;;;12746:12;;;;12738:7;;;;12731:6;;;;12723:14;;:7;:14;:::i;:::-;:22;;;;:::i;:::-;:35;;;;:::i;:::-;:46;;;;:::i;:::-;:53;;;;:::i;:::-;12703:17;;;:73;12262:541;;;;:::o;12812:763::-;12947:15;;;;;;;13103:19;13111:11;13103:7;:19;:::i;:::-;13093:29;;13140:7;13136:73;;-1:-1:-1;13169:7:0;;-1:-1:-1;13187:1:0;;-1:-1:-1;13187:1:0;;-1:-1:-1;13187:1:0;;-1:-1:-1;13187:1:0;;-1:-1:-1;13187:1:0;13162:35;;13136:73;13236:11;13229:1;:6;;;:18;;;;:::i;:::-;13222:25;;13274:11;13266:1;:7;;;:19;;;;:::i;:::-;13258:27;;13322:11;13309:1;:12;;;:24;;;;:::i;:::-;13296:37;;13366:11;13355:1;:10;;;:22;;;;:::i;:::-;13344:33;;13402:11;13395:1;:6;;;:18;;;;:::i;:::-;13388:25;-1:-1:-1;13388:25:0;13473:8;13462:10;13456:5;13443:12;13451:4;13443:7;:12;:::i;:::-;:18;;;;:::i;:::-;:29;;;;:::i;:::-;:38;;;;:::i;:::-;:43;;;;:::i;:::-;13424:62;;12812:763;;;;;;;;;;;;;:::o;17777:564::-;17927:16;;;17941:1;17927:16;;;;;;;;17903:21;;17927:16;;;;;;;;;;-1:-1:-1;17927:16:0;17903:40;;17972:4;17954;17959:1;17954:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;17954:23:0;;;-1:-1:-1;;;;;17954:23:0;;;;;17998:6;;;;;;;;;-1:-1:-1;;;;;17998:6:0;-1:-1:-1;;;;;17998:11:0;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17988:4;17993:1;17988:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;17988:23:0;;;:7;;;;;;;;;:23;18057:6;;18025:53;;18042:4;;18057:6;;;;18066:11;18025:8;:53::i;:::-;18118:6;;:215;;-1:-1:-1;;;18118:215:0;;:6;;;;-1:-1:-1;;;;;18118:6:0;;:57;;:215;;18190:11;;18216:1;;18260:4;;18287;;18307:15;;18118:215;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17832:509;17777:564;:::o;816:318::-;931:6;906:21;:31;;898:73;;;;-1:-1:-1;;;898:73:0;;16847:2:1;898:73:0;;;16829:21:1;16886:2;16866:18;;;16859:30;16925:31;16905:18;;;16898:59;16974:18;;898:73:0;16645:353:1;898:73:0;986:12;1004:9;-1:-1:-1;;;;;1004:14:0;1026:6;1004:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;985:52;;;1056:7;1048:78;;;;-1:-1:-1;;;1048:78:0;;17415:2:1;1048:78:0;;;17397:21:1;17454:2;17434:18;;;17427:30;17493:34;17473:18;;;17466:62;17564:28;17544:18;;;17537:56;17610:19;;1048:78:0;17213:422:1;1048:78:0;887:247;816:318;;:::o;10626:123::-;10704:4;10694:7;;:14;;;;;;;:::i;:::-;;;;-1:-1:-1;;10719:11:0;:22;;10737:4;;10719:11;:15;;:22;;10737:4;;10719:22;:::i;:::-;;;;-1:-1:-1;;;;10626:123:0:o;10758:271::-;10857:8;10835:11;:19;;;:30;;;;;;;:::i;:::-;;;;-1:-1:-1;;10902:4:0;10882:26;;;;:11;:26;;;;;;;;10879:99;;;10950:4;10934:22;;;;:7;:22;;;;;:32;;10958:8;;10934:22;:32;;10958:8;;10934:32;:::i;:::-;;;;-1:-1:-1;;10879:99:0;11004:4;10988:22;;;;:7;:22;;;;;:33;;11013:8;;10988:22;:33;;11013:8;;10988:33;:::i;11038:285::-;11145:10;11121:11;:21;;;:34;;;;;;;:::i;11600:243::-;11683:4;11665:11;:15;;;:22;;;;;;;:::i;11332:256::-;11419:5;11400:11;:16;;;:24;;;;;;;:::i;:::-;;;;-1:-1:-1;;11461:6:0;11441:28;;:11;:28;;;;;;11438:100;;;11511:6;11495:24;;;;:7;:24;;;:31;;11521:5;;11495:24;:31;;11521:5;;11495:31;:::i;:::-;;;;-1:-1:-1;;11438:100:0;11564:6;11548:24;;;;:7;:24;;;:32;;11575:5;;11548:24;:32;;11575:5;;11548:32;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:597:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:1;574:15;-1:-1:-1;;570:29:1;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:1:o;616:131::-;-1:-1:-1;;;;;691:31:1;;681:42;;671:70;;737:1;734;727:12;752:315;820:6;828;881:2;869:9;860:7;856:23;852:32;849:52;;;897:1;894;887:12;849:52;936:9;923:23;955:31;980:5;955:31;:::i;:::-;1005:5;1057:2;1042:18;;;;1029:32;;-1:-1:-1;;;752:315:1:o;1264:529::-;1341:6;1349;1357;1410:2;1398:9;1389:7;1385:23;1381:32;1378:52;;;1426:1;1423;1416:12;1378:52;1465:9;1452:23;1484:31;1509:5;1484:31;:::i;:::-;1534:5;-1:-1:-1;1591:2:1;1576:18;;1563:32;1604:33;1563:32;1604:33;:::i;:::-;1656:7;-1:-1:-1;1715:2:1;1700:18;;1687:32;1728:33;1687:32;1728:33;:::i;:::-;1780:7;1770:17;;;1264:529;;;;;:::o;1980:456::-;2057:6;2065;2073;2126:2;2114:9;2105:7;2101:23;2097:32;2094:52;;;2142:1;2139;2132:12;2094:52;2181:9;2168:23;2200:31;2225:5;2200:31;:::i;:::-;2250:5;-1:-1:-1;2307:2:1;2292:18;;2279:32;2320:33;2279:32;2320:33;:::i;:::-;1980:456;;2372:7;;-1:-1:-1;;;2426:2:1;2411:18;;;;2398:32;;1980:456::o;2441:180::-;2500:6;2553:2;2541:9;2532:7;2528:23;2524:32;2521:52;;;2569:1;2566;2559:12;2521:52;-1:-1:-1;2592:23:1;;2441:180;-1:-1:-1;2441:180:1:o;2815:247::-;2874:6;2927:2;2915:9;2906:7;2902:23;2898:32;2895:52;;;2943:1;2940;2933:12;2895:52;2982:9;2969:23;3001:31;3026:5;3001:31;:::i;3067:388::-;3135:6;3143;3196:2;3184:9;3175:7;3171:23;3167:32;3164:52;;;3212:1;3209;3202:12;3164:52;3251:9;3238:23;3270:31;3295:5;3270:31;:::i;:::-;3320:5;-1:-1:-1;3377:2:1;3362:18;;3349:32;3390:33;3349:32;3390:33;:::i;:::-;3442:7;3432:17;;;3067:388;;;;;:::o;3460:118::-;3546:5;3539:13;3532:21;3525:5;3522:32;3512:60;;3568:1;3565;3558:12;3583:309;3648:6;3656;3709:2;3697:9;3688:7;3684:23;3680:32;3677:52;;;3725:1;3722;3715:12;3677:52;3761:9;3748:23;3738:33;;3821:2;3810:9;3806:18;3793:32;3834:28;3856:5;3834:28;:::i;3897:454::-;3992:6;4000;4008;4016;4024;4077:3;4065:9;4056:7;4052:23;4048:33;4045:53;;;4094:1;4091;4084:12;4045:53;-1:-1:-1;;4117:23:1;;;4187:2;4172:18;;4159:32;;-1:-1:-1;4238:2:1;4223:18;;4210:32;;4289:2;4274:18;;4261:32;;-1:-1:-1;4340:3:1;4325:19;4312:33;;-1:-1:-1;3897:454:1;-1:-1:-1;3897:454:1:o;5032:241::-;5088:6;5141:2;5129:9;5120:7;5116:23;5112:32;5109:52;;;5157:1;5154;5147:12;5109:52;5196:9;5183:23;5215:28;5237:5;5215:28;:::i;5501:356::-;5703:2;5685:21;;;5722:18;;;5715:30;5781:34;5776:2;5761:18;;5754:62;5848:2;5833:18;;5501:356::o;6271:127::-;6332:10;6327:3;6323:20;6320:1;6313:31;6363:4;6360:1;6353:15;6387:4;6384:1;6377:15;6403:125;6443:4;6471:1;6468;6465:8;6462:34;;;6476:18;;:::i;:::-;-1:-1:-1;6513:9:1;;6403:125::o;6944:217::-;6984:1;7010;7000:132;;7054:10;7049:3;7045:20;7042:1;7035:31;7089:4;7086:1;7079:15;7117:4;7114:1;7107:15;7000:132;-1:-1:-1;7146:9:1;;6944:217::o;7518:127::-;7579:10;7574:3;7570:20;7567:1;7560:31;7610:4;7607:1;7600:15;7634:4;7631:1;7624:15;7650:127;7711:10;7706:3;7702:20;7699:1;7692:31;7742:4;7739:1;7732:15;7766:4;7763:1;7756:15;7782:135;7821:3;7842:17;;;7839:43;;7862:18;;:::i;:::-;-1:-1:-1;7909:1:1;7898:13;;7782:135::o;7922:128::-;7962:3;7993:1;7989:6;7986:1;7983:13;7980:39;;;7999:18;;:::i;:::-;-1:-1:-1;8035:9:1;;7922:128::o;9047:245::-;9114:6;9167:2;9155:9;9146:7;9142:23;9138:32;9135:52;;;9183:1;9180;9173:12;9135:52;9215:9;9209:16;9234:28;9256:5;9234:28;:::i;10059:422::-;10148:1;10191:5;10148:1;10205:270;10226:7;10216:8;10213:21;10205:270;;;10285:4;10281:1;10277:6;10273:17;10267:4;10264:27;10261:53;;;10294:18;;:::i;:::-;10344:7;10334:8;10330:22;10327:55;;;10364:16;;;;10327:55;10443:22;;;;10403:15;;;;10205:270;;;10209:3;10059:422;;;;;:::o;10486:806::-;10535:5;10565:8;10555:80;;-1:-1:-1;10606:1:1;10620:5;;10555:80;10654:4;10644:76;;-1:-1:-1;10691:1:1;10705:5;;10644:76;10736:4;10754:1;10749:59;;;;10822:1;10817:130;;;;10729:218;;10749:59;10779:1;10770:10;;10793:5;;;10817:130;10854:3;10844:8;10841:17;10838:43;;;10861:18;;:::i;:::-;-1:-1:-1;;10917:1:1;10903:16;;10932:5;;10729:218;;11031:2;11021:8;11018:16;11012:3;11006:4;11003:13;10999:36;10993:2;10983:8;10980:16;10975:2;10969:4;10966:12;10962:35;10959:77;10956:159;;;-1:-1:-1;11068:19:1;;;11100:5;;10956:159;11147:34;11172:8;11166:4;11147:34;:::i;:::-;11217:6;11213:1;11209:6;11205:19;11196:7;11193:32;11190:58;;;11228:18;;:::i;:::-;11266:20;;10486:806;-1:-1:-1;;;10486:806:1:o;11297:140::-;11355:5;11384:47;11425:4;11415:8;11411:19;11405:4;11384:47;:::i;11442:168::-;11482:7;11548:1;11544;11540:6;11536:14;11533:1;11530:21;11525:1;11518:9;11511:17;11507:45;11504:71;;;11555:18;;:::i;:::-;-1:-1:-1;11595:9:1;;11442:168::o;15404:251::-;15474:6;15527:2;15515:9;15506:7;15502:23;15498:32;15495:52;;;15543:1;15540;15533:12;15495:52;15575:9;15569:16;15594:31;15619:5;15594:31;:::i;15660:980::-;15922:4;15970:3;15959:9;15955:19;16001:6;15990:9;15983:25;16027:2;16065:6;16060:2;16049:9;16045:18;16038:34;16108:3;16103:2;16092:9;16088:18;16081:31;16132:6;16167;16161:13;16198:6;16190;16183:22;16236:3;16225:9;16221:19;16214:26;;16275:2;16267:6;16263:15;16249:29;;16296:1;16306:195;16320:6;16317:1;16314:13;16306:195;;;16385:13;;-1:-1:-1;;;;;16381:39:1;16369:52;;16476:15;;;;16441:12;;;;16417:1;16335:9;16306:195;;;-1:-1:-1;;;;;;;16557:32:1;;;;16552:2;16537:18;;16530:60;-1:-1:-1;;;16621:3:1;16606:19;16599:35;16518:3;15660:980;-1:-1:-1;;;15660:980:1:o

Swarm Source

ipfs://087554b3b690470c9ca6a64d53d09fe9b0b368d996fe7b5285ea433861d2ebc2
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.