ETH Price: $3,382.76 (-7.80%)
 

Overview

Max Total Supply

100,000,000 GENSLER

Holders

11

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
1,898,945.294312722546314473 GENSLER

Value
$0.00
0x56955b263dacaeb53f4320b798d85c6f77d6f451
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:
GENSLER

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: Unlicensed

pragma solidity ^0.8.18;

interface IERC20 {

    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

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

        return c;
    }

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

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

        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

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

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

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

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

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

    function _msgData() internal view virtual returns (bytes memory) {
        this;
        return msg.data;
    }
}

contract Ownable is Context {
    address private _owner;

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

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

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

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

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

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

interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);

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

interface IUniswapV2Router02 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

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

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;

    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    )
        external payable;
}

interface IUniswapV2Pair {
    function sync() external;
}

contract GENSLER is Context, IERC20, Ownable {
    using SafeMath for uint256;
    IUniswapV2Router02 public uniswapV2Router;

    address public uniswapV2Pair;

    event NewMessage(string value);

    mapping (address => uint256) private balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private _isExcludedFromMaxWallet;
    mapping (address => bool) private _isBird;

    string private constant _name = "GENSLER";
    string private constant _symbol = "GENSLER";
    uint256 private _feeRate = 50;
    uint8 private constant _decimals = 18;
    uint256 private _tTotal =  100000000  * 10**_decimals;
    uint256 private _mWallet = 2000000  * 10**_decimals;

    string public _message;
    address public messageSender;

    address payable public liquidityReceiver = payable(0xb8fc8dE32D872a396aa3898c95079EB1F9f90214);
    address payable public marketingAddress = payable(0xb8fc8dE32D872a396aa3898c95079EB1F9f90214);

    struct BuyFees{
        uint256 liquidity;
        uint256 marketing;
    }

    struct SellFees{
        uint256 liquidity;
        uint256 marketing;
    }

    BuyFees public buyFee;
    SellFees public sellFee;

    uint256 private liquidityFee;
    uint256 private marketingFee;

    bool private watchGuard;
    bool private stopNow;

    bool private swapping;

    event SwapAndLiquify(uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiquidity);

    constructor () {
        buyFee.liquidity = 1;
        buyFee.marketing = 1;

        sellFee.liquidity = 1;
        sellFee.marketing = 1;

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        address _uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());

        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = _uniswapV2Pair;

        _isExcludedFromFee[msg.sender] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[address(0x00)] = true;
        _isExcludedFromFee[address(0xdead)] = true;
        _isExcludedFromFee[marketingAddress] = true;

        _isExcludedFromMaxWallet[msg.sender] = true;
        _isExcludedFromMaxWallet[address(this)] = true;
        _isExcludedFromMaxWallet[uniswapV2Pair] = true;
        _isExcludedFromMaxWallet[marketingAddress] = true;

        _isBird[msg.sender] = true;
        _isBird[marketingAddress] = true;

        messageSender = _msgSender();
        _message = "We love crypto";

        watchGuard = true;
        stopNow = true;

        balances[_msgSender()] = _tTotal;
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

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

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

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

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

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

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

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

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

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()] - amount);
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] - subtractedValue);
        return true;
    }

    function excludeFromFees(address account, bool excluded) public onlyOwner {
        _isExcludedFromFee[address(account)] = excluded;
    }

    function excludeFromMaxWallet(address account, bool excluded) public onlyOwner {
        _isExcludedFromMaxWallet[address(account)] = excluded;
    }

    function includeInBirds(address account, bool included) public onlyOwner {
        _isBird[address(account)] = included;
    }

    function disableWatchGuard() public onlyOwner {
        watchGuard = false;
    }

    function fineTuneSales(uint256 amountBuy, uint256 amountSell) public onlyOwner {
        uint256 amountOne = amountBuy;
        uint256 amountTwo = amountSell;
        buyFee.marketing = amountOne;
        sellFee.marketing = amountTwo;
    }

    function changeMessage(string memory messageText) external {
        require(_msgSender() == messageSender, "only Sender can do this");
        _message = messageText;
        emit NewMessage(_message);
    }

    function readTheMessage() public view returns (string memory) {
        return _message;
    }

    function setMarketingAddress(address payable newMarketingAddress) external onlyOwner {
        marketingAddress = newMarketingAddress;
    }

    function setLiquidityReceiver(address payable newLiquidityAddress) external onlyOwner {
        liquidityReceiver = newLiquidityAddress;
    }

    function getMarketingBuyFee() public view returns (uint256) {
        return buyFee.marketing;
    }

    function getMarketingSellFee() public view returns (uint256) {
        return sellFee.marketing;
    }

    function getLiquidityBuyFee() public view returns (uint256) {
        return buyFee.liquidity;
    }

    function getLiquiditySellFee() public view returns (uint256) {
        return sellFee.liquidity;
    }

    function getTotalBuyFee() public view returns (uint256) {
        uint256 mf = buyFee.marketing;
        uint256 lf = buyFee.liquidity;
        uint256 tf = mf.add(lf);
        return tf;
    }

    function getTotalSellFee() public view returns (uint256) {
        uint256 mf = sellFee.marketing;
        uint256 lf = sellFee.liquidity;
        uint256 tf = mf.add(lf);
        return tf;
    }

    receive() external payable {}

    function takeBuyFees(uint256 amount, address from) private returns (uint256) {
        uint256 liquidityFeeToken = amount * buyFee.liquidity / 100;
        uint256 marketingFeeTokens = amount * buyFee.marketing / 100;

        balances[address(this)] += liquidityFeeToken + marketingFeeTokens;
        emit Transfer (from, address(this), marketingFeeTokens + liquidityFeeToken);
        return (amount -liquidityFeeToken -marketingFeeTokens);
    }

    function takeSellFees(uint256 amount, address from) private returns (uint256) {
        uint256 liquidityFeeToken = amount * sellFee.liquidity / 100;
        uint256 marketingFeeTokens = amount * sellFee.marketing / 100;

        balances[address(this)] += liquidityFeeToken + marketingFeeTokens;
        emit Transfer (from, address(this), marketingFeeTokens + liquidityFeeToken );
        return (amount -liquidityFeeToken -marketingFeeTokens);
    }

    function isExcludedFromFee(address account) public view returns(bool) {
        return _isExcludedFromFee[account];
    }

    function isExcludedFromMaxWallet(address account) public view returns(bool) {
        return _isExcludedFromMaxWallet[account];
    }

    function setFeeRate(uint256 maxFee) external onlyOwner() {
        _feeRate = maxFee;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

        if(from != owner() && to != owner() && !_isExcludedFromMaxWallet[to]){
            require(balanceOf(to).add(amount) <= _mWallet, "Max Balance is reached.");
        }

        if(watchGuard != false && !_isBird[from] && !_isBird[to]){
          require(stopNow == false, "Transfer is not possible");
        }

        balances[from] -= amount;
        uint256 transferAmount = amount;

        bool takeFee;

        if(!_isExcludedFromFee[from] && !_isExcludedFromFee[to]){
            takeFee = true;
        }

        if(takeFee){
            if(to != uniswapV2Pair){
                transferAmount = takeBuyFees(amount, to);
            } else {
                transferAmount = takeSellFees(amount, from);
                uint256 swapTokenAtAmount = balanceOf(uniswapV2Pair).mul(_feeRate).div(1000);

                if (balanceOf(address(this)) >= swapTokenAtAmount && !swapping) {
                    swapping = true;
                    swapBack(swapTokenAtAmount);
                    swapping = false;
                }

                if (!swapping) {
                    swapping = true;
                    swapBack(balanceOf(address(this)));
                    swapping = false;
                }
            }
        }

        balances[to] += transferAmount;
        emit Transfer(from, to, transferAmount);
    }

    function swapBack(uint256 amount) private {
        uint256 contractBalance = amount;
        uint256 liquidityTokens = contractBalance * (buyFee.liquidity + sellFee.liquidity) / (buyFee.marketing + buyFee.liquidity + sellFee.marketing + sellFee.liquidity);
        uint256 marketingTokens = contractBalance * (buyFee.marketing + sellFee.marketing) / (buyFee.marketing + buyFee.liquidity + sellFee.marketing + sellFee.liquidity);
        uint256 totalTokensToSwap = liquidityTokens + marketingTokens;

        uint256 tokensForLiquidity = liquidityTokens.div(2);
        uint256 amountToSwapForETH = contractBalance.sub(tokensForLiquidity);
        uint256 initialETHBalance = address(this).balance;
        swapTokensForEth(amountToSwapForETH);
        uint256 ethBalance = address(this).balance.sub(initialETHBalance);

        uint256 ethForLiquidity = ethBalance.mul(liquidityTokens).div(totalTokensToSwap);
        addLiquidity(tokensForLiquidity, ethForLiquidity);
        payable(marketingAddress).transfer(address(this).balance);
    }

    function swapTokensForEth(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

        _approve(address(this), address(uniswapV2Router), tokenAmount);

        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        _approve(address(this), address(uniswapV2Router), tokenAmount);

        uniswapV2Router.addLiquidityETH {value: ethAmount} (
            address(this),
            tokenAmount,
            0,
            0,
            liquidityReceiver,
            block.timestamp
        );
    }

    function amIBird(address account) public view returns(bool) {
        return _isBird[account];
    }

    function watchGuardState() public view returns(bool) {
        return watchGuard;
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"value","type":"string"}],"name":"NewMessage","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":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiquidity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_message","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"amIBird","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyFee","outputs":[{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"marketing","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"messageText","type":"string"}],"name":"changeMessage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"disableWatchGuard","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountBuy","type":"uint256"},{"internalType":"uint256","name":"amountSell","type":"uint256"}],"name":"fineTuneSales","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getLiquidityBuyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getLiquiditySellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getMarketingBuyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getMarketingSellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalBuyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalSellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"included","type":"bool"}],"name":"includeInBirds","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromMaxWallet","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityReceiver","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"messageSender","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"readTheMessage","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"marketing","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxFee","type":"uint256"}],"name":"setFeeRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newLiquidityAddress","type":"address"}],"name":"setLiquidityReceiver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newMarketingAddress","type":"address"}],"name":"setMarketingAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"watchGuardState","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526032600855620000176012600a62000575565b62000027906305f5e1006200058d565b600955620000386012600a62000575565b6200004790621e84806200058d565b600a55600d805473b8fc8de32d872a396aa3898c95079eb1f9f902146001600160a01b03199182168117909255600e805490911690911790553480156200008d57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506001600f819055601081905560118190556012556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d91600091839163c45a01559160048083019260209291908290030181865afa15801562000139573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200015f9190620005a7565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001ad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001d39190620005a7565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000221573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002479190620005a7565b600180546001600160a01b038086166001600160a01b0319928316178355600280548286169316929092178255336000818152600560209081526040808320805460ff19908116891790915530808552828520805483168a1790557f05b8ccbb9d4d8fb16ea74ce3c29a41f1b461fbdaff4714a0d9a8eb05499746bc805483168a1790557f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba805483168a179055600e805488168652838620805484168b17905586865260068552838620805484168b179055908552828520805483168a1790559654861684528184208054821689179055865486168452818420805482168917905593835260079091528082208054841687179055935490921682529190208054909116909117905590506200037a3390565b600c80546001600160a01b0319166001600160a01b039290921691909117905560408051808201909152600e81526d5765206c6f76652063727970746f60901b6020820152600b90620003ce908262000677565b506015805461ffff191661010117905560095460036000620003ed3390565b6001600160a01b03168152602081019190915260400160002055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009546040516200045091815260200190565b60405180910390a3505062000743565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620004b75781600019048211156200049b576200049b62000460565b80851615620004a957918102915b93841c93908002906200047b565b509250929050565b600082620004d0575060016200056f565b81620004df575060006200056f565b8160018114620004f85760028114620005035762000523565b60019150506200056f565b60ff84111562000517576200051762000460565b50506001821b6200056f565b5060208310610133831016604e8410600b841016171562000548575081810a6200056f565b62000554838362000476565b80600019048211156200056b576200056b62000460565b0290505b92915050565b60006200058660ff841683620004bf565b9392505050565b80820281158282048414176200056f576200056f62000460565b600060208284031215620005ba57600080fd5b81516001600160a01b03811681146200058657600080fd5b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620005fd57607f821691505b6020821081036200061e57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200067257600081815260208120601f850160051c810160208610156200064d5750805b601f850160051c820191505b818110156200066e5782815560010162000659565b5050505b505050565b81516001600160401b03811115620006935762000693620005d2565b620006ab81620006a48454620005e8565b8462000624565b602080601f831160018114620006e35760008415620006ca5750858301515b600019600386901b1c1916600185901b1785556200066e565b600085815260208120601f198616915b828110156200071457888601518255948401946001909101908401620006f3565b5085821015620007335787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b61205a80620007536000396000f3fe6080604052600436106102555760003560e01c806360fd1c4f11610139578063a457c2d7116100b6578063c02466681161007a578063c024666814610707578063d2fcc00114610727578063d67bdd2514610747578063d68dff1914610767578063dd62ed3e1461077c578063f2fde38b146107c257600080fd5b8063a457c2d71461066f578063a5ece9411461068f578063a9059cbb146106af578063b45e44ba146106cf578063b57e3682146106e757600080fd5b80638da5cb5b116100fd5780638da5cb5b146105fc5780638e31b8ab1461061a578063906e9dd01461063a57806395d89b41146102615780639f9ed0c91461065a57600080fd5b806360fd1c4f146105435780636dd3d39f1461056357806370a082311461059c578063715018a6146105d25780638ca0a647146105e757600080fd5b8063264d26dd116101d25780633950935111610196578063395093511461047a57806345596e2e1461049a57806347062402146104ba57806347cb8c04146104d557806349bd5a5e146104ea5780635342acb41461050a57600080fd5b8063264d26dd146103b55780632b14ca56146103d5578063313ce56714610405578063336ca02d1461042157806335df4bc81461045a57600080fd5b80631299aec4116102195780631299aec41461031e5780631694505e1461033357806318160ddd1461036b5780631ebe8be81461038057806323b872dd1461039557600080fd5b806306fdde0314610261578063095ea7b3146102a35780630adde0eb146102d35780630e155a82146102e85780630f6811d31461030757600080fd5b3661025c57005b600080fd5b34801561026d57600080fd5b5060408051808201909152600781526623a2a729a622a960c91b60208201525b60405161029a9190611a7a565b60405180910390f35b3480156102af57600080fd5b506102c36102be366004611ae0565b6107e2565b604051901515815260200161029a565b3480156102df57600080fd5b5061028d6107f9565b3480156102f457600080fd5b506012545b60405190815260200161029a565b34801561031357600080fd5b5061031c610887565b005b34801561032a57600080fd5b506010546102f9565b34801561033f57600080fd5b50600154610353906001600160a01b031681565b6040516001600160a01b03909116815260200161029a565b34801561037757600080fd5b506009546102f9565b34801561038c57600080fd5b506102f96108c6565b3480156103a157600080fd5b506102c36103b0366004611b0c565b6108e3565b3480156103c157600080fd5b50600d54610353906001600160a01b031681565b3480156103e157600080fd5b506011546012546103f0919082565b6040805192835260208301919091520161029a565b34801561041157600080fd5b506040516012815260200161029a565b34801561042d57600080fd5b506102c361043c366004611b4d565b6001600160a01b031660009081526007602052604090205460ff1690565b34801561046657600080fd5b5061031c610475366004611b6a565b610935565b34801561048657600080fd5b506102c3610495366004611ae0565b61096a565b3480156104a657600080fd5b5061031c6104b5366004611b8c565b6109a1565b3480156104c657600080fd5b50600f546010546103f0919082565b3480156104e157600080fd5b506102f96109d0565b3480156104f657600080fd5b50600254610353906001600160a01b031681565b34801561051657600080fd5b506102c3610525366004611b4d565b6001600160a01b031660009081526005602052604090205460ff1690565b34801561054f57600080fd5b5061031c61055e366004611bbb565b6109e5565b34801561056f57600080fd5b506102c361057e366004611b4d565b6001600160a01b031660009081526006602052604090205460ff1690565b3480156105a857600080fd5b506102f96105b7366004611b4d565b6001600160a01b031660009081526003602052604090205490565b3480156105de57600080fd5b5061031c610a90565b3480156105f357600080fd5b506011546102f9565b34801561060857600080fd5b506000546001600160a01b0316610353565b34801561062657600080fd5b5061031c610635366004611c6c565b610b04565b34801561064657600080fd5b5061031c610655366004611b4d565b610b59565b34801561066657600080fd5b50600f546102f9565b34801561067b57600080fd5b506102c361068a366004611ae0565b610ba5565b34801561069b57600080fd5b50600e54610353906001600160a01b031681565b3480156106bb57600080fd5b506102c36106ca366004611ae0565b610bdc565b3480156106db57600080fd5b5060155460ff166102c3565b3480156106f357600080fd5b5061031c610702366004611b4d565b610be9565b34801561071357600080fd5b5061031c610722366004611c6c565b610c35565b34801561073357600080fd5b5061031c610742366004611c6c565b610c8a565b34801561075357600080fd5b50600c54610353906001600160a01b031681565b34801561077357600080fd5b5061028d610cdf565b34801561078857600080fd5b506102f9610797366004611caa565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156107ce57600080fd5b5061031c6107dd366004611b4d565b610d71565b60006107ef338484610e5b565b5060015b92915050565b600b805461080690611cd8565b80601f016020809104026020016040519081016040528092919081815260200182805461083290611cd8565b801561087f5780601f106108545761010080835404028352916020019161087f565b820191906000526020600020905b81548152906001019060200180831161086257829003601f168201915b505050505081565b6000546001600160a01b031633146108ba5760405162461bcd60e51b81526004016108b190611d12565b60405180910390fd5b6015805460ff19169055565b601054600f5460009190826108db8383610f7f565b949350505050565b60006108f0848484610fe5565b6001600160a01b03841660009081526004602090815260408083203380855292529091205461092b918691610926908690611d5d565b610e5b565b5060019392505050565b6000546001600160a01b0316331461095f5760405162461bcd60e51b81526004016108b190611d12565b601091909155601255565b3360008181526004602090815260408083206001600160a01b038716845290915281205490916107ef918590610926908690611d70565b6000546001600160a01b031633146109cb5760405162461bcd60e51b81526004016108b190611d12565b600855565b60125460115460009190826108db8383610f7f565b600c546001600160a01b0316336001600160a01b031614610a485760405162461bcd60e51b815260206004820152601760248201527f6f6e6c792053656e6465722063616e20646f207468697300000000000000000060448201526064016108b1565b600b610a548282611dce565b507f476e04c786e60f629af918e59f7b2d948f3b488bf1258cab1bf3a4351521b46f600b604051610a859190611e8e565b60405180910390a150565b6000546001600160a01b03163314610aba5760405162461bcd60e51b81526004016108b190611d12565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610b2e5760405162461bcd60e51b81526004016108b190611d12565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610b835760405162461bcd60e51b81526004016108b190611d12565b600e80546001600160a01b0319166001600160a01b0392909216919091179055565b3360008181526004602090815260408083206001600160a01b038716845290915281205490916107ef918590610926908690611d5d565b60006107ef338484610fe5565b6000546001600160a01b03163314610c135760405162461bcd60e51b81526004016108b190611d12565b600d80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610c5f5760405162461bcd60e51b81526004016108b190611d12565b6001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610cb45760405162461bcd60e51b81526004016108b190611d12565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b6060600b8054610cee90611cd8565b80601f0160208091040260200160405190810160405280929190818152602001828054610d1a90611cd8565b8015610d675780601f10610d3c57610100808354040283529160200191610d67565b820191906000526020600020905b815481529060010190602001808311610d4a57829003601f168201915b5050505050905090565b6000546001600160a01b03163314610d9b5760405162461bcd60e51b81526004016108b190611d12565b6001600160a01b038116610e005760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016108b1565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610ebd5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016108b1565b6001600160a01b038216610f1e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016108b1565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600080610f8c8385611d70565b905083811015610fde5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016108b1565b9392505050565b6001600160a01b0383166110495760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016108b1565b6001600160a01b0382166110ab5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016108b1565b6000811161110d5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016108b1565b6000546001600160a01b0384811691161480159061113957506000546001600160a01b03838116911614155b801561115e57506001600160a01b03821660009081526006602052604090205460ff16155b156111dd57600a5461118f82611189856001600160a01b031660009081526003602052604090205490565b90610f7f565b11156111dd5760405162461bcd60e51b815260206004820152601760248201527f4d61782042616c616e636520697320726561636865642e00000000000000000060448201526064016108b1565b60155460ff161580159061120a57506001600160a01b03831660009081526007602052604090205460ff16155b801561122f57506001600160a01b03821660009081526007602052604090205460ff16155b1561128c57601554610100900460ff161561128c5760405162461bcd60e51b815260206004820152601860248201527f5472616e73666572206973206e6f7420706f737369626c65000000000000000060448201526064016108b1565b6001600160a01b038316600090815260036020526040812080548392906112b4908490611d5d565b90915550506001600160a01b03831660009081526005602052604081205482919060ff161580156112fe57506001600160a01b03841660009081526005602052604090205460ff16155b15611307575060015b8015611424576002546001600160a01b038581169116146113335761132c83856114a7565b9150611424565b61133d838661157e565b6008546002546001600160a01b031660009081526003602052604081205492945091611376916103e891611370916115b5565b90611637565b3060009081526003602052604090205490915081111580156113a1575060155462010000900460ff16155b156113cd576015805462ff00001916620100001790556113c081611679565b6015805462ff0000191690555b60155462010000900460ff16611422576015805462ff0000191662010000179055611415611410306001600160a01b031660009081526003602052604090205490565b611679565b6015805462ff0000191690555b505b6001600160a01b0384166000908152600360205260408120805484929061144c908490611d70565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161149891815260200190565b60405180910390a35050505050565b6000806064600f60000154856114bd9190611f19565b6114c79190611f30565b905060006064600f60010154866114de9190611f19565b6114e89190611f30565b90506114f48183611d70565b3060009081526003602052604081208054909190611513908490611d70565b909155503090506001600160a01b0385167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61154f8585611d70565b60405190815260200160405180910390a38061156b8387611d5d565b6115759190611d5d565b95945050505050565b6000806064601160000154856115949190611f19565b61159e9190611f30565b905060006064601160010154866114de9190611f19565b6000826000036115c7575060006107f3565b60006115d38385611f19565b9050826115e08583611f30565b14610fde5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016108b1565b6000610fde83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506117cb565b601154601254600f546010548493600093909290916116989190611d70565b6116a29190611d70565b6116ac9190611d70565b601154600f546116bc9190611d70565b6116c69084611f19565b6116d09190611f30565b601154601254600f546010549394506000936116ec9190611d70565b6116f69190611d70565b6117009190611d70565b6012546010546117109190611d70565b61171a9085611f19565b6117249190611f30565b905060006117328284611d70565b90506000611741846002611637565b9050600061174f86836117f9565b90504761175b8261183b565b600061176747836117f9565b9050600061177986611370848b6115b5565b90506117858582611995565b600e546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156117be573d6000803e3d6000fd5b5050505050505050505050565b600081836117ec5760405162461bcd60e51b81526004016108b19190611a7a565b5060006115758486611f30565b6000610fde83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611a49565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061187057611870611f52565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156118c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118ed9190611f68565b8160018151811061190057611900611f52565b6001600160a01b0392831660209182029290920101526001546119269130911684610e5b565b60015460405163791ac94760e01b81526001600160a01b039091169063791ac9479061195f908590600090869030904290600401611f85565b600060405180830381600087803b15801561197957600080fd5b505af115801561198d573d6000803e3d6000fd5b505050505050565b6001546119ad9030906001600160a01b031684610e5b565b600154600d5460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af1158015611a1d573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611a429190611ff6565b5050505050565b60008184841115611a6d5760405162461bcd60e51b81526004016108b19190611a7a565b5060006115758486611d5d565b600060208083528351808285015260005b81811015611aa757858101830151858201604001528201611a8b565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611add57600080fd5b50565b60008060408385031215611af357600080fd5b8235611afe81611ac8565b946020939093013593505050565b600080600060608486031215611b2157600080fd5b8335611b2c81611ac8565b92506020840135611b3c81611ac8565b929592945050506040919091013590565b600060208284031215611b5f57600080fd5b8135610fde81611ac8565b60008060408385031215611b7d57600080fd5b50508035926020909101359150565b600060208284031215611b9e57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b600060208284031215611bcd57600080fd5b813567ffffffffffffffff80821115611be557600080fd5b818401915084601f830112611bf957600080fd5b813581811115611c0b57611c0b611ba5565b604051601f8201601f19908116603f01168101908382118183101715611c3357611c33611ba5565b81604052828152876020848701011115611c4c57600080fd5b826020860160208301376000928101602001929092525095945050505050565b60008060408385031215611c7f57600080fd5b8235611c8a81611ac8565b915060208301358015158114611c9f57600080fd5b809150509250929050565b60008060408385031215611cbd57600080fd5b8235611cc881611ac8565b91506020830135611c9f81611ac8565b600181811c90821680611cec57607f821691505b602082108103611d0c57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b818103818111156107f3576107f3611d47565b808201808211156107f3576107f3611d47565b601f821115611dc957600081815260208120601f850160051c81016020861015611daa5750805b601f850160051c820191505b8181101561198d57828155600101611db6565b505050565b815167ffffffffffffffff811115611de857611de8611ba5565b611dfc81611df68454611cd8565b84611d83565b602080601f831160018114611e315760008415611e195750858301515b600019600386901b1c1916600185901b17855561198d565b600085815260208120601f198616915b82811015611e6057888601518255948401946001909101908401611e41565b5085821015611e7e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602080835260008454611ea281611cd8565b80848701526040600180841660008114611ec35760018114611edd57611f0b565b60ff1985168984015283151560051b890183019550611f0b565b896000528660002060005b85811015611f035781548b8201860152908301908801611ee8565b8a0184019650505b509398975050505050505050565b80820281158282048414176107f3576107f3611d47565b600082611f4d57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611f7a57600080fd5b8151610fde81611ac8565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611fd55784516001600160a01b031683529383019391830191600101611fb0565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561200b57600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220e817634ca1bfbeb74e6dc905608b19080b2b705889cec4949254261a2f9b1e6c64736f6c63430008120033

Deployed Bytecode

0x6080604052600436106102555760003560e01c806360fd1c4f11610139578063a457c2d7116100b6578063c02466681161007a578063c024666814610707578063d2fcc00114610727578063d67bdd2514610747578063d68dff1914610767578063dd62ed3e1461077c578063f2fde38b146107c257600080fd5b8063a457c2d71461066f578063a5ece9411461068f578063a9059cbb146106af578063b45e44ba146106cf578063b57e3682146106e757600080fd5b80638da5cb5b116100fd5780638da5cb5b146105fc5780638e31b8ab1461061a578063906e9dd01461063a57806395d89b41146102615780639f9ed0c91461065a57600080fd5b806360fd1c4f146105435780636dd3d39f1461056357806370a082311461059c578063715018a6146105d25780638ca0a647146105e757600080fd5b8063264d26dd116101d25780633950935111610196578063395093511461047a57806345596e2e1461049a57806347062402146104ba57806347cb8c04146104d557806349bd5a5e146104ea5780635342acb41461050a57600080fd5b8063264d26dd146103b55780632b14ca56146103d5578063313ce56714610405578063336ca02d1461042157806335df4bc81461045a57600080fd5b80631299aec4116102195780631299aec41461031e5780631694505e1461033357806318160ddd1461036b5780631ebe8be81461038057806323b872dd1461039557600080fd5b806306fdde0314610261578063095ea7b3146102a35780630adde0eb146102d35780630e155a82146102e85780630f6811d31461030757600080fd5b3661025c57005b600080fd5b34801561026d57600080fd5b5060408051808201909152600781526623a2a729a622a960c91b60208201525b60405161029a9190611a7a565b60405180910390f35b3480156102af57600080fd5b506102c36102be366004611ae0565b6107e2565b604051901515815260200161029a565b3480156102df57600080fd5b5061028d6107f9565b3480156102f457600080fd5b506012545b60405190815260200161029a565b34801561031357600080fd5b5061031c610887565b005b34801561032a57600080fd5b506010546102f9565b34801561033f57600080fd5b50600154610353906001600160a01b031681565b6040516001600160a01b03909116815260200161029a565b34801561037757600080fd5b506009546102f9565b34801561038c57600080fd5b506102f96108c6565b3480156103a157600080fd5b506102c36103b0366004611b0c565b6108e3565b3480156103c157600080fd5b50600d54610353906001600160a01b031681565b3480156103e157600080fd5b506011546012546103f0919082565b6040805192835260208301919091520161029a565b34801561041157600080fd5b506040516012815260200161029a565b34801561042d57600080fd5b506102c361043c366004611b4d565b6001600160a01b031660009081526007602052604090205460ff1690565b34801561046657600080fd5b5061031c610475366004611b6a565b610935565b34801561048657600080fd5b506102c3610495366004611ae0565b61096a565b3480156104a657600080fd5b5061031c6104b5366004611b8c565b6109a1565b3480156104c657600080fd5b50600f546010546103f0919082565b3480156104e157600080fd5b506102f96109d0565b3480156104f657600080fd5b50600254610353906001600160a01b031681565b34801561051657600080fd5b506102c3610525366004611b4d565b6001600160a01b031660009081526005602052604090205460ff1690565b34801561054f57600080fd5b5061031c61055e366004611bbb565b6109e5565b34801561056f57600080fd5b506102c361057e366004611b4d565b6001600160a01b031660009081526006602052604090205460ff1690565b3480156105a857600080fd5b506102f96105b7366004611b4d565b6001600160a01b031660009081526003602052604090205490565b3480156105de57600080fd5b5061031c610a90565b3480156105f357600080fd5b506011546102f9565b34801561060857600080fd5b506000546001600160a01b0316610353565b34801561062657600080fd5b5061031c610635366004611c6c565b610b04565b34801561064657600080fd5b5061031c610655366004611b4d565b610b59565b34801561066657600080fd5b50600f546102f9565b34801561067b57600080fd5b506102c361068a366004611ae0565b610ba5565b34801561069b57600080fd5b50600e54610353906001600160a01b031681565b3480156106bb57600080fd5b506102c36106ca366004611ae0565b610bdc565b3480156106db57600080fd5b5060155460ff166102c3565b3480156106f357600080fd5b5061031c610702366004611b4d565b610be9565b34801561071357600080fd5b5061031c610722366004611c6c565b610c35565b34801561073357600080fd5b5061031c610742366004611c6c565b610c8a565b34801561075357600080fd5b50600c54610353906001600160a01b031681565b34801561077357600080fd5b5061028d610cdf565b34801561078857600080fd5b506102f9610797366004611caa565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156107ce57600080fd5b5061031c6107dd366004611b4d565b610d71565b60006107ef338484610e5b565b5060015b92915050565b600b805461080690611cd8565b80601f016020809104026020016040519081016040528092919081815260200182805461083290611cd8565b801561087f5780601f106108545761010080835404028352916020019161087f565b820191906000526020600020905b81548152906001019060200180831161086257829003601f168201915b505050505081565b6000546001600160a01b031633146108ba5760405162461bcd60e51b81526004016108b190611d12565b60405180910390fd5b6015805460ff19169055565b601054600f5460009190826108db8383610f7f565b949350505050565b60006108f0848484610fe5565b6001600160a01b03841660009081526004602090815260408083203380855292529091205461092b918691610926908690611d5d565b610e5b565b5060019392505050565b6000546001600160a01b0316331461095f5760405162461bcd60e51b81526004016108b190611d12565b601091909155601255565b3360008181526004602090815260408083206001600160a01b038716845290915281205490916107ef918590610926908690611d70565b6000546001600160a01b031633146109cb5760405162461bcd60e51b81526004016108b190611d12565b600855565b60125460115460009190826108db8383610f7f565b600c546001600160a01b0316336001600160a01b031614610a485760405162461bcd60e51b815260206004820152601760248201527f6f6e6c792053656e6465722063616e20646f207468697300000000000000000060448201526064016108b1565b600b610a548282611dce565b507f476e04c786e60f629af918e59f7b2d948f3b488bf1258cab1bf3a4351521b46f600b604051610a859190611e8e565b60405180910390a150565b6000546001600160a01b03163314610aba5760405162461bcd60e51b81526004016108b190611d12565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610b2e5760405162461bcd60e51b81526004016108b190611d12565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610b835760405162461bcd60e51b81526004016108b190611d12565b600e80546001600160a01b0319166001600160a01b0392909216919091179055565b3360008181526004602090815260408083206001600160a01b038716845290915281205490916107ef918590610926908690611d5d565b60006107ef338484610fe5565b6000546001600160a01b03163314610c135760405162461bcd60e51b81526004016108b190611d12565b600d80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610c5f5760405162461bcd60e51b81526004016108b190611d12565b6001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610cb45760405162461bcd60e51b81526004016108b190611d12565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b6060600b8054610cee90611cd8565b80601f0160208091040260200160405190810160405280929190818152602001828054610d1a90611cd8565b8015610d675780601f10610d3c57610100808354040283529160200191610d67565b820191906000526020600020905b815481529060010190602001808311610d4a57829003601f168201915b5050505050905090565b6000546001600160a01b03163314610d9b5760405162461bcd60e51b81526004016108b190611d12565b6001600160a01b038116610e005760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016108b1565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610ebd5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016108b1565b6001600160a01b038216610f1e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016108b1565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600080610f8c8385611d70565b905083811015610fde5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016108b1565b9392505050565b6001600160a01b0383166110495760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016108b1565b6001600160a01b0382166110ab5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016108b1565b6000811161110d5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016108b1565b6000546001600160a01b0384811691161480159061113957506000546001600160a01b03838116911614155b801561115e57506001600160a01b03821660009081526006602052604090205460ff16155b156111dd57600a5461118f82611189856001600160a01b031660009081526003602052604090205490565b90610f7f565b11156111dd5760405162461bcd60e51b815260206004820152601760248201527f4d61782042616c616e636520697320726561636865642e00000000000000000060448201526064016108b1565b60155460ff161580159061120a57506001600160a01b03831660009081526007602052604090205460ff16155b801561122f57506001600160a01b03821660009081526007602052604090205460ff16155b1561128c57601554610100900460ff161561128c5760405162461bcd60e51b815260206004820152601860248201527f5472616e73666572206973206e6f7420706f737369626c65000000000000000060448201526064016108b1565b6001600160a01b038316600090815260036020526040812080548392906112b4908490611d5d565b90915550506001600160a01b03831660009081526005602052604081205482919060ff161580156112fe57506001600160a01b03841660009081526005602052604090205460ff16155b15611307575060015b8015611424576002546001600160a01b038581169116146113335761132c83856114a7565b9150611424565b61133d838661157e565b6008546002546001600160a01b031660009081526003602052604081205492945091611376916103e891611370916115b5565b90611637565b3060009081526003602052604090205490915081111580156113a1575060155462010000900460ff16155b156113cd576015805462ff00001916620100001790556113c081611679565b6015805462ff0000191690555b60155462010000900460ff16611422576015805462ff0000191662010000179055611415611410306001600160a01b031660009081526003602052604090205490565b611679565b6015805462ff0000191690555b505b6001600160a01b0384166000908152600360205260408120805484929061144c908490611d70565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161149891815260200190565b60405180910390a35050505050565b6000806064600f60000154856114bd9190611f19565b6114c79190611f30565b905060006064600f60010154866114de9190611f19565b6114e89190611f30565b90506114f48183611d70565b3060009081526003602052604081208054909190611513908490611d70565b909155503090506001600160a01b0385167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61154f8585611d70565b60405190815260200160405180910390a38061156b8387611d5d565b6115759190611d5d565b95945050505050565b6000806064601160000154856115949190611f19565b61159e9190611f30565b905060006064601160010154866114de9190611f19565b6000826000036115c7575060006107f3565b60006115d38385611f19565b9050826115e08583611f30565b14610fde5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016108b1565b6000610fde83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506117cb565b601154601254600f546010548493600093909290916116989190611d70565b6116a29190611d70565b6116ac9190611d70565b601154600f546116bc9190611d70565b6116c69084611f19565b6116d09190611f30565b601154601254600f546010549394506000936116ec9190611d70565b6116f69190611d70565b6117009190611d70565b6012546010546117109190611d70565b61171a9085611f19565b6117249190611f30565b905060006117328284611d70565b90506000611741846002611637565b9050600061174f86836117f9565b90504761175b8261183b565b600061176747836117f9565b9050600061177986611370848b6115b5565b90506117858582611995565b600e546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156117be573d6000803e3d6000fd5b5050505050505050505050565b600081836117ec5760405162461bcd60e51b81526004016108b19190611a7a565b5060006115758486611f30565b6000610fde83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611a49565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061187057611870611f52565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156118c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118ed9190611f68565b8160018151811061190057611900611f52565b6001600160a01b0392831660209182029290920101526001546119269130911684610e5b565b60015460405163791ac94760e01b81526001600160a01b039091169063791ac9479061195f908590600090869030904290600401611f85565b600060405180830381600087803b15801561197957600080fd5b505af115801561198d573d6000803e3d6000fd5b505050505050565b6001546119ad9030906001600160a01b031684610e5b565b600154600d5460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af1158015611a1d573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611a429190611ff6565b5050505050565b60008184841115611a6d5760405162461bcd60e51b81526004016108b19190611a7a565b5060006115758486611d5d565b600060208083528351808285015260005b81811015611aa757858101830151858201604001528201611a8b565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611add57600080fd5b50565b60008060408385031215611af357600080fd5b8235611afe81611ac8565b946020939093013593505050565b600080600060608486031215611b2157600080fd5b8335611b2c81611ac8565b92506020840135611b3c81611ac8565b929592945050506040919091013590565b600060208284031215611b5f57600080fd5b8135610fde81611ac8565b60008060408385031215611b7d57600080fd5b50508035926020909101359150565b600060208284031215611b9e57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b600060208284031215611bcd57600080fd5b813567ffffffffffffffff80821115611be557600080fd5b818401915084601f830112611bf957600080fd5b813581811115611c0b57611c0b611ba5565b604051601f8201601f19908116603f01168101908382118183101715611c3357611c33611ba5565b81604052828152876020848701011115611c4c57600080fd5b826020860160208301376000928101602001929092525095945050505050565b60008060408385031215611c7f57600080fd5b8235611c8a81611ac8565b915060208301358015158114611c9f57600080fd5b809150509250929050565b60008060408385031215611cbd57600080fd5b8235611cc881611ac8565b91506020830135611c9f81611ac8565b600181811c90821680611cec57607f821691505b602082108103611d0c57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b818103818111156107f3576107f3611d47565b808201808211156107f3576107f3611d47565b601f821115611dc957600081815260208120601f850160051c81016020861015611daa5750805b601f850160051c820191505b8181101561198d57828155600101611db6565b505050565b815167ffffffffffffffff811115611de857611de8611ba5565b611dfc81611df68454611cd8565b84611d83565b602080601f831160018114611e315760008415611e195750858301515b600019600386901b1c1916600185901b17855561198d565b600085815260208120601f198616915b82811015611e6057888601518255948401946001909101908401611e41565b5085821015611e7e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602080835260008454611ea281611cd8565b80848701526040600180841660008114611ec35760018114611edd57611f0b565b60ff1985168984015283151560051b890183019550611f0b565b896000528660002060005b85811015611f035781548b8201860152908301908801611ee8565b8a0184019650505b509398975050505050505050565b80820281158282048414176107f3576107f3611d47565b600082611f4d57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611f7a57600080fd5b8151610fde81611ac8565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611fd55784516001600160a01b031683529383019391830191600101611fb0565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561200b57600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220e817634ca1bfbeb74e6dc905608b19080b2b705889cec4949254261a2f9b1e6c64736f6c63430008120033

Deployed Bytecode Sourcemap

4651:12432:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7528:83;;;;;;;;;;-1:-1:-1;7598:5:0;;;;;;;;;;;;-1:-1:-1;;;7598:5:0;;;;7528:83;;;;;;;:::i;:::-;;;;;;;;8360:161;;;;;;;;;;-1:-1:-1;8360:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;8360:161:0;1023:187:1;5462:22:0;;;;;;;;;;;;;:::i;10784:104::-;;;;;;;;;;-1:-1:-1;10863:17:0;;10784:104;;;1361:25:1;;;1349:2;1334:18;10784:104:0;1215:177:1;9702:83:0;;;;;;;;;;;;;:::i;:::-;;10674:102;;;;;;;;;;-1:-1:-1;10752:16:0;;10674:102;;4736:41;;;;;;;;;;-1:-1:-1;4736:41:0;;;;-1:-1:-1;;;;;4736:41:0;;;;;;-1:-1:-1;;;;;1587:32:1;;;1569:51;;1557:2;1542:18;4736:41:0;1397:229:1;7805:95:0;;;;;;;;;;-1:-1:-1;7885:7:0;;7805:95;;11118:198;;;;;;;;;;;;;:::i;8529:266::-;;;;;;;;;;-1:-1:-1;8529:266:0;;;;;:::i;:::-;;:::i;5528:94::-;;;;;;;;;;-1:-1:-1;5528:94:0;;;;-1:-1:-1;;;;;5528:94:0;;;5932:23;;;;;;;;;;-1:-1:-1;5932:23:0;;;;;;;;;;;;;2490:25:1;;;2546:2;2531:18;;2524:34;;;;2463:18;5932:23:0;2316:248:1;7714:83:0;;;;;;;;;;-1:-1:-1;7714:83:0;;5333:2;2711:36:1;;2699:2;2684:18;7714:83:0;2569:184:1;16879:102:0;;;;;;;;;;-1:-1:-1;16879:102:0;;;;;:::i;:::-;-1:-1:-1;;;;;16957:16:0;16933:4;16957:16;;;:7;:16;;;;;;;;;16879:102;9793:247;;;;;;;;;;-1:-1:-1;9793:247:0;;;;;:::i;:::-;;:::i;8803:215::-;;;;;;;;;;-1:-1:-1;8803:215:0;;;;;:::i;:::-;;:::i;12774:93::-;;;;;;;;;;-1:-1:-1;12774:93:0;;;;;:::i;:::-;;:::i;5904:21::-;;;;;;;;;;-1:-1:-1;5904:21:0;;;;;;;;;11324:201;;;;;;;;;;;;;:::i;4786:28::-;;;;;;;;;;-1:-1:-1;4786:28:0;;;;-1:-1:-1;;;;;4786:28:0;;;12500:123;;;;;;;;;;-1:-1:-1;12500:123:0;;;;;:::i;:::-;-1:-1:-1;;;;;12588:27:0;12564:4;12588:27;;;:18;:27;;;;;;;;;12500:123;10048:212;;;;;;;;;;-1:-1:-1;10048:212:0;;;;;:::i;:::-;;:::i;12631:135::-;;;;;;;;;;-1:-1:-1;12631:135:0;;;;;:::i;:::-;-1:-1:-1;;;;;12725:33:0;12701:4;12725:33;;;:24;:33;;;;;;;;;12631:135;7908:118;;;;;;;;;;-1:-1:-1;7908:118:0;;;;;:::i;:::-;-1:-1:-1;;;;;8001:17:0;7974:7;8001:17;;;:8;:17;;;;;;;7908:118;3112:148;;;;;;;;;;;;;:::i;11006:104::-;;;;;;;;;;-1:-1:-1;11085:7:0;:17;11006:104;;2898:79;;;;;;;;;;-1:-1:-1;2936:7:0;2963:6;-1:-1:-1;;;;;2963:6:0;2898:79;;9566:128;;;;;;;;;;-1:-1:-1;9566:128:0;;;;;:::i;:::-;;:::i;10372:142::-;;;;;;;;;;-1:-1:-1;10372:142:0;;;;;:::i;:::-;;:::i;10896:102::-;;;;;;;;;;-1:-1:-1;10974:6:0;:16;10896:102;;9026:225;;;;;;;;;;-1:-1:-1;9026:225:0;;;;;:::i;:::-;;:::i;5629:93::-;;;;;;;;;;-1:-1:-1;5629:93:0;;;;-1:-1:-1;;;;;5629:93:0;;;8034:167;;;;;;;;;;-1:-1:-1;8034:167:0;;;;;:::i;:::-;;:::i;16989:89::-;;;;;;;;;;-1:-1:-1;17060:10:0;;;;16989:89;;10522:144;;;;;;;;;;-1:-1:-1;10522:144:0;;;;;:::i;:::-;;:::i;9259:140::-;;;;;;;;;;-1:-1:-1;9259:140:0;;;;;:::i;:::-;;:::i;9407:151::-;;;;;;;;;;-1:-1:-1;9407:151:0;;;;;:::i;:::-;;:::i;5491:28::-;;;;;;;;;;-1:-1:-1;5491:28:0;;;;-1:-1:-1;;;;;5491:28:0;;;10268:96;;;;;;;;;;;;;:::i;8209:143::-;;;;;;;;;;-1:-1:-1;8209:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;8317:18:0;;;8290:7;8317:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8209:143;3268:244;;;;;;;;;;-1:-1:-1;3268:244:0;;;;;:::i;:::-;;:::i;8360:161::-;8435:4;8452:39;2430:10;8475:7;8484:6;8452:8;:39::i;:::-;-1:-1:-1;8509:4:0;8360:161;;;;;:::o;5462:22::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;9702:83::-;3025:6;;-1:-1:-1;;;;;3025:6:0;2430:10;3025:22;3017:67;;;;-1:-1:-1;;;3017:67:0;;;;;;;:::i;:::-;;;;;;;;;9759:10:::1;:18:::0;;-1:-1:-1;;9759:18:0::1;::::0;;9702:83::o;11118:198::-;11198:16;;:6;11238:16;11165:7;;11198:16;11165:7;11278:10;11198:16;11238;11278:6;:10::i;:::-;11265:23;11118:198;-1:-1:-1;;;;11118:198:0:o;8529:266::-;8627:4;8644:36;8654:6;8662:9;8673:6;8644:9;:36::i;:::-;-1:-1:-1;;;;;8722:19:0;;;;;;:11;:19;;;;;;;;2430:10;8722:33;;;;;;;;;8691:74;;8700:6;;8722:42;;8758:6;;8722:42;:::i;:::-;8691:8;:74::i;:::-;-1:-1:-1;8783:4:0;8529:266;;;;;:::o;9793:247::-;3025:6;;-1:-1:-1;;;;;3025:6:0;2430:10;3025:22;3017:67;;;;-1:-1:-1;;;3017:67:0;;;;;;;:::i;:::-;9964:16;:28;;;;10003:17;:29;9793:247::o;8803:215::-;2430:10;8891:4;8940:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;8940:34:0;;;;;;;;;;8891:4;;8908:80;;8931:7;;8940:47;;8977:10;;8940:47;:::i;12774:93::-;3025:6;;-1:-1:-1;;;;;3025:6:0;2430:10;3025:22;3017:67;;;;-1:-1:-1;;;3017:67:0;;;;;;;:::i;:::-;12842:8:::1;:17:::0;12774:93::o;11324:201::-;11405:17;;:7;11446:17;11372:7;;11405:17;11372:7;11487:10;11405:17;11446;11487:6;:10::i;10048:212::-;10142:13;;-1:-1:-1;;;;;10142:13:0;2430:10;-1:-1:-1;;;;;10126:29:0;;10118:65;;;;-1:-1:-1;;;10118:65:0;;7132:2:1;10118:65:0;;;7114:21:1;7171:2;7151:18;;;7144:30;7210:25;7190:18;;;7183:53;7253:18;;10118:65:0;6930:347:1;10118:65:0;10194:8;:22;10205:11;10194:8;:22;:::i;:::-;;10232:20;10243:8;10232:20;;;;;;:::i;:::-;;;;;;;;10048:212;:::o;3112:148::-;3025:6;;-1:-1:-1;;;;;3025:6:0;2430:10;3025:22;3017:67;;;;-1:-1:-1;;;3017:67:0;;;;;;;:::i;:::-;3219:1:::1;3203:6:::0;;3182:40:::1;::::0;-1:-1:-1;;;;;3203:6:0;;::::1;::::0;3182:40:::1;::::0;3219:1;;3182:40:::1;3250:1;3233:19:::0;;-1:-1:-1;;;;;;3233:19:0::1;::::0;;3112:148::o;9566:128::-;3025:6;;-1:-1:-1;;;;;3025:6:0;2430:10;3025:22;3017:67;;;;-1:-1:-1;;;3017:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;9650:25:0;;;::::1;;::::0;;;:7:::1;:25;::::0;;;;:36;;-1:-1:-1;;9650:36:0::1;::::0;::::1;;::::0;;;::::1;::::0;;9566:128::o;10372:142::-;3025:6;;-1:-1:-1;;;;;3025:6:0;2430:10;3025:22;3017:67;;;;-1:-1:-1;;;3017:67:0;;;;;;;:::i;:::-;10468:16:::1;:38:::0;;-1:-1:-1;;;;;;10468:38:0::1;-1:-1:-1::0;;;;;10468:38:0;;;::::1;::::0;;;::::1;::::0;;10372:142::o;9026:225::-;2430:10;9119:4;9168:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;9168:34:0;;;;;;;;;;9119:4;;9136:85;;9159:7;;9168:52;;9205:15;;9168:52;:::i;8034:167::-;8112:4;8129:42;2430:10;8153:9;8164:6;8129:9;:42::i;10522:144::-;3025:6;;-1:-1:-1;;;;;3025:6:0;2430:10;3025:22;3017:67;;;;-1:-1:-1;;;3017:67:0;;;;;;;:::i;:::-;10619:17:::1;:39:::0;;-1:-1:-1;;;;;;10619:39:0::1;-1:-1:-1::0;;;;;10619:39:0;;;::::1;::::0;;;::::1;::::0;;10522:144::o;9259:140::-;3025:6;;-1:-1:-1;;;;;3025:6:0;2430:10;3025:22;3017:67;;;;-1:-1:-1;;;3017:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;9344:36:0;;;::::1;;::::0;;;:18:::1;:36;::::0;;;;:47;;-1:-1:-1;;9344:47:0::1;::::0;::::1;;::::0;;;::::1;::::0;;9259:140::o;9407:151::-;3025:6;;-1:-1:-1;;;;;3025:6:0;2430:10;3025:22;3017:67;;;;-1:-1:-1;;;3017:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;9497:42:0;;;::::1;;::::0;;;:24:::1;:42;::::0;;;;:53;;-1:-1:-1;;9497:53:0::1;::::0;::::1;;::::0;;;::::1;::::0;;9407:151::o;10268:96::-;10315:13;10348:8;10341:15;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10268:96;:::o;3268:244::-;3025:6;;-1:-1:-1;;;;;3025:6:0;2430:10;3025:22;3017:67;;;;-1:-1:-1;;;3017:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3357:22:0;::::1;3349:73;;;::::0;-1:-1:-1;;;3349:73:0;;10656:2:1;3349:73:0::1;::::0;::::1;10638:21:1::0;10695:2;10675:18;;;10668:30;10734:34;10714:18;;;10707:62;-1:-1:-1;;;10785:18:1;;;10778:36;10831:19;;3349:73:0::1;10454:402:1::0;3349:73:0::1;3459:6;::::0;;3438:38:::1;::::0;-1:-1:-1;;;;;3438:38:0;;::::1;::::0;3459:6;::::1;::::0;3438:38:::1;::::0;::::1;3487:6;:17:::0;;-1:-1:-1;;;;;;3487:17:0::1;-1:-1:-1::0;;;;;3487:17:0;;;::::1;::::0;;;::::1;::::0;;3268:244::o;12875:337::-;-1:-1:-1;;;;;12968:19:0;;12960:68;;;;-1:-1:-1;;;12960:68:0;;11063:2:1;12960:68:0;;;11045:21:1;11102:2;11082:18;;;11075:30;11141:34;11121:18;;;11114:62;-1:-1:-1;;;11192:18:1;;;11185:34;11236:19;;12960:68:0;10861:400:1;12960:68:0;-1:-1:-1;;;;;13047:21:0;;13039:68;;;;-1:-1:-1;;;13039:68:0;;11468:2:1;13039:68:0;;;11450:21:1;11507:2;11487:18;;;11480:30;11546:34;11526:18;;;11519:62;-1:-1:-1;;;11597:18:1;;;11590:32;11639:19;;13039:68:0;11266:398:1;13039:68:0;-1:-1:-1;;;;;13120:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;13172:32;;1361:25:1;;;13172:32:0;;1334:18:1;13172:32:0;;;;;;;12875:337;;;:::o;773:181::-;831:7;;863:5;867:1;863;:5;:::i;:::-;851:17;;892:1;887;:6;;879:46;;;;-1:-1:-1;;;879:46:0;;11871:2:1;879:46:0;;;11853:21:1;11910:2;11890:18;;;11883:30;11949:29;11929:18;;;11922:57;11996:18;;879:46:0;11669:351:1;879:46:0;945:1;773:181;-1:-1:-1;;;773:181:0:o;13220:1720::-;-1:-1:-1;;;;;13342:18:0;;13334:68;;;;-1:-1:-1;;;13334:68:0;;12227:2:1;13334:68:0;;;12209:21:1;12266:2;12246:18;;;12239:30;12305:34;12285:18;;;12278:62;-1:-1:-1;;;12356:18:1;;;12349:35;12401:19;;13334:68:0;12025:401:1;13334:68:0;-1:-1:-1;;;;;13421:16:0;;13413:64;;;;-1:-1:-1;;;13413:64:0;;12633:2:1;13413:64:0;;;12615:21:1;12672:2;12652:18;;;12645:30;12711:34;12691:18;;;12684:62;-1:-1:-1;;;12762:18:1;;;12755:33;12805:19;;13413:64:0;12431:399:1;13413:64:0;13505:1;13496:6;:10;13488:64;;;;-1:-1:-1;;;13488:64:0;;13037:2:1;13488:64:0;;;13019:21:1;13076:2;13056:18;;;13049:30;13115:34;13095:18;;;13088:62;-1:-1:-1;;;13166:18:1;;;13159:39;13215:19;;13488:64:0;12835:405:1;13488:64:0;2936:7;2963:6;-1:-1:-1;;;;;13568:15:0;;;2963:6;;13568:15;;;;:32;;-1:-1:-1;2936:7:0;2963:6;-1:-1:-1;;;;;13587:13:0;;;2963:6;;13587:13;;13568:32;:65;;;;-1:-1:-1;;;;;;13605:28:0;;;;;;:24;:28;;;;;;;;13604:29;13568:65;13565:169;;;13686:8;;13657:25;13675:6;13657:13;13667:2;-1:-1:-1;;;;;8001:17:0;7974:7;8001:17;;;:8;:17;;;;;;;7908:118;13657:13;:17;;:25::i;:::-;:37;;13649:73;;;;-1:-1:-1;;;13649:73:0;;13447:2:1;13649:73:0;;;13429:21:1;13486:2;13466:18;;;13459:30;13525:25;13505:18;;;13498:53;13568:18;;13649:73:0;13245:347:1;13649:73:0;13749:10;;;;:19;;;;:37;;-1:-1:-1;;;;;;13773:13:0;;;;;;:7;:13;;;;;;;;13772:14;13749:37;:53;;;;-1:-1:-1;;;;;;13791:11:0;;;;;;:7;:11;;;;;;;;13790:12;13749:53;13746:135;;;13824:7;;;;;;;:16;13816:53;;;;-1:-1:-1;;;13816:53:0;;13799:2:1;13816:53:0;;;13781:21:1;13838:2;13818:18;;;13811:30;13877:26;13857:18;;;13850:54;13921:18;;13816:53:0;13597:348:1;13816:53:0;-1:-1:-1;;;;;13893:14:0;;;;;;:8;:14;;;;;:24;;13911:6;;13893:14;:24;;13911:6;;13893:24;:::i;:::-;;;;-1:-1:-1;;;;;;;14001:24:0;;13928:22;14001:24;;;:18;:24;;;;;;13953:6;;13928:22;14001:24;;14000:25;:52;;;;-1:-1:-1;;;;;;14030:22:0;;;;;;:18;:22;;;;;;;;14029:23;14000:52;13997:97;;;-1:-1:-1;14078:4:0;13997:97;14109:7;14106:734;;;14141:13;;-1:-1:-1;;;;;14135:19:0;;;14141:13;;14135:19;14132:697;;14191:23;14203:6;14211:2;14191:11;:23::i;:::-;14174:40;;14132:697;;;14272:26;14285:6;14293:4;14272:12;:26::i;:::-;14374:8;;14355:13;;-1:-1:-1;;;;;14355:13:0;14317:25;8001:17;;;:8;:17;;;;;;14255:43;;-1:-1:-1;14317:25:0;14345:48;;14388:4;;14345:38;;:28;:38::i;:::-;:42;;:48::i;:::-;14436:4;7974:7;8001:17;;;:8;:17;;;;;;14317:76;;-1:-1:-1;14317:76:0;-1:-1:-1;14418:45:0;:58;;;;-1:-1:-1;14468:8:0;;;;;;;14467:9;14418:58;14414:211;;;14501:8;:15;;-1:-1:-1;;14501:15:0;;;;;14539:27;14548:17;14539:8;:27::i;:::-;14589:8;:16;;-1:-1:-1;;14589:16:0;;;14414:211;14650:8;;;;;;;14645:169;;14683:8;:15;;-1:-1:-1;;14683:15:0;;;;;14721:34;14730:24;14748:4;-1:-1:-1;;;;;8001:17:0;7974:7;8001:17;;;:8;:17;;;;;;;7908:118;14730:24;14721:8;:34::i;:::-;14778:8;:16;;-1:-1:-1;;14778:16:0;;;14645:169;14236:593;14132:697;-1:-1:-1;;;;;14852:12:0;;;;;;:8;:12;;;;;:30;;14868:14;;14852:12;:30;;14868:14;;14852:30;:::i;:::-;;;;;;;;14913:2;-1:-1:-1;;;;;14898:34:0;14907:4;-1:-1:-1;;;;;14898:34:0;;14917:14;14898:34;;;;1361:25:1;;1349:2;1334:18;;1215:177;14898:34:0;;;;;;;;13323:1617;;13220:1720;;;:::o;11570:455::-;11638:7;11658:25;11714:3;11695:6;:16;;;11686:6;:25;;;;:::i;:::-;:31;;;;:::i;:::-;11658:59;;11728:26;11785:3;11766:6;:16;;;11757:6;:25;;;;:::i;:::-;:31;;;;:::i;:::-;11728:60;-1:-1:-1;11828:38:0;11728:60;11828:17;:38;:::i;:::-;11818:4;11801:23;;;;:8;:23;;;;;:65;;:23;;;:65;;;;;:::i;:::-;;;;-1:-1:-1;11906:4:0;;-1:-1:-1;;;;;;11882:70:0;;;11913:38;11934:17;11913:18;:38;:::i;:::-;11882:70;;1361:25:1;;;1349:2;1334:18;11882:70:0;;;;;;;11998:18;11971:25;11979:17;11971:6;:25;:::i;:::-;:45;;;;:::i;:::-;11963:54;11570:455;-1:-1:-1;;;;;11570:455:0:o;12033:459::-;12102:7;12122:25;12179:3;12159:7;:17;;;12150:6;:26;;;;:::i;:::-;:32;;;;:::i;:::-;12122:60;;12193:26;12251:3;12231:7;:17;;;12222:6;:26;;;;:::i;1306:250::-;1364:7;1388:1;1393;1388:6;1384:47;;-1:-1:-1;1418:1:0;1411:8;;1384:47;1443:9;1455:5;1459:1;1455;:5;:::i;:::-;1443:17;-1:-1:-1;1488:1:0;1479:5;1483:1;1443:17;1479:5;:::i;:::-;:10;1471:56;;;;-1:-1:-1;;;1471:56:0;;14547:2:1;1471:56:0;;;14529:21:1;14586:2;14566:18;;;14559:30;14625:34;14605:18;;;14598:62;-1:-1:-1;;;14676:18:1;;;14669:31;14717:19;;1471:56:0;14345:397:1;1564:132:0;1622:7;1649:39;1653:1;1656;1649:39;;;;;;;;;;;;;;;;;:3;:39::i;14948:1058::-;15188:7;:17;15168;;15149:6;:16;15130;;15027:6;;15001:23;;15188:17;;15168;;15130:35;;15149:16;15130:35;:::i;:::-;:55;;;;:::i;:::-;:75;;;;:::i;:::-;15108:7;:17;15089:6;:16;:36;;15108:17;15089:36;:::i;:::-;15070:56;;:15;:56;:::i;:::-;:136;;;;:::i;:::-;15361:7;:17;15341;;15322:6;:16;15303;;15044:162;;-1:-1:-1;15217:23:0;;15303:35;;15322:16;15303:35;:::i;:::-;:55;;;;:::i;:::-;:75;;;;:::i;:::-;15281:17;;15262:16;;:36;;15281:17;15262:36;:::i;:::-;15243:56;;:15;:56;:::i;:::-;:136;;;;:::i;:::-;15217:162;-1:-1:-1;15390:25:0;15418:33;15217:162;15418:15;:33;:::i;:::-;15390:61;-1:-1:-1;15464:26:0;15493:22;:15;15513:1;15493:19;:22::i;:::-;15464:51;-1:-1:-1;15526:26:0;15555:39;:15;15464:51;15555:19;:39::i;:::-;15526:68;-1:-1:-1;15633:21:0;15665:36;15526:68;15665:16;:36::i;:::-;15712:18;15733:44;:21;15759:17;15733:25;:44::i;:::-;15712:65;-1:-1:-1;15790:23:0;15816:54;15852:17;15816:31;15712:65;15831:15;15816:14;:31::i;:54::-;15790:80;;15881:49;15894:18;15914:15;15881:12;:49::i;:::-;15949:16;;15941:57;;-1:-1:-1;;;;;15949:16:0;;;;15976:21;15941:57;;;;;15949:16;15941:57;15949:16;15941:57;15976:21;15949:16;15941:57;;;;;;;;;;;;;;;;;;;;;14990:1016;;;;;;;;;14948:1058;:::o;1704:278::-;1790:7;1825:12;1818:5;1810:28;;;;-1:-1:-1;;;1810:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1849:9:0;1861:5;1865:1;1861;:5;:::i;962:136::-;1020:7;1047:43;1051:1;1054;1047:43;;;;;;;;;;;;;;;;;:3;:43::i;16014:475::-;16104:16;;;16118:1;16104:16;;;;;;;;16080:21;;16104:16;;;;;;;;;;-1:-1:-1;16104:16:0;16080:40;;16149:4;16131;16136:1;16131:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;16131:23:0;;;:7;;;;;;;;;;:23;;;;16175:15;;:22;;;-1:-1:-1;;;16175:22:0;;;;:15;;;;;:20;;:22;;;;;16131:7;;16175:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16165:4;16170:1;16165:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;16165:32:0;;;:7;;;;;;;;;:32;16242:15;;16210:62;;16227:4;;16242:15;16260:11;16210:8;:62::i;:::-;16285:15;;:196;;-1:-1:-1;;;16285:196:0;;-1:-1:-1;;;;;16285:15:0;;;;:66;;:196;;16366:11;;16285:15;;16408:4;;16435;;16455:15;;16285:196;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16069:420;16014:475;:::o;16497:374::-;16610:15;;16578:62;;16595:4;;-1:-1:-1;;;;;16610:15:0;16628:11;16578:8;:62::i;:::-;16653:15;;16805:17;;16653:210;;-1:-1:-1;;;16653:210:0;;16727:4;16653:210;;;16469:34:1;16519:18;;;16512:34;;;16653:15:0;16562:18:1;;;16555:34;;;16605:18;;;16598:34;-1:-1:-1;;;;;16805:17:0;;;16648:19:1;;;16641:44;16837:15:0;16701:19:1;;;16694:35;16653:15:0;;;:31;;16693:9;;16403:19:1;;16653:210:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;16497:374;;:::o;1106:192::-;1192:7;1228:12;1220:6;;;;1212:29;;;;-1:-1:-1;;;1212:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1252:9:0;1264:5;1268:1;1264;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1631:456::-;1708:6;1716;1724;1777:2;1765:9;1756:7;1752:23;1748:32;1745:52;;;1793:1;1790;1783:12;1745:52;1832:9;1819:23;1851:31;1876:5;1851:31;:::i;:::-;1901:5;-1:-1:-1;1958:2:1;1943:18;;1930:32;1971:33;1930:32;1971:33;:::i;:::-;1631:456;;2023:7;;-1:-1:-1;;;2077:2:1;2062:18;;;;2049:32;;1631:456::o;2758:247::-;2817:6;2870:2;2858:9;2849:7;2845:23;2841:32;2838:52;;;2886:1;2883;2876:12;2838:52;2925:9;2912:23;2944:31;2969:5;2944:31;:::i;3010:248::-;3078:6;3086;3139:2;3127:9;3118:7;3114:23;3110:32;3107:52;;;3155:1;3152;3145:12;3107:52;-1:-1:-1;;3178:23:1;;;3248:2;3233:18;;;3220:32;;-1:-1:-1;3010:248:1:o;3263:180::-;3322:6;3375:2;3363:9;3354:7;3350:23;3346:32;3343:52;;;3391:1;3388;3381:12;3343:52;-1:-1:-1;3414:23:1;;3263:180;-1:-1:-1;3263:180:1:o;3656:127::-;3717:10;3712:3;3708:20;3705:1;3698:31;3748:4;3745:1;3738:15;3772:4;3769:1;3762:15;3788:922;3857:6;3910:2;3898:9;3889:7;3885:23;3881:32;3878:52;;;3926:1;3923;3916:12;3878:52;3966:9;3953:23;3995:18;4036:2;4028:6;4025:14;4022:34;;;4052:1;4049;4042:12;4022:34;4090:6;4079:9;4075:22;4065:32;;4135:7;4128:4;4124:2;4120:13;4116:27;4106:55;;4157:1;4154;4147:12;4106:55;4193:2;4180:16;4215:2;4211;4208:10;4205:36;;;4221:18;;:::i;:::-;4296:2;4290:9;4264:2;4350:13;;-1:-1:-1;;4346:22:1;;;4370:2;4342:31;4338:40;4326:53;;;4394:18;;;4414:22;;;4391:46;4388:72;;;4440:18;;:::i;:::-;4480:10;4476:2;4469:22;4515:2;4507:6;4500:18;4555:7;4550:2;4545;4541;4537:11;4533:20;4530:33;4527:53;;;4576:1;4573;4566:12;4527:53;4632:2;4627;4623;4619:11;4614:2;4606:6;4602:15;4589:46;4677:1;4655:15;;;4672:2;4651:24;4644:35;;;;-1:-1:-1;4659:6:1;3788:922;-1:-1:-1;;;;;3788:922:1:o;4715:416::-;4780:6;4788;4841:2;4829:9;4820:7;4816:23;4812:32;4809:52;;;4857:1;4854;4847:12;4809:52;4896:9;4883:23;4915:31;4940:5;4915:31;:::i;:::-;4965:5;-1:-1:-1;5022:2:1;5007:18;;4994:32;5064:15;;5057:23;5045:36;;5035:64;;5095:1;5092;5085:12;5035:64;5118:7;5108:17;;;4715:416;;;;;:::o;5396:388::-;5464:6;5472;5525:2;5513:9;5504:7;5500:23;5496:32;5493:52;;;5541:1;5538;5531:12;5493:52;5580:9;5567:23;5599:31;5624:5;5599:31;:::i;:::-;5649:5;-1:-1:-1;5706:2:1;5691:18;;5678:32;5719:33;5678:32;5719:33;:::i;5789:380::-;5868:1;5864:12;;;;5911;;;5932:61;;5986:4;5978:6;5974:17;5964:27;;5932:61;6039:2;6031:6;6028:14;6008:18;6005:38;6002:161;;6085:10;6080:3;6076:20;6073:1;6066:31;6120:4;6117:1;6110:15;6148:4;6145:1;6138:15;6002:161;;5789:380;;;:::o;6174:356::-;6376:2;6358:21;;;6395:18;;;6388:30;6454:34;6449:2;6434:18;;6427:62;6521:2;6506:18;;6174:356::o;6535:127::-;6596:10;6591:3;6587:20;6584:1;6577:31;6627:4;6624:1;6617:15;6651:4;6648:1;6641:15;6667:128;6734:9;;;6755:11;;;6752:37;;;6769:18;;:::i;6800:125::-;6865:9;;;6886:10;;;6883:36;;;6899:18;;:::i;7408:545::-;7510:2;7505:3;7502:11;7499:448;;;7546:1;7571:5;7567:2;7560:17;7616:4;7612:2;7602:19;7686:2;7674:10;7670:19;7667:1;7663:27;7657:4;7653:38;7722:4;7710:10;7707:20;7704:47;;;-1:-1:-1;7745:4:1;7704:47;7800:2;7795:3;7791:12;7788:1;7784:20;7778:4;7774:31;7764:41;;7855:82;7873:2;7866:5;7863:13;7855:82;;;7918:17;;;7899:1;7888:13;7855:82;;7499:448;7408:545;;;:::o;8129:1352::-;8255:3;8249:10;8282:18;8274:6;8271:30;8268:56;;;8304:18;;:::i;:::-;8333:97;8423:6;8383:38;8415:4;8409:11;8383:38;:::i;:::-;8377:4;8333:97;:::i;:::-;8485:4;;8549:2;8538:14;;8566:1;8561:663;;;;9268:1;9285:6;9282:89;;;-1:-1:-1;9337:19:1;;;9331:26;9282:89;-1:-1:-1;;8086:1:1;8082:11;;;8078:24;8074:29;8064:40;8110:1;8106:11;;;8061:57;9384:81;;8531:944;;8561:663;7355:1;7348:14;;;7392:4;7379:18;;-1:-1:-1;;8597:20:1;;;8715:236;8729:7;8726:1;8723:14;8715:236;;;8818:19;;;8812:26;8797:42;;8910:27;;;;8878:1;8866:14;;;;8745:19;;8715:236;;;8719:3;8979:6;8970:7;8967:19;8964:201;;;9040:19;;;9034:26;-1:-1:-1;;9123:1:1;9119:14;;;9135:3;9115:24;9111:37;9107:42;9092:58;9077:74;;8964:201;-1:-1:-1;;;;;9211:1:1;9195:14;;;9191:22;9178:36;;-1:-1:-1;8129:1352:1:o;9486:963::-;9595:4;9624:2;9653;9642:9;9635:21;9676:1;9709:6;9703:13;9739:36;9765:9;9739:36;:::i;:::-;9811:6;9806:2;9795:9;9791:18;9784:34;9837:2;9858:1;9890:2;9879:9;9875:18;9907:1;9902:158;;;;10074:1;10069:354;;;;9868:555;;9902:158;-1:-1:-1;;9950:24:1;;9930:18;;;9923:52;10028:14;;10021:22;10018:1;10014:30;9999:46;;9995:55;;;-1:-1:-1;9902:158:1;;10069:354;10100:6;10097:1;10090:17;10148:2;10145:1;10135:16;10173:1;10187:180;10201:6;10198:1;10195:13;10187:180;;;10294:14;;10270:17;;;10266:26;;10259:50;10337:16;;;;10216:10;;10187:180;;;10391:17;;10387:26;;;-1:-1:-1;;9868:555:1;-1:-1:-1;10440:3:1;;9486:963;-1:-1:-1;;;;;;;;9486:963:1:o;13950:168::-;14023:9;;;14054;;14071:15;;;14065:22;;14051:37;14041:71;;14092:18;;:::i;14123:217::-;14163:1;14189;14179:132;;14233:10;14228:3;14224:20;14221:1;14214:31;14268:4;14265:1;14258:15;14296:4;14293:1;14286:15;14179:132;-1:-1:-1;14325:9:1;;14123:217::o;14747:127::-;14808:10;14803:3;14799:20;14796:1;14789:31;14839:4;14836:1;14829:15;14863:4;14860:1;14853:15;14879:251;14949:6;15002:2;14990:9;14981:7;14977:23;14973:32;14970:52;;;15018:1;15015;15008:12;14970:52;15050:9;15044:16;15069:31;15094:5;15069:31;:::i;15135:980::-;15397:4;15445:3;15434:9;15430:19;15476:6;15465:9;15458:25;15502:2;15540:6;15535:2;15524:9;15520:18;15513:34;15583:3;15578:2;15567:9;15563:18;15556:31;15607:6;15642;15636:13;15673:6;15665;15658:22;15711:3;15700:9;15696:19;15689:26;;15750:2;15742:6;15738:15;15724:29;;15771:1;15781:195;15795:6;15792:1;15789:13;15781:195;;;15860:13;;-1:-1:-1;;;;;15856:39:1;15844:52;;15951:15;;;;15916:12;;;;15892:1;15810:9;15781:195;;;-1:-1:-1;;;;;;;16032:32:1;;;;16027:2;16012:18;;16005:60;-1:-1:-1;;;16096:3:1;16081:19;16074:35;15993:3;15135:980;-1:-1:-1;;;15135:980:1:o;16740:306::-;16828:6;16836;16844;16897:2;16885:9;16876:7;16872:23;16868:32;16865:52;;;16913:1;16910;16903:12;16865:52;16942:9;16936:16;16926:26;;16992:2;16981:9;16977:18;16971:25;16961:35;;17036:2;17025:9;17021:18;17015:25;17005:35;;16740:306;;;;;:::o

Swarm Source

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