ETH Price: $3,274.48 (-4.14%)
Gas: 11 Gwei

Token

PandaFinanc3 (PAF)
 

Overview

Max Total Supply

11,000,000,000 PAF

Holders

57

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0.828901988803587415 PAF

Value
$0.00
0x90573449348cf14e4e9a4bb5050C1F83AEDE4E2E
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:
PandaFinanc3

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-11-22
*/

// ██████  ███████ ██    ██  ██████  ██      ██    ██ ███████ ██  ██████  ███    ██                   
// ██   ██ ██      ██    ██ ██    ██ ██      ██    ██     ██  ██ ██    ██ ████   ██                  
// ██████  █████   ██    ██ ██    ██ ██      ██    ██   ██    ██ ██    ██ ██ ██  ██                   
// ██   ██ ██       ██  ██  ██    ██ ██      ██    ██  ██     ██ ██    ██ ██  ██ ██                   
// ██   ██ ███████   ████    ██████  ███████  ██████  ███████ ██  ██████  ██   ████    

// SAFU CONTRACT DEVELOPED BY REVOLUZION

// Revoluzion Ecosystem
// WEB: https://revoluzion.io
// DAPP: https://revoluzion.app

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

interface IStaking {

    // FUNCTION

    function deposit(uint256 amount) external;
}

/********************************************************************************************
  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 PandaFinanc3 is Ownable, ICommonError, IERC20 {

    // DATA

    IRouter public router;

    string private constant NAME = "PandaFinanc3";
    string private constant SYMBOL = "PAF";

    uint8 private constant DECIMALS = 18;

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

    uint256 public constant BUYFEEMARKETING = 100;
    uint256 public constant SELLFEEMARKETING = 100;
    uint256 public constant TRANSFERFEEMARKETING = 0;
    uint256 public constant BUYFEESTAKING = 100;
    uint256 public constant SELLFEESTAKING = 100;
    uint256 public constant TRANSFERFEESTAKING = 0;
    uint256 public constant BUYFEEBURN = 100;
    uint256 public constant SELLFEEBURN = 100;
    uint256 public constant TRANSFERFEEBURN = 0;

    uint256 public totalMarketingFeeCollected = 0;
    uint256 public totalMarketingFeeRedeemed = 0;
    uint256 public totalStakingFeeCollected = 0;
    uint256 public totalStakingFeeRedeemed = 0;
    uint256 public totalBurnFeeCollected = 0;
    uint256 public totalBurnFeeRedeemed = 0;
    uint256 public totalFeeCollected = 0;
    uint256 public totalFeeRedeemed = 0;
    uint256 public totalTriggerZeusBuyback = 0;
    uint256 public lastTriggerZeusTimestamp = 0;
    uint256 public minSwap = 100_000 ether;

    bool private constant ISPAF = true;

    bool public tradeEnabled = false;
    bool public isFeeActive = false;
    bool public isSwapEnabled = false;
    bool public inSwap = false;
    bool public isStakingContract = false;

    address public constant ZERO = address(0);
    address public constant DEAD = address(0xdead);
    address public constant PROJECTOWNER = 0x37e25Fa9E27E12211572E555a49495B60d585f76;
    address public constant FEERECEIVER = 0xa3d552C0709A867d024AC73A6444520C1444d450;

    address public pair;
    address public stakingReceiver;
    
    // 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 InvalidTradeEnabledState(bool current);

    error InvalidFeeActiveState(bool current);

    error InvalidSwapEnabledState(bool current);

    error PresaleAlreadyFinalized(bool current);

    error InvalidStakingAddress(address staking);

    error TradeDisabled();

    error CannotUseMainPair();

    // CONSTRUCTOR

    constructor(
        address stakingAddress,
        bool isContract
    ) Ownable (msg.sender) {
        _mint(msg.sender, 11_000_000_000 * 10**DECIMALS);

        router = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        pair = IFactory(router.factory()).createPair(address(this), router.WETH());

        if (stakingAddress == ZERO) {
            revert InvalidStakingAddress(stakingAddress);
        }

        stakingReceiver = stakingAddress;
        isStakingContract = isContract;

        isPairLP[pair] = true;

        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 marketingAmount, uint256 stakingAmount, uint256 burnAmount, uint256 amountToRedeem, address caller, uint256 timestamp);

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

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

    event UpdateStakingReceiver(address oldReceiver, address newReceiver, address caller, uint256 timestamp);

    // FUNCTION

    /* General */

    receive() external payable {}

    function enableTrading() external onlyOwner {
        if (tradeEnabled) { revert InvalidTradeEnabledState(tradeEnabled); }
        if (isFeeActive) { revert InvalidFeeActiveState(isFeeActive); }
        if (isSwapEnabled) { revert InvalidSwapEnabledState(isSwapEnabled); }
        tradeEnabled = true;
        isFeeActive = true;
        isSwapEnabled = true;
    }

    /* Redeem */

    function autoRedeem(uint256 amountToRedeem) public swapping {          
        uint256 totalFee = BUYFEEMARKETING + BUYFEESTAKING + BUYFEEBURN;
        uint256 marketingRedeem = amountToRedeem * BUYFEEMARKETING / totalFee;
        uint256 stakingRedeem = amountToRedeem * BUYFEESTAKING / totalFee;
        uint256 burnRedeem = amountToRedeem - marketingRedeem - stakingRedeem;
        totalFeeRedeemed += amountToRedeem;
        totalMarketingFeeRedeemed += marketingRedeem;
        totalStakingFeeRedeemed += stakingRedeem;
        totalBurnFeeRedeemed += burnRedeem;

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

        if (stakingReceiver == ZERO) {
            revert InvalidStakingAddress(stakingReceiver);
        }

        if (isStakingContract) {
            _approve(address(this), address(stakingReceiver), marketingRedeem);
            IStaking(stakingReceiver).deposit(stakingRedeem);
        } else {
            _basicTransfer(address(this), stakingReceiver, stakingRedeem);
        }

        _basicTransfer(address(this), DEAD, burnRedeem);
        _approve(address(this), address(router), marketingRedeem);
        
        emit AutoRedeem(marketingRedeem, stakingRedeem, burnRedeem, amountToRedeem, msg.sender, block.timestamp);

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            marketingRedeem,
            0,
            path,
            FEERECEIVER,
            block.timestamp
        );
    }

    /* Check */

    function isPandaFinanc3() external pure returns (bool) {
        return ISPAF;
    }

    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);
        address oldPair = pair;
        
        isPairLP[oldPair] = false;
        isExcludeFromFees[oldRouter] = false;
        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 updateIsStakingContract(bool newStatus) external onlyOwner {
        if (isStakingContract == newStatus) { revert CannotUseCurrentState(newStatus); }
        bool oldStatus = isStakingContract;
        isStakingContract = newStatus;
        emit UpdateIsStakingContract(oldStatus, newStatus, msg.sender, block.timestamp);
    }

    function updateStakingReceiver(address newReceiver) external onlyOwner {
        if (stakingReceiver == newReceiver) { revert CannotUseCurrentAddress(newReceiver); }
        address oldReceiver = stakingReceiver;
        stakingReceiver = newReceiver;
        emit UpdateStakingReceiver(oldReceiver, newReceiver, 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 (lpPair == pair) { revert CannotUseMainPair(); }
        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 takeBuyFee(address from, uint256 amount) internal swapping returns (uint256) {
        uint256 feeAmountMarketing = amount * BUYFEEMARKETING / FEEDENOMINATOR;
        uint256 feeAmountStaking = amount * BUYFEESTAKING / FEEDENOMINATOR;
        uint256 feeAmountBurn = amount * BUYFEEBURN / FEEDENOMINATOR;
        uint256 newAmount = amount - feeAmountMarketing - feeAmountStaking - feeAmountBurn;
        if ((feeAmountMarketing + feeAmountStaking + feeAmountBurn) > 0) {
            tallyCollection(from, feeAmountMarketing, feeAmountStaking, feeAmountBurn);
        }
        return newAmount;
    }

    function takeSellFee(address from, uint256 amount) internal swapping returns (uint256) {
        uint256 feeAmountMarketing = amount * SELLFEEMARKETING / FEEDENOMINATOR;
        uint256 feeAmountStaking = amount * SELLFEESTAKING / FEEDENOMINATOR;
        uint256 feeAmountBurn = amount * SELLFEEBURN / FEEDENOMINATOR;
        uint256 newAmount = amount - feeAmountMarketing - feeAmountStaking - feeAmountBurn;
        if ((feeAmountMarketing + feeAmountStaking + feeAmountBurn) > 0) {
            tallyCollection(from, feeAmountMarketing, feeAmountStaking, feeAmountBurn);
        }
        return newAmount;
    }

    function takeTransferFee(address from, uint256 amount) internal swapping returns (uint256) {
        uint256 feeAmountMarketing = amount * TRANSFERFEEMARKETING / FEEDENOMINATOR;
        uint256 feeAmountStaking = amount * TRANSFERFEESTAKING / FEEDENOMINATOR;
        uint256 feeAmountBurn = amount * TRANSFERFEEBURN / FEEDENOMINATOR;
        uint256 newAmount = amount - feeAmountMarketing - feeAmountStaking - feeAmountBurn;
        if ((feeAmountMarketing + feeAmountStaking + feeAmountBurn) > 0) {
            tallyCollection(from, feeAmountMarketing, feeAmountStaking, feeAmountBurn);
        }
        return newAmount;
    }

    function tallyCollection(address from, uint256 collectFeeMarketing, uint256 collectFeeStaking, uint256 collectFeeBurn) internal swapping {
        uint256 collectFee = collectFeeMarketing + collectFeeStaking + collectFeeBurn;
        totalMarketingFeeCollected += collectFeeMarketing;
        totalStakingFeeCollected += collectFeeStaking;
        totalBurnFeeCollected += collectFeeBurn;
        totalFeeCollected += collectFee;
        _basicTransfer(from, 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 (!tradeEnabled && !isExcludeFromFees[from] && !isExcludeFromFees[to]) { revert TradeDisabled(); }

        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] && ((BUYFEEMARKETING + BUYFEESTAKING + BUYFEEBURN) > 0)) {
            return takeBuyFee(from, amount);
        }
        if (isPairLP[to] && ((SELLFEEMARKETING + SELLFEESTAKING + SELLFEEBURN) > 0)) {
            return takeSellFee(from, amount);
        }
        if (!isPairLP[from] && !isPairLP[to] && ((TRANSFERFEEMARKETING + TRANSFERFEESTAKING + TRANSFERFEEBURN) > 0)) {
            return takeTransferFee(from, amount);
        }
        return amount;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"stakingAddress","type":"address"},{"internalType":"bool","name":"isContract","type":"bool"}],"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":[],"name":"CannotUseMainPair","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":"address","name":"staking","type":"address"}],"name":"InvalidStakingAddress","type":"error"},{"inputs":[{"internalType":"bool","name":"current","type":"bool"}],"name":"InvalidSwapEnabledState","type":"error"},{"inputs":[{"internalType":"bool","name":"current","type":"bool"}],"name":"InvalidTradeEnabledState","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":"marketingAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"stakingAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"burnAmount","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":"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":"UpdateIsStakingContract","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":"address","name":"oldReceiver","type":"address"},{"indexed":false,"internalType":"address","name":"newReceiver","type":"address"},{"indexed":false,"internalType":"address","name":"caller","type":"address"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"UpdateStakingReceiver","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":"BUYFEEBURN","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BUYFEEMARKETING","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BUYFEESTAKING","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":"FEERECEIVER","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PROJECTOWNER","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SELLFEEBURN","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SELLFEEMARKETING","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SELLFEESTAKING","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TRANSFERFEEBURN","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TRANSFERFEEMARKETING","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TRANSFERFEESTAKING","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":"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":"enableTrading","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":[{"internalType":"address","name":"","type":"address"}],"name":"isPairLP","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isPandaFinanc3","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"isStakingContract","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":"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":"stakingReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalBurnFeeCollected","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalBurnFeeRedeemed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"totalMarketingFeeCollected","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalMarketingFeeRedeemed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalStakingFeeCollected","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalStakingFeeRedeemed","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":[],"name":"tradeEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"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":"bool","name":"newStatus","type":"bool"}],"name":"updateIsStakingContract","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":"address","name":"newReceiver","type":"address"}],"name":"updateStakingReceiver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"newStatus","type":"bool"}],"name":"updateSwapEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405260006003819055600481905560058190556006819055600781905560088190556009819055600a819055600b819055600c5569152d02c7e14af6800000600d55600e805464ffffffffff191690553480156200005f57600080fd5b5060405162002c5338038062002c53833981016040819052620000829162000464565b336200008e8162000356565b50620000b933620000a26012600a620005b9565b620000b39064028fa6ae00620005d1565b620003a6565b600180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa1580156200011e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001449190620005eb565b6001600160a01b031663c9c6539630600160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001a7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001cd9190620005eb565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156200021b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002419190620005eb565b600e8054600160281b600160c81b031916650100000000006001600160a01b0393841602179055821662000298576040516314eec6eb60e01b81526001600160a01b03831660048201526024015b60405180910390fd5b600f80546001600160a01b0319166001600160a01b03938416179055600e805460ff60201b191664010000000092151592909202919091179081905565010000000000900481166000908152601360209081526040808320805460ff199081166001908117909255338552601290935281842080548416821790557fcfe550faf7e3cb438965c4e9838cfec9a39c98e9c457cbe10b0b5e00cf194409805484168217905580549094168352909120805490911690911790556200061f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038216620003da57604051634726455360e11b81526001600160a01b03831660048201526024016200028f565b8060026000828254620003ee919062000609565b90915550506001600160a01b0382166000818152601060209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b80516001600160a01b03811681146200045f57600080fd5b919050565b600080604083850312156200047857600080fd5b620004838362000447565b9150602083015180151581146200049957600080fd5b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620004fb578160001904821115620004df57620004df620004a4565b80851615620004ed57918102915b93841c9390800290620004bf565b509250929050565b6000826200051457506001620005b3565b816200052357506000620005b3565b81600181146200053c5760028114620005475762000567565b6001915050620005b3565b60ff8411156200055b576200055b620004a4565b50506001821b620005b3565b5060208310610133831016604e8410600b84101617156200058c575081810a620005b3565b620005988383620004ba565b8060001904821115620005af57620005af620004a4565b0290505b92915050565b6000620005ca60ff84168362000503565b9392505050565b8082028115828204841417620005b357620005b3620004a4565b600060208284031215620005fe57600080fd5b620005ca8262000447565b80820180821115620005b357620005b3620004a4565b612624806200062f6000396000f3fe6080604052600436106103b15760003560e01c80638b5bb970116101e7578063c9aebe1f1161010d578063da4daf71116100a0578063f2a426871161006f578063f2a42687146109fc578063f2fde38b14610a2c578063f887ea4014610a4c578063f924e3e01461045057600080fd5b8063da4daf71146109a7578063dba6281b14610450578063dd62ed3e146109bd578063e43504da146109dd57600080fd5b8063d621e813116100dc578063d621e81314610936578063d63cad2214610950578063d830678614610970578063d84654401461099157600080fd5b8063c9aebe1f146108e0578063cb3966eb146108f6578063d47d87411461051e578063d502a03a1461091657600080fd5b8063a457c2d711610185578063ab37dec811610154578063ab37dec81461088a578063b1080fc114610450578063b9b2b5cd146108aa578063c851cc32146108c057600080fd5b8063a457c2d71461080d578063a8aa1b311461082d578063a9059cbb14610854578063ab28a04c1461087457600080fd5b80639358928b116101c15780639358928b146107a057806395d89b41146107b557806397e1b9d3146107e15780639cd92209146107f757600080fd5b80638b5bb9701461074e5780638da5cb5b14610762578063924de9b71461078057600080fd5b80633a7c43d6116102d75780636e6f7fb01161026a57806375fed3c71161023957806375fed3c7146106db57806378eec331146106fb5780638a2371bb146107235780638a8c523c1461073957600080fd5b80636e6f7fb01461045057806370a082311461067a578063715018a6146106b057806371538eed146106c557600080fd5b806358fa63ca116102a657806358fa63ca1461060f57806359cd903114610624578063625dd6051461063a57806363a954921461065a57600080fd5b80633a7c43d6146104505780633bf31454146105b75780633e934f56146105d7578063526f4ef0146105f957600080fd5b806323b872dd1161034f57806335131df01161031e57806335131df01461051e578063351a964d1461054f578063395093511461056f57806339d445bf1461058f57600080fd5b806323b872dd146104e8578063253a19a3146105085780632dab00e11461051e578063313ce5671461053357600080fd5b806307e16fa51161038b57806307e16fa51461045057806308c4365014610473578063095ea7b3146104b357806318160ddd146104d357600080fd5b806301295143146103bd57806303fd2a45146103df57806306fdde031461041257600080fd5b366103b857005b600080fd5b3480156103c957600080fd5b506103dd6103d8366004612281565b610a6c565b005b3480156103eb57600080fd5b506103f561dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561041e57600080fd5b5060408051808201909152600c81526b50616e646146696e616e633360a01b60208201525b604051610409919061229a565b34801561045c57600080fd5b50610465606481565b604051908152602001610409565b34801561047f57600080fd5b506104a361048e3660046122fd565b60136020526000908152604090205460ff1681565b6040519015158152602001610409565b3480156104bf57600080fd5b506104a36104ce36600461231a565b610e0e565b3480156104df57600080fd5b50600254610465565b3480156104f457600080fd5b506104a3610503366004612346565b610e28565b34801561051457600080fd5b5061046560085481565b34801561052a57600080fd5b50610465600081565b34801561053f57600080fd5b5060405160128152602001610409565b34801561055b57600080fd5b50600e546104a39062010000900460ff1681565b34801561057b57600080fd5b506104a361058a36600461231a565b610e4c565b34801561059b57600080fd5b506103f573a3d552c0709a867d024ac73a6444520c1444d45081565b3480156105c357600080fd5b506103dd6105d236600461239c565b610e6e565b3480156105e357600080fd5b50600e546104a390640100000000900460ff1681565b34801561060557600080fd5b5061046560055481565b34801561061b57600080fd5b506103f5600081565b34801561063057600080fd5b50610465600d5481565b34801561064657600080fd5b506103dd6106553660046123b7565b610f0e565b34801561066657600080fd5b506103dd610675366004612281565b6110da565b34801561068657600080fd5b506104656106953660046122fd565b6001600160a01b031660009081526010602052604090205490565b3480156106bc57600080fd5b506103dd61110c565b3480156106d157600080fd5b50610465600a5481565b3480156106e757600080fd5b506103dd6106f6366004612281565b611120565b34801561070757600080fd5b506103f57337e25fa9e27e12211572e555a49495b60d585f7681565b34801561072f57600080fd5b5061046560035481565b34801561074557600080fd5b506103dd61119b565b34801561075a57600080fd5b5060016104a3565b34801561076e57600080fd5b506000546001600160a01b03166103f5565b34801561078c57600080fd5b506103dd61079b36600461239c565b611257565b3480156107ac57600080fd5b506104656112ed565b3480156107c157600080fd5b506040805180820190915260038152622820a360e91b6020820152610443565b3480156107ed57600080fd5b50610465600c5481565b34801561080357600080fd5b5061046560065481565b34801561081957600080fd5b506104a361082836600461231a565b61135d565b34801561083957600080fd5b50600e546103f590600160281b90046001600160a01b031681565b34801561086057600080fd5b506104a361086f36600461231a565b6113e3565b34801561088057600080fd5b5061046561271081565b34801561089657600080fd5b506103dd6108a53660046122fd565b6113f9565b3480156108b657600080fd5b5061046560095481565b3480156108cc57600080fd5b506103dd6108db3660046122fd565b6114a4565b3480156108ec57600080fd5b5061046560045481565b34801561090257600080fd5b50600f546103f5906001600160a01b031681565b34801561092257600080fd5b506103dd61093136600461239c565b611755565b34801561094257600080fd5b50600e546104a39060ff1681565b34801561095c57600080fd5b506103dd61096b3660046123b7565b6117ef565b34801561097c57600080fd5b50600e546104a3906301000000900460ff1681565b34801561099d57600080fd5b5061046560075481565b3480156109b357600080fd5b50610465600b5481565b3480156109c957600080fd5b506104656109d83660046123ec565b611866565b3480156109e957600080fd5b50600e546104a390610100900460ff1681565b348015610a0857600080fd5b506104a3610a173660046122fd565b60126020526000908152604090205460ff1681565b348015610a3857600080fd5b506103dd610a473660046122fd565b611891565b348015610a5857600080fd5b506001546103f5906001600160a01b031681565b600e805463ff0000001916630100000017905560006064610a8d818061243b565b610a97919061243b565b9050600081610aa760648561244e565b610ab19190612465565b9050600082610ac160648661244e565b610acb9190612465565b9050600081610ada8487612487565b610ae49190612487565b905084600a6000828254610af8919061243b565b925050819055508260046000828254610b11919061243b565b925050819055508160066000828254610b2a919061243b565b925050819055508060086000828254610b43919061243b565b90915550506040805160028082526060820183526000926020830190803683370190505090503081600081518110610b7d57610b7d61249a565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610bd6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bfa91906124b0565b81600181518110610c0d57610c0d61249a565b6001600160a01b039283166020918202929092010152600f5416610c5857600f546040516314eec6eb60e01b81526001600160a01b0390911660048201526024015b60405180910390fd5b600e54640100000000900460ff1615610ce657600f54610c839030906001600160a01b0316866118cc565b600f5460405163b6b55f2560e01b8152600481018590526001600160a01b039091169063b6b55f2590602401600060405180830381600087803b158015610cc957600080fd5b505af1158015610cdd573d6000803e3d6000fd5b50505050610d00565b600f54610cfe9030906001600160a01b031685611991565b505b610d0d3061dead84611991565b50600154610d269030906001600160a01b0316866118cc565b6040805185815260208101859052908101839052606081018790523360808201524260a08201527f095046c58a377d54685857e96b2bbfd471ec5fe130ece4bd1fbf1369b1be25e49060c00160405180910390a160015460405163791ac94760e01b81526001600160a01b039091169063791ac94790610dc7908790600090869073a3d552c0709a867d024ac73a6444520c1444d450904290600401612511565b600060405180830381600087803b158015610de157600080fd5b505af1158015610df5573d6000803e3d6000fd5b5050600e805463ff000000191690555050505050505050565b600033610e1c8185856118cc565b60019150505b92915050565b600033610e36858285611a3d565b610e41858585611ab7565b9150505b9392505050565b600033610e1c818585610e5f8383611866565b610e69919061243b565b6118cc565b610e76611d4e565b801515600e60019054906101000a900460ff16151503610eac5760405162a7e72d60e41b81528115156004820152602401610c4f565b600e805461ff0019811661010084151581029190911790925560405191900460ff16907ff99f9d4d81f67d0980beea494b4404ba3b8af1a0a2d493230f1a883efa027f2f90610f0290839085903390429061254d565b60405180910390a15050565b610f16611d4e565b600e546001600160a01b03600160281b909104811690831603610f4c57604051631807bf8160e01b815260040160405180910390fd5b6001600160a01b03821660009081526013602052604090205481151560ff909116151503610f905760405162a7e72d60e41b81528115156004820152602401610c4f565b306001600160a01b0316826001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ffc91906124b0565b6001600160a01b0316141580156110865750306001600160a01b0316826001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015611056573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107a91906124b0565b6001600160a01b031614155b156110af57604051634726455360e11b81526001600160a01b0383166004820152602401610c4f565b6001600160a01b03919091166000908152601360205260409020805460ff1916911515919091179055565b6110e2611d4e565b80600b60008282546110f4919061243b565b909155505042600c556111098161dead611d8a565b50565b611114611d4e565b61111e6000611f23565b565b611128611d4e565b80600d540361114d5760405163657e16cf60e01b815260048101829052602401610c4f565b600d805490829055604080518281526020810184905233918101919091524260608201527f9a9f4704ac409fe039e92a996e415370980275aaff2992936ed5b432886c55c590608001610f02565b6111a3611d4e565b600e5460ff16156111d257600e546040516301bf623960e61b815260ff90911615156004820152602401610c4f565b600e54610100900460ff161561120a57600e54604051630eff900b60e21b815261010090910460ff1615156004820152602401610c4f565b600e5462010000900460ff161561124457600e5460405163610a8e6760e01b81526201000090910460ff1615156004820152602401610c4f565b600e805462ffffff191662010101179055565b61125f611d4e565b801515600e60029054906101000a900460ff161515036112955760405162a7e72d60e41b81528115156004820152602401610c4f565b600e805462ff00001981166201000084151581029190911790925560405191900460ff16907fa9eb6c000d17475b17651469533695f7b673c93327fdbadf4341ebeb2607a04490610f0290839085903390429061254d565b60106020527f6e0956cda88cad152e89927e53611735b61a5c762d1428573c6931b0a5efcb015461dead60009081527f9e93e1db4a1f807cc22b2aecf4deeb0bf5745f1ecb319e87c68c5624c0fa6b695460025491929161134e9190612487565b6113589190612487565b905090565b6000338161136b8286611866565b9050838110156113cb5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610c4f565b6113d882868684036118cc565b506001949350505050565b6000336113f1818585611ab7565b949350505050565b611401611d4e565b600f546001600160a01b0380831691160361143a5760405163a936636960e01b81526001600160a01b0382166004820152602401610c4f565b600f80546001600160a01b038381166001600160a01b0319831681179093556040805191909216808252602082019390935233918101919091524260608201527f7e90f9d2659130ec0a3b94870d2ffaa623d443d4317811b3bb508f0b4e39c73c90608001610f02565b6114ac611d4e565b6001546001600160a01b038083169116036114e55760405163a936636960e01b81526001600160a01b0382166004820152602401610c4f565b600180546001600160a01b038381166001600160a01b0319831681178455600e54600160281b900482166000818152601360209081526040808320805460ff1990811690915595909616808352601282528683208054871690558483529186902080549095169096179093558351838152948501919091523392840192909252426060840152917fe1cb783288eddc7b22c25642a832d886a558be0dd900747310a34156b9fdcbbb9060800160405180910390a1600160009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115ec573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061161091906124b0565b6001600160a01b031663c9c6539630600160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611672573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061169691906124b0565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156116e3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061170791906124b0565b600e805465010000000000600160c81b031916600160281b6001600160a01b03938416810291909117918290559004166000908152601360205260409020805460ff19166001179055505050565b61175d611d4e565b801515600e60049054906101000a900460ff161515036117935760405162a7e72d60e41b81528115156004820152602401610c4f565b600e805464ff0000000019811664010000000084151581029190911790925560405191900460ff16907fc3398fc30ad42edc812ea6d29f22432b21b112fed472b850516b88a357ed4ce690610f0290839085903390429061254d565b6117f7611d4e565b6001600160a01b03821660009081526012602052604090205481151560ff90911615150361183b5760405162a7e72d60e41b81528115156004820152602401610c4f565b6001600160a01b03919091166000908152601260205260409020805460ff1916911515919091179055565b6001600160a01b03918216600090815260116020908152604080832093909416825291909152205490565b611899611d4e565b6001600160a01b0381166118c35760405163b20f76e360e01b815260006004820152602401610c4f565b61110981611f23565b6001600160a01b0383166118fe57604051634726455360e11b81526001600160a01b0384166004820152602401610c4f565b6001600160a01b03821661193057604051634726455360e11b81526001600160a01b0383166004820152602401610c4f565b6001600160a01b0383811660008181526011602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316600090815260106020526040812054828110156119ca5760405162461bcd60e51b8152600401610c4f90612573565b6001600160a01b0380861660008181526010602052604080822087860390559287168082529083902080548701905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611a2a9087815260200190565b60405180910390a3506001949350505050565b6000611a498484611866565b90506000198114611ab15781811015611aa45760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610c4f565b611ab184848484036118cc565b50505050565b60006001600160a01b038416611aeb57604051634726455360e11b81526001600160a01b0385166004820152602401610c4f565b6001600160a01b038316611b1d57604051634726455360e11b81526001600160a01b0384166004820152602401610c4f565b600e5460ff16158015611b4957506001600160a01b03841660009081526012602052604090205460ff16155b8015611b6e57506001600160a01b03831660009081526012602052604090205460ff16155b15611b8c57604051632b61510560e11b815260040160405180910390fd5b600e546301000000900460ff1680611bbc57506001600160a01b03841660009081526012602052604090205460ff165b15611bd357611bcc848484611991565b9050610e45565b600e546001600160a01b03858116600160281b9092041614801590611c005750600e5462010000900460ff165b8015611c1d5750600d543060009081526010602052604090205410155b8015611c3a5750600d54600a54600954611c379190612487565b10155b15611c4a57611c4a600d54610a6c565b600e548290610100900460ff168015611c7c57506001600160a01b03851660009081526012602052604090205460ff16155b8015611ca157506001600160a01b03841660009081526012602052604090205460ff16155b15611cb457611cb1858585611f73565b90505b6001600160a01b038516600090815260106020526040902054811115611cec5760405162461bcd60e51b8152600401610c4f90612573565b6001600160a01b03808616600081815260106020526040808220805486900390559287168082529083902080548501905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611a2a9085815260200190565b33611d616000546001600160a01b031690565b6001600160a01b03161461111e576040516332b2baa360e01b8152336004820152602401610c4f565b600e805463ff0000001916630100000017905561deac193301611dc457604051634726455360e11b815261dead6004820152602401610c4f565b6040805160028082526060820183526000926020830190803683375050600154604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c4648925060048083019260209291908290030181865afa158015611e2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e5291906124b0565b81600081518110611e6557611e6561249a565b60200260200101906001600160a01b031690816001600160a01b0316815250503081600181518110611e9957611e9961249a565b6001600160a01b03928316602091820292909201015260015460405163b6f9de9560e01b815291169063b6f9de95908590611edf906000908690889042906004016125b9565b6000604051808303818588803b158015611ef857600080fd5b505af1158015611f0c573d6000803e3d6000fd5b5050600e805463ff00000019169055505050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600e805463ff000000191663010000001790556001600160a01b03831660009081526013602052604081205460ff168015611fc3575060006064611fb7818061243b565b611fc1919061243b565b115b15611fd957611fd284836120ad565b9050612099565b6001600160a01b03831660009081526013602052604090205460ff16801561201657506000606461200a818061243b565b612014919061243b565b115b1561202557611fd284836120ad565b6001600160a01b03841660009081526013602052604090205460ff1615801561206757506001600160a01b03831660009081526013602052604090205460ff16155b8015612087575060008061207b818061243b565b612085919061243b565b115b1561209657611fd28483612179565b50805b600e805463ff000000191690559392505050565b600e805463ff000000191663010000001790556000806127106120d160648561244e565b6120db9190612465565b905060006127106120ed60648661244e565b6120f79190612465565b9050600061271061210960648761244e565b6121139190612465565b9050600081836121238689612487565b61212d9190612487565b6121379190612487565b9050600082612146858761243b565b612150919061243b565b111561216257612162878585856121d2565b600e805463ff000000191690559695505050505050565b600e805463ff0000001916630100000017905560008061271061219c828561244e565b6121a69190612465565b905060006127106121b7828661244e565b6121c19190612465565b90506000612710612109828761244e565b600e805463ff000000191663010000001790556000816121f2848661243b565b6121fc919061243b565b90508360036000828254612210919061243b565b925050819055508260056000828254612229919061243b565b925050819055508160076000828254612242919061243b565b92505081905550806009600082825461225b919061243b565b9091555061226c9050853083611991565b5050600e805463ff0000001916905550505050565b60006020828403121561229357600080fd5b5035919050565b600060208083528351808285015260005b818110156122c7578581018301518582016040015282016122ab565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461110957600080fd5b60006020828403121561230f57600080fd5b8135610e45816122e8565b6000806040838503121561232d57600080fd5b8235612338816122e8565b946020939093013593505050565b60008060006060848603121561235b57600080fd5b8335612366816122e8565b92506020840135612376816122e8565b929592945050506040919091013590565b8035801515811461239757600080fd5b919050565b6000602082840312156123ae57600080fd5b610e4582612387565b600080604083850312156123ca57600080fd5b82356123d5816122e8565b91506123e360208401612387565b90509250929050565b600080604083850312156123ff57600080fd5b823561240a816122e8565b9150602083013561241a816122e8565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610e2257610e22612425565b8082028115828204841417610e2257610e22612425565b60008261248257634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610e2257610e22612425565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156124c257600080fd5b8151610e45816122e8565b600081518084526020808501945080840160005b838110156125065781516001600160a01b0316875295820195908201906001016124e1565b509495945050505050565b85815284602082015260a06040820152600061253060a08301866124cd565b6001600160a01b0394909416606083015250608001529392505050565b931515845291151560208401526001600160a01b03166040830152606082015260800190565b60208082526026908201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604082015265616c616e636560d01b606082015260800190565b8481526080602082015260006125d260808301866124cd565b6001600160a01b0394909416604083015250606001529291505056fea264697066735822122049ae586a0c9197fb54edb0b6dfb370e7b8d06caec535af383e6d6c6f3d0421c264736f6c63430008120033000000000000000000000000a3d552c0709a867d024ac73a6444520c1444d4500000000000000000000000000000000000000000000000000000000000000001

Deployed Bytecode

0x6080604052600436106103b15760003560e01c80638b5bb970116101e7578063c9aebe1f1161010d578063da4daf71116100a0578063f2a426871161006f578063f2a42687146109fc578063f2fde38b14610a2c578063f887ea4014610a4c578063f924e3e01461045057600080fd5b8063da4daf71146109a7578063dba6281b14610450578063dd62ed3e146109bd578063e43504da146109dd57600080fd5b8063d621e813116100dc578063d621e81314610936578063d63cad2214610950578063d830678614610970578063d84654401461099157600080fd5b8063c9aebe1f146108e0578063cb3966eb146108f6578063d47d87411461051e578063d502a03a1461091657600080fd5b8063a457c2d711610185578063ab37dec811610154578063ab37dec81461088a578063b1080fc114610450578063b9b2b5cd146108aa578063c851cc32146108c057600080fd5b8063a457c2d71461080d578063a8aa1b311461082d578063a9059cbb14610854578063ab28a04c1461087457600080fd5b80639358928b116101c15780639358928b146107a057806395d89b41146107b557806397e1b9d3146107e15780639cd92209146107f757600080fd5b80638b5bb9701461074e5780638da5cb5b14610762578063924de9b71461078057600080fd5b80633a7c43d6116102d75780636e6f7fb01161026a57806375fed3c71161023957806375fed3c7146106db57806378eec331146106fb5780638a2371bb146107235780638a8c523c1461073957600080fd5b80636e6f7fb01461045057806370a082311461067a578063715018a6146106b057806371538eed146106c557600080fd5b806358fa63ca116102a657806358fa63ca1461060f57806359cd903114610624578063625dd6051461063a57806363a954921461065a57600080fd5b80633a7c43d6146104505780633bf31454146105b75780633e934f56146105d7578063526f4ef0146105f957600080fd5b806323b872dd1161034f57806335131df01161031e57806335131df01461051e578063351a964d1461054f578063395093511461056f57806339d445bf1461058f57600080fd5b806323b872dd146104e8578063253a19a3146105085780632dab00e11461051e578063313ce5671461053357600080fd5b806307e16fa51161038b57806307e16fa51461045057806308c4365014610473578063095ea7b3146104b357806318160ddd146104d357600080fd5b806301295143146103bd57806303fd2a45146103df57806306fdde031461041257600080fd5b366103b857005b600080fd5b3480156103c957600080fd5b506103dd6103d8366004612281565b610a6c565b005b3480156103eb57600080fd5b506103f561dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561041e57600080fd5b5060408051808201909152600c81526b50616e646146696e616e633360a01b60208201525b604051610409919061229a565b34801561045c57600080fd5b50610465606481565b604051908152602001610409565b34801561047f57600080fd5b506104a361048e3660046122fd565b60136020526000908152604090205460ff1681565b6040519015158152602001610409565b3480156104bf57600080fd5b506104a36104ce36600461231a565b610e0e565b3480156104df57600080fd5b50600254610465565b3480156104f457600080fd5b506104a3610503366004612346565b610e28565b34801561051457600080fd5b5061046560085481565b34801561052a57600080fd5b50610465600081565b34801561053f57600080fd5b5060405160128152602001610409565b34801561055b57600080fd5b50600e546104a39062010000900460ff1681565b34801561057b57600080fd5b506104a361058a36600461231a565b610e4c565b34801561059b57600080fd5b506103f573a3d552c0709a867d024ac73a6444520c1444d45081565b3480156105c357600080fd5b506103dd6105d236600461239c565b610e6e565b3480156105e357600080fd5b50600e546104a390640100000000900460ff1681565b34801561060557600080fd5b5061046560055481565b34801561061b57600080fd5b506103f5600081565b34801561063057600080fd5b50610465600d5481565b34801561064657600080fd5b506103dd6106553660046123b7565b610f0e565b34801561066657600080fd5b506103dd610675366004612281565b6110da565b34801561068657600080fd5b506104656106953660046122fd565b6001600160a01b031660009081526010602052604090205490565b3480156106bc57600080fd5b506103dd61110c565b3480156106d157600080fd5b50610465600a5481565b3480156106e757600080fd5b506103dd6106f6366004612281565b611120565b34801561070757600080fd5b506103f57337e25fa9e27e12211572e555a49495b60d585f7681565b34801561072f57600080fd5b5061046560035481565b34801561074557600080fd5b506103dd61119b565b34801561075a57600080fd5b5060016104a3565b34801561076e57600080fd5b506000546001600160a01b03166103f5565b34801561078c57600080fd5b506103dd61079b36600461239c565b611257565b3480156107ac57600080fd5b506104656112ed565b3480156107c157600080fd5b506040805180820190915260038152622820a360e91b6020820152610443565b3480156107ed57600080fd5b50610465600c5481565b34801561080357600080fd5b5061046560065481565b34801561081957600080fd5b506104a361082836600461231a565b61135d565b34801561083957600080fd5b50600e546103f590600160281b90046001600160a01b031681565b34801561086057600080fd5b506104a361086f36600461231a565b6113e3565b34801561088057600080fd5b5061046561271081565b34801561089657600080fd5b506103dd6108a53660046122fd565b6113f9565b3480156108b657600080fd5b5061046560095481565b3480156108cc57600080fd5b506103dd6108db3660046122fd565b6114a4565b3480156108ec57600080fd5b5061046560045481565b34801561090257600080fd5b50600f546103f5906001600160a01b031681565b34801561092257600080fd5b506103dd61093136600461239c565b611755565b34801561094257600080fd5b50600e546104a39060ff1681565b34801561095c57600080fd5b506103dd61096b3660046123b7565b6117ef565b34801561097c57600080fd5b50600e546104a3906301000000900460ff1681565b34801561099d57600080fd5b5061046560075481565b3480156109b357600080fd5b50610465600b5481565b3480156109c957600080fd5b506104656109d83660046123ec565b611866565b3480156109e957600080fd5b50600e546104a390610100900460ff1681565b348015610a0857600080fd5b506104a3610a173660046122fd565b60126020526000908152604090205460ff1681565b348015610a3857600080fd5b506103dd610a473660046122fd565b611891565b348015610a5857600080fd5b506001546103f5906001600160a01b031681565b600e805463ff0000001916630100000017905560006064610a8d818061243b565b610a97919061243b565b9050600081610aa760648561244e565b610ab19190612465565b9050600082610ac160648661244e565b610acb9190612465565b9050600081610ada8487612487565b610ae49190612487565b905084600a6000828254610af8919061243b565b925050819055508260046000828254610b11919061243b565b925050819055508160066000828254610b2a919061243b565b925050819055508060086000828254610b43919061243b565b90915550506040805160028082526060820183526000926020830190803683370190505090503081600081518110610b7d57610b7d61249a565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610bd6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bfa91906124b0565b81600181518110610c0d57610c0d61249a565b6001600160a01b039283166020918202929092010152600f5416610c5857600f546040516314eec6eb60e01b81526001600160a01b0390911660048201526024015b60405180910390fd5b600e54640100000000900460ff1615610ce657600f54610c839030906001600160a01b0316866118cc565b600f5460405163b6b55f2560e01b8152600481018590526001600160a01b039091169063b6b55f2590602401600060405180830381600087803b158015610cc957600080fd5b505af1158015610cdd573d6000803e3d6000fd5b50505050610d00565b600f54610cfe9030906001600160a01b031685611991565b505b610d0d3061dead84611991565b50600154610d269030906001600160a01b0316866118cc565b6040805185815260208101859052908101839052606081018790523360808201524260a08201527f095046c58a377d54685857e96b2bbfd471ec5fe130ece4bd1fbf1369b1be25e49060c00160405180910390a160015460405163791ac94760e01b81526001600160a01b039091169063791ac94790610dc7908790600090869073a3d552c0709a867d024ac73a6444520c1444d450904290600401612511565b600060405180830381600087803b158015610de157600080fd5b505af1158015610df5573d6000803e3d6000fd5b5050600e805463ff000000191690555050505050505050565b600033610e1c8185856118cc565b60019150505b92915050565b600033610e36858285611a3d565b610e41858585611ab7565b9150505b9392505050565b600033610e1c818585610e5f8383611866565b610e69919061243b565b6118cc565b610e76611d4e565b801515600e60019054906101000a900460ff16151503610eac5760405162a7e72d60e41b81528115156004820152602401610c4f565b600e805461ff0019811661010084151581029190911790925560405191900460ff16907ff99f9d4d81f67d0980beea494b4404ba3b8af1a0a2d493230f1a883efa027f2f90610f0290839085903390429061254d565b60405180910390a15050565b610f16611d4e565b600e546001600160a01b03600160281b909104811690831603610f4c57604051631807bf8160e01b815260040160405180910390fd5b6001600160a01b03821660009081526013602052604090205481151560ff909116151503610f905760405162a7e72d60e41b81528115156004820152602401610c4f565b306001600160a01b0316826001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ffc91906124b0565b6001600160a01b0316141580156110865750306001600160a01b0316826001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015611056573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107a91906124b0565b6001600160a01b031614155b156110af57604051634726455360e11b81526001600160a01b0383166004820152602401610c4f565b6001600160a01b03919091166000908152601360205260409020805460ff1916911515919091179055565b6110e2611d4e565b80600b60008282546110f4919061243b565b909155505042600c556111098161dead611d8a565b50565b611114611d4e565b61111e6000611f23565b565b611128611d4e565b80600d540361114d5760405163657e16cf60e01b815260048101829052602401610c4f565b600d805490829055604080518281526020810184905233918101919091524260608201527f9a9f4704ac409fe039e92a996e415370980275aaff2992936ed5b432886c55c590608001610f02565b6111a3611d4e565b600e5460ff16156111d257600e546040516301bf623960e61b815260ff90911615156004820152602401610c4f565b600e54610100900460ff161561120a57600e54604051630eff900b60e21b815261010090910460ff1615156004820152602401610c4f565b600e5462010000900460ff161561124457600e5460405163610a8e6760e01b81526201000090910460ff1615156004820152602401610c4f565b600e805462ffffff191662010101179055565b61125f611d4e565b801515600e60029054906101000a900460ff161515036112955760405162a7e72d60e41b81528115156004820152602401610c4f565b600e805462ff00001981166201000084151581029190911790925560405191900460ff16907fa9eb6c000d17475b17651469533695f7b673c93327fdbadf4341ebeb2607a04490610f0290839085903390429061254d565b60106020527f6e0956cda88cad152e89927e53611735b61a5c762d1428573c6931b0a5efcb015461dead60009081527f9e93e1db4a1f807cc22b2aecf4deeb0bf5745f1ecb319e87c68c5624c0fa6b695460025491929161134e9190612487565b6113589190612487565b905090565b6000338161136b8286611866565b9050838110156113cb5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610c4f565b6113d882868684036118cc565b506001949350505050565b6000336113f1818585611ab7565b949350505050565b611401611d4e565b600f546001600160a01b0380831691160361143a5760405163a936636960e01b81526001600160a01b0382166004820152602401610c4f565b600f80546001600160a01b038381166001600160a01b0319831681179093556040805191909216808252602082019390935233918101919091524260608201527f7e90f9d2659130ec0a3b94870d2ffaa623d443d4317811b3bb508f0b4e39c73c90608001610f02565b6114ac611d4e565b6001546001600160a01b038083169116036114e55760405163a936636960e01b81526001600160a01b0382166004820152602401610c4f565b600180546001600160a01b038381166001600160a01b0319831681178455600e54600160281b900482166000818152601360209081526040808320805460ff1990811690915595909616808352601282528683208054871690558483529186902080549095169096179093558351838152948501919091523392840192909252426060840152917fe1cb783288eddc7b22c25642a832d886a558be0dd900747310a34156b9fdcbbb9060800160405180910390a1600160009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115ec573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061161091906124b0565b6001600160a01b031663c9c6539630600160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611672573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061169691906124b0565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156116e3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061170791906124b0565b600e805465010000000000600160c81b031916600160281b6001600160a01b03938416810291909117918290559004166000908152601360205260409020805460ff19166001179055505050565b61175d611d4e565b801515600e60049054906101000a900460ff161515036117935760405162a7e72d60e41b81528115156004820152602401610c4f565b600e805464ff0000000019811664010000000084151581029190911790925560405191900460ff16907fc3398fc30ad42edc812ea6d29f22432b21b112fed472b850516b88a357ed4ce690610f0290839085903390429061254d565b6117f7611d4e565b6001600160a01b03821660009081526012602052604090205481151560ff90911615150361183b5760405162a7e72d60e41b81528115156004820152602401610c4f565b6001600160a01b03919091166000908152601260205260409020805460ff1916911515919091179055565b6001600160a01b03918216600090815260116020908152604080832093909416825291909152205490565b611899611d4e565b6001600160a01b0381166118c35760405163b20f76e360e01b815260006004820152602401610c4f565b61110981611f23565b6001600160a01b0383166118fe57604051634726455360e11b81526001600160a01b0384166004820152602401610c4f565b6001600160a01b03821661193057604051634726455360e11b81526001600160a01b0383166004820152602401610c4f565b6001600160a01b0383811660008181526011602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316600090815260106020526040812054828110156119ca5760405162461bcd60e51b8152600401610c4f90612573565b6001600160a01b0380861660008181526010602052604080822087860390559287168082529083902080548701905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611a2a9087815260200190565b60405180910390a3506001949350505050565b6000611a498484611866565b90506000198114611ab15781811015611aa45760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610c4f565b611ab184848484036118cc565b50505050565b60006001600160a01b038416611aeb57604051634726455360e11b81526001600160a01b0385166004820152602401610c4f565b6001600160a01b038316611b1d57604051634726455360e11b81526001600160a01b0384166004820152602401610c4f565b600e5460ff16158015611b4957506001600160a01b03841660009081526012602052604090205460ff16155b8015611b6e57506001600160a01b03831660009081526012602052604090205460ff16155b15611b8c57604051632b61510560e11b815260040160405180910390fd5b600e546301000000900460ff1680611bbc57506001600160a01b03841660009081526012602052604090205460ff165b15611bd357611bcc848484611991565b9050610e45565b600e546001600160a01b03858116600160281b9092041614801590611c005750600e5462010000900460ff165b8015611c1d5750600d543060009081526010602052604090205410155b8015611c3a5750600d54600a54600954611c379190612487565b10155b15611c4a57611c4a600d54610a6c565b600e548290610100900460ff168015611c7c57506001600160a01b03851660009081526012602052604090205460ff16155b8015611ca157506001600160a01b03841660009081526012602052604090205460ff16155b15611cb457611cb1858585611f73565b90505b6001600160a01b038516600090815260106020526040902054811115611cec5760405162461bcd60e51b8152600401610c4f90612573565b6001600160a01b03808616600081815260106020526040808220805486900390559287168082529083902080548501905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611a2a9085815260200190565b33611d616000546001600160a01b031690565b6001600160a01b03161461111e576040516332b2baa360e01b8152336004820152602401610c4f565b600e805463ff0000001916630100000017905561deac193301611dc457604051634726455360e11b815261dead6004820152602401610c4f565b6040805160028082526060820183526000926020830190803683375050600154604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c4648925060048083019260209291908290030181865afa158015611e2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e5291906124b0565b81600081518110611e6557611e6561249a565b60200260200101906001600160a01b031690816001600160a01b0316815250503081600181518110611e9957611e9961249a565b6001600160a01b03928316602091820292909201015260015460405163b6f9de9560e01b815291169063b6f9de95908590611edf906000908690889042906004016125b9565b6000604051808303818588803b158015611ef857600080fd5b505af1158015611f0c573d6000803e3d6000fd5b5050600e805463ff00000019169055505050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600e805463ff000000191663010000001790556001600160a01b03831660009081526013602052604081205460ff168015611fc3575060006064611fb7818061243b565b611fc1919061243b565b115b15611fd957611fd284836120ad565b9050612099565b6001600160a01b03831660009081526013602052604090205460ff16801561201657506000606461200a818061243b565b612014919061243b565b115b1561202557611fd284836120ad565b6001600160a01b03841660009081526013602052604090205460ff1615801561206757506001600160a01b03831660009081526013602052604090205460ff16155b8015612087575060008061207b818061243b565b612085919061243b565b115b1561209657611fd28483612179565b50805b600e805463ff000000191690559392505050565b600e805463ff000000191663010000001790556000806127106120d160648561244e565b6120db9190612465565b905060006127106120ed60648661244e565b6120f79190612465565b9050600061271061210960648761244e565b6121139190612465565b9050600081836121238689612487565b61212d9190612487565b6121379190612487565b9050600082612146858761243b565b612150919061243b565b111561216257612162878585856121d2565b600e805463ff000000191690559695505050505050565b600e805463ff0000001916630100000017905560008061271061219c828561244e565b6121a69190612465565b905060006127106121b7828661244e565b6121c19190612465565b90506000612710612109828761244e565b600e805463ff000000191663010000001790556000816121f2848661243b565b6121fc919061243b565b90508360036000828254612210919061243b565b925050819055508260056000828254612229919061243b565b925050819055508160076000828254612242919061243b565b92505081905550806009600082825461225b919061243b565b9091555061226c9050853083611991565b5050600e805463ff0000001916905550505050565b60006020828403121561229357600080fd5b5035919050565b600060208083528351808285015260005b818110156122c7578581018301518582016040015282016122ab565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461110957600080fd5b60006020828403121561230f57600080fd5b8135610e45816122e8565b6000806040838503121561232d57600080fd5b8235612338816122e8565b946020939093013593505050565b60008060006060848603121561235b57600080fd5b8335612366816122e8565b92506020840135612376816122e8565b929592945050506040919091013590565b8035801515811461239757600080fd5b919050565b6000602082840312156123ae57600080fd5b610e4582612387565b600080604083850312156123ca57600080fd5b82356123d5816122e8565b91506123e360208401612387565b90509250929050565b600080604083850312156123ff57600080fd5b823561240a816122e8565b9150602083013561241a816122e8565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610e2257610e22612425565b8082028115828204841417610e2257610e22612425565b60008261248257634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610e2257610e22612425565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156124c257600080fd5b8151610e45816122e8565b600081518084526020808501945080840160005b838110156125065781516001600160a01b0316875295820195908201906001016124e1565b509495945050505050565b85815284602082015260a06040820152600061253060a08301866124cd565b6001600160a01b0394909416606083015250608001529392505050565b931515845291151560208401526001600160a01b03166040830152606082015260800190565b60208082526026908201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604082015265616c616e636560d01b606082015260800190565b8481526080602082015260006125d260808301866124cd565b6001600160a01b0394909416604083015250606001529291505056fea264697066735822122049ae586a0c9197fb54edb0b6dfb370e7b8d06caec535af383e6d6c6f3d0421c264736f6c63430008120033

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

000000000000000000000000a3d552c0709a867d024ac73a6444520c1444d4500000000000000000000000000000000000000000000000000000000000000001

-----Decoded View---------------
Arg [0] : stakingAddress (address): 0xa3d552C0709A867d024AC73A6444520C1444d450
Arg [1] : isContract (bool): True

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000a3d552c0709a867d024ac73a6444520c1444d450
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000001


Deployed Bytecode Sourcemap

5373:18037:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10093:1558;;;;;;;;;;-1:-1:-1;10093:1558:0;;;;;:::i;:::-;;:::i;:::-;;6997:46;;;;;;;;;;;;7036:6;6997:46;;;;;-1:-1:-1;;;;;363:32:1;;;345:51;;333:2;318:18;6997:46:0;;;;;;;;17930:101;;;;;;;;;;-1:-1:-1;18019:4:0;;;;;;;;;;;;-1:-1:-1;;;18019:4:0;;;;17930:101;;;;;;;:::i;5723:45::-;;;;;;;;;;;;5765:3;5723:45;;;;;1106:25:1;;;1094:2;1079:18;5723:45:0;960:177:1;7496:40:0;;;;;;;;;;-1:-1:-1;7496:40:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1695:14:1;;1688:22;1670:41;;1658:2;1643:18;7496:40:0;1530:187:1;18897:205:0;;;;;;;;;;-1:-1:-1;18897:205:0;;;;;:::i;:::-;;:::i;18273:108::-;;;;;;;;;;-1:-1:-1;18361:12:0;;18273:108;;19114:246;;;;;;;;;;-1:-1:-1;19114:246:0;;;;;:::i;:::-;;:::i;6433:39::-;;;;;;;;;;;;;;;;6132:43;;;;;;;;;;;;6174:1;6132:43;;18160:101;;;;;;;;;;-1:-1:-1;18160:101:0;;5615:2;2645:36:1;;2633:2;2618:18;18160:101:0;2503:184:1;6830:33:0;;;;;;;;;;-1:-1:-1;6830:33:0;;;;;;;;;;;19372:247;;;;;;;;;;-1:-1:-1;19372:247:0;;;;;:::i;:::-;;:::i;7138:80::-;;;;;;;;;;;;7176:42;7138:80;;12868:307;;;;;;;;;;-1:-1:-1;12868:307:0;;;;;:::i;:::-;;:::i;6903:37::-;;;;;;;;;;-1:-1:-1;6903:37:0;;;;;;;;;;;6287:43;;;;;;;;;;;;;;;;6949:41;;;;;;;;;;;;6988:1;6949:41;;6663:38;;;;;;;;;;;;;;;;14441:387;;;;;;;;;;-1:-1:-1;14441:387:0;;;;;:::i;:::-;;:::i;17286:202::-;;;;;;;;;;-1:-1:-1;17286:202:0;;;;;:::i;:::-;;:::i;18393:127::-;;;;;;;;;;-1:-1:-1;18393:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;18494:18:0;18467:7;18494:18;;;:9;:18;;;;;;;18393:127;4642:103;;;;;;;;;;;;;:::i;6522:35::-;;;;;;;;;;;;;;;;12556:304;;;;;;;;;;-1:-1:-1;12556:304:0;;;;;:::i;:::-;;:::i;7050:81::-;;;;;;;;;;;;7089:42;7050:81;;6184:45;;;;;;;;;;;;;;;;9693:372;;;;;;;;;;;;;:::i;11678:86::-;;;;;;;;;;-1:-1:-1;6740:4:0;11678:86;;4384:87;;;;;;;;;;-1:-1:-1;4430:7:0;4457:6;-1:-1:-1;;;;;4457:6:0;4384:87;;13183:317;;;;;;;;;;-1:-1:-1;13183:317:0;;;;;:::i;:::-;;:::i;11772:136::-;;;;;;;;;;;;;:::i;18043:105::-;;;;;;;;;;-1:-1:-1;18134:6:0;;;;;;;;;;;;-1:-1:-1;;;18134:6:0;;;;18043:105;;6613:43;;;;;;;;;;;;;;;;6337:42;;;;;;;;;;;;;;;;19631:445;;;;;;;;;;-1:-1:-1;19631:445:0;;;;;:::i;:::-;;:::i;7227:19::-;;;;;;;;;;-1:-1:-1;7227:19:0;;;;-1:-1:-1;;;7227:19:0;;-1:-1:-1;;;;;7227:19:0;;;18532:184;;;;;;;;;;-1:-1:-1;18532:184:0;;;;;:::i;:::-;;:::i;5667:47::-;;;;;;;;;;;;5708:6;5667:47;;13857:353;;;;;;;;;;-1:-1:-1;13857:353:0;;;;;:::i;:::-;;:::i;6479:36::-;;;;;;;;;;;;;;;;11936:612;;;;;;;;;;-1:-1:-1;11936:612:0;;;;;:::i;:::-;;:::i;6236:44::-;;;;;;;;;;;;;;;;7253:30;;;;;;;;;;-1:-1:-1;7253:30:0;;;;-1:-1:-1;;;;;7253:30:0;;;13508:341;;;;;;;;;;-1:-1:-1;13508:341:0;;;;;:::i;:::-;;:::i;6753:32::-;;;;;;;;;;-1:-1:-1;6753:32:0;;;;;;;;14218:215;;;;;;;;;;-1:-1:-1;14218:215:0;;;;;:::i;:::-;;:::i;6870:26::-;;;;;;;;;;-1:-1:-1;6870:26:0;;;;;;;;;;;6386:40;;;;;;;;;;;;;;;;6564:42;;;;;;;;;;;;;;;;18728:157;;;;;;;;;;-1:-1:-1;18728:157:0;;;;;:::i;:::-;;:::i;6792:31::-;;;;;;;;;;-1:-1:-1;6792:31:0;;;;;;;;;;;7440:49;;;;;;;;;;-1:-1:-1;7440:49:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;4753:213;;;;;;;;;;-1:-1:-1;4753:213:0;;;;;:::i;:::-;;:::i;5452:21::-;;;;;;;;;;-1:-1:-1;5452:21:0;;;;-1:-1:-1;;;;;5452:21:0;;;10093:1558;7595:6;:13;;-1:-1:-1;;7595:13:0;;;;;;6074:3:::1;10193:31;6074:3:::0;;10193:31:::1;:::i;:::-;:44;;;;:::i;:::-;10174:63:::0;-1:-1:-1;10248:23:0::1;10174:63:::0;10274:32:::1;5765:3;10274:14:::0;:32:::1;:::i;:::-;:43;;;;:::i;:::-;10248:69:::0;-1:-1:-1;10328:21:0::1;10385:8:::0;10352:30:::1;5923:3;10352:14:::0;:30:::1;:::i;:::-;:41;;;;:::i;:::-;10328:65:::0;-1:-1:-1;10404:18:0::1;10328:65:::0;10425:32:::1;10442:15:::0;10425:14;:32:::1;:::i;:::-;:48;;;;:::i;:::-;10404:69;;10504:14;10484:16;;:34;;;;;;;:::i;:::-;;;;;;;;10558:15;10529:25;;:44;;;;;;;:::i;:::-;;;;;;;;10611:13;10584:23;;:40;;;;;;;:::i;:::-;;;;;;;;10659:10;10635:20;;:34;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;10706:16:0::1;::::0;;10720:1:::1;10706:16:::0;;;;;::::1;::::0;;10682:21:::1;::::0;10706:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10706:16:0::1;10682:40;;10751:4;10733;10738:1;10733:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10733:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10777:6:::1;::::0;:13:::1;::::0;;-1:-1:-1;;;10777:13:0;;;;:6;;;::::1;::::0;:11:::1;::::0;:13:::1;::::0;;::::1;::::0;10733:7;;10777:13;;;;;:6;:13:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10767:4;10772:1;10767:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10767:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;10807:15:::1;::::0;::::1;10803:101;;10876:15;::::0;10854:38:::1;::::0;-1:-1:-1;;;10854:38:0;;-1:-1:-1;;;;;10876:15:0;;::::1;10854:38;::::0;::::1;345:51:1::0;318:18;;10854:38:0::1;;;;;;;;10803:101;10920:17;::::0;;;::::1;;;10916:273;;;10986:15;::::0;10954:66:::1;::::0;10971:4:::1;::::0;-1:-1:-1;;;;;10986:15:0::1;11004::::0;10954:8:::1;:66::i;:::-;11044:15;::::0;11035:48:::1;::::0;-1:-1:-1;;;11035:48:0;;::::1;::::0;::::1;1106:25:1::0;;;-1:-1:-1;;;;;11044:15:0;;::::1;::::0;11035:33:::1;::::0;1079:18:1;;11035:48:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10916:273;;;11146:15;::::0;11116:61:::1;::::0;11139:4:::1;::::0;-1:-1:-1;;;;;11146:15:0::1;11163:13:::0;11116:14:::1;:61::i;:::-;;10916:273;11201:47;11224:4;7036:6;11237:10;11201:14;:47::i;:::-;-1:-1:-1::0;11291:6:0::1;::::0;11259:57:::1;::::0;11276:4:::1;::::0;-1:-1:-1;;;;;11291:6:0::1;11300:15:::0;11259:8:::1;:57::i;:::-;11342:99;::::0;;5575:25:1;;;5631:2;5616:18;;5609:34;;;5659:18;;;5652:34;;;5717:2;5702:18;;5695:34;;;11413:10:0::1;5760:3:1::0;5745:19;;5738:61;11425:15:0::1;5786:3:1::0;5815:19;;5808:35;11342:99:0::1;::::0;5562:3:1;5547:19;11342:99:0::1;;;;;;;11454:6;::::0;:189:::1;::::0;-1:-1:-1;;;11454:189:0;;-1:-1:-1;;;;;11454:6:0;;::::1;::::0;:57:::1;::::0;:189:::1;::::0;11526:15;;11454:6:::1;::::0;11572:4;;7176:42:::1;::::0;11617:15:::1;::::0;11454:189:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;7631:6:0;:14;;-1:-1:-1;;7631:14:0;;;-1:-1:-1;;;;;;;;10093:1558:0:o;18897:205::-;18980:4;19016:10;19037:35;19016:10;19056:7;19065:6;19037:8;:35::i;:::-;19090:4;19083:11;;;18897:205;;;;;:::o;19114:246::-;19213:4;19248:10;19269:38;19285:4;19248:10;19300:6;19269:15;:38::i;:::-;19325:27;19335:4;19341:2;19345:6;19325:9;:27::i;:::-;19318:34;;;19114:246;;;;;;:::o;19372:247::-;19462:4;19498:10;19519:70;19498:10;19538:7;19578:10;19547:28;19498:10;19538:7;19547:9;:28::i;:::-;:41;;;;:::i;:::-;19519:8;:70::i;12868:307::-;3982:13;:11;:13::i;:::-;12958:9:::1;12943:24;;:11;;;;;;;;;;;:24;;::::0;12939:74:::1;;12978:32;::::0;-1:-1:-1;;;12978:32:0;;1695:14:1;;1688:22;12978:32:0::1;::::0;::::1;1670:41:1::0;1643:18;;12978:32:0::1;1530:187:1::0;12939:74:0::1;13040:11;::::0;;-1:-1:-1;;13062:23:0;::::1;13040:11;13062:23:::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;;;13101:66:::1;::::0;13040:11;;::::1;;;::::0;13101:66:::1;::::0;::::1;::::0;13040:11;;13062:23;;13139:10:::1;::::0;13151:15:::1;::::0;13101:66:::1;:::i;:::-;;;;;;;;12928:247;12868:307:::0;:::o;14441:387::-;3982:13;:11;:13::i;:::-;14533:4:::1;::::0;-1:-1:-1;;;;;;;;14533:4:0;;::::1;::::0;::::1;14523:14:::0;;::::1;::::0;14519:51:::1;;14548:19;;-1:-1:-1::0;;;14548:19:0::1;;;;;;;;;;;14519:51;-1:-1:-1::0;;;;;14584:16:0;::::1;;::::0;;;:8:::1;:16;::::0;;;;;:26;::::1;;:16;::::0;;::::1;:26;;::::0;14580:73:::1;;14621:29;::::0;-1:-1:-1;;;14621:29:0;;1695:14:1;;1688:22;14621:29:0::1;::::0;::::1;1670:41:1::0;1643:18;;14621:29:0::1;1530:187:1::0;14580:73:0::1;14701:4;-1:-1:-1::0;;;;;14667:39:0::1;14673:6;-1:-1:-1::0;;;;;14667:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;14667:39:0::1;;;:82;;;;;14744:4;-1:-1:-1::0;;;;;14710:39:0::1;14716:6;-1:-1:-1::0;;;;;14710:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;14710:39:0::1;;;14667:82;14663:122;;;14760:22;::::0;-1:-1:-1;;;14760:22:0;;-1:-1:-1;;;;;363:32:1;;14760:22:0::1;::::0;::::1;345:51:1::0;318:18;;14760:22:0::1;199:203:1::0;14663:122:0::1;-1:-1:-1::0;;;;;14795:16:0;;;::::1;;::::0;;;:8:::1;:16;::::0;;;;:25;;-1:-1:-1;;14795:25:0::1;::::0;::::1;;::::0;;;::::1;::::0;;14441:387::o;17286:202::-;3982:13;:11;:13::i;:::-;17387:6:::1;17360:23;;:33;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;17431:15:0::1;17404:24;:42:::0;17457:23:::1;17467:6:::0;7036::::1;17457:9;:23::i;:::-;17286:202:::0;:::o;4642:103::-;3982:13;:11;:13::i;:::-;4707:30:::1;4734:1;4707:18;:30::i;:::-;4642:103::o:0;12556:304::-;3982:13;:11;:13::i;:::-;12644:10:::1;12633:7;;:21:::0;12629:72:::1;;12665:33;::::0;-1:-1:-1;;;12665:33:0;;::::1;::::0;::::1;1106:25:1::0;;;1079:18;;12665:33:0::1;960:177:1::0;12629:72:0::1;12732:7;::::0;;12750:20;;;;12786:66:::1;::::0;;7580:25:1;;;7636:2;7621:18;;7614:34;;;12824:10:0::1;7664:18:1::0;;;7657:60;;;;12836:15:0::1;7748:2:1::0;7733:18;;7726:34;12786:66:0::1;::::0;7567:3:1;7552:19;12786:66:0::1;7349:417:1::0;9693:372:0;3982:13;:11;:13::i;:::-;9752:12:::1;::::0;::::1;;9748:68;;;9800:12;::::0;9775:38:::1;::::0;-1:-1:-1;;;9775:38:0;;9800:12:::1;::::0;;::::1;1695:14:1::0;1688:22;9775:38:0::1;::::0;::::1;1670:41:1::0;1643:18;;9775:38:0::1;1530:187:1::0;9748:68:0::1;9830:11;::::0;::::1;::::0;::::1;;;9826:63;;;9874:11;::::0;9852:34:::1;::::0;-1:-1:-1;;;9852:34:0;;9874:11:::1;::::0;;::::1;;;1695:14:1::0;1688:22;9852:34:0::1;::::0;::::1;1670:41:1::0;1643:18;;9852:34:0::1;1530:187:1::0;9826:63:0::1;9903:13;::::0;;;::::1;;;9899:69;;;9951:13;::::0;9927:38:::1;::::0;-1:-1:-1;;;9927:38:0;;9951:13;;;::::1;;;1695:14:1::0;1688:22;9927:38:0::1;::::0;::::1;1670:41:1::0;1643:18;;9927:38:0::1;1530:187:1::0;9899:69:0::1;9978:12;:19:::0;;-1:-1:-1;;10037:20:0;;;;;9693:372::o;13183:317::-;3982:13;:11;:13::i;:::-;13277:9:::1;13260:26;;:13;;;;;;;;;;;:26;;::::0;13256:76:::1;;13297:32;::::0;-1:-1:-1;;;13297:32:0;;1695:14:1;;1688:22;13297:32:0::1;::::0;::::1;1670:41:1::0;1643:18;;13297:32:0::1;1530:187:1::0;13256:76:0::1;13359:13;::::0;;-1:-1:-1;;13383:25:0;::::1;13359:13:::0;13383:25;::::1;;::::0;::::1;::::0;;;::::1;::::0;;;13424:68:::1;::::0;13359:13;;::::1;;;::::0;13424:68:::1;::::0;::::1;::::0;13359:13;;13383:25;;13464:10:::1;::::0;13476:15:::1;::::0;13424:68:::1;:::i;11772:136::-:0;18494:9;:18;;;;7036:6;11824:7;18494:18;;;;;18361:12;;11824:7;;18494:18;11851:31;;18494:18;11851:31;:::i;:::-;:49;;;;:::i;:::-;11844:56;;11772:136;:::o;19631:445::-;19726:4;19762:10;19726:4;19810:28;19762:10;19830:7;19810:9;:28::i;:::-;19783:55;;19877:15;19857:16;:35;;19849:85;;;;-1:-1:-1;;;19849:85:0;;7973:2:1;19849:85:0;;;7955:21:1;8012:2;7992:18;;;7985:30;8051:34;8031:18;;;8024:62;-1:-1:-1;;;8102:18:1;;;8095:35;8147:19;;19849:85:0;7771:401:1;19849:85:0;19970:63;19979:8;19989:7;20017:15;19998:16;:34;19970:8;:63::i;:::-;-1:-1:-1;20064:4:0;;19631:445;-1:-1:-1;;;;19631:445:0:o;18532:184::-;18613:4;18649:10;18677:31;18649:10;18697:2;18701:6;18677:9;:31::i;:::-;18670:38;18532:184;-1:-1:-1;;;;18532:184:0:o;13857:353::-;3982:13;:11;:13::i;:::-;13943:15:::1;::::0;-1:-1:-1;;;;;13943:30:0;;::::1;:15:::0;::::1;:30:::0;13939:84:::1;;13984:36;::::0;-1:-1:-1;;;13984:36:0;;-1:-1:-1;;;;;363:32:1;;13984:36:0::1;::::0;::::1;345:51:1::0;318:18;;13984:36:0::1;199:203:1::0;13939:84:0::1;14055:15;::::0;;-1:-1:-1;;;;;14081:29:0;;::::1;-1:-1:-1::0;;;;;;14081:29:0;::::1;::::0;::::1;::::0;;;14126:76:::1;::::0;;14055:15;;;::::1;8446:34:1::0;;;8511:2;8496:18;;8489:43;;;;14174:10:0::1;8548:18:1::0;;;8541:43;;;;14186:15:0::1;8615:2:1::0;8600:18;;8593:34;14126:76:0::1;::::0;8395:3:1;8380:19;14126:76:0::1;8177:456:1::0;11936:612:0;3982:13;:11;:13::i;:::-;12019:6:::1;::::0;-1:-1:-1;;;;;12011:28:0;;::::1;12019:6:::0;::::1;12011:28:::0;12007:80:::1;;12050:34;::::0;-1:-1:-1;;;12050:34:0;;-1:-1:-1;;;;;363:32:1;;12050:34:0::1;::::0;::::1;345:51:1::0;318:18;;12050:34:0::1;199:203:1::0;12007:80:0::1;12125:6;::::0;;-1:-1:-1;;;;;12143:27:0;;::::1;-1:-1:-1::0;;;;;;12143:27:0;::::1;::::0;::::1;::::0;;12199:4:::1;::::0;-1:-1:-1;;;12199:4:0;::::1;::::0;::::1;-1:-1:-1::0;12224:17:0;;;:8:::1;:17;::::0;;;;;;;:25;;-1:-1:-1;;12224:25:0;;::::1;::::0;;;12125:6;;;::::1;12260:28:::0;;;:17:::1;:28:::0;;;;;:36;;;::::1;::::0;;12307:28;;;;;;;:35;;;;::::1;::::0;;::::1;::::0;;;12360:63;;8446:34:1;;;8496:18;;;8489:43;;;;12395:10:0::1;8548:18:1::0;;;8541:43;;;;12407:15:0::1;8615:2:1::0;8600:18;;8593:34;12125:6:0;12360:63:::1;::::0;8395:3:1;8380:19;12360:63:0::1;;;;;;;12450:6;;;;;;;;;-1:-1:-1::0;;;;;12450:6:0::1;-1:-1:-1::0;;;;;12450:14:0::1;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12441:37:0::1;;12487:4;12494:6;;;;;;;;;-1:-1:-1::0;;;;;12494:6:0::1;-1:-1:-1::0;;;;;12494:11:0::1;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12441:67;::::0;-1:-1:-1;;;;;;12441:67:0::1;::::0;;;;;;-1:-1:-1;;;;;8868:15:1;;;12441:67:0::1;::::0;::::1;8850:34:1::0;8920:15;;8900:18;;;8893:43;8785:18;;12441:67:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12434:4;:74:::0;;-1:-1:-1;;;;;;12434:74:0::1;-1:-1:-1::0;;;;;;;;12434:74:0;;::::1;::::0;::::1;::::0;;;::::1;::::0;;;;12528:4;::::1;;-1:-1:-1::0;12519:14:0;;;:8:::1;:14;::::0;;;;:21;;-1:-1:-1;;12519:21:0::1;-1:-1:-1::0;12519:21:0::1;::::0;;-1:-1:-1;;;11936:612:0:o;13508:341::-;3982:13;:11;:13::i;:::-;13612:9:::1;13591:30;;:17;;;;;;;;;;;:30;;::::0;13587:80:::1;;13632:32;::::0;-1:-1:-1;;;13632:32:0;;1695:14:1;;1688:22;13632:32:0::1;::::0;::::1;1670:41:1::0;1643:18;;13632:32:0::1;1530:187:1::0;13587:80:0::1;13694:17;::::0;;-1:-1:-1;;13722:29:0;::::1;13694:17:::0;13722:29;::::1;;::::0;::::1;::::0;;;::::1;::::0;;;13767:74:::1;::::0;13694:17;;::::1;;;::::0;13767:74:::1;::::0;::::1;::::0;13694:17;;13722:29;;13813:10:::1;::::0;13825:15:::1;::::0;13767:74:::1;:::i;14218:215::-:0;3982:13;:11;:13::i;:::-;-1:-1:-1;;;;;14307:23:0;::::1;;::::0;;;:17:::1;:23;::::0;;;;;:33;::::1;;:23;::::0;;::::1;:33;;::::0;14303:80:::1;;14351:29;::::0;-1:-1:-1;;;14351:29:0;;1695:14:1;;1688:22;14351:29:0::1;::::0;::::1;1670:41:1::0;1643:18;;14351:29:0::1;1530:187:1::0;14303:80:0::1;-1:-1:-1::0;;;;;14393:23:0;;;::::1;;::::0;;;:17:::1;:23;::::0;;;;:32;;-1:-1:-1;;14393:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;14218:215::o;18728:157::-;-1:-1:-1;;;;;18847:21:0;;;18820:7;18847:21;;;:11;:21;;;;;;;;:30;;;;;;;;;;;;;18728:157::o;4753:213::-;3982:13;:11;:13::i;:::-;-1:-1:-1;;;;;4838:22:0;::::1;4834:86;;4884:24;::::0;-1:-1:-1;;;4884:24:0;;4905:1:::1;4884:24;::::0;::::1;345:51:1::0;318:18;;4884:24:0::1;199:203:1::0;4834:86:0::1;4930:28;4949:8;4930:18;:28::i;20398:331::-:0;-1:-1:-1;;;;;20499:16:0;;20495:58;;20526:24;;-1:-1:-1;;;20526:24:0;;-1:-1:-1;;;;;363:32:1;;20526:24:0;;;345:51:1;318:18;;20526:24:0;199:203:1;20495:58:0;-1:-1:-1;;;;;20567:15:0;;20563:56;;20593:23;;-1:-1:-1;;;20593:23:0;;-1:-1:-1;;;;;363:32:1;;20593:23:0;;;345:51:1;318:18;;20593:23:0;199:203:1;20563:56:0;-1:-1:-1;;;;;20631:21:0;;;;;;;:11;:21;;;;;;;;:30;;;;;;;;;;;;;:39;;;20686:35;;1106:25:1;;;20686:35:0;;1079:18:1;20686:35:0;;;;;;;20398:331;;;:::o;21201:418::-;-1:-1:-1;;;;;21324:15:0;;21285:4;21324:15;;;:9;:15;;;;;;21358:21;;;;21350:72;;;;-1:-1:-1;;;21350:72:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;21458:15:0;;;;;;;:9;:15;;;;;;21476:20;;;21458:38;;21511:13;;;;;;;;;;:23;;;;;;21563:26;;;;;;21490:6;1106:25:1;;1094:2;1079:18;;960:177;21563:26:0;;;;;;;;-1:-1:-1;21607:4:0;;21201:418;-1:-1:-1;;;;21201:418:0:o;20741:428::-;20845:24;20872:28;20882:8;20892:7;20872:9;:28::i;:::-;20845:55;;-1:-1:-1;;20915:16:0;:37;20911:251;;20997:6;20977:16;:26;;20969:68;;;;-1:-1:-1;;;20969:68:0;;9556:2:1;20969:68:0;;;9538:21:1;9595:2;9575:18;;;9568:30;9634:31;9614:18;;;9607:59;9683:18;;20969:68:0;9354:353:1;20969:68:0;21081:54;21090:8;21100:7;21128:6;21109:16;:25;21081:8;:54::i;:::-;20834:335;20741:428;;;:::o;21655:1124::-;21742:4;-1:-1:-1;;;;;21763:12:0;;21759:50;;21786:20;;-1:-1:-1;;;21786:20:0;;-1:-1:-1;;;;;363:32:1;;21786:20:0;;;345:51:1;318:18;;21786:20:0;199:203:1;21759:50:0;-1:-1:-1;;;;;21823:10:0;;21819:46;;21844:18;;-1:-1:-1;;;21844:18:0;;-1:-1:-1;;;;;363:32:1;;21844:18:0;;;345:51:1;318:18;;21844::0;199:203:1;21819:46:0;21882:12;;;;21881:13;:41;;;;-1:-1:-1;;;;;;21899:23:0;;;;;;:17;:23;;;;;;;;21898:24;21881:41;:67;;;;-1:-1:-1;;;;;;21927:21:0;;;;;;:17;:21;;;;;;;;21926:22;21881:67;21877:100;;;21959:15;;-1:-1:-1;;;21959:15:0;;;;;;;;;;;21877:100;21993:6;;;;;;;;:33;;-1:-1:-1;;;;;;22003:23:0;;;;;;:17;:23;;;;;;;;21993:33;21989:105;;;22050:32;22065:4;22071:2;22075:6;22050:14;:32::i;:::-;22043:39;;;;21989:105;22118:4;;-1:-1:-1;;;;;22110:12:0;;;-1:-1:-1;;;22118:4:0;;;;22110:12;;;;:29;;-1:-1:-1;22126:13:0;;;;;;;22110:29;:68;;;;-1:-1:-1;22171:7:0;;22161:4;18467:7;18494:18;;;:9;:18;;;;;;22143:35;;22110:68;:119;;;;;22222:7;;22202:16;;22182:17;;:36;;;;:::i;:::-;:47;;22110:119;22106:171;;;22246:19;22257:7;;22246:10;:19::i;:::-;22332:11;;22309:6;;22332:11;;;;;:39;;;;-1:-1:-1;;;;;;22348:23:0;;;;;;:17;:23;;;;;;;;22347:24;22332:39;:65;;;;-1:-1:-1;;;;;;22376:21:0;;;;;;:17;:21;;;;;;;;22375:22;22332:65;22328:148;;;22426:38;22447:4;22453:2;22457:6;22426:20;:38::i;:::-;22414:50;;22328:148;-1:-1:-1;;;;;22496:15:0;;;;;;:9;:15;;;;;;:28;-1:-1:-1;22496:28:0;22488:79;;;;-1:-1:-1;;;22488:79:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;22621:15:0;;;;;;;:9;:15;;;;;;;;:27;;;22603:45;;22663:13;;;;;;;;;;:26;;;;;;22718:29;;;;;;22639:9;1106:25:1;;1094:2;1079:18;;960:177;4479:155:0;4550:10;4539:7;4430;4457:6;-1:-1:-1;;;;;4457:6:0;;4384:87;4539:7;-1:-1:-1;;;;;4539:21:0;;4535:92;;4584:31;;-1:-1:-1;;;4584:31:0;;4604:10;4584:31;;;345:51:1;318:18;;4584:31:0;199:203:1;17496:398:0;7595:6;:13;;-1:-1:-1;;7595:13:0;;;;;-1:-1:-1;;17576:10:0::1;:18:::0;17572:56:::1;;17605:20;::::0;-1:-1:-1;;;17605:20:0;;7036:6:::1;17605:20;::::0;::::1;345:51:1::0;318:18;;17605:20:0::1;199:203:1::0;17572:56:0::1;17662:16;::::0;;17676:1:::1;17662:16:::0;;;;;::::1;::::0;;17638:21:::1;::::0;17662:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;-1:-1:-1::0;;17699:6:0::1;::::0;:13:::1;::::0;;-1:-1:-1;;;17699:13:0;;;;17638:40;;-1:-1:-1;;;;;;17699:6:0;;::::1;::::0;:11:::1;::::0;-1:-1:-1;17699:13:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;:6;:13:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17689:4;17694:1;17689:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;17689:23:0::1;;;-1:-1:-1::0;;;;;17689:23:0::1;;;::::0;::::1;17741:4;17723;17728:1;17723:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;17723:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;17759:6:::1;::::0;:127:::1;::::0;-1:-1:-1;;;17759:127:0;;:6;::::1;::::0;:57:::1;::::0;17838:6;;17759:127:::1;::::0;:6:::1;::::0;17860:4;;17866:2;;17870:15:::1;::::0;17759:127:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;7631:6:0;:14;;-1:-1:-1;;7631:14:0;;;-1:-1:-1;;;;;;17496:398:0:o;4974:191::-;5048:16;5067:6;;-1:-1:-1;;;;;5084:17:0;;;-1:-1:-1;;;;;;5084:17:0;;;;;;5117:40;;5067:6;;;;;;;5117:40;;5048:16;5117:40;5037:128;4974:191;:::o;22787:620::-;7595:6;:13;;-1:-1:-1;;7595:13:0;;;;;-1:-1:-1;;;;;22918:14:0;::::1;22894:7:::0;22918:14;;;:8:::1;:14;::::0;;;;;7595:13;22918:14:::1;:70:::0;::::1;;;-1:-1:-1::0;22986:1:0::1;6074:3;22938:31;6074:3:::0;;22938:31:::1;:::i;:::-;:44;;;;:::i;:::-;22937:50;22918:70;22914:134;;;23012:24;23023:4;23029:6;23012:10;:24::i;:::-;23005:31;;;;22914:134;-1:-1:-1::0;;;;;23062:12:0;::::1;;::::0;;;:8:::1;:12;::::0;;;;;::::1;;:71:::0;::::1;;;-1:-1:-1::0;23131:1:0::1;6122:3;23080:33;6122:3:::0;;23080:33:::1;:::i;:::-;:47;;;;:::i;:::-;23079:53;23062:71;23058:136;;;23157:25;23169:4;23175:6;23157:11;:25::i;23058:136::-;-1:-1:-1::0;;;;;23209:14:0;::::1;;::::0;;;:8:::1;:14;::::0;;;;;::::1;;23208:15;:32:::0;::::1;;;-1:-1:-1::0;;;;;;23228:12:0;::::1;;::::0;;;:8:::1;:12;::::0;;;;;::::1;;23227:13;23208:32;:103;;;;-1:-1:-1::0;23309:1:0::1;::::0;23246:41:::1;23309:1:::0;;23246:41:::1;:::i;:::-;:59;;;;:::i;:::-;23245:65;23208:103;23204:172;;;23335:29;23351:4;23357:6;23335:15;:29::i;23204:172::-;-1:-1:-1::0;23393:6:0;7619:1:::1;7631:6:::0;:14;;-1:-1:-1;;7631:14:0;;;22787:620;;-1:-1:-1;;;22787:620:0:o;14853:619::-;7595:6;:13;;-1:-1:-1;;7595:13:0;;;;;14930:7;;5708:6:::1;14979:24;5765:3;14979:6:::0;:24:::1;:::i;:::-;:41;;;;:::i;:::-;14950:70:::0;-1:-1:-1;15031:24:0::1;5708:6;15058:22;5923:3;15058:6:::0;:22:::1;:::i;:::-;:39;;;;:::i;:::-;15031:66:::0;-1:-1:-1;15108:21:0::1;5708:6;15132:19;6074:3;15132:6:::0;:19:::1;:::i;:::-;:36;;;;:::i;:::-;15108:60:::0;-1:-1:-1;15179:17:0::1;15108:60:::0;15229:16;15199:27:::1;15208:18:::0;15199:6;:27:::1;:::i;:::-;:46;;;;:::i;:::-;:62;;;;:::i;:::-;15179:82:::0;-1:-1:-1;15334:1:0::1;15317:13:::0;15277:37:::1;15298:16:::0;15277:18;:37:::1;:::i;:::-;:53;;;;:::i;:::-;15276:59;15272:166;;;15352:74;15368:4;15374:18;15394:16;15412:13;15352:15;:74::i;:::-;7631:6:::0;:14;;-1:-1:-1;;7631:14:0;;;15455:9;14853:619;-1:-1:-1;;;;;;14853:619:0:o;16111:639::-;7595:6;:13;;-1:-1:-1;;7595:13:0;;;;;16193:7;;5708:6:::1;16242:29;16193:7:::0;16242:6;:29:::1;:::i;:::-;:46;;;;:::i;:::-;16213:75:::0;-1:-1:-1;16299:24:0::1;5708:6;16326:27;16299:24:::0;16326:6;:27:::1;:::i;:::-;:44;;;;:::i;:::-;16299:71:::0;-1:-1:-1;16381:21:0::1;5708:6;16405:24;16381:21:::0;16405:6;:24:::1;:::i;16758:499::-:0;7595:6;:13;;-1:-1:-1;;7595:13:0;;;;;;16969:14;16927:39:::1;16949:17:::0;16927:19;:39:::1;:::i;:::-;:56;;;;:::i;:::-;16906:77;;17024:19;16994:26;;:49;;;;;;;:::i;:::-;;;;;;;;17082:17;17054:24;;:45;;;;;;;:::i;:::-;;;;;;;;17135:14;17110:21;;:39;;;;;;;:::i;:::-;;;;;;;;17181:10;17160:17;;:31;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;17202:47:0::1;::::0;-1:-1:-1;17217:4:0;17231::::1;17238:10:::0;17202:14:::1;:47::i;:::-;-1:-1:-1::0;;7631:6:0;:14;;-1:-1:-1;;7631:14:0;;;-1:-1:-1;;;;16758:499:0:o;14:180:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:1;;14:180;-1:-1:-1;14:180:1:o;407:548::-;519:4;548:2;577;566:9;559:21;609:6;603:13;652:6;647:2;636:9;632:18;625:34;677:1;687:140;701:6;698:1;695:13;687:140;;;796:14;;;792:23;;786:30;762:17;;;781:2;758:26;751:66;716:10;;687:140;;;691:3;876:1;871:2;862:6;851:9;847:22;843:31;836:42;946:2;939;935:7;930:2;922:6;918:15;914:29;903:9;899:45;895:54;887:62;;;;407:548;;;;:::o;1142:131::-;-1:-1:-1;;;;;1217:31:1;;1207:42;;1197:70;;1263:1;1260;1253:12;1278:247;1337:6;1390:2;1378:9;1369:7;1365:23;1361:32;1358:52;;;1406:1;1403;1396:12;1358:52;1445:9;1432:23;1464:31;1489:5;1464:31;:::i;1722:315::-;1790:6;1798;1851:2;1839:9;1830:7;1826:23;1822:32;1819:52;;;1867:1;1864;1857:12;1819:52;1906:9;1893:23;1925:31;1950:5;1925:31;:::i;:::-;1975:5;2027:2;2012:18;;;;1999:32;;-1:-1:-1;;;1722:315:1:o;2042:456::-;2119:6;2127;2135;2188:2;2176:9;2167:7;2163:23;2159:32;2156:52;;;2204:1;2201;2194:12;2156:52;2243:9;2230:23;2262:31;2287:5;2262:31;:::i;:::-;2312:5;-1:-1:-1;2369:2:1;2354:18;;2341:32;2382:33;2341:32;2382:33;:::i;:::-;2042:456;;2434:7;;-1:-1:-1;;;2488:2:1;2473:18;;;;2460:32;;2042:456::o;2692:160::-;2757:20;;2813:13;;2806:21;2796:32;;2786:60;;2842:1;2839;2832:12;2786:60;2692:160;;;:::o;2857:180::-;2913:6;2966:2;2954:9;2945:7;2941:23;2937:32;2934:52;;;2982:1;2979;2972:12;2934:52;3005:26;3021:9;3005:26;:::i;3042:315::-;3107:6;3115;3168:2;3156:9;3147:7;3143:23;3139:32;3136:52;;;3184:1;3181;3174:12;3136:52;3223:9;3210:23;3242:31;3267:5;3242:31;:::i;:::-;3292:5;-1:-1:-1;3316:35:1;3347:2;3332:18;;3316:35;:::i;:::-;3306:45;;3042:315;;;;;:::o;3362:388::-;3430:6;3438;3491:2;3479:9;3470:7;3466:23;3462:32;3459:52;;;3507:1;3504;3497:12;3459:52;3546:9;3533:23;3565:31;3590:5;3565:31;:::i;:::-;3615:5;-1:-1:-1;3672:2:1;3657:18;;3644:32;3685:33;3644:32;3685:33;:::i;:::-;3737:7;3727:17;;;3362:388;;;;;:::o;3978:127::-;4039:10;4034:3;4030:20;4027:1;4020:31;4070:4;4067:1;4060:15;4094:4;4091:1;4084:15;4110:125;4175:9;;;4196:10;;;4193:36;;;4209:18;;:::i;4240:168::-;4313:9;;;4344;;4361:15;;;4355:22;;4341:37;4331:71;;4382:18;;:::i;4413:217::-;4453:1;4479;4469:132;;4523:10;4518:3;4514:20;4511:1;4504:31;4558:4;4555:1;4548:15;4586:4;4583:1;4576:15;4469:132;-1:-1:-1;4615:9:1;;4413:217::o;4635:128::-;4702:9;;;4723:11;;;4720:37;;;4737:18;;:::i;4900:127::-;4961:10;4956:3;4952:20;4949:1;4942:31;4992:4;4989:1;4982:15;5016:4;5013:1;5006:15;5032:251;5102:6;5155:2;5143:9;5134:7;5130:23;5126:32;5123:52;;;5171:1;5168;5161:12;5123:52;5203:9;5197:16;5222:31;5247:5;5222:31;:::i;5854:461::-;5907:3;5945:5;5939:12;5972:6;5967:3;5960:19;5998:4;6027:2;6022:3;6018:12;6011:19;;6064:2;6057:5;6053:14;6085:1;6095:195;6109:6;6106:1;6103:13;6095:195;;;6174:13;;-1:-1:-1;;;;;6170:39:1;6158:52;;6230:12;;;;6265:15;;;;6206:1;6124:9;6095:195;;;-1:-1:-1;6306:3:1;;5854:461;-1:-1:-1;;;;;5854:461:1:o;6320:582::-;6619:6;6608:9;6601:25;6662:6;6657:2;6646:9;6642:18;6635:34;6705:3;6700:2;6689:9;6685:18;6678:31;6582:4;6726:57;6778:3;6767:9;6763:19;6755:6;6726:57;:::i;:::-;-1:-1:-1;;;;;6819:32:1;;;;6814:2;6799:18;;6792:60;-1:-1:-1;6883:3:1;6868:19;6861:35;6718:65;6320:582;-1:-1:-1;;;6320:582:1:o;6907:437::-;7151:14;;7144:22;7126:41;;7210:14;;7203:22;7198:2;7183:18;;7176:50;-1:-1:-1;;;;;7262:32:1;7257:2;7242:18;;7235:60;7326:2;7311:18;;7304:34;7113:3;7098:19;;6907:437::o;8947:402::-;9149:2;9131:21;;;9188:2;9168:18;;;9161:30;9227:34;9222:2;9207:18;;9200:62;-1:-1:-1;;;9293:2:1;9278:18;;9271:36;9339:3;9324:19;;8947:402::o;9712:510::-;9983:6;9972:9;9965:25;10026:3;10021:2;10010:9;10006:18;9999:31;9946:4;10047:57;10099:3;10088:9;10084:19;10076:6;10047:57;:::i;:::-;-1:-1:-1;;;;;10140:32:1;;;;10135:2;10120:18;;10113:60;-1:-1:-1;10204:2:1;10189:18;10182:34;10039:65;9712:510;-1:-1:-1;;9712:510:1:o

Swarm Source

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