ETH Price: $2,412.35 (-1.22%)

Token

Lysergicaciddiethylamide (Lysergicaciddiethylamide)
 

Overview

Max Total Supply

500,000,000 Lysergicaciddiethylamide

Holders

86

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0.449547842 Lysergicaciddiethylamide

Value
$0.00
0x634ede50b7a4d9c9990cf63abf246e679207667a
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
Lysergicaciddiethylamide

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-08-09
*/

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

/********************************************************************************************
  INTERFACE
********************************************************************************************/

interface IERC20 {
    
    // EVENT 

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

    // FUNCTION

    function name() external view returns (string memory);
    
    function symbol() external view returns (string memory);
    
    function decimals() external view returns (uint8);
    
    function totalSupply() external view returns (uint256);
    
    function balanceOf(address account) external view returns (uint256);
    
    function transfer(address to, uint256 amount) external returns (bool);
    
    function allowance(address owner, address spender) external view returns (uint256);
    
    function approve(address spender, uint256 amount) external returns (bool);
    
    function transferFrom(address from, address to, uint256 amount) external returns (bool);
}

interface IPair {

    // FUNCTION

    function token0() external view returns (address);

    function token1() external view returns (address);
}

interface IFactory {

    // FUNCTION

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

interface IRouter {

    // FUNCTION

    function WETH() external pure returns (address);
        
    function factory() external pure returns (address);

    function swapExactTokensForETHSupportingFeeOnTransferTokens(uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline) external;
    
    function swapExactETHForTokensSupportingFeeOnTransferTokens(uint256 amountOutMin, address[] calldata path, address to, uint256 deadline) external payable;
    
    function swapExactTokensForTokens(uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline) external returns (uint256[] memory amounts);
}

interface ICommonError {

    // ERROR

    error CannotUseCurrentAddress(address current);

    error CannotUseCurrentValue(uint256 current);

    error CannotUseCurrentState(bool current);

    error InvalidAddress(address invalid);

    error InvalidValue(uint256 invalid);
}

/********************************************************************************************
  ACCESS
********************************************************************************************/

abstract contract Ownable {
    
    // DATA

    address private _owner;

    // MODIFIER

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

    // ERROR

    error InvalidOwner(address account);

    error UnauthorizedAccount(address account);

    // CONSTRUCTOR

    constructor(address initialOwner) {
        _transferOwnership(initialOwner);
    }

    // EVENT
    
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

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

    function _checkOwner() internal view virtual {
        if (owner() != msg.sender) {
            revert UnauthorizedAccount(msg.sender);
        }
    }

    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        if (newOwner == address(0)) {
            revert InvalidOwner(address(0));
        }
        _transferOwnership(newOwner);
    }

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

/********************************************************************************************
  TOKEN
********************************************************************************************/

contract Lysergicaciddiethylamide is Ownable, ICommonError, IERC20 {

    // DATA

    IRouter public router;

    string private constant NAME = "Lysergicaciddiethylamide";
    string private constant SYMBOL = "Lysergicaciddiethylamide";

    uint8 private constant DECIMALS = 9;

    uint256 private _totalSupply;
    
    uint256 public constant FEEDENOMINATOR = 10_000;

    uint256 public constant BUYFEE = 200;
    uint256 public constant SELLFEE = 200;
    uint256 public constant TRANSFERFEE = 0;

    uint256 public earlyFeeTimestamp = 0;
    uint256 public totalFeeCollected = 0;
    uint256 public totalFeeRedeemed = 0;
    uint256 public totalTriggerZeusBuyback = 0;
    uint256 public lastTriggerZeusTimestamp = 0;
    uint256 public minSwap = 100 gwei;

    bool private constant ISLysergicaciddiethylamide = true;

    bool public presaleFinalized = false;
    bool public isFeeActive = false;
    bool public isSwapEnabled = false;
    bool public inSwap = false;

    address public constant ZERO = address(0);
    address public constant DEAD = address(0xdead);

    address public immutable projectOwner;
    address public immutable feeReceiver;

    address public pair;
    
    // MAPPING

    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) public isExcludeFromFees;
    mapping(address => bool) public isPairLP;

    // MODIFIER

    modifier swapping() {
        inSwap = true;
        _;
        inSwap = false;
    }

    // ERROR

    error InvalidFeeActiveState(bool current);

    error InvalidSwapEnabledState(bool current);

    error PresaleAlreadyFinalized(bool current);

    error TradeDisabled();

    // CONSTRUCTOR

    constructor(
        address projectOwnerAddress,
        address feeReceiverAddress
    ) Ownable (msg.sender) {
        if (projectOwnerAddress == ZERO) { revert InvalidAddress(projectOwnerAddress); }
        if (feeReceiverAddress == ZERO) { revert InvalidAddress(feeReceiverAddress); }

        projectOwner = projectOwnerAddress;
        feeReceiver = feeReceiverAddress;

        _mint(msg.sender, 500_000_000 * 10**DECIMALS);

        isExcludeFromFees[msg.sender] = true;
        isExcludeFromFees[projectOwner] = true;
        isExcludeFromFees[address(router)] = true;
    }

    // EVENT

    event UpdateRouter(address oldRouter, address newRouter, address caller, uint256 timestamp);

    event UpdateMinSwap(uint256 oldMinSwap, uint256 newMinSwap, address caller, uint256 timestamp);

    event UpdateFeeActive(bool oldStatus, bool newStatus, address caller, uint256 timestamp);

    event UpdateSwapEnabled(bool oldStatus, bool newStatus, address caller, uint256 timestamp);
        
    event AutoRedeem(uint256 feeDistribution, uint256 amountToRedeem, address caller, uint256 timestamp);

    event EnableTrading(bool oldStatus, bool newStatus, address caller, uint256 timestamp);

    // FUNCTION

    /* General */

    receive() external payable {}

    function finalizePresale() external onlyOwner {
        if (presaleFinalized) { revert PresaleAlreadyFinalized(presaleFinalized); }
        if (isFeeActive) { revert InvalidFeeActiveState(isFeeActive); }
        if (isSwapEnabled) { revert InvalidSwapEnabledState(isSwapEnabled); }
        earlyFeeTimestamp = block.timestamp;
        isFeeActive = true;
        isSwapEnabled = true;
        presaleFinalized = true;
    }

    /* Redeem */

    function autoRedeem(uint256 amountToRedeem) public swapping {          
        totalFeeRedeemed += amountToRedeem;

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

        _approve(address(this), address(router), amountToRedeem);
        
        emit AutoRedeem(amountToRedeem, amountToRedeem, msg.sender, block.timestamp);

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amountToRedeem,
            0,
            path,
            feeReceiver,
            block.timestamp
        );
    }

    /* Check */

    function isLysergicaciddiethylamide() external pure returns (bool) {
        return ISLysergicaciddiethylamide;
    }

    function circulatingSupply() external view returns (uint256) {
        return totalSupply() - balanceOf(DEAD) - balanceOf(ZERO);
    }

    /* Update */

    function updateRouter(address newRouter) external onlyOwner {
        if (address(router) == newRouter) { revert CannotUseCurrentAddress(newRouter); }
        address oldRouter = address(router);
        router = IRouter(newRouter);
        
        isExcludeFromFees[newRouter] = true;

        emit UpdateRouter(oldRouter, newRouter, msg.sender, block.timestamp);
        pair = IFactory(router.factory()).createPair(address(this), router.WETH());
        isPairLP[pair] = true;
    }

    function updateMinSwap(uint256 newMinSwap) external onlyOwner {
        if (minSwap == newMinSwap) { revert CannotUseCurrentValue(newMinSwap); }
        uint256 oldMinSwap = minSwap;
        minSwap = newMinSwap;
        emit UpdateMinSwap(oldMinSwap, newMinSwap, msg.sender, block.timestamp);
    }

    function updateFeeActive(bool newStatus) external onlyOwner {
        if (isFeeActive == newStatus) { revert CannotUseCurrentState(newStatus); }
        bool oldStatus = isFeeActive;
        isFeeActive = newStatus;
        emit UpdateFeeActive(oldStatus, newStatus, msg.sender, block.timestamp);
    }

    function updateSwapEnabled(bool newStatus) external onlyOwner {
        if (isSwapEnabled == newStatus) { revert CannotUseCurrentState(newStatus); }
        bool oldStatus = isSwapEnabled;
        isSwapEnabled = newStatus;
        emit UpdateSwapEnabled(oldStatus, newStatus, msg.sender, block.timestamp);
    }

    function setExcludeFromFees(address user, bool status) external onlyOwner {
        if (isExcludeFromFees[user] == status) { revert CannotUseCurrentState(status); }
        isExcludeFromFees[user] = status;
    }

    function setPairLP(address lpPair, bool status) external onlyOwner {
        if (isPairLP[lpPair] == status) { revert CannotUseCurrentState(status); }
        if (IPair(lpPair).token0() != address(this) && IPair(lpPair).token1() != address(this)) { revert InvalidAddress(lpPair); }
        isPairLP[lpPair] = status;
    }

    /* Fee */

    function checkCurrentFee() public view returns (uint256, uint256, uint256) {
        if (block.timestamp <= earlyFeeTimestamp + 3 minutes) {
            return (2500, 2500, 0);
        }
        if (block.timestamp > earlyFeeTimestamp + 3 minutes && block.timestamp <= earlyFeeTimestamp + 5 minutes) {
            return (1500, 1500, 0);
        }
        if (block.timestamp > earlyFeeTimestamp + 5 minutes && block.timestamp <= earlyFeeTimestamp + 6 minutes) {
            return (900, 900, 0);
        }
        return (BUYFEE, SELLFEE, TRANSFERFEE);
    }

    function takeBuyFee(address from, uint256 amount) internal swapping returns (uint256) {
        (uint256 currentFee, , ) = checkCurrentFee();
        uint256 feeAmount = amount * currentFee / FEEDENOMINATOR;
        uint256 newAmount = amount - feeAmount;
        if (feeAmount > 0) {
            tallyCollection(from, feeAmount);
        }
        return newAmount;
    }

    function takeSellFee(address from, uint256 amount) internal swapping returns (uint256) {
        ( , uint256 currentFee, ) = checkCurrentFee();
        uint256 feeAmount = amount * currentFee / FEEDENOMINATOR;
        uint256 newAmount = amount - feeAmount;
        if (feeAmount > 0) {
            tallyCollection(from, feeAmount);
        }
        return newAmount;
    }

    function takeTransferFee(address from, uint256 amount) internal swapping returns (uint256) {
        ( , , uint256 currentFee) = checkCurrentFee();
        uint256 feeAmount = amount * currentFee / FEEDENOMINATOR;
        uint256 newAmount = amount - feeAmount;
        if (feeAmount > 0) {
            tallyCollection(from, feeAmount);
        }
        return newAmount;
    }

    function tallyCollection(address from, uint256 collectFee) internal swapping {
        totalFeeCollected += collectFee;
        _balances[from] -= collectFee;
        _balances[address(this)] += collectFee;
    }

    /* Buyback */

    function triggerZeusBuyback(uint256 amount) external onlyOwner {
        totalTriggerZeusBuyback += amount;
        lastTriggerZeusTimestamp = block.timestamp;
        buyTokens(amount, DEAD);
    }

    function buyTokens(uint256 amount, address to) internal swapping {
        if (msg.sender == DEAD) { revert InvalidAddress(DEAD); }
        address[] memory path = new address[](2);
        path[0] = router.WETH();
        path[1] = address(this);

        router.swapExactETHForTokensSupportingFeeOnTransferTokens{
            value: amount
        } (0, path, to, block.timestamp);
    }

    /* ERC20 Standard */

    function name() external view virtual override returns (string memory) {
        return NAME;
    }
    
    function symbol() external view virtual override returns (string memory) {
        return SYMBOL;
    }
    
    function decimals() external view virtual override returns (uint8) {
        return DECIMALS;
    }
    
    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }
    
    function balanceOf(address account) public view virtual override returns (uint256) {
        return _balances[account];
    }
    
    function transfer(address to, uint256 amount) external virtual override returns (bool) {
        address provider = msg.sender;
        return _transfer(provider, to, amount);
    }
    
    function allowance(address provider, address spender) public view virtual override returns (uint256) {
        return _allowances[provider][spender];
    }
    
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        address provider = msg.sender;
        _approve(provider, spender, amount);
        return true;
    }
    
    function transferFrom(address from, address to, uint256 amount) external virtual override returns (bool) {
        address spender = msg.sender;
        _spendAllowance(from, spender, amount);
        return _transfer(from, to, amount);
    }
    
    function increaseAllowance(address spender, uint256 addedValue) external virtual returns (bool) {
        address provider = msg.sender;
        _approve(provider, spender, allowance(provider, spender) + addedValue);
        return true;
    }
    
    function decreaseAllowance(address spender, uint256 subtractedValue) external virtual returns (bool) {
        address provider = msg.sender;
        uint256 currentAllowance = allowance(provider, spender);
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        unchecked {
            _approve(provider, spender, currentAllowance - subtractedValue);
        }

        return true;
    }
    
    function _mint(address account, uint256 amount) internal virtual {
        if (account == ZERO) { revert InvalidAddress(account); }

        _totalSupply += amount;
        unchecked {
            _balances[account] += amount;
        }
        emit Transfer(address(0), account, amount);
    }

    function _approve(address provider, address spender, uint256 amount) internal virtual {
        if (provider == ZERO) { revert InvalidAddress(provider); }
        if (spender == ZERO) { revert InvalidAddress(spender); }

        _allowances[provider][spender] = amount;
        emit Approval(provider, spender, amount);
    }
    
    function _spendAllowance(address provider, address spender, uint256 amount) internal virtual {
        uint256 currentAllowance = allowance(provider, spender);
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "ERC20: insufficient allowance");
            unchecked {
                _approve(provider, spender, currentAllowance - amount);
            }
        }
    }

    /* Additional */

    function _basicTransfer(address from, address to, uint256 amount ) internal returns (bool) {
        uint256 fromBalance = _balances[from];
        require(fromBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[from] = fromBalance - amount;
            _balances[to] += amount;
        }

        emit Transfer(from, to, amount);
        return true;
    }
    
    /* Overrides */
 
    function _transfer(address from, address to, uint256 amount) internal virtual returns (bool) {
        if (from == ZERO) { revert InvalidAddress(from); }
        if (to == ZERO) { revert InvalidAddress(to); }

        if (inSwap || isExcludeFromFees[from]) {
            return _basicTransfer(from, to, amount);
        }

        if (from != pair && isSwapEnabled && balanceOf(address(this)) >= minSwap && totalFeeCollected - totalFeeRedeemed >= minSwap) {
            autoRedeem(minSwap);
        }

        uint256 newAmount = amount;

        if (isFeeActive && !isExcludeFromFees[from] && !isExcludeFromFees[to]) {
            newAmount = _beforeTokenTransfer(from, to, amount);
        }

        require(_balances[from] >= newAmount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[from] = _balances[from] - newAmount;
            _balances[to] += newAmount;
        }

        emit Transfer(from, to, newAmount);

        return true;
    }

    function _beforeTokenTransfer(address from, address to, uint256 amount) internal swapping virtual returns (uint256) {
        if (isPairLP[from] && (BUYFEE > 0)) {
            return takeBuyFee(from, amount);
        }
        if (isPairLP[to] && (SELLFEE > 0)) {
            return takeSellFee(from, amount);
        }
        if (!isPairLP[from] && !isPairLP[to] && (TRANSFERFEE > 0)) {
            return takeTransferFee(from, amount);
        }
        return amount;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"projectOwnerAddress","type":"address"},{"internalType":"address","name":"feeReceiverAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"current","type":"address"}],"name":"CannotUseCurrentAddress","type":"error"},{"inputs":[{"internalType":"bool","name":"current","type":"bool"}],"name":"CannotUseCurrentState","type":"error"},{"inputs":[{"internalType":"uint256","name":"current","type":"uint256"}],"name":"CannotUseCurrentValue","type":"error"},{"inputs":[{"internalType":"address","name":"invalid","type":"address"}],"name":"InvalidAddress","type":"error"},{"inputs":[{"internalType":"bool","name":"current","type":"bool"}],"name":"InvalidFeeActiveState","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"InvalidOwner","type":"error"},{"inputs":[{"internalType":"bool","name":"current","type":"bool"}],"name":"InvalidSwapEnabledState","type":"error"},{"inputs":[{"internalType":"uint256","name":"invalid","type":"uint256"}],"name":"InvalidValue","type":"error"},{"inputs":[{"internalType":"bool","name":"current","type":"bool"}],"name":"PresaleAlreadyFinalized","type":"error"},{"inputs":[],"name":"TradeDisabled","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"UnauthorizedAccount","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"feeDistribution","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountToRedeem","type":"uint256"},{"indexed":false,"internalType":"address","name":"caller","type":"address"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"AutoRedeem","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"oldStatus","type":"bool"},{"indexed":false,"internalType":"bool","name":"newStatus","type":"bool"},{"indexed":false,"internalType":"address","name":"caller","type":"address"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"EnableTrading","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"oldStatus","type":"bool"},{"indexed":false,"internalType":"bool","name":"newStatus","type":"bool"},{"indexed":false,"internalType":"address","name":"caller","type":"address"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"UpdateFeeActive","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldMinSwap","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newMinSwap","type":"uint256"},{"indexed":false,"internalType":"address","name":"caller","type":"address"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"UpdateMinSwap","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldRouter","type":"address"},{"indexed":false,"internalType":"address","name":"newRouter","type":"address"},{"indexed":false,"internalType":"address","name":"caller","type":"address"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"UpdateRouter","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"oldStatus","type":"bool"},{"indexed":false,"internalType":"bool","name":"newStatus","type":"bool"},{"indexed":false,"internalType":"address","name":"caller","type":"address"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"UpdateSwapEnabled","type":"event"},{"inputs":[],"name":"BUYFEE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DEAD","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"FEEDENOMINATOR","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SELLFEE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TRANSFERFEE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ZERO","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"provider","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":"uint256","name":"amountToRedeem","type":"uint256"}],"name":"autoRedeem","outputs":[],"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":"checkCurrentFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"circulatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"earlyFeeTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"finalizePresale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"inSwap","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludeFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isFeeActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isLysergicaciddiethylamide","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isPairLP","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isSwapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastTriggerZeusTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"presaleFinalized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"projectOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"bool","name":"status","type":"bool"}],"name":"setExcludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"lpPair","type":"address"},{"internalType":"bool","name":"status","type":"bool"}],"name":"setPairLP","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFeeCollected","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFeeRedeemed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalTriggerZeusBuyback","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"triggerZeusBuyback","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"newStatus","type":"bool"}],"name":"updateFeeActive","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMinSwap","type":"uint256"}],"name":"updateMinSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newRouter","type":"address"}],"name":"updateRouter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"newStatus","type":"bool"}],"name":"updateSwapEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c06040526000600355600060045560006005556000600655600060075564174876e8006008556000600960006101000a81548160ff0219169083151502179055506000600960016101000a81548160ff0219169083151502179055506000600960026101000a81548160ff0219169083151502179055506000600960036101000a81548160ff0219169083151502179055503480156200009f57600080fd5b5060405162004410380380620044108339818101604052810190620000c5919062000604565b33620000d7816200038e60201b60201c565b50600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036200014c57816040517f8e4c8aa60000000000000000000000000000000000000000000000000000000081526004016200014391906200065c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620001c057806040517f8e4c8aa6000000000000000000000000000000000000000000000000000000008152600401620001b791906200065c565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250506200025a336009600a6200023d919062000813565b631dcd65006200024e919062000864565b6200045260201b60201c565b6001600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600c600060805173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600c6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505062000918565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620004c657816040517f8e4c8aa6000000000000000000000000000000000000000000000000000000008152600401620004bd91906200065c565b60405180910390fd5b8060026000828254620004da9190620008af565b9250508190555080600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200058e9190620008fb565b60405180910390a35050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620005cc826200059f565b9050919050565b620005de81620005bf565b8114620005ea57600080fd5b50565b600081519050620005fe81620005d3565b92915050565b600080604083850312156200061e576200061d6200059a565b5b60006200062e85828601620005ed565b92505060206200064185828601620005ed565b9150509250929050565b6200065681620005bf565b82525050565b60006020820190506200067360008301846200064b565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200070757808604811115620006df57620006de62000679565b5b6001851615620006ef5780820291505b8081029050620006ff85620006a8565b9450620006bf565b94509492505050565b600082620007225760019050620007f5565b81620007325760009050620007f5565b81600181146200074b576002811462000756576200078c565b6001915050620007f5565b60ff8411156200076b576200076a62000679565b5b8360020a91508482111562000785576200078462000679565b5b50620007f5565b5060208310610133831016604e8410600b8410161715620007c65782820a905083811115620007c057620007bf62000679565b5b620007f5565b620007d58484846001620006b5565b92509050818404811115620007ef57620007ee62000679565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b60006200082082620007fc565b91506200082d8362000806565b92506200085c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000710565b905092915050565b60006200087182620007fc565b91506200087e83620007fc565b92508282026200088e81620007fc565b91508282048414831517620008a857620008a762000679565b5b5092915050565b6000620008bc82620007fc565b9150620008c983620007fc565b9250828201905080821115620008e457620008e362000679565b5b92915050565b620008f581620007fc565b82525050565b6000602082019050620009126000830184620008ea565b92915050565b60805160a051613acb6200094560003960008181610d7b01526118580152600061177e0152613acb6000f3fe6080604052600436106102975760003560e01c80637d917d9f1161015a578063ab28a04c116100c1578063da4daf711161007a578063da4daf71146109f9578063dd62ed3e14610a24578063e43504da14610a61578063f2a4268714610a8c578063f2fde38b14610ac9578063f887ea4014610af25761029e565b8063ab28a04c146108fb578063b3f0067414610926578063b9b2b5cd14610951578063c851cc321461097c578063d63cad22146109a5578063d8306786146109ce5761029e565b806397e1b9d31161011357806397e1b9d3146107e9578063a0a6e94014610814578063a4475ce41461082b578063a457c2d714610856578063a8aa1b3114610893578063a9059cbb146108be5761029e565b80637d917d9f146106e95780638d5ea8f1146107145780638da5cb5b1461073f578063924de9b71461076a5780639358928b1461079357806395d89b41146107be5761029e565b80633fc8aa8f116101fe5780636d498093116101b75780636d498093146105e957806370a0823114610614578063715018a61461065157806371538eed1461066857806375fed3c7146106935780637c56d1b0146106bc5761029e565b80633fc8aa8f146104eb57806358fa63ca1461051657806359cd903114610541578063625dd6051461056c57806363a9549214610595578063690f776b146105be5761029e565b806323b872dd1161025057806323b872dd146103c75780632ce0c0a014610404578063313ce5671461042f578063351a964d1461045a57806339509351146104855780633bf31454146104c25761029e565b806301295143146102a357806303fd2a45146102cc57806306fdde03146102f757806308c4365014610322578063095ea7b31461035f57806318160ddd1461039c5761029e565b3661029e57005b600080fd5b3480156102af57600080fd5b506102ca60048036038101906102c5919061304d565b610b1d565b005b3480156102d857600080fd5b506102e1610e0c565b6040516102ee91906130bb565b60405180910390f35b34801561030357600080fd5b5061030c610e12565b6040516103199190613166565b60405180910390f35b34801561032e57600080fd5b50610349600480360381019061034491906131b4565b610e4f565b60405161035691906131fc565b60405180910390f35b34801561036b57600080fd5b5061038660048036038101906103819190613217565b610e6f565b60405161039391906131fc565b60405180910390f35b3480156103a857600080fd5b506103b1610e8b565b6040516103be9190613266565b60405180910390f35b3480156103d357600080fd5b506103ee60048036038101906103e99190613281565b610e95565b6040516103fb91906131fc565b60405180910390f35b34801561041057600080fd5b50610419610ebb565b6040516104269190613266565b60405180910390f35b34801561043b57600080fd5b50610444610ec0565b60405161045191906132f0565b60405180910390f35b34801561046657600080fd5b5061046f610ec9565b60405161047c91906131fc565b60405180910390f35b34801561049157600080fd5b506104ac60048036038101906104a79190613217565b610edc565b6040516104b991906131fc565b60405180910390f35b3480156104ce57600080fd5b506104e960048036038101906104e49190613337565b610f0c565b005b3480156104f757600080fd5b50610500610fda565b60405161050d9190613266565b60405180910390f35b34801561052257600080fd5b5061052b610fdf565b60405161053891906130bb565b60405180910390f35b34801561054d57600080fd5b50610556610fe4565b6040516105639190613266565b60405180910390f35b34801561057857600080fd5b50610593600480360381019061058e9190613364565b610fea565b005b3480156105a157600080fd5b506105bc60048036038101906105b7919061304d565b611267565b005b3480156105ca57600080fd5b506105d361129e565b6040516105e09190613266565b60405180910390f35b3480156105f557600080fd5b506105fe6112a3565b60405161060b91906131fc565b60405180910390f35b34801561062057600080fd5b5061063b600480360381019061063691906131b4565b6112b6565b6040516106489190613266565b60405180910390f35b34801561065d57600080fd5b506106666112ff565b005b34801561067457600080fd5b5061067d611313565b60405161068a9190613266565b60405180910390f35b34801561069f57600080fd5b506106ba60048036038101906106b5919061304d565b611319565b005b3480156106c857600080fd5b506106d16113b6565b6040516106e0939291906133a4565b60405180910390f35b3480156106f557600080fd5b506106fe611477565b60405161070b91906131fc565b60405180910390f35b34801561072057600080fd5b50610729611480565b6040516107369190613266565b60405180910390f35b34801561074b57600080fd5b50610754611486565b60405161076191906130bb565b60405180910390f35b34801561077657600080fd5b50610791600480360381019061078c9190613337565b6114af565b005b34801561079f57600080fd5b506107a861157d565b6040516107b59190613266565b60405180910390f35b3480156107ca57600080fd5b506107d36115b5565b6040516107e09190613166565b60405180910390f35b3480156107f557600080fd5b506107fe6115f2565b60405161080b9190613266565b60405180910390f35b34801561082057600080fd5b506108296115f8565b005b34801561083757600080fd5b5061084061177c565b60405161084d91906130bb565b60405180910390f35b34801561086257600080fd5b5061087d60048036038101906108789190613217565b6117a0565b60405161088a91906131fc565b60405180910390f35b34801561089f57600080fd5b506108a8611810565b6040516108b591906130bb565b60405180910390f35b3480156108ca57600080fd5b506108e560048036038101906108e09190613217565b611836565b6040516108f291906131fc565b60405180910390f35b34801561090757600080fd5b50610910611850565b60405161091d9190613266565b60405180910390f35b34801561093257600080fd5b5061093b611856565b60405161094891906130bb565b60405180910390f35b34801561095d57600080fd5b5061096661187a565b6040516109739190613266565b60405180910390f35b34801561098857600080fd5b506109a3600480360381019061099e91906131b4565b611880565b005b3480156109b157600080fd5b506109cc60048036038101906109c79190613364565b611c73565b005b3480156109da57600080fd5b506109e3611d6a565b6040516109f091906131fc565b60405180910390f35b348015610a0557600080fd5b50610a0e611d7d565b604051610a1b9190613266565b60405180910390f35b348015610a3057600080fd5b50610a4b6004803603810190610a4691906133db565b611d83565b604051610a589190613266565b60405180910390f35b348015610a6d57600080fd5b50610a76611e0a565b604051610a8391906131fc565b60405180910390f35b348015610a9857600080fd5b50610ab36004803603810190610aae91906131b4565b611e1d565b604051610ac091906131fc565b60405180910390f35b348015610ad557600080fd5b50610af06004803603810190610aeb91906131b4565b611e3d565b005b348015610afe57600080fd5b50610b07611ec3565b604051610b14919061347a565b60405180910390f35b6001600960036101000a81548160ff0219169083151502179055508060056000828254610b4a91906134c4565b925050819055506000600267ffffffffffffffff811115610b6e57610b6d6134f8565b5b604051908082528060200260200182016040528015610b9c5781602001602082028036833780820191505090505b5090503081600081518110610bb457610bb3613527565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c5b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c7f919061356b565b81600181518110610c9357610c92613527565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050610cfa30600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611ee9565b7fb933c1b294702108551eddf782a9c7d1a018b57f68ecf63bc59a1247daa19c3082833342604051610d2f9493929190613598565b60405180910390a1600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947836000847f0000000000000000000000000000000000000000000000000000000000000000426040518663ffffffff1660e01b8152600401610dbb9594939291906136d6565b600060405180830381600087803b158015610dd557600080fd5b505af1158015610de9573d6000803e3d6000fd5b50505050506000600960036101000a81548160ff02191690831515021790555050565b61dead81565b60606040518060400160405280601881526020017f4c79736572676963616369646469657468796c616d6964650000000000000000815250905090565b600d6020528060005260406000206000915054906101000a900460ff1681565b600080339050610e80818585611ee9565b600191505092915050565b6000600254905090565b600080339050610ea68582856120b6565b610eb1858585612142565b9150509392505050565b600081565b60006009905090565b600960029054906101000a900460ff1681565b600080339050610f01818585610ef28589611d83565b610efc91906134c4565b611ee9565b600191505092915050565b610f146125e8565b801515600960019054906101000a900460ff16151503610f6b57806040517f0a7e72d0000000000000000000000000000000000000000000000000000000008152600401610f6291906131fc565b60405180910390fd5b6000600960019054906101000a900460ff16905081600960016101000a81548160ff0219169083151502179055507ff99f9d4d81f67d0980beea494b4404ba3b8af1a0a2d493230f1a883efa027f2f81833342604051610fce9493929190613730565b60405180910390a15050565b60c881565b600081565b60085481565b610ff26125e8565b801515600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615150361108657806040517f0a7e72d000000000000000000000000000000000000000000000000000000000815260040161107d91906131fc565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061110c919061356b565b73ffffffffffffffffffffffffffffffffffffffff16141580156111ca57503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa15801561118d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b1919061356b565b73ffffffffffffffffffffffffffffffffffffffff1614155b1561120c57816040517f8e4c8aa600000000000000000000000000000000000000000000000000000000815260040161120391906130bb565b60405180910390fd5b80600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b61126f6125e8565b806006600082825461128191906134c4565b925050819055504260078190555061129b8161dead612661565b50565b60c881565b600960009054906101000a900460ff1681565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6113076125e8565b6113116000612921565b565b60055481565b6113216125e8565b806008540361136757806040517f657e16cf00000000000000000000000000000000000000000000000000000000815260040161135e9190613266565b60405180910390fd5b60006008549050816008819055507f9a9f4704ac409fe039e92a996e415370980275aaff2992936ed5b432886c55c5818333426040516113aa9493929190613598565b60405180910390a15050565b600080600060b46003546113ca91906134c4565b42116113e1576109c4806000925092509250611472565b60b46003546113f091906134c4565b4211801561140d575061012c60035461140991906134c4565b4211155b15611423576105dc806000925092509250611472565b61012c60035461143391906134c4565b42118015611450575061016860035461144c91906134c4565b4211155b1561146657610384806000925092509250611472565b60c88060009250925092505b909192565b60006001905090565b60035481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6114b76125e8565b801515600960029054906101000a900460ff1615150361150e57806040517f0a7e72d000000000000000000000000000000000000000000000000000000000815260040161150591906131fc565b60405180910390fd5b6000600960029054906101000a900460ff16905081600960026101000a81548160ff0219169083151502179055507fa9eb6c000d17475b17651469533695f7b673c93327fdbadf4341ebeb2607a044818333426040516115719493929190613730565b60405180910390a15050565b600061158960006112b6565b61159461dead6112b6565b61159c610e8b565b6115a69190613775565b6115b09190613775565b905090565b60606040518060400160405280601881526020017f4c79736572676963616369646469657468796c616d6964650000000000000000815250905090565b60075481565b6116006125e8565b600960009054906101000a900460ff161561166057600960009054906101000a900460ff166040517e4dc03900000000000000000000000000000000000000000000000000000000815260040161165791906131fc565b60405180910390fd5b600960019054906101000a900460ff16156116c157600960019054906101000a900460ff166040517f3bfe402c0000000000000000000000000000000000000000000000000000000081526004016116b891906131fc565b60405180910390fd5b600960029054906101000a900460ff161561172257600960029054906101000a900460ff166040517f610a8e6700000000000000000000000000000000000000000000000000000000815260040161171991906131fc565b60405180910390fd5b426003819055506001600960016101000a81548160ff0219169083151502179055506001600960026101000a81548160ff0219169083151502179055506001600960006101000a81548160ff021916908315150217905550565b7f000000000000000000000000000000000000000000000000000000000000000081565b60008033905060006117b28286611d83565b9050838110156117f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ee9061381b565b60405180910390fd5b6118048286868403611ee9565b60019250505092915050565b600960049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080339050611847818585612142565b91505092915050565b61271081565b7f000000000000000000000000000000000000000000000000000000000000000081565b60045481565b6118886125e8565b8073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff160361191a57806040517fa936636900000000000000000000000000000000000000000000000000000000815260040161191191906130bb565b60405180910390fd5b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fe1cb783288eddc7b22c25642a832d886a558be0dd900747310a34156b9fdcbbb81833342604051611a0f949392919061383b565b60405180910390a1600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a84573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aa8919061356b565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b55919061356b565b6040518363ffffffff1660e01b8152600401611b72929190613880565b6020604051808303816000875af1158015611b91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bb5919061356b565b600960046101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600d6000600960049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b611c7b6125e8565b801515600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151503611d0f57806040517f0a7e72d0000000000000000000000000000000000000000000000000000000008152600401611d0691906131fc565b60405180910390fd5b80600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600960039054906101000a900460ff1681565b60065481565b6000600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600960019054906101000a900460ff1681565b600c6020528060005260406000206000915054906101000a900460ff1681565b611e456125e8565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611eb75760006040517fb20f76e3000000000000000000000000000000000000000000000000000000008152600401611eae91906130bb565b60405180910390fd5b611ec081612921565b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611f5a57826040517f8e4c8aa6000000000000000000000000000000000000000000000000000000008152600401611f5191906130bb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611fcb57816040517f8e4c8aa6000000000000000000000000000000000000000000000000000000008152600401611fc291906130bb565b60405180910390fd5b80600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516120a99190613266565b60405180910390a3505050565b60006120c28484611d83565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461213c578181101561212e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612125906138f5565b60405180910390fd5b61213b8484848403611ee9565b5b50505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036121b457836040517f8e4c8aa60000000000000000000000000000000000000000000000000000000081526004016121ab91906130bb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361222557826040517f8e4c8aa600000000000000000000000000000000000000000000000000000000815260040161221c91906130bb565b60405180910390fd5b600960039054906101000a900460ff16806122895750600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156122a0576122998484846129e5565b90506125e1565b600960049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561230a5750600960029054906101000a900460ff165b8015612320575060085461231d306112b6565b10155b801561233d575060085460055460045461233a9190613775565b10155b1561234e5761234d600854610b1d565b5b6000829050600960019054906101000a900460ff1680156123b95750600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561240f5750600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156124225761241f858585612b71565b90505b80600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156124a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161249b90613987565b60405180910390fd5b80600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205403600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516125d39190613266565b60405180910390a360019150505b9392505050565b3373ffffffffffffffffffffffffffffffffffffffff16612607611486565b73ffffffffffffffffffffffffffffffffffffffff161461265f57336040517f32b2baa300000000000000000000000000000000000000000000000000000000815260040161265691906130bb565b60405180910390fd5b565b6001600960036101000a81548160ff02191690831515021790555061dead73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16036126f05761dead6040517f8e4c8aa60000000000000000000000000000000000000000000000000000000081526004016126e791906130bb565b60405180910390fd5b6000600267ffffffffffffffff81111561270d5761270c6134f8565b5b60405190808252806020026020018201604052801561273b5781602001602082028036833780820191505090505b509050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156127ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127cf919061356b565b816000815181106127e3576127e2613527565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050308160018151811061283257612831613527565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b6f9de958460008486426040518663ffffffff1660e01b81526004016128cf94939291906139a7565b6000604051808303818588803b1580156128e857600080fd5b505af11580156128fc573d6000803e3d6000fd5b5050505050506000600960036101000a81548160ff0219169083151502179055505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015612a6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a6490613987565b60405180910390fd5b828103600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555082600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612b5d9190613266565b60405180910390a360019150509392505050565b60006001600960036101000a81548160ff021916908315150217905550600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612be85750600060c8115b15612bfe57612bf78483612d5a565b9050612d38565b600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612c585750600060c8115b15612c6e57612c678483612ded565b9050612d38565b600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015612d125750600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015612d1e5750600080115b15612d3457612d2d8483612e80565b9050612d38565b8190505b6000600960036101000a81548160ff0219169083151502179055509392505050565b60006001600960036101000a81548160ff0219169083151502179055506000612d816113b6565b5050905060006127108285612d9691906139f3565b612da09190613a64565b905060008185612db09190613775565b90506000821115612dc657612dc58683612f13565b5b8093505050506000600960036101000a81548160ff02191690831515021790555092915050565b60006001600960036101000a81548160ff0219169083151502179055506000612e146113b6565b5091505060006127108285612e2991906139f3565b612e339190613a64565b905060008185612e439190613775565b90506000821115612e5957612e588683612f13565b5b8093505050506000600960036101000a81548160ff02191690831515021790555092915050565b60006001600960036101000a81548160ff0219169083151502179055506000612ea76113b6565b9250505060006127108285612ebc91906139f3565b612ec69190613a64565b905060008185612ed69190613775565b90506000821115612eec57612eeb8683612f13565b5b8093505050506000600960036101000a81548160ff02191690831515021790555092915050565b6001600960036101000a81548160ff0219169083151502179055508060046000828254612f4091906134c4565b9250508190555080600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612f969190613775565b9250508190555080600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612fec91906134c4565b925050819055506000600960036101000a81548160ff0219169083151502179055505050565b600080fd5b6000819050919050565b61302a81613017565b811461303557600080fd5b50565b60008135905061304781613021565b92915050565b60006020828403121561306357613062613012565b5b600061307184828501613038565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006130a58261307a565b9050919050565b6130b58161309a565b82525050565b60006020820190506130d060008301846130ac565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156131105780820151818401526020810190506130f5565b60008484015250505050565b6000601f19601f8301169050919050565b6000613138826130d6565b61314281856130e1565b93506131528185602086016130f2565b61315b8161311c565b840191505092915050565b60006020820190508181036000830152613180818461312d565b905092915050565b6131918161309a565b811461319c57600080fd5b50565b6000813590506131ae81613188565b92915050565b6000602082840312156131ca576131c9613012565b5b60006131d88482850161319f565b91505092915050565b60008115159050919050565b6131f6816131e1565b82525050565b600060208201905061321160008301846131ed565b92915050565b6000806040838503121561322e5761322d613012565b5b600061323c8582860161319f565b925050602061324d85828601613038565b9150509250929050565b61326081613017565b82525050565b600060208201905061327b6000830184613257565b92915050565b60008060006060848603121561329a57613299613012565b5b60006132a88682870161319f565b93505060206132b98682870161319f565b92505060406132ca86828701613038565b9150509250925092565b600060ff82169050919050565b6132ea816132d4565b82525050565b600060208201905061330560008301846132e1565b92915050565b613314816131e1565b811461331f57600080fd5b50565b6000813590506133318161330b565b92915050565b60006020828403121561334d5761334c613012565b5b600061335b84828501613322565b91505092915050565b6000806040838503121561337b5761337a613012565b5b60006133898582860161319f565b925050602061339a85828601613322565b9150509250929050565b60006060820190506133b96000830186613257565b6133c66020830185613257565b6133d36040830184613257565b949350505050565b600080604083850312156133f2576133f1613012565b5b60006134008582860161319f565b92505060206134118582860161319f565b9150509250929050565b6000819050919050565b600061344061343b6134368461307a565b61341b565b61307a565b9050919050565b600061345282613425565b9050919050565b600061346482613447565b9050919050565b61347481613459565b82525050565b600060208201905061348f600083018461346b565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006134cf82613017565b91506134da83613017565b92508282019050808211156134f2576134f1613495565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061356581613188565b92915050565b60006020828403121561358157613580613012565b5b600061358f84828501613556565b91505092915050565b60006080820190506135ad6000830187613257565b6135ba6020830186613257565b6135c760408301856130ac565b6135d46060830184613257565b95945050505050565b6000819050919050565b60006136026135fd6135f8846135dd565b61341b565b613017565b9050919050565b613612816135e7565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61364d8161309a565b82525050565b600061365f8383613644565b60208301905092915050565b6000602082019050919050565b600061368382613618565b61368d8185613623565b935061369883613634565b8060005b838110156136c95781516136b08882613653565b97506136bb8361366b565b92505060018101905061369c565b5085935050505092915050565b600060a0820190506136eb6000830188613257565b6136f86020830187613609565b818103604083015261370a8186613678565b905061371960608301856130ac565b6137266080830184613257565b9695505050505050565b600060808201905061374560008301876131ed565b61375260208301866131ed565b61375f60408301856130ac565b61376c6060830184613257565b95945050505050565b600061378082613017565b915061378b83613017565b92508282039050818111156137a3576137a2613495565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006138056025836130e1565b9150613810826137a9565b604082019050919050565b60006020820190508181036000830152613834816137f8565b9050919050565b600060808201905061385060008301876130ac565b61385d60208301866130ac565b61386a60408301856130ac565b6138776060830184613257565b95945050505050565b600060408201905061389560008301856130ac565b6138a260208301846130ac565b9392505050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b60006138df601d836130e1565b91506138ea826138a9565b602082019050919050565b6000602082019050818103600083015261390e816138d2565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006139716026836130e1565b915061397c82613915565b604082019050919050565b600060208201905081810360008301526139a081613964565b9050919050565b60006080820190506139bc6000830187613609565b81810360208301526139ce8186613678565b90506139dd60408301856130ac565b6139ea6060830184613257565b95945050505050565b60006139fe82613017565b9150613a0983613017565b9250828202613a1781613017565b91508282048414831517613a2e57613a2d613495565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613a6f82613017565b9150613a7a83613017565b925082613a8a57613a89613a35565b5b82820490509291505056fea26469706673582212201f834b92ce3f8dca7207f003f4421dc47c049b16831829c1ee02e796704c98e464736f6c6343000812003300000000000000000000000041c9c843b188de81f017fd885528729c1a5c786b0000000000000000000000000a000fef7b5beed2dac00e3d8dc0eea2b5499947

Deployed Bytecode

0x6080604052600436106102975760003560e01c80637d917d9f1161015a578063ab28a04c116100c1578063da4daf711161007a578063da4daf71146109f9578063dd62ed3e14610a24578063e43504da14610a61578063f2a4268714610a8c578063f2fde38b14610ac9578063f887ea4014610af25761029e565b8063ab28a04c146108fb578063b3f0067414610926578063b9b2b5cd14610951578063c851cc321461097c578063d63cad22146109a5578063d8306786146109ce5761029e565b806397e1b9d31161011357806397e1b9d3146107e9578063a0a6e94014610814578063a4475ce41461082b578063a457c2d714610856578063a8aa1b3114610893578063a9059cbb146108be5761029e565b80637d917d9f146106e95780638d5ea8f1146107145780638da5cb5b1461073f578063924de9b71461076a5780639358928b1461079357806395d89b41146107be5761029e565b80633fc8aa8f116101fe5780636d498093116101b75780636d498093146105e957806370a0823114610614578063715018a61461065157806371538eed1461066857806375fed3c7146106935780637c56d1b0146106bc5761029e565b80633fc8aa8f146104eb57806358fa63ca1461051657806359cd903114610541578063625dd6051461056c57806363a9549214610595578063690f776b146105be5761029e565b806323b872dd1161025057806323b872dd146103c75780632ce0c0a014610404578063313ce5671461042f578063351a964d1461045a57806339509351146104855780633bf31454146104c25761029e565b806301295143146102a357806303fd2a45146102cc57806306fdde03146102f757806308c4365014610322578063095ea7b31461035f57806318160ddd1461039c5761029e565b3661029e57005b600080fd5b3480156102af57600080fd5b506102ca60048036038101906102c5919061304d565b610b1d565b005b3480156102d857600080fd5b506102e1610e0c565b6040516102ee91906130bb565b60405180910390f35b34801561030357600080fd5b5061030c610e12565b6040516103199190613166565b60405180910390f35b34801561032e57600080fd5b50610349600480360381019061034491906131b4565b610e4f565b60405161035691906131fc565b60405180910390f35b34801561036b57600080fd5b5061038660048036038101906103819190613217565b610e6f565b60405161039391906131fc565b60405180910390f35b3480156103a857600080fd5b506103b1610e8b565b6040516103be9190613266565b60405180910390f35b3480156103d357600080fd5b506103ee60048036038101906103e99190613281565b610e95565b6040516103fb91906131fc565b60405180910390f35b34801561041057600080fd5b50610419610ebb565b6040516104269190613266565b60405180910390f35b34801561043b57600080fd5b50610444610ec0565b60405161045191906132f0565b60405180910390f35b34801561046657600080fd5b5061046f610ec9565b60405161047c91906131fc565b60405180910390f35b34801561049157600080fd5b506104ac60048036038101906104a79190613217565b610edc565b6040516104b991906131fc565b60405180910390f35b3480156104ce57600080fd5b506104e960048036038101906104e49190613337565b610f0c565b005b3480156104f757600080fd5b50610500610fda565b60405161050d9190613266565b60405180910390f35b34801561052257600080fd5b5061052b610fdf565b60405161053891906130bb565b60405180910390f35b34801561054d57600080fd5b50610556610fe4565b6040516105639190613266565b60405180910390f35b34801561057857600080fd5b50610593600480360381019061058e9190613364565b610fea565b005b3480156105a157600080fd5b506105bc60048036038101906105b7919061304d565b611267565b005b3480156105ca57600080fd5b506105d361129e565b6040516105e09190613266565b60405180910390f35b3480156105f557600080fd5b506105fe6112a3565b60405161060b91906131fc565b60405180910390f35b34801561062057600080fd5b5061063b600480360381019061063691906131b4565b6112b6565b6040516106489190613266565b60405180910390f35b34801561065d57600080fd5b506106666112ff565b005b34801561067457600080fd5b5061067d611313565b60405161068a9190613266565b60405180910390f35b34801561069f57600080fd5b506106ba60048036038101906106b5919061304d565b611319565b005b3480156106c857600080fd5b506106d16113b6565b6040516106e0939291906133a4565b60405180910390f35b3480156106f557600080fd5b506106fe611477565b60405161070b91906131fc565b60405180910390f35b34801561072057600080fd5b50610729611480565b6040516107369190613266565b60405180910390f35b34801561074b57600080fd5b50610754611486565b60405161076191906130bb565b60405180910390f35b34801561077657600080fd5b50610791600480360381019061078c9190613337565b6114af565b005b34801561079f57600080fd5b506107a861157d565b6040516107b59190613266565b60405180910390f35b3480156107ca57600080fd5b506107d36115b5565b6040516107e09190613166565b60405180910390f35b3480156107f557600080fd5b506107fe6115f2565b60405161080b9190613266565b60405180910390f35b34801561082057600080fd5b506108296115f8565b005b34801561083757600080fd5b5061084061177c565b60405161084d91906130bb565b60405180910390f35b34801561086257600080fd5b5061087d60048036038101906108789190613217565b6117a0565b60405161088a91906131fc565b60405180910390f35b34801561089f57600080fd5b506108a8611810565b6040516108b591906130bb565b60405180910390f35b3480156108ca57600080fd5b506108e560048036038101906108e09190613217565b611836565b6040516108f291906131fc565b60405180910390f35b34801561090757600080fd5b50610910611850565b60405161091d9190613266565b60405180910390f35b34801561093257600080fd5b5061093b611856565b60405161094891906130bb565b60405180910390f35b34801561095d57600080fd5b5061096661187a565b6040516109739190613266565b60405180910390f35b34801561098857600080fd5b506109a3600480360381019061099e91906131b4565b611880565b005b3480156109b157600080fd5b506109cc60048036038101906109c79190613364565b611c73565b005b3480156109da57600080fd5b506109e3611d6a565b6040516109f091906131fc565b60405180910390f35b348015610a0557600080fd5b50610a0e611d7d565b604051610a1b9190613266565b60405180910390f35b348015610a3057600080fd5b50610a4b6004803603810190610a4691906133db565b611d83565b604051610a589190613266565b60405180910390f35b348015610a6d57600080fd5b50610a76611e0a565b604051610a8391906131fc565b60405180910390f35b348015610a9857600080fd5b50610ab36004803603810190610aae91906131b4565b611e1d565b604051610ac091906131fc565b60405180910390f35b348015610ad557600080fd5b50610af06004803603810190610aeb91906131b4565b611e3d565b005b348015610afe57600080fd5b50610b07611ec3565b604051610b14919061347a565b60405180910390f35b6001600960036101000a81548160ff0219169083151502179055508060056000828254610b4a91906134c4565b925050819055506000600267ffffffffffffffff811115610b6e57610b6d6134f8565b5b604051908082528060200260200182016040528015610b9c5781602001602082028036833780820191505090505b5090503081600081518110610bb457610bb3613527565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c5b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c7f919061356b565b81600181518110610c9357610c92613527565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050610cfa30600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611ee9565b7fb933c1b294702108551eddf782a9c7d1a018b57f68ecf63bc59a1247daa19c3082833342604051610d2f9493929190613598565b60405180910390a1600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947836000847f0000000000000000000000000a000fef7b5beed2dac00e3d8dc0eea2b5499947426040518663ffffffff1660e01b8152600401610dbb9594939291906136d6565b600060405180830381600087803b158015610dd557600080fd5b505af1158015610de9573d6000803e3d6000fd5b50505050506000600960036101000a81548160ff02191690831515021790555050565b61dead81565b60606040518060400160405280601881526020017f4c79736572676963616369646469657468796c616d6964650000000000000000815250905090565b600d6020528060005260406000206000915054906101000a900460ff1681565b600080339050610e80818585611ee9565b600191505092915050565b6000600254905090565b600080339050610ea68582856120b6565b610eb1858585612142565b9150509392505050565b600081565b60006009905090565b600960029054906101000a900460ff1681565b600080339050610f01818585610ef28589611d83565b610efc91906134c4565b611ee9565b600191505092915050565b610f146125e8565b801515600960019054906101000a900460ff16151503610f6b57806040517f0a7e72d0000000000000000000000000000000000000000000000000000000008152600401610f6291906131fc565b60405180910390fd5b6000600960019054906101000a900460ff16905081600960016101000a81548160ff0219169083151502179055507ff99f9d4d81f67d0980beea494b4404ba3b8af1a0a2d493230f1a883efa027f2f81833342604051610fce9493929190613730565b60405180910390a15050565b60c881565b600081565b60085481565b610ff26125e8565b801515600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615150361108657806040517f0a7e72d000000000000000000000000000000000000000000000000000000000815260040161107d91906131fc565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061110c919061356b565b73ffffffffffffffffffffffffffffffffffffffff16141580156111ca57503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa15801561118d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b1919061356b565b73ffffffffffffffffffffffffffffffffffffffff1614155b1561120c57816040517f8e4c8aa600000000000000000000000000000000000000000000000000000000815260040161120391906130bb565b60405180910390fd5b80600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b61126f6125e8565b806006600082825461128191906134c4565b925050819055504260078190555061129b8161dead612661565b50565b60c881565b600960009054906101000a900460ff1681565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6113076125e8565b6113116000612921565b565b60055481565b6113216125e8565b806008540361136757806040517f657e16cf00000000000000000000000000000000000000000000000000000000815260040161135e9190613266565b60405180910390fd5b60006008549050816008819055507f9a9f4704ac409fe039e92a996e415370980275aaff2992936ed5b432886c55c5818333426040516113aa9493929190613598565b60405180910390a15050565b600080600060b46003546113ca91906134c4565b42116113e1576109c4806000925092509250611472565b60b46003546113f091906134c4565b4211801561140d575061012c60035461140991906134c4565b4211155b15611423576105dc806000925092509250611472565b61012c60035461143391906134c4565b42118015611450575061016860035461144c91906134c4565b4211155b1561146657610384806000925092509250611472565b60c88060009250925092505b909192565b60006001905090565b60035481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6114b76125e8565b801515600960029054906101000a900460ff1615150361150e57806040517f0a7e72d000000000000000000000000000000000000000000000000000000000815260040161150591906131fc565b60405180910390fd5b6000600960029054906101000a900460ff16905081600960026101000a81548160ff0219169083151502179055507fa9eb6c000d17475b17651469533695f7b673c93327fdbadf4341ebeb2607a044818333426040516115719493929190613730565b60405180910390a15050565b600061158960006112b6565b61159461dead6112b6565b61159c610e8b565b6115a69190613775565b6115b09190613775565b905090565b60606040518060400160405280601881526020017f4c79736572676963616369646469657468796c616d6964650000000000000000815250905090565b60075481565b6116006125e8565b600960009054906101000a900460ff161561166057600960009054906101000a900460ff166040517e4dc03900000000000000000000000000000000000000000000000000000000815260040161165791906131fc565b60405180910390fd5b600960019054906101000a900460ff16156116c157600960019054906101000a900460ff166040517f3bfe402c0000000000000000000000000000000000000000000000000000000081526004016116b891906131fc565b60405180910390fd5b600960029054906101000a900460ff161561172257600960029054906101000a900460ff166040517f610a8e6700000000000000000000000000000000000000000000000000000000815260040161171991906131fc565b60405180910390fd5b426003819055506001600960016101000a81548160ff0219169083151502179055506001600960026101000a81548160ff0219169083151502179055506001600960006101000a81548160ff021916908315150217905550565b7f00000000000000000000000041c9c843b188de81f017fd885528729c1a5c786b81565b60008033905060006117b28286611d83565b9050838110156117f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ee9061381b565b60405180910390fd5b6118048286868403611ee9565b60019250505092915050565b600960049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080339050611847818585612142565b91505092915050565b61271081565b7f0000000000000000000000000a000fef7b5beed2dac00e3d8dc0eea2b549994781565b60045481565b6118886125e8565b8073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff160361191a57806040517fa936636900000000000000000000000000000000000000000000000000000000815260040161191191906130bb565b60405180910390fd5b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fe1cb783288eddc7b22c25642a832d886a558be0dd900747310a34156b9fdcbbb81833342604051611a0f949392919061383b565b60405180910390a1600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a84573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aa8919061356b565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b55919061356b565b6040518363ffffffff1660e01b8152600401611b72929190613880565b6020604051808303816000875af1158015611b91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bb5919061356b565b600960046101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600d6000600960049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b611c7b6125e8565b801515600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151503611d0f57806040517f0a7e72d0000000000000000000000000000000000000000000000000000000008152600401611d0691906131fc565b60405180910390fd5b80600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600960039054906101000a900460ff1681565b60065481565b6000600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600960019054906101000a900460ff1681565b600c6020528060005260406000206000915054906101000a900460ff1681565b611e456125e8565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611eb75760006040517fb20f76e3000000000000000000000000000000000000000000000000000000008152600401611eae91906130bb565b60405180910390fd5b611ec081612921565b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611f5a57826040517f8e4c8aa6000000000000000000000000000000000000000000000000000000008152600401611f5191906130bb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611fcb57816040517f8e4c8aa6000000000000000000000000000000000000000000000000000000008152600401611fc291906130bb565b60405180910390fd5b80600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516120a99190613266565b60405180910390a3505050565b60006120c28484611d83565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461213c578181101561212e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612125906138f5565b60405180910390fd5b61213b8484848403611ee9565b5b50505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036121b457836040517f8e4c8aa60000000000000000000000000000000000000000000000000000000081526004016121ab91906130bb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361222557826040517f8e4c8aa600000000000000000000000000000000000000000000000000000000815260040161221c91906130bb565b60405180910390fd5b600960039054906101000a900460ff16806122895750600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156122a0576122998484846129e5565b90506125e1565b600960049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561230a5750600960029054906101000a900460ff165b8015612320575060085461231d306112b6565b10155b801561233d575060085460055460045461233a9190613775565b10155b1561234e5761234d600854610b1d565b5b6000829050600960019054906101000a900460ff1680156123b95750600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561240f5750600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156124225761241f858585612b71565b90505b80600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156124a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161249b90613987565b60405180910390fd5b80600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205403600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516125d39190613266565b60405180910390a360019150505b9392505050565b3373ffffffffffffffffffffffffffffffffffffffff16612607611486565b73ffffffffffffffffffffffffffffffffffffffff161461265f57336040517f32b2baa300000000000000000000000000000000000000000000000000000000815260040161265691906130bb565b60405180910390fd5b565b6001600960036101000a81548160ff02191690831515021790555061dead73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16036126f05761dead6040517f8e4c8aa60000000000000000000000000000000000000000000000000000000081526004016126e791906130bb565b60405180910390fd5b6000600267ffffffffffffffff81111561270d5761270c6134f8565b5b60405190808252806020026020018201604052801561273b5781602001602082028036833780820191505090505b509050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156127ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127cf919061356b565b816000815181106127e3576127e2613527565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050308160018151811061283257612831613527565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b6f9de958460008486426040518663ffffffff1660e01b81526004016128cf94939291906139a7565b6000604051808303818588803b1580156128e857600080fd5b505af11580156128fc573d6000803e3d6000fd5b5050505050506000600960036101000a81548160ff0219169083151502179055505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015612a6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a6490613987565b60405180910390fd5b828103600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555082600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612b5d9190613266565b60405180910390a360019150509392505050565b60006001600960036101000a81548160ff021916908315150217905550600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612be85750600060c8115b15612bfe57612bf78483612d5a565b9050612d38565b600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612c585750600060c8115b15612c6e57612c678483612ded565b9050612d38565b600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015612d125750600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015612d1e5750600080115b15612d3457612d2d8483612e80565b9050612d38565b8190505b6000600960036101000a81548160ff0219169083151502179055509392505050565b60006001600960036101000a81548160ff0219169083151502179055506000612d816113b6565b5050905060006127108285612d9691906139f3565b612da09190613a64565b905060008185612db09190613775565b90506000821115612dc657612dc58683612f13565b5b8093505050506000600960036101000a81548160ff02191690831515021790555092915050565b60006001600960036101000a81548160ff0219169083151502179055506000612e146113b6565b5091505060006127108285612e2991906139f3565b612e339190613a64565b905060008185612e439190613775565b90506000821115612e5957612e588683612f13565b5b8093505050506000600960036101000a81548160ff02191690831515021790555092915050565b60006001600960036101000a81548160ff0219169083151502179055506000612ea76113b6565b9250505060006127108285612ebc91906139f3565b612ec69190613a64565b905060008185612ed69190613775565b90506000821115612eec57612eeb8683612f13565b5b8093505050506000600960036101000a81548160ff02191690831515021790555092915050565b6001600960036101000a81548160ff0219169083151502179055508060046000828254612f4091906134c4565b9250508190555080600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612f969190613775565b9250508190555080600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612fec91906134c4565b925050819055506000600960036101000a81548160ff0219169083151502179055505050565b600080fd5b6000819050919050565b61302a81613017565b811461303557600080fd5b50565b60008135905061304781613021565b92915050565b60006020828403121561306357613062613012565b5b600061307184828501613038565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006130a58261307a565b9050919050565b6130b58161309a565b82525050565b60006020820190506130d060008301846130ac565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156131105780820151818401526020810190506130f5565b60008484015250505050565b6000601f19601f8301169050919050565b6000613138826130d6565b61314281856130e1565b93506131528185602086016130f2565b61315b8161311c565b840191505092915050565b60006020820190508181036000830152613180818461312d565b905092915050565b6131918161309a565b811461319c57600080fd5b50565b6000813590506131ae81613188565b92915050565b6000602082840312156131ca576131c9613012565b5b60006131d88482850161319f565b91505092915050565b60008115159050919050565b6131f6816131e1565b82525050565b600060208201905061321160008301846131ed565b92915050565b6000806040838503121561322e5761322d613012565b5b600061323c8582860161319f565b925050602061324d85828601613038565b9150509250929050565b61326081613017565b82525050565b600060208201905061327b6000830184613257565b92915050565b60008060006060848603121561329a57613299613012565b5b60006132a88682870161319f565b93505060206132b98682870161319f565b92505060406132ca86828701613038565b9150509250925092565b600060ff82169050919050565b6132ea816132d4565b82525050565b600060208201905061330560008301846132e1565b92915050565b613314816131e1565b811461331f57600080fd5b50565b6000813590506133318161330b565b92915050565b60006020828403121561334d5761334c613012565b5b600061335b84828501613322565b91505092915050565b6000806040838503121561337b5761337a613012565b5b60006133898582860161319f565b925050602061339a85828601613322565b9150509250929050565b60006060820190506133b96000830186613257565b6133c66020830185613257565b6133d36040830184613257565b949350505050565b600080604083850312156133f2576133f1613012565b5b60006134008582860161319f565b92505060206134118582860161319f565b9150509250929050565b6000819050919050565b600061344061343b6134368461307a565b61341b565b61307a565b9050919050565b600061345282613425565b9050919050565b600061346482613447565b9050919050565b61347481613459565b82525050565b600060208201905061348f600083018461346b565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006134cf82613017565b91506134da83613017565b92508282019050808211156134f2576134f1613495565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061356581613188565b92915050565b60006020828403121561358157613580613012565b5b600061358f84828501613556565b91505092915050565b60006080820190506135ad6000830187613257565b6135ba6020830186613257565b6135c760408301856130ac565b6135d46060830184613257565b95945050505050565b6000819050919050565b60006136026135fd6135f8846135dd565b61341b565b613017565b9050919050565b613612816135e7565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61364d8161309a565b82525050565b600061365f8383613644565b60208301905092915050565b6000602082019050919050565b600061368382613618565b61368d8185613623565b935061369883613634565b8060005b838110156136c95781516136b08882613653565b97506136bb8361366b565b92505060018101905061369c565b5085935050505092915050565b600060a0820190506136eb6000830188613257565b6136f86020830187613609565b818103604083015261370a8186613678565b905061371960608301856130ac565b6137266080830184613257565b9695505050505050565b600060808201905061374560008301876131ed565b61375260208301866131ed565b61375f60408301856130ac565b61376c6060830184613257565b95945050505050565b600061378082613017565b915061378b83613017565b92508282039050818111156137a3576137a2613495565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006138056025836130e1565b9150613810826137a9565b604082019050919050565b60006020820190508181036000830152613834816137f8565b9050919050565b600060808201905061385060008301876130ac565b61385d60208301866130ac565b61386a60408301856130ac565b6138776060830184613257565b95945050505050565b600060408201905061389560008301856130ac565b6138a260208301846130ac565b9392505050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b60006138df601d836130e1565b91506138ea826138a9565b602082019050919050565b6000602082019050818103600083015261390e816138d2565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006139716026836130e1565b915061397c82613915565b604082019050919050565b600060208201905081810360008301526139a081613964565b9050919050565b60006080820190506139bc6000830187613609565b81810360208301526139ce8186613678565b90506139dd60408301856130ac565b6139ea6060830184613257565b95945050505050565b60006139fe82613017565b9150613a0983613017565b9250828202613a1781613017565b91508282048414831517613a2e57613a2d613495565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613a6f82613017565b9150613a7a83613017565b925082613a8a57613a89613a35565b5b82820490509291505056fea26469706673582212201f834b92ce3f8dca7207f003f4421dc47c049b16831829c1ee02e796704c98e464736f6c63430008120033

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

00000000000000000000000041c9c843b188de81f017fd885528729c1a5c786b0000000000000000000000000a000fef7b5beed2dac00e3d8dc0eea2b5499947

-----Decoded View---------------
Arg [0] : projectOwnerAddress (address): 0x41c9c843B188de81F017FD885528729c1a5c786b
Arg [1] : feeReceiverAddress (address): 0x0a000fef7B5bEED2DAc00e3d8DC0EeA2b5499947

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000041c9c843b188de81f017fd885528729c1a5c786b
Arg [1] : 0000000000000000000000000a000fef7b5beed2dac00e3d8dc0eea2b5499947


Deployed Bytecode Sourcemap

4214:14434:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7813:611;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5280:46;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13411:101;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5656:40;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14378:205;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13754:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14595:246;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4695:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13641:101;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5157:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14853:247;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9558:307;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4608:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5232:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4970:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10421:326;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12767:202;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4651:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5076:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13874:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3483:103;;;;;;;;;;;;;:::i;:::-;;4829:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9246:304;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10772:570;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;8451:119;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4743:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3225:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9873:317;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8578:136;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13524:105;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4920:43;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7354:431;;;;;;;;;;;;;:::i;:::-;;5335:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15112:445;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5424:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14013:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4552:47;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5379:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4786;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8742:496;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10198:215;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5197:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4871:42;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14209:157;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5119:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5600:49;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3594:213;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4305:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7813:611;5764:4;5755:6;;:13;;;;;;;;;;;;;;;;;;7914:14:::1;7894:16;;:34;;;;;;;:::i;:::-;;;;;;;;7941:21;7979:1;7965:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7941:40;;8010:4;7992;7997:1;7992:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;8036:6;;;;;;;;;;;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8026:4;8031:1;8026:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;8062:56;8079:4;8094:6;;;;;;;;;;;8103:14;8062:8;:56::i;:::-;8144:71;8155:14;8171;8187:10;8199:15;8144:71;;;;;;;;;:::i;:::-;;;;;;;;8228:6;;;;;;;;;;;:57;;;8300:14;8329:1;8345:4;8364:11;8390:15;8228:188;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;7873:551;5800:5:::0;5791:6;;:14;;;;;;;;;;;;;;;;;;7813:611;:::o;5280:46::-;5319:6;5280:46;:::o;13411:101::-;13467:13;13500:4;;;;;;;;;;;;;;;;;13493:11;;13411:101;:::o;5656:40::-;;;;;;;;;;;;;;;;;;;;;;:::o;14378:205::-;14461:4;14478:16;14497:10;14478:29;;14518:35;14527:8;14537:7;14546:6;14518:8;:35::i;:::-;14571:4;14564:11;;;14378:205;;;;:::o;13754:108::-;13815:7;13842:12;;13835:19;;13754:108;:::o;14595:246::-;14694:4;14711:15;14729:10;14711:28;;14750:38;14766:4;14772:7;14781:6;14750:15;:38::i;:::-;14806:27;14816:4;14822:2;14826:6;14806:9;:27::i;:::-;14799:34;;;14595:246;;;;;:::o;4695:39::-;4733:1;4695:39;:::o;13641:101::-;13701:5;4501:1;13719:15;;13641:101;:::o;5157:33::-;;;;;;;;;;;;;:::o;14853:247::-;14943:4;14960:16;14979:10;14960:29;;15000:70;15009:8;15019:7;15059:10;15028:28;15038:8;15048:7;15028:9;:28::i;:::-;:41;;;;:::i;:::-;15000:8;:70::i;:::-;15088:4;15081:11;;;14853:247;;;;:::o;9558:307::-;2823:13;:11;:13::i;:::-;9648:9:::1;9633:24;;:11;;;;;;;;;;;:24;;::::0;9629:74:::1;;9690:9;9668:32;;;;;;;;;;;:::i;:::-;;;;;;;;9629:74;9713:14;9730:11;;;;;;;;;;;9713:28;;9766:9;9752:11;;:23;;;;;;;;;;;;;;;;;;9791:66;9807:9;9818;9829:10;9841:15;9791:66;;;;;;;;;:::i;:::-;;;;;;;;9618:247;9558:307:::0;:::o;4608:36::-;4641:3;4608:36;:::o;5232:41::-;5271:1;5232:41;:::o;4970:33::-;;;;:::o;10421:326::-;2823:13;:11;:13::i;:::-;10523:6:::1;10503:26;;:8;:16;10512:6;10503:16;;;;;;;;;;;;;;;;;;;;;;;;;:26;;::::0;10499:73:::1;;10562:6;10540:29;;;;;;;;;;;:::i;:::-;;;;;;;;10499:73;10620:4;10586:39;;10592:6;10586:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:39;;;;:82;;;;;10663:4;10629:39;;10635:6;10629:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:39;;;;10586:82;10582:122;;;10694:6;10679:22;;;;;;;;;;;:::i;:::-;;;;;;;;10582:122;10733:6;10714:8;:16;10723:6;10714:16;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;10421:326:::0;;:::o;12767:202::-;2823:13;:11;:13::i;:::-;12868:6:::1;12841:23;;:33;;;;;;;:::i;:::-;;;;;;;;12912:15;12885:24;:42;;;;12938:23;12948:6;5319;12938:9;:23::i;:::-;12767:202:::0;:::o;4651:37::-;4685:3;4651:37;:::o;5076:36::-;;;;;;;;;;;;;:::o;13874:127::-;13948:7;13975:9;:18;13985:7;13975:18;;;;;;;;;;;;;;;;13968:25;;13874:127;;;:::o;3483:103::-;2823:13;:11;:13::i;:::-;3548:30:::1;3575:1;3548:18;:30::i;:::-;3483:103::o:0;4829:35::-;;;;:::o;9246:304::-;2823:13;:11;:13::i;:::-;9334:10:::1;9323:7;;:21:::0;9319:72:::1;;9377:10;9355:33;;;;;;;;;;;:::i;:::-;;;;;;;;9319:72;9401:18;9422:7;;9401:28;;9450:10;9440:7;:20;;;;9476:66;9490:10;9502;9514;9526:15;9476:66;;;;;;;;;:::i;:::-;;;;;;;;9308:242;9246:304:::0;:::o;10772:570::-;10820:7;10829;10838;10901:9;10881:17;;:29;;;;:::i;:::-;10862:15;:48;10858:103;;10935:4;10941;10947:1;10927:22;;;;;;;;10858:103;11013:9;10993:17;;:29;;;;:::i;:::-;10975:15;:47;:99;;;;;11065:9;11045:17;;:29;;;;:::i;:::-;11026:15;:48;;10975:99;10971:154;;;11099:4;11105;11111:1;11091:22;;;;;;;;10971:154;11177:9;11157:17;;:29;;;;:::i;:::-;11139:15;:47;:99;;;;;11229:9;11209:17;;:29;;;;:::i;:::-;11190:15;:48;;11139:99;11135:152;;;11263:3;11268;11273:1;11255:20;;;;;;;;11135:152;4641:3;4685;4733:1;11297:37;;;;;;10772:570;;;;:::o;8451:119::-;8512:4;5063;8529:33;;8451:119;:::o;4743:36::-;;;;:::o;3225:87::-;3271:7;3298:6;;;;;;;;;;;3291:13;;3225:87;:::o;9873:317::-;2823:13;:11;:13::i;:::-;9967:9:::1;9950:26;;:13;;;;;;;;;;;:26;;::::0;9946:76:::1;;10009:9;9987:32;;;;;;;;;;;:::i;:::-;;;;;;;;9946:76;10032:14;10049:13;;;;;;;;;;;10032:30;;10089:9;10073:13;;:25;;;;;;;;;;;;;;;;;;10114:68;10132:9;10143;10154:10;10166:15;10114:68;;;;;;;;;:::i;:::-;;;;;;;;9935:255;9873:317:::0;:::o;8578:136::-;8630:7;8691:15;5271:1;8691:9;:15::i;:::-;8673;5319:6;8673:9;:15::i;:::-;8657:13;:11;:13::i;:::-;:31;;;;:::i;:::-;:49;;;;:::i;:::-;8650:56;;8578:136;:::o;13524:105::-;13582:13;13615:6;;;;;;;;;;;;;;;;;13608:13;;13524:105;:::o;4920:43::-;;;;:::o;7354:431::-;2823:13;:11;:13::i;:::-;7415:16:::1;;;;;;;;;;;7411:75;;;7466:16;;;;;;;;;;;7442:41;;;;;;;;;;;:::i;:::-;;;;;;;;7411:75;7500:11;;;;;;;;;;;7496:63;;;7544:11;;;;;;;;;;;7522:34;;;;;;;;;;;:::i;:::-;;;;;;;;7496:63;7573:13;;;;;;;;;;;7569:69;;;7621:13;;;;;;;;;;;7597:38;;;;;;;;;;;:::i;:::-;;;;;;;;7569:69;7668:15;7648:17;:35;;;;7708:4;7694:11;;:18;;;;;;;;;;;;;;;;;;7739:4;7723:13;;:20;;;;;;;;;;;;;;;;;;7773:4;7754:16;;:23;;;;;;;;;;;;;;;;;;7354:431::o:0;5335:37::-;;;:::o;15112:445::-;15207:4;15224:16;15243:10;15224:29;;15264:24;15291:28;15301:8;15311:7;15291:9;:28::i;:::-;15264:55;;15358:15;15338:16;:35;;15330:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;15451:63;15460:8;15470:7;15498:15;15479:16;:34;15451:8;:63::i;:::-;15545:4;15538:11;;;;15112:445;;;;:::o;5424:19::-;;;;;;;;;;;;;:::o;14013:184::-;14094:4;14111:16;14130:10;14111:29;;14158:31;14168:8;14178:2;14182:6;14158:9;:31::i;:::-;14151:38;;;14013:184;;;;:::o;4552:47::-;4593:6;4552:47;:::o;5379:36::-;;;:::o;4786:::-;;;;:::o;8742:496::-;2823:13;:11;:13::i;:::-;8836:9:::1;8817:28;;8825:6;;;;;;;;;;;8817:28;;::::0;8813:80:::1;;8880:9;8856:34;;;;;;;;;;;:::i;:::-;;;;;;;;8813:80;8903:17;8931:6;;;;;;;;;;;8903:35;;8966:9;8949:6;;:27;;;;;;;;;;;;;;;;;;9028:4;8997:17;:28;9015:9;8997:28;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;9050:63;9063:9;9074;9085:10;9097:15;9050:63;;;;;;;;;:::i;:::-;;;;;;;;9140:6;;;;;;;;;;;:14;;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9131:37;;;9177:4;9184:6;;;;;;;;;;;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9131:67;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9124:4;;:74;;;;;;;;;;;;;;;;;;9226:4;9209:8;:14;9218:4;;;;;;;;;;;9209:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;8802:436;8742:496:::0;:::o;10198:215::-;2823:13;:11;:13::i;:::-;10314:6:::1;10287:33;;:17;:23;10305:4;10287:23;;;;;;;;;;;;;;;;;;;;;;;;;:33;;::::0;10283:80:::1;;10353:6;10331:29;;;;;;;;;;;:::i;:::-;;;;;;;;10283:80;10399:6;10373:17;:23;10391:4;10373:23;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;10198:215:::0;;:::o;5197:26::-;;;;;;;;;;;;;:::o;4871:42::-;;;;:::o;14209:157::-;14301:7;14328:11;:21;14340:8;14328:21;;;;;;;;;;;;;;;:30;14350:7;14328:30;;;;;;;;;;;;;;;;14321:37;;14209:157;;;;:::o;5119:31::-;;;;;;;;;;;;;:::o;5600:49::-;;;;;;;;;;;;;;;;;;;;;;:::o;3594:213::-;2823:13;:11;:13::i;:::-;3699:1:::1;3679:22;;:8;:22;;::::0;3675:86:::1;;3746:1;3725:24;;;;;;;;;;;:::i;:::-;;;;;;;;3675:86;3771:28;3790:8;3771:18;:28::i;:::-;3594:213:::0;:::o;4305:21::-;;;;;;;;;;;;;:::o;15879:331::-;5271:1;15980:16;;:8;:16;;;15976:58;;16022:8;16007:24;;;;;;;;;;;:::i;:::-;;;;;;;;15976:58;5271:1;16048:15;;:7;:15;;;16044:56;;16089:7;16074:23;;;;;;;;;;;:::i;:::-;;;;;;;;16044:56;16145:6;16112:11;:21;16124:8;16112:21;;;;;;;;;;;;;;;:30;16134:7;16112:30;;;;;;;;;;;;;;;:39;;;;16186:7;16167:35;;16176:8;16167:35;;;16195:6;16167:35;;;;;;:::i;:::-;;;;;;;;15879:331;;;:::o;16222:428::-;16326:24;16353:28;16363:8;16373:7;16353:9;:28::i;:::-;16326:55;;16416:17;16396:16;:37;16392:251;;16478:6;16458:16;:26;;16450:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16562:54;16571:8;16581:7;16609:6;16590:16;:25;16562:8;:54::i;:::-;16392:251;16315:335;16222:428;;;:::o;17137:1012::-;17224:4;5271:1;17245:12;;:4;:12;;;17241:50;;17283:4;17268:20;;;;;;;;;;;:::i;:::-;;;;;;;;17241:50;5271:1;17305:10;;:2;:10;;;17301:46;;17341:2;17326:18;;;;;;;;;;;:::i;:::-;;;;;;;;17301:46;17363:6;;;;;;;;;;;:33;;;;17373:17;:23;17391:4;17373:23;;;;;;;;;;;;;;;;;;;;;;;;;17363:33;17359:105;;;17420:32;17435:4;17441:2;17445:6;17420:14;:32::i;:::-;17413:39;;;;17359:105;17488:4;;;;;;;;;;;17480:12;;:4;:12;;;;:29;;;;;17496:13;;;;;;;;;;;17480:29;:68;;;;;17541:7;;17513:24;17531:4;17513:9;:24::i;:::-;:35;;17480:68;:119;;;;;17592:7;;17572:16;;17552:17;;:36;;;;:::i;:::-;:47;;17480:119;17476:171;;;17616:19;17627:7;;17616:10;:19::i;:::-;17476:171;17659:17;17679:6;17659:26;;17702:11;;;;;;;;;;;:39;;;;;17718:17;:23;17736:4;17718:23;;;;;;;;;;;;;;;;;;;;;;;;;17717:24;17702:39;:65;;;;;17746:17;:21;17764:2;17746:21;;;;;;;;;;;;;;;;;;;;;;;;;17745:22;17702:65;17698:148;;;17796:38;17817:4;17823:2;17827:6;17796:20;:38::i;:::-;17784:50;;17698:148;17885:9;17866;:15;17876:4;17866:15;;;;;;;;;;;;;;;;:28;;17858:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;18009:9;17991;:15;18001:4;17991:15;;;;;;;;;;;;;;;;:27;17973:9;:15;17983:4;17973:15;;;;;;;;;;;;;;;:45;;;;18050:9;18033;:13;18043:2;18033:13;;;;;;;;;;;;;;;;:26;;;;;;;;;;;18103:2;18088:29;;18097:4;18088:29;;;18107:9;18088:29;;;;;;:::i;:::-;;;;;;;;18137:4;18130:11;;;17137:1012;;;;;;:::o;3320:155::-;3391:10;3380:21;;:7;:5;:7::i;:::-;:21;;;3376:92;;3445:10;3425:31;;;;;;;;;;;:::i;:::-;;;;;;;;3376:92;3320:155::o;12977:398::-;5764:4;5755:6;;:13;;;;;;;;;;;;;;;;;;5319:6:::1;13057:18;;:10;:18;;::::0;13053:56:::1;;5319:6;13086:20;;;;;;;;;;;:::i;:::-;;;;;;;;13053:56;13119:21;13157:1;13143:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13119:40;;13180:6;;;;;;;;;;;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13170:4;13175:1;13170:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;13222:4;13204;13209:1;13204:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;13240:6;;;;;;;;;;;:57;;;13319:6;13338:1;13341:4;13347:2;13351:15;13240:127;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;13042:333;5800:5:::0;5791:6;;:14;;;;;;;;;;;;;;;;;;12977:398;;:::o;3815:191::-;3889:16;3908:6;;;;;;;;;;;3889:25;;3934:8;3925:6;;:17;;;;;;;;;;;;;;;;;;3989:8;3958:40;;3979:8;3958:40;;;;;;;;;;;;3878:128;3815:191;:::o;16682:419::-;16767:4;16784:19;16806:9;:15;16816:4;16806:15;;;;;;;;;;;;;;;;16784:37;;16855:6;16840:11;:21;;16832:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;16972:6;16958:11;:20;16940:9;:15;16950:4;16940:15;;;;;;;;;;;;;;;:38;;;;17010:6;16993:9;:13;17003:2;16993:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;17060:2;17045:26;;17054:4;17045:26;;;17064:6;17045:26;;;;;;:::i;:::-;;;;;;;;17089:4;17082:11;;;16682:419;;;;;:::o;18157:488::-;18264:7;5764:4;5755:6;;:13;;;;;;;;;;;;;;;;;;18288:8:::1;:14;18297:4;18288:14;;;;;;;;;;;;;;;;;;;;;;;;;:30;;;;;18316:1;4641:3;18307:10;18288:30;18284:94;;;18342:24;18353:4;18359:6;18342:10;:24::i;:::-;18335:31;;;;18284:94;18392:8;:12;18401:2;18392:12;;;;;;;;;;;;;;;;;;;;;;;;;:29;;;;;18419:1;4685:3;18409:11;18392:29;18388:94;;;18445:25;18457:4;18463:6;18445:11;:25::i;:::-;18438:32;;;;18388:94;18497:8;:14;18506:4;18497:14;;;;;;;;;;;;;;;;;;;;;;;;;18496:15;:32;;;;;18516:8;:12;18525:2;18516:12;;;;;;;;;;;;;;;;;;;;;;;;;18515:13;18496:32;:53;;;;;18547:1;4733::::0;18533:15:::1;18496:53;18492:122;;;18573:29;18589:4;18595:6;18573:15;:29::i;:::-;18566:36;;;;18492:122;18631:6;18624:13;;5779:1;5800:5:::0;5791:6;;:14;;;;;;;;;;;;;;;;;;18157:488;;;;;:::o;11350:380::-;11427:7;5764:4;5755:6;;:13;;;;;;;;;;;;;;;;;;11448:18:::1;11474:17;:15;:17::i;:::-;11447:44;;;;11502:17;4593:6;11531:10;11522:6;:19;;;;:::i;:::-;:36;;;;:::i;:::-;11502:56;;11569:17;11598:9;11589:6;:18;;;;:::i;:::-;11569:38;;11634:1;11622:9;:13;11618:78;;;11652:32;11668:4;11674:9;11652:15;:32::i;:::-;11618:78;11713:9;11706:16;;;;;5800:5:::0;5791:6;;:14;;;;;;;;;;;;;;;;;;11350:380;;;;:::o;11738:382::-;11816:7;5764:4;5755:6;;:13;;;;;;;;;;;;;;;;;;11840:18:::1;11864:17;:15;:17::i;:::-;11836:45;;;;11892:17;4593:6;11921:10;11912:6;:19;;;;:::i;:::-;:36;;;;:::i;:::-;11892:56;;11959:17;11988:9;11979:6;:18;;;;:::i;:::-;11959:38;;12024:1;12012:9;:13;12008:78;;;12042:32;12058:4;12064:9;12042:15;:32::i;:::-;12008:78;12103:9;12096:16;;;;;5800:5:::0;5791:6;;:14;;;;;;;;;;;;;;;;;;11738:382;;;;:::o;12128:386::-;12210:7;5764:4;5755:6;;:13;;;;;;;;;;;;;;;;;;12236:18:::1;12258:17;:15;:17::i;:::-;12230:45;;;;12286:17;4593:6;12315:10;12306:6;:19;;;;:::i;:::-;:36;;;;:::i;:::-;12286:56;;12353:17;12382:9;12373:6;:18;;;;:::i;:::-;12353:38;;12418:1;12406:9;:13;12402:78;;;12436:32;12452:4;12458:9;12436:15;:32::i;:::-;12402:78;12497:9;12490:16;;;;;5800:5:::0;5791:6;;:14;;;;;;;;;;;;;;;;;;12128:386;;;;:::o;12522:216::-;5764:4;5755:6;;:13;;;;;;;;;;;;;;;;;;12631:10:::1;12610:17;;:31;;;;;;;:::i;:::-;;;;;;;;12671:10;12652:9;:15;12662:4;12652:15;;;;;;;;;;;;;;;;:29;;;;;;;:::i;:::-;;;;;;;;12720:10;12692:9;:24;12710:4;12692:24;;;;;;;;;;;;;;;;:38;;;;;;;:::i;:::-;;;;;;;;5800:5:::0;5791:6;;:14;;;;;;;;;;;;;;;;;;12522:216;;:::o;88:117:1:-;197:1;194;187:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:139::-;591:5;629:6;616:20;607:29;;645:33;672:5;645:33;:::i;:::-;545:139;;;;:::o;690:329::-;749:6;798:2;786:9;777:7;773:23;769:32;766:119;;;804:79;;:::i;:::-;766:119;924:1;949:53;994:7;985:6;974:9;970:22;949:53;:::i;:::-;939:63;;895:117;690:329;;;;:::o;1025:126::-;1062:7;1102:42;1095:5;1091:54;1080:65;;1025:126;;;:::o;1157:96::-;1194:7;1223:24;1241:5;1223:24;:::i;:::-;1212:35;;1157:96;;;:::o;1259:118::-;1346:24;1364:5;1346:24;:::i;:::-;1341:3;1334:37;1259:118;;:::o;1383:222::-;1476:4;1514:2;1503:9;1499:18;1491:26;;1527:71;1595:1;1584:9;1580:17;1571:6;1527:71;:::i;:::-;1383:222;;;;:::o;1611:99::-;1663:6;1697:5;1691:12;1681:22;;1611:99;;;:::o;1716:169::-;1800:11;1834:6;1829:3;1822:19;1874:4;1869:3;1865:14;1850:29;;1716:169;;;;:::o;1891:246::-;1972:1;1982:113;1996:6;1993:1;1990:13;1982:113;;;2081:1;2076:3;2072:11;2066:18;2062:1;2057:3;2053:11;2046:39;2018:2;2015:1;2011:10;2006:15;;1982:113;;;2129:1;2120:6;2115:3;2111:16;2104:27;1953:184;1891:246;;;:::o;2143:102::-;2184:6;2235:2;2231:7;2226:2;2219:5;2215:14;2211:28;2201:38;;2143:102;;;:::o;2251:377::-;2339:3;2367:39;2400:5;2367:39;:::i;:::-;2422:71;2486:6;2481:3;2422:71;:::i;:::-;2415:78;;2502:65;2560:6;2555:3;2548:4;2541:5;2537:16;2502:65;:::i;:::-;2592:29;2614:6;2592:29;:::i;:::-;2587:3;2583:39;2576:46;;2343:285;2251:377;;;;:::o;2634:313::-;2747:4;2785:2;2774:9;2770:18;2762:26;;2834:9;2828:4;2824:20;2820:1;2809:9;2805:17;2798:47;2862:78;2935:4;2926:6;2862:78;:::i;:::-;2854:86;;2634:313;;;;:::o;2953:122::-;3026:24;3044:5;3026:24;:::i;:::-;3019:5;3016:35;3006:63;;3065:1;3062;3055:12;3006:63;2953:122;:::o;3081:139::-;3127:5;3165:6;3152:20;3143:29;;3181:33;3208:5;3181:33;:::i;:::-;3081:139;;;;:::o;3226:329::-;3285:6;3334:2;3322:9;3313:7;3309:23;3305:32;3302:119;;;3340:79;;:::i;:::-;3302:119;3460:1;3485:53;3530:7;3521:6;3510:9;3506:22;3485:53;:::i;:::-;3475:63;;3431:117;3226:329;;;;:::o;3561:90::-;3595:7;3638:5;3631:13;3624:21;3613:32;;3561:90;;;:::o;3657:109::-;3738:21;3753:5;3738:21;:::i;:::-;3733:3;3726:34;3657:109;;:::o;3772:210::-;3859:4;3897:2;3886:9;3882:18;3874:26;;3910:65;3972:1;3961:9;3957:17;3948:6;3910:65;:::i;:::-;3772:210;;;;:::o;3988:474::-;4056:6;4064;4113:2;4101:9;4092:7;4088:23;4084:32;4081:119;;;4119:79;;:::i;:::-;4081:119;4239:1;4264:53;4309:7;4300:6;4289:9;4285:22;4264:53;:::i;:::-;4254:63;;4210:117;4366:2;4392:53;4437:7;4428:6;4417:9;4413:22;4392:53;:::i;:::-;4382:63;;4337:118;3988:474;;;;;:::o;4468:118::-;4555:24;4573:5;4555:24;:::i;:::-;4550:3;4543:37;4468:118;;:::o;4592:222::-;4685:4;4723:2;4712:9;4708:18;4700:26;;4736:71;4804:1;4793:9;4789:17;4780:6;4736:71;:::i;:::-;4592:222;;;;:::o;4820:619::-;4897:6;4905;4913;4962:2;4950:9;4941:7;4937:23;4933:32;4930:119;;;4968:79;;:::i;:::-;4930:119;5088:1;5113:53;5158:7;5149:6;5138:9;5134:22;5113:53;:::i;:::-;5103:63;;5059:117;5215:2;5241:53;5286:7;5277:6;5266:9;5262:22;5241:53;:::i;:::-;5231:63;;5186:118;5343:2;5369:53;5414:7;5405:6;5394:9;5390:22;5369:53;:::i;:::-;5359:63;;5314:118;4820:619;;;;;:::o;5445:86::-;5480:7;5520:4;5513:5;5509:16;5498:27;;5445:86;;;:::o;5537:112::-;5620:22;5636:5;5620:22;:::i;:::-;5615:3;5608:35;5537:112;;:::o;5655:214::-;5744:4;5782:2;5771:9;5767:18;5759:26;;5795:67;5859:1;5848:9;5844:17;5835:6;5795:67;:::i;:::-;5655:214;;;;:::o;5875:116::-;5945:21;5960:5;5945:21;:::i;:::-;5938:5;5935:32;5925:60;;5981:1;5978;5971:12;5925:60;5875:116;:::o;5997:133::-;6040:5;6078:6;6065:20;6056:29;;6094:30;6118:5;6094:30;:::i;:::-;5997:133;;;;:::o;6136:323::-;6192:6;6241:2;6229:9;6220:7;6216:23;6212:32;6209:119;;;6247:79;;:::i;:::-;6209:119;6367:1;6392:50;6434:7;6425:6;6414:9;6410:22;6392:50;:::i;:::-;6382:60;;6338:114;6136:323;;;;:::o;6465:468::-;6530:6;6538;6587:2;6575:9;6566:7;6562:23;6558:32;6555:119;;;6593:79;;:::i;:::-;6555:119;6713:1;6738:53;6783:7;6774:6;6763:9;6759:22;6738:53;:::i;:::-;6728:63;;6684:117;6840:2;6866:50;6908:7;6899:6;6888:9;6884:22;6866:50;:::i;:::-;6856:60;;6811:115;6465:468;;;;;:::o;6939:442::-;7088:4;7126:2;7115:9;7111:18;7103:26;;7139:71;7207:1;7196:9;7192:17;7183:6;7139:71;:::i;:::-;7220:72;7288:2;7277:9;7273:18;7264:6;7220:72;:::i;:::-;7302;7370:2;7359:9;7355:18;7346:6;7302:72;:::i;:::-;6939:442;;;;;;:::o;7387:474::-;7455:6;7463;7512:2;7500:9;7491:7;7487:23;7483:32;7480:119;;;7518:79;;:::i;:::-;7480:119;7638:1;7663:53;7708:7;7699:6;7688:9;7684:22;7663:53;:::i;:::-;7653:63;;7609:117;7765:2;7791:53;7836:7;7827:6;7816:9;7812:22;7791:53;:::i;:::-;7781:63;;7736:118;7387:474;;;;;:::o;7867:60::-;7895:3;7916:5;7909:12;;7867:60;;;:::o;7933:142::-;7983:9;8016:53;8034:34;8043:24;8061:5;8043:24;:::i;:::-;8034:34;:::i;:::-;8016:53;:::i;:::-;8003:66;;7933:142;;;:::o;8081:126::-;8131:9;8164:37;8195:5;8164:37;:::i;:::-;8151:50;;8081:126;;;:::o;8213:141::-;8278:9;8311:37;8342:5;8311:37;:::i;:::-;8298:50;;8213:141;;;:::o;8360:161::-;8462:52;8508:5;8462:52;:::i;:::-;8457:3;8450:65;8360:161;;:::o;8527:252::-;8635:4;8673:2;8662:9;8658:18;8650:26;;8686:86;8769:1;8758:9;8754:17;8745:6;8686:86;:::i;:::-;8527:252;;;;:::o;8785:180::-;8833:77;8830:1;8823:88;8930:4;8927:1;8920:15;8954:4;8951:1;8944:15;8971:191;9011:3;9030:20;9048:1;9030:20;:::i;:::-;9025:25;;9064:20;9082:1;9064:20;:::i;:::-;9059:25;;9107:1;9104;9100:9;9093:16;;9128:3;9125:1;9122:10;9119:36;;;9135:18;;:::i;:::-;9119:36;8971:191;;;;:::o;9168:180::-;9216:77;9213:1;9206:88;9313:4;9310:1;9303:15;9337:4;9334:1;9327:15;9354:180;9402:77;9399:1;9392:88;9499:4;9496:1;9489:15;9523:4;9520:1;9513:15;9540:143;9597:5;9628:6;9622:13;9613:22;;9644:33;9671:5;9644:33;:::i;:::-;9540:143;;;;:::o;9689:351::-;9759:6;9808:2;9796:9;9787:7;9783:23;9779:32;9776:119;;;9814:79;;:::i;:::-;9776:119;9934:1;9959:64;10015:7;10006:6;9995:9;9991:22;9959:64;:::i;:::-;9949:74;;9905:128;9689:351;;;;:::o;10046:553::-;10223:4;10261:3;10250:9;10246:19;10238:27;;10275:71;10343:1;10332:9;10328:17;10319:6;10275:71;:::i;:::-;10356:72;10424:2;10413:9;10409:18;10400:6;10356:72;:::i;:::-;10438;10506:2;10495:9;10491:18;10482:6;10438:72;:::i;:::-;10520;10588:2;10577:9;10573:18;10564:6;10520:72;:::i;:::-;10046:553;;;;;;;:::o;10605:85::-;10650:7;10679:5;10668:16;;10605:85;;;:::o;10696:158::-;10754:9;10787:61;10805:42;10814:32;10840:5;10814:32;:::i;:::-;10805:42;:::i;:::-;10787:61;:::i;:::-;10774:74;;10696:158;;;:::o;10860:147::-;10955:45;10994:5;10955:45;:::i;:::-;10950:3;10943:58;10860:147;;:::o;11013:114::-;11080:6;11114:5;11108:12;11098:22;;11013:114;;;:::o;11133:184::-;11232:11;11266:6;11261:3;11254:19;11306:4;11301:3;11297:14;11282:29;;11133:184;;;;:::o;11323:132::-;11390:4;11413:3;11405:11;;11443:4;11438:3;11434:14;11426:22;;11323:132;;;:::o;11461:108::-;11538:24;11556:5;11538:24;:::i;:::-;11533:3;11526:37;11461:108;;:::o;11575:179::-;11644:10;11665:46;11707:3;11699:6;11665:46;:::i;:::-;11743:4;11738:3;11734:14;11720:28;;11575:179;;;;:::o;11760:113::-;11830:4;11862;11857:3;11853:14;11845:22;;11760:113;;;:::o;11909:732::-;12028:3;12057:54;12105:5;12057:54;:::i;:::-;12127:86;12206:6;12201:3;12127:86;:::i;:::-;12120:93;;12237:56;12287:5;12237:56;:::i;:::-;12316:7;12347:1;12332:284;12357:6;12354:1;12351:13;12332:284;;;12433:6;12427:13;12460:63;12519:3;12504:13;12460:63;:::i;:::-;12453:70;;12546:60;12599:6;12546:60;:::i;:::-;12536:70;;12392:224;12379:1;12376;12372:9;12367:14;;12332:284;;;12336:14;12632:3;12625:10;;12033:608;;;11909:732;;;;:::o;12647:831::-;12910:4;12948:3;12937:9;12933:19;12925:27;;12962:71;13030:1;13019:9;13015:17;13006:6;12962:71;:::i;:::-;13043:80;13119:2;13108:9;13104:18;13095:6;13043:80;:::i;:::-;13170:9;13164:4;13160:20;13155:2;13144:9;13140:18;13133:48;13198:108;13301:4;13292:6;13198:108;:::i;:::-;13190:116;;13316:72;13384:2;13373:9;13369:18;13360:6;13316:72;:::i;:::-;13398:73;13466:3;13455:9;13451:19;13442:6;13398:73;:::i;:::-;12647:831;;;;;;;;:::o;13484:529::-;13649:4;13687:3;13676:9;13672:19;13664:27;;13701:65;13763:1;13752:9;13748:17;13739:6;13701:65;:::i;:::-;13776:66;13838:2;13827:9;13823:18;13814:6;13776:66;:::i;:::-;13852:72;13920:2;13909:9;13905:18;13896:6;13852:72;:::i;:::-;13934;14002:2;13991:9;13987:18;13978:6;13934:72;:::i;:::-;13484:529;;;;;;;:::o;14019:194::-;14059:4;14079:20;14097:1;14079:20;:::i;:::-;14074:25;;14113:20;14131:1;14113:20;:::i;:::-;14108:25;;14157:1;14154;14150:9;14142:17;;14181:1;14175:4;14172:11;14169:37;;;14186:18;;:::i;:::-;14169:37;14019:194;;;;:::o;14219:224::-;14359:34;14355:1;14347:6;14343:14;14336:58;14428:7;14423:2;14415:6;14411:15;14404:32;14219:224;:::o;14449:366::-;14591:3;14612:67;14676:2;14671:3;14612:67;:::i;:::-;14605:74;;14688:93;14777:3;14688:93;:::i;:::-;14806:2;14801:3;14797:12;14790:19;;14449:366;;;:::o;14821:419::-;14987:4;15025:2;15014:9;15010:18;15002:26;;15074:9;15068:4;15064:20;15060:1;15049:9;15045:17;15038:47;15102:131;15228:4;15102:131;:::i;:::-;15094:139;;14821:419;;;:::o;15246:553::-;15423:4;15461:3;15450:9;15446:19;15438:27;;15475:71;15543:1;15532:9;15528:17;15519:6;15475:71;:::i;:::-;15556:72;15624:2;15613:9;15609:18;15600:6;15556:72;:::i;:::-;15638;15706:2;15695:9;15691:18;15682:6;15638:72;:::i;:::-;15720;15788:2;15777:9;15773:18;15764:6;15720:72;:::i;:::-;15246:553;;;;;;;:::o;15805:332::-;15926:4;15964:2;15953:9;15949:18;15941:26;;15977:71;16045:1;16034:9;16030:17;16021:6;15977:71;:::i;:::-;16058:72;16126:2;16115:9;16111:18;16102:6;16058:72;:::i;:::-;15805:332;;;;;:::o;16143:179::-;16283:31;16279:1;16271:6;16267:14;16260:55;16143:179;:::o;16328:366::-;16470:3;16491:67;16555:2;16550:3;16491:67;:::i;:::-;16484:74;;16567:93;16656:3;16567:93;:::i;:::-;16685:2;16680:3;16676:12;16669:19;;16328:366;;;:::o;16700:419::-;16866:4;16904:2;16893:9;16889:18;16881:26;;16953:9;16947:4;16943:20;16939:1;16928:9;16924:17;16917:47;16981:131;17107:4;16981:131;:::i;:::-;16973:139;;16700:419;;;:::o;17125:225::-;17265:34;17261:1;17253:6;17249:14;17242:58;17334:8;17329:2;17321:6;17317:15;17310:33;17125:225;:::o;17356:366::-;17498:3;17519:67;17583:2;17578:3;17519:67;:::i;:::-;17512:74;;17595:93;17684:3;17595:93;:::i;:::-;17713:2;17708:3;17704:12;17697:19;;17356:366;;;:::o;17728:419::-;17894:4;17932:2;17921:9;17917:18;17909:26;;17981:9;17975:4;17971:20;17967:1;17956:9;17952:17;17945:47;18009:131;18135:4;18009:131;:::i;:::-;18001:139;;17728:419;;;:::o;18153:720::-;18388:4;18426:3;18415:9;18411:19;18403:27;;18440:79;18516:1;18505:9;18501:17;18492:6;18440:79;:::i;:::-;18566:9;18560:4;18556:20;18551:2;18540:9;18536:18;18529:48;18594:108;18697:4;18688:6;18594:108;:::i;:::-;18586:116;;18712:72;18780:2;18769:9;18765:18;18756:6;18712:72;:::i;:::-;18794;18862:2;18851:9;18847:18;18838:6;18794:72;:::i;:::-;18153:720;;;;;;;:::o;18879:410::-;18919:7;18942:20;18960:1;18942:20;:::i;:::-;18937:25;;18976:20;18994:1;18976:20;:::i;:::-;18971:25;;19031:1;19028;19024:9;19053:30;19071:11;19053:30;:::i;:::-;19042:41;;19232:1;19223:7;19219:15;19216:1;19213:22;19193:1;19186:9;19166:83;19143:139;;19262:18;;:::i;:::-;19143:139;18927:362;18879:410;;;;:::o;19295:180::-;19343:77;19340:1;19333:88;19440:4;19437:1;19430:15;19464:4;19461:1;19454:15;19481:185;19521:1;19538:20;19556:1;19538:20;:::i;:::-;19533:25;;19572:20;19590:1;19572:20;:::i;:::-;19567:25;;19611:1;19601:35;;19616:18;;:::i;:::-;19601:35;19658:1;19655;19651:9;19646:14;;19481:185;;;;:::o

Swarm Source

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