ETH Price: $3,347.12 (-0.97%)

Token

INUB (Inu Burn)
 

Overview

Max Total Supply

877,470.651465522833799553 Inu Burn

Holders

35

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
16,839.838197988168369583 Inu Burn

Value
$0.00
0x0E71239A18Bf5Fcf18adf59cD7A53c43009A187b
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:
InuBurn

Compiler Version
v0.8.14+commit.80d49f37

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-08-31
*/

/**
INUB - Inu Burn 

Burn to earn - The next generation token that generate passive wealth

🔥Buy Tax: 5% marketing/dev

🔥Anti-Dump Measures: 
Anti-Dump Sell Tax: 5% marketing/dev + 0-20% burn

https://inub.club	
https://t.me/inuburnportal	
https://twitter.com/InuBurnEth
*/

// SPDX-License-Identifier: UNLICENSED 

abstract contract Withdrawable {
    address internal _withdrawAddress;

    modifier onlyWithdrawer() {
        require(msg.sender == _withdrawAddress);
        _;
    }

    function withdraw() external onlyWithdrawer {
        _withdraw();
    }

    function _withdraw() internal {
        payable(_withdrawAddress).transfer(address(this).balance);
    }

    function setWithdrawAddress(address newWithdrawAddress)
        external
        onlyWithdrawer
    {
        _withdrawAddress = newWithdrawAddress;
    }
}


abstract contract Ownable {
    address _owner;

    modifier onlyOwner() {
        require(msg.sender == _owner);
        _;
    }

    constructor() {
        _owner = msg.sender;
    }

    function transferOwnership(address newOwner) external onlyOwner {
        _owner = newOwner;
    }
}


interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB)
        external
        returns (address pair);

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


pragma solidity ^0.8.7;

interface IUniswapV2Router02 {
    function swapExactTokensForETH(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

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

    function swapETHForExactTokens(
        uint256 amountOut,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external payable returns (uint256[] memory amounts);

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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


pragma solidity ^0.8.7;


contract DoubleSwapped {
    bool internal _inSwap;

    modifier lockTheSwap() {
        _inSwap = true;
        _;
        _inSwap = false;
    }

    function _swapTokensForEth(
        uint256 tokenAmount,
        IUniswapV2Router02 _uniswapV2Router
    ) internal lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _uniswapV2Router.WETH();

        _uniswapV2Router.swapExactTokensForETH(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this), // The contract
            block.timestamp
        );
    }
}


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

pragma solidity ^0.8.7;


contract ERC20 is IERC20 {
    uint256 internal _totalSupply = 1000000e18;
    string _name;
    string _symbol;
    uint8 constant _decimals = 18;
    mapping(address => uint256) internal _balances;
    mapping(address => mapping(address => uint256)) internal _allowances;
    uint256 internal constant INFINITY_ALLOWANCE = 2**256 - 1;


    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

    function name() external view returns (string memory) {
        return _name;
    }

    function symbol() external view returns (string memory) {
        return _symbol;
    }

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

    function totalSupply() external view override returns (uint256) {
        return _totalSupply;
    }

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

    function transfer(address recipient, uint256 amount)
        external
        override
        returns (bool)
    {
        _transfer(msg.sender, recipient, amount);
        return true;
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {
        _beforeTokenTransfer(from, to, amount);

        uint256 senderBalance = _balances[from];
        require(senderBalance >= amount);
        unchecked {
            _balances[from] = senderBalance - amount;
        }
        _balances[to] += amount;
        emit Transfer(from, to, amount);
        _afterTokenTransfer(from, to, amount);
    }

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

    function approve(address spender, uint256 amount)
        external
        override
        returns (bool)
    {
        _approve(msg.sender, spender, amount);
        return true;
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external override returns (bool) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][msg.sender];
        require(currentAllowance >= amount);
        if (currentAllowance == INFINITY_ALLOWANCE) return true;
        unchecked {
            _approve(sender, msg.sender, currentAllowance - amount);
        }

        return true;
    }

    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0));

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount);
        unchecked {
            _balances[account] = accountBalance - amount;
        }
        _totalSupply -= amount;

        emit Transfer(account, address(0), amount);
    }

    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}

    function _afterTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}


pragma solidity ^0.8.7;

abstract contract TradableErc20 is ERC20, DoubleSwapped, Ownable {
    IUniswapV2Router02 internal constant _uniswapV2Router =
        IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    address public uniswapV2Pair;
    bool public tradingEnable = false;
    mapping(address => bool) _isExcludedFromFee;
    mapping (address => bool) private _isBot;
    uint256 private _maxTxAmount = _totalSupply;

    address public constant BURN_ADDRESS =
        0x000000000000000000000000000000000000dEaD;

    constructor(string memory name_, string memory symbol_)
        ERC20(name_, symbol_)
    {
        _isExcludedFromFee[address(0)] = true;
    }

    receive() external payable {}

    function makeLiquidity() public onlyOwner {
        require(uniswapV2Pair == address(0));
        address pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(
            address(this),
            _uniswapV2Router.WETH()
        );
        uint256 initialLiquidity = getSupplyForMakeLiquidity();
        _balances[address(this)] = initialLiquidity;
        emit Transfer(address(0), address(this), initialLiquidity);
        _allowances[address(this)][
            address(_uniswapV2Router)
        ] = INFINITY_ALLOWANCE;
        _isExcludedFromFee[pair] = true;
        _uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            initialLiquidity,
            0,
            0,
            msg.sender,
            block.timestamp
        );

        uniswapV2Pair = pair;
        _maxTxAmount = 20000e18;
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal override {
        require(_balances[from] >= amount, "not enough token for transfer");
        require(!_isBot[from]);

        // buy
        if (from == uniswapV2Pair && !_isExcludedFromFee[to]) {
            require(tradingEnable, "trading disabled");
            require(amount<_maxTxAmount);
            amount = _getFeeBuy(from, amount);
        }

        // sell
        if (
            !_inSwap &&
            uniswapV2Pair != address(0) &&
            to == uniswapV2Pair &&
            !_isExcludedFromFee[from]
        ) {
            require(tradingEnable, "trading disabled");
            amount = _getFeeSell(amount, from);
            uint256 contractTokenBalance = balanceOf(address(this));
            if (contractTokenBalance > 0) {
                uint256 swapCount = contractTokenBalance;
                uint256 maxSwapCount = 2 * amount;
                if (swapCount > maxSwapCount) swapCount = maxSwapCount;
                _swapTokensForEth(swapCount, _uniswapV2Router);
            }
        }

        // transfer
        super._transfer(from, to, amount);
    }

    function _getFeeBuy(address from, uint256 amount)
        private
        returns (uint256)
    {
        uint256 dev = amount / 20; // 5%
        uint256 burn = amount / 20; // 5%
        amount -= dev + burn;
        _balances[from] -= dev + burn;
        _balances[address(this)] += dev;
        _balances[BURN_ADDRESS] += burn;
        _totalSupply -= burn;
        emit Transfer(from, address(this), dev);
        emit Transfer(from, BURN_ADDRESS, burn);
        return amount;
    }

    function getSellBurnCount(uint256 amount) public view returns (uint256) {
        // calculate fee percent
        uint256 poolSize = _balances[uniswapV2Pair];
        uint256 vMin = poolSize / 100; // min additive tax amount
        if (amount <= vMin) return amount / 20; // 5% constant tax
        uint256 vMax = poolSize / 20; // max additive tax amount 5%
        if (amount > vMax) return amount / 4; // 25% tax

        // 5% and additive tax, that in interval 0-20%
        return
            amount /
            20 +
            (((amount - vMin) * 20 * amount) / (vMax - vMin)) /
            100;
    }

    function _getFeeSell(uint256 amount, address account)
        private
        returns (uint256)
    {
        uint256 dev = amount / 20; // 5%
        uint256 burn = getSellBurnCount(amount); // burn count

        amount -= dev + burn;
        _balances[account] -= dev + burn;
        _balances[address(this)] += dev;
        _balances[BURN_ADDRESS] += burn;
        _totalSupply -= burn;
        emit Transfer(address(account), address(this), dev);
        emit Transfer(address(account), BURN_ADDRESS, burn);

        return amount;
    }

    function setExcludeFromFee(address[] memory accounts, bool value)
        external
        onlyOwner
    {
        for (uint256 i = 0; i < accounts.length; ++i) {
            _isExcludedFromFee[accounts[i]] = value;
        }
    }

    function setTradingEnable(bool value) external onlyOwner {
        tradingEnable = value;
    }

    function getSupplyForMakeLiquidity() internal virtual returns (uint256);

    function setBots(address[] memory bots_) public onlyOwner() {
        for (uint i = 0; i < bots_.length; i++) {
            if (bots_[i] != uniswapV2Pair && bots_[i] != address(_uniswapV2Router)) {
                _isBot[bots_[i]] = true;
            }
        }
    }
    
    function delBots(address[] memory bots_) public onlyOwner() {
        for (uint i = 0; i < bots_.length; i++) {
            _isBot[bots_[i]] = false;
        }
    }
    
    function isBot(address ad) public view returns (bool) {
        return _isBot[ad];
    }    

    function _setMaxTxAmount(uint256 maxTxAmount) external onlyOwner() {
        if (maxTxAmount > 1000e18) {
            _maxTxAmount = maxTxAmount;
        }
    }
}

pragma solidity ^0.8.7;

struct AirdropData {
    address account;
    uint32 count;
}

contract InuBurn is TradableErc20, Withdrawable {

    uint256 constant pairInitialLiquidity = 1000000e18;

    uint256 constant initialBurn = 0e18;

    constructor() TradableErc20("INUB", "Inu Burn") {
        _withdrawAddress = address(0xB0153eECfCe1d9c225d4BE573A86d9ad67b250A8);
        _totalSupply = 0;
    }

    function withdrawOwner() external onlyOwner {
        _withdraw();
    }

    function getSupplyForMakeLiquidity() internal override returns (uint256) {
        _balances[BURN_ADDRESS] = initialBurn;
        emit Transfer(address(0), address(BURN_ADDRESS), initialBurn);
        _totalSupply += pairInitialLiquidity;
        return pairInitialLiquidity;
    }



    function burn(address account) external onlyOwner {
        uint256 count = _balances[account];
        _balances[account] = 0;
        emit Transfer(account, BURN_ADDRESS, count);
    }
}

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":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":"BURN_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"_setMaxTxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"delBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"getSellBurnCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"ad","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"makeLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setExcludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"value","type":"bool"}],"name":"setTradingEnable","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newWithdrawAddress","type":"address"}],"name":"setWithdrawAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405269d3c21bcecceda100000060008190556006805460ff60a01b191690556009553480156200003157600080fd5b50604080518082018252600481526324a72aa160e11b60208083019182528351808501909452600884526724b73a90213ab93760c11b9084015281519192918391839162000082916001916200011a565b508051620000989060029060208401906200011a565b5050600580546101003302610100600160a81b03199091161790555050600080805260076020527f6d5257204ebe7d88fd91ae87941cb2dd9d8062b64ae5a2bd2d28ec40b9fbf6df805460ff19166001179055600a80546001600160a01b03191673b0153eecfce1d9c225d4be573a86d9ad67b250a8179055805550620001fc565b8280546200012890620001c0565b90600052602060002090601f0160209004810192826200014c576000855562000197565b82601f106200016757805160ff191683800117855562000197565b8280016001018555821562000197579182015b82811115620001975782518255916020019190600101906200017a565b50620001a5929150620001a9565b5090565b5b80821115620001a55760008155600101620001aa565b600181811c90821680620001d557607f821691505b602082108103620001f657634e487b7160e01b600052602260045260246000fd5b50919050565b611a56806200020c6000396000f3fe60806040526004361061016a5760003560e01c806349bd5a5e116100d1578063a9059cbb1161008a578063dd62ed3e11610064578063dd62ed3e14610455578063e8cc00ad1461049b578063f2fde38b146104b0578063fccc2813146104d057600080fd5b8063a9059cbb14610400578063b203919e14610420578063b515566a1461043557600080fd5b806349bd5a5e1461031d5780636c90b57f1461035557806370a08231146103755780637439c236146103ab57806389afcb44146103cb57806395d89b41146103eb57600080fd5b8063255d508e11610123578063255d508e14610253578063313ce5671461027357806331c2d8471461028f5780633ab1a494146102af5780633bbac579146102cf5780633ccfd60b1461030857600080fd5b806306fdde0314610176578063095ea7b3146101a15780631693e8d4146101d157806318160ddd146101f25780631bbae6e01461021157806323b872dd1461023357600080fd5b3661017157005b600080fd5b34801561018257600080fd5b5061018b6104e6565b6040516101989190611599565b60405180910390f35b3480156101ad57600080fd5b506101c16101bc366004611613565b610578565b6040519015158152602001610198565b3480156101dd57600080fd5b506006546101c190600160a01b900460ff1681565b3480156101fe57600080fd5b506000545b604051908152602001610198565b34801561021d57600080fd5b5061023161022c36600461163f565b61058e565b005b34801561023f57600080fd5b506101c161024e366004611658565b6105c4565b34801561025f57600080fd5b5061020361026e36600461163f565b61062f565b34801561027f57600080fd5b5060405160128152602001610198565b34801561029b57600080fd5b506102316102aa366004611751565b6106f2565b3480156102bb57600080fd5b506102316102ca366004611786565b61077a565b3480156102db57600080fd5b506101c16102ea366004611786565b6001600160a01b031660009081526008602052604090205460ff1690565b34801561031457600080fd5b506102316107b3565b34801561032957600080fd5b5060065461033d906001600160a01b031681565b6040516001600160a01b039091168152602001610198565b34801561036157600080fd5b506102316103703660046117b3565b6107d4565b34801561038157600080fd5b50610203610390366004611786565b6001600160a01b031660009081526003602052604090205490565b3480156103b757600080fd5b506102316103c6366004611801565b61085a565b3480156103d757600080fd5b506102316103e6366004611786565b610894565b3480156103f757600080fd5b5061018b6108fe565b34801561040c57600080fd5b506101c161041b366004611613565b61090d565b34801561042c57600080fd5b5061023161091a565b34801561044157600080fd5b50610231610450366004611751565b610c0f565b34801561046157600080fd5b5061020361047036600461181c565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156104a757600080fd5b50610231610d27565b3480156104bc57600080fd5b506102316104cb366004611786565b610d43565b3480156104dc57600080fd5b5061033d61dead81565b6060600180546104f590611855565b80601f016020809104026020016040519081016040528092919081815260200182805461052190611855565b801561056e5780601f106105435761010080835404028352916020019161056e565b820191906000526020600020905b81548152906001019060200180831161055157829003601f168201915b5050505050905090565b6000610585338484610d87565b50600192915050565b60055461010090046001600160a01b031633146105aa57600080fd5b683635c9adc5dea000008111156105c15760098190555b50565b60006105d1848484610de8565b6001600160a01b03841660009081526004602090815260408083203384529091529020548281101561060257600080fd5b6000198103610615576001915050610628565b6106228533858403610d87565b60019150505b9392505050565b6006546001600160a01b0316600090815260036020526040812054816106566064836118a5565b90508084116106725761066a6014856118a5565b949350505050565b600061067f6014846118a5565b90508085111561069d576106946004866118a5565b95945050505050565b60646106a983836118c7565b866106b485826118c7565b6106bf9060146118de565b6106c991906118de565b6106d391906118a5565b6106dd91906118a5565b6106e86014876118a5565b61069491906118fd565b60055461010090046001600160a01b0316331461070e57600080fd5b60005b81518110156107765760006008600084848151811061073257610732611915565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061076e8161192b565b915050610711565b5050565b600a546001600160a01b0316331461079157600080fd5b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b600a546001600160a01b031633146107ca57600080fd5b6107d2611036565b565b60055461010090046001600160a01b031633146107f057600080fd5b60005b825181101561085557816007600085848151811061081357610813611915565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905561084e8161192b565b90506107f3565b505050565b60055461010090046001600160a01b0316331461087657600080fd5b60068054911515600160a01b0260ff60a01b19909216919091179055565b60055461010090046001600160a01b031633146108b057600080fd5b6001600160a01b038116600081815260036020526040808220805492905551909161dead91600080516020611a01833981519152906108f29085815260200190565b60405180910390a35050565b6060600280546104f590611855565b6000610585338484610de8565b60055461010090046001600160a01b0316331461093657600080fd5b6006546001600160a01b03161561094c57600080fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c49190611944565b6001600160a01b031663c9c6539630737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a25573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a499190611944565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610a96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aba9190611944565b90506000610ac661106f565b30600081815260036020526040808220849055519293509091600080516020611a0183398151915290610afc9085815260200190565b60405180910390a3306000818152600460208181526040808420737a250d5630b4cf539739df2c5dacb4c659f2488d80865290835281852060001990556001600160a01b03881685526007909252808420805460ff191660011790555163f305d71960e01b815291820193909352602481018490526044810182905260648101919091523360848201524260a482015263f305d71990479060c40160606040518083038185885af1158015610bb5573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610bda9190611961565b5050600680546001600160a01b0319166001600160a01b039490941693909317909255505069043c33c1937564800000600955565b60055461010090046001600160a01b03163314610c2b57600080fd5b60005b81518110156107765760065482516001600160a01b0390911690839083908110610c5a57610c5a611915565b60200260200101516001600160a01b031614158015610cb85750737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b0316828281518110610ca457610ca4611915565b60200260200101516001600160a01b031614155b15610d1557600160086000848481518110610cd557610cd5611915565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055505b80610d1f8161192b565b915050610c2e565b60055461010090046001600160a01b031633146107ca57600080fd5b60055461010090046001600160a01b03163314610d5f57600080fd5b600580546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316600090815260036020526040902054811115610e555760405162461bcd60e51b815260206004820152601d60248201527f6e6f7420656e6f75676820746f6b656e20666f72207472616e7366657200000060448201526064015b60405180910390fd5b6001600160a01b03831660009081526008602052604090205460ff1615610e7b57600080fd5b6006546001600160a01b038481169116148015610eb157506001600160a01b03821660009081526007602052604090205460ff16155b15610f1d57600654600160a01b900460ff16610f025760405162461bcd60e51b815260206004820152601060248201526f1d1c98591a5b99c8191a5cd8589b195960821b6044820152606401610e4c565b6009548110610f1057600080fd5b610f1a83826110f6565b90505b60055460ff16158015610f3a57506006546001600160a01b031615155b8015610f5357506006546001600160a01b038381169116145b8015610f7857506001600160a01b03831660009081526007602052604090205460ff16155b1561102b57600654600160a01b900460ff16610fc95760405162461bcd60e51b815260206004820152601060248201526f1d1c98591a5b99c8191a5cd8589b195960821b6044820152606401610e4c565b610fd38184611248565b30600090815260036020526040902054909150801561102957806000610ffa8460026118de565b905080821115611008578091505b61102682737a250d5630b4cf539739df2c5dacb4c659f2488d611398565b50505b505b6108558383836114f4565b600a546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156105c1573d6000803e3d6000fd5b61dead6000818152600360209081527f262bb27bbdd95c1cdc8e16957e36e38579ea44f7f6413dd7a9c75939def06b2c8290556040518281529192918391600080516020611a01833981519152910160405180910390a369d3c21bcecceda10000006000808282546110e191906118fd565b9091555069d3c21bcecceda100000092915050565b6000806111046014846118a5565b905060006111136014856118a5565b905061111f81836118fd565b61112990856118c7565b935061113581836118fd565b6001600160a01b0386166000908152600360205260408120805490919061115d9084906118c7565b909155505030600090815260036020526040812080548492906111819084906118fd565b909155505061dead600090815260036020527f262bb27bbdd95c1cdc8e16957e36e38579ea44f7f6413dd7a9c75939def06b2c80548392906111c49084906118fd565b92505081905550806000808282546111dc91906118c7565b909155505060405182815230906001600160a01b03871690600080516020611a018339815191529060200160405180910390a360405181815261dead906001600160a01b03871690600080516020611a018339815191529060200160405180910390a350919392505050565b6000806112566014856118a5565b905060006112638561062f565b905061126f81836118fd565b61127990866118c7565b945061128581836118fd565b6001600160a01b038516600090815260036020526040812080549091906112ad9084906118c7565b909155505030600090815260036020526040812080548492906112d19084906118fd565b909155505061dead600090815260036020527f262bb27bbdd95c1cdc8e16957e36e38579ea44f7f6413dd7a9c75939def06b2c80548392906113149084906118fd565b925050819055508060008082825461132c91906118c7565b909155505060405182815230906001600160a01b03861690600080516020611a018339815191529060200160405180910390a360405181815261dead906001600160a01b03861690600080516020611a018339815191529060200160405180910390a350929392505050565b6005805460ff1916600117905560408051600280825260608201835260009260208301908036833701905050905030816000815181106113da576113da611915565b60200260200101906001600160a01b031690816001600160a01b031681525050816001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611438573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061145c9190611944565b8160018151811061146f5761146f611915565b6001600160a01b0392831660209182029290920101526040516318cbafe560e01b8152908316906318cbafe5906114b390869060009086903090429060040161198f565b600060405180830381600087803b1580156114cd57600080fd5b505af11580156114e1573d6000803e3d6000fd5b50506005805460ff191690555050505050565b6001600160a01b0383166000908152600360205260409020548181101561151a57600080fd5b6001600160a01b038085166000908152600360205260408082208585039055918516815290812080548492906115519084906118fd565b92505081905550826001600160a01b0316846001600160a01b0316600080516020611a018339815191528460405161158b91815260200190565b60405180910390a350505050565b600060208083528351808285015260005b818110156115c6578581018301518582016040015282016115aa565b818111156115d8576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146105c157600080fd5b803561160e816115ee565b919050565b6000806040838503121561162657600080fd5b8235611631816115ee565b946020939093013593505050565b60006020828403121561165157600080fd5b5035919050565b60008060006060848603121561166d57600080fd5b8335611678816115ee565b92506020840135611688816115ee565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126116c057600080fd5b8135602067ffffffffffffffff808311156116dd576116dd611699565b8260051b604051601f19603f8301168101818110848211171561170257611702611699565b60405293845285810183019383810192508785111561172057600080fd5b83870191505b848210156117465761173782611603565b83529183019190830190611726565b979650505050505050565b60006020828403121561176357600080fd5b813567ffffffffffffffff81111561177a57600080fd5b61066a848285016116af565b60006020828403121561179857600080fd5b8135610628816115ee565b8035801515811461160e57600080fd5b600080604083850312156117c657600080fd5b823567ffffffffffffffff8111156117dd57600080fd5b6117e9858286016116af565b9250506117f8602084016117a3565b90509250929050565b60006020828403121561181357600080fd5b610628826117a3565b6000806040838503121561182f57600080fd5b823561183a816115ee565b9150602083013561184a816115ee565b809150509250929050565b600181811c9082168061186957607f821691505b60208210810361188957634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6000826118c257634e487b7160e01b600052601260045260246000fd5b500490565b6000828210156118d9576118d961188f565b500390565b60008160001904831182151516156118f8576118f861188f565b500290565b600082198211156119105761191061188f565b500190565b634e487b7160e01b600052603260045260246000fd5b60006001820161193d5761193d61188f565b5060010190565b60006020828403121561195657600080fd5b8151610628816115ee565b60008060006060848603121561197657600080fd5b8351925060208401519150604084015190509250925092565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119df5784516001600160a01b0316835293830193918301916001016119ba565b50506001600160a01b0396909616606085015250505060800152939250505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220451ee58d2eda155040f6c7d3b5797203e2b93da73f6d8a0ec6c17831911cd82f64736f6c634300080e0033

Deployed Bytecode

0x60806040526004361061016a5760003560e01c806349bd5a5e116100d1578063a9059cbb1161008a578063dd62ed3e11610064578063dd62ed3e14610455578063e8cc00ad1461049b578063f2fde38b146104b0578063fccc2813146104d057600080fd5b8063a9059cbb14610400578063b203919e14610420578063b515566a1461043557600080fd5b806349bd5a5e1461031d5780636c90b57f1461035557806370a08231146103755780637439c236146103ab57806389afcb44146103cb57806395d89b41146103eb57600080fd5b8063255d508e11610123578063255d508e14610253578063313ce5671461027357806331c2d8471461028f5780633ab1a494146102af5780633bbac579146102cf5780633ccfd60b1461030857600080fd5b806306fdde0314610176578063095ea7b3146101a15780631693e8d4146101d157806318160ddd146101f25780631bbae6e01461021157806323b872dd1461023357600080fd5b3661017157005b600080fd5b34801561018257600080fd5b5061018b6104e6565b6040516101989190611599565b60405180910390f35b3480156101ad57600080fd5b506101c16101bc366004611613565b610578565b6040519015158152602001610198565b3480156101dd57600080fd5b506006546101c190600160a01b900460ff1681565b3480156101fe57600080fd5b506000545b604051908152602001610198565b34801561021d57600080fd5b5061023161022c36600461163f565b61058e565b005b34801561023f57600080fd5b506101c161024e366004611658565b6105c4565b34801561025f57600080fd5b5061020361026e36600461163f565b61062f565b34801561027f57600080fd5b5060405160128152602001610198565b34801561029b57600080fd5b506102316102aa366004611751565b6106f2565b3480156102bb57600080fd5b506102316102ca366004611786565b61077a565b3480156102db57600080fd5b506101c16102ea366004611786565b6001600160a01b031660009081526008602052604090205460ff1690565b34801561031457600080fd5b506102316107b3565b34801561032957600080fd5b5060065461033d906001600160a01b031681565b6040516001600160a01b039091168152602001610198565b34801561036157600080fd5b506102316103703660046117b3565b6107d4565b34801561038157600080fd5b50610203610390366004611786565b6001600160a01b031660009081526003602052604090205490565b3480156103b757600080fd5b506102316103c6366004611801565b61085a565b3480156103d757600080fd5b506102316103e6366004611786565b610894565b3480156103f757600080fd5b5061018b6108fe565b34801561040c57600080fd5b506101c161041b366004611613565b61090d565b34801561042c57600080fd5b5061023161091a565b34801561044157600080fd5b50610231610450366004611751565b610c0f565b34801561046157600080fd5b5061020361047036600461181c565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156104a757600080fd5b50610231610d27565b3480156104bc57600080fd5b506102316104cb366004611786565b610d43565b3480156104dc57600080fd5b5061033d61dead81565b6060600180546104f590611855565b80601f016020809104026020016040519081016040528092919081815260200182805461052190611855565b801561056e5780601f106105435761010080835404028352916020019161056e565b820191906000526020600020905b81548152906001019060200180831161055157829003601f168201915b5050505050905090565b6000610585338484610d87565b50600192915050565b60055461010090046001600160a01b031633146105aa57600080fd5b683635c9adc5dea000008111156105c15760098190555b50565b60006105d1848484610de8565b6001600160a01b03841660009081526004602090815260408083203384529091529020548281101561060257600080fd5b6000198103610615576001915050610628565b6106228533858403610d87565b60019150505b9392505050565b6006546001600160a01b0316600090815260036020526040812054816106566064836118a5565b90508084116106725761066a6014856118a5565b949350505050565b600061067f6014846118a5565b90508085111561069d576106946004866118a5565b95945050505050565b60646106a983836118c7565b866106b485826118c7565b6106bf9060146118de565b6106c991906118de565b6106d391906118a5565b6106dd91906118a5565b6106e86014876118a5565b61069491906118fd565b60055461010090046001600160a01b0316331461070e57600080fd5b60005b81518110156107765760006008600084848151811061073257610732611915565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061076e8161192b565b915050610711565b5050565b600a546001600160a01b0316331461079157600080fd5b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b600a546001600160a01b031633146107ca57600080fd5b6107d2611036565b565b60055461010090046001600160a01b031633146107f057600080fd5b60005b825181101561085557816007600085848151811061081357610813611915565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905561084e8161192b565b90506107f3565b505050565b60055461010090046001600160a01b0316331461087657600080fd5b60068054911515600160a01b0260ff60a01b19909216919091179055565b60055461010090046001600160a01b031633146108b057600080fd5b6001600160a01b038116600081815260036020526040808220805492905551909161dead91600080516020611a01833981519152906108f29085815260200190565b60405180910390a35050565b6060600280546104f590611855565b6000610585338484610de8565b60055461010090046001600160a01b0316331461093657600080fd5b6006546001600160a01b03161561094c57600080fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c49190611944565b6001600160a01b031663c9c6539630737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a25573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a499190611944565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610a96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aba9190611944565b90506000610ac661106f565b30600081815260036020526040808220849055519293509091600080516020611a0183398151915290610afc9085815260200190565b60405180910390a3306000818152600460208181526040808420737a250d5630b4cf539739df2c5dacb4c659f2488d80865290835281852060001990556001600160a01b03881685526007909252808420805460ff191660011790555163f305d71960e01b815291820193909352602481018490526044810182905260648101919091523360848201524260a482015263f305d71990479060c40160606040518083038185885af1158015610bb5573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610bda9190611961565b5050600680546001600160a01b0319166001600160a01b039490941693909317909255505069043c33c1937564800000600955565b60055461010090046001600160a01b03163314610c2b57600080fd5b60005b81518110156107765760065482516001600160a01b0390911690839083908110610c5a57610c5a611915565b60200260200101516001600160a01b031614158015610cb85750737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b0316828281518110610ca457610ca4611915565b60200260200101516001600160a01b031614155b15610d1557600160086000848481518110610cd557610cd5611915565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055505b80610d1f8161192b565b915050610c2e565b60055461010090046001600160a01b031633146107ca57600080fd5b60055461010090046001600160a01b03163314610d5f57600080fd5b600580546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316600090815260036020526040902054811115610e555760405162461bcd60e51b815260206004820152601d60248201527f6e6f7420656e6f75676820746f6b656e20666f72207472616e7366657200000060448201526064015b60405180910390fd5b6001600160a01b03831660009081526008602052604090205460ff1615610e7b57600080fd5b6006546001600160a01b038481169116148015610eb157506001600160a01b03821660009081526007602052604090205460ff16155b15610f1d57600654600160a01b900460ff16610f025760405162461bcd60e51b815260206004820152601060248201526f1d1c98591a5b99c8191a5cd8589b195960821b6044820152606401610e4c565b6009548110610f1057600080fd5b610f1a83826110f6565b90505b60055460ff16158015610f3a57506006546001600160a01b031615155b8015610f5357506006546001600160a01b038381169116145b8015610f7857506001600160a01b03831660009081526007602052604090205460ff16155b1561102b57600654600160a01b900460ff16610fc95760405162461bcd60e51b815260206004820152601060248201526f1d1c98591a5b99c8191a5cd8589b195960821b6044820152606401610e4c565b610fd38184611248565b30600090815260036020526040902054909150801561102957806000610ffa8460026118de565b905080821115611008578091505b61102682737a250d5630b4cf539739df2c5dacb4c659f2488d611398565b50505b505b6108558383836114f4565b600a546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156105c1573d6000803e3d6000fd5b61dead6000818152600360209081527f262bb27bbdd95c1cdc8e16957e36e38579ea44f7f6413dd7a9c75939def06b2c8290556040518281529192918391600080516020611a01833981519152910160405180910390a369d3c21bcecceda10000006000808282546110e191906118fd565b9091555069d3c21bcecceda100000092915050565b6000806111046014846118a5565b905060006111136014856118a5565b905061111f81836118fd565b61112990856118c7565b935061113581836118fd565b6001600160a01b0386166000908152600360205260408120805490919061115d9084906118c7565b909155505030600090815260036020526040812080548492906111819084906118fd565b909155505061dead600090815260036020527f262bb27bbdd95c1cdc8e16957e36e38579ea44f7f6413dd7a9c75939def06b2c80548392906111c49084906118fd565b92505081905550806000808282546111dc91906118c7565b909155505060405182815230906001600160a01b03871690600080516020611a018339815191529060200160405180910390a360405181815261dead906001600160a01b03871690600080516020611a018339815191529060200160405180910390a350919392505050565b6000806112566014856118a5565b905060006112638561062f565b905061126f81836118fd565b61127990866118c7565b945061128581836118fd565b6001600160a01b038516600090815260036020526040812080549091906112ad9084906118c7565b909155505030600090815260036020526040812080548492906112d19084906118fd565b909155505061dead600090815260036020527f262bb27bbdd95c1cdc8e16957e36e38579ea44f7f6413dd7a9c75939def06b2c80548392906113149084906118fd565b925050819055508060008082825461132c91906118c7565b909155505060405182815230906001600160a01b03861690600080516020611a018339815191529060200160405180910390a360405181815261dead906001600160a01b03861690600080516020611a018339815191529060200160405180910390a350929392505050565b6005805460ff1916600117905560408051600280825260608201835260009260208301908036833701905050905030816000815181106113da576113da611915565b60200260200101906001600160a01b031690816001600160a01b031681525050816001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611438573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061145c9190611944565b8160018151811061146f5761146f611915565b6001600160a01b0392831660209182029290920101526040516318cbafe560e01b8152908316906318cbafe5906114b390869060009086903090429060040161198f565b600060405180830381600087803b1580156114cd57600080fd5b505af11580156114e1573d6000803e3d6000fd5b50506005805460ff191690555050505050565b6001600160a01b0383166000908152600360205260409020548181101561151a57600080fd5b6001600160a01b038085166000908152600360205260408082208585039055918516815290812080548492906115519084906118fd565b92505081905550826001600160a01b0316846001600160a01b0316600080516020611a018339815191528460405161158b91815260200190565b60405180910390a350505050565b600060208083528351808285015260005b818110156115c6578581018301518582016040015282016115aa565b818111156115d8576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146105c157600080fd5b803561160e816115ee565b919050565b6000806040838503121561162657600080fd5b8235611631816115ee565b946020939093013593505050565b60006020828403121561165157600080fd5b5035919050565b60008060006060848603121561166d57600080fd5b8335611678816115ee565b92506020840135611688816115ee565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126116c057600080fd5b8135602067ffffffffffffffff808311156116dd576116dd611699565b8260051b604051601f19603f8301168101818110848211171561170257611702611699565b60405293845285810183019383810192508785111561172057600080fd5b83870191505b848210156117465761173782611603565b83529183019190830190611726565b979650505050505050565b60006020828403121561176357600080fd5b813567ffffffffffffffff81111561177a57600080fd5b61066a848285016116af565b60006020828403121561179857600080fd5b8135610628816115ee565b8035801515811461160e57600080fd5b600080604083850312156117c657600080fd5b823567ffffffffffffffff8111156117dd57600080fd5b6117e9858286016116af565b9250506117f8602084016117a3565b90509250929050565b60006020828403121561181357600080fd5b610628826117a3565b6000806040838503121561182f57600080fd5b823561183a816115ee565b9150602083013561184a816115ee565b809150509250929050565b600181811c9082168061186957607f821691505b60208210810361188957634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6000826118c257634e487b7160e01b600052601260045260246000fd5b500490565b6000828210156118d9576118d961188f565b500390565b60008160001904831182151516156118f8576118f861188f565b500290565b600082198211156119105761191061188f565b500190565b634e487b7160e01b600052603260045260246000fd5b60006001820161193d5761193d61188f565b5060010190565b60006020828403121561195657600080fd5b8151610628816115ee565b60008060006060848603121561197657600080fd5b8351925060208401519150604084015190509250925092565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119df5784516001600160a01b0316835293830193918301916001016119ba565b50506001600160a01b0396909616606085015250505060800152939250505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220451ee58d2eda155040f6c7d3b5797203e2b93da73f6d8a0ec6c17831911cd82f64736f6c634300080e0033

Deployed Bytecode Sourcemap

13525:905:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4651:85;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6055:193;;;;;;;;;;-1:-1:-1;6055:193:0;;;;;:::i;:::-;;:::i;:::-;;;1376:14:1;;1369:22;1351:41;;1339:2;1324:18;6055:193:0;1211:187:1;7931:33:0;;;;;;;;;;-1:-1:-1;7931:33:0;;;;-1:-1:-1;;;7931:33:0;;;;;;4934:102;;;;;;;;;;-1:-1:-1;4989:7:0;5016:12;4934:102;;;1549:25:1;;;1537:2;1522:18;4934:102:0;1403:177:1;13258:165:0;;;;;;;;;;-1:-1:-1;13258:165:0;;;;;:::i;:::-;;:::i;:::-;;6484:504;;;;;;;;;;-1:-1:-1;6484:504:0;;;;;:::i;:::-;;:::i;11057:627::-;;;;;;;;;;-1:-1:-1;11057:627:0;;;;;:::i;:::-;;:::i;4841:85::-;;;;;;;;;;-1:-1:-1;4841:85:0;;4322:2;2373:36:1;;2361:2;2346:18;4841:85:0;2231:184:1;12975:169:0;;;;;;;;;;-1:-1:-1;12975:169:0;;;;;:::i;:::-;;:::i;720:159::-;;;;;;;;;;-1:-1:-1;720:159:0;;;;;:::i;:::-;;:::i;13156:90::-;;;;;;;;;;-1:-1:-1;13156:90:0;;;;;:::i;:::-;-1:-1:-1;;;;;13228:10:0;13204:4;13228:10;;;:6;:10;;;;;;;;;13156:90;524:74;;;;;;;;;;;;;:::i;7896:28::-;;;;;;;;;;-1:-1:-1;7896:28:0;;;;-1:-1:-1;;;;;7896:28:0;;;;;;-1:-1:-1;;;;;4234:32:1;;;4216:51;;4204:2;4189:18;7896:28:0;4070:203:1;12258:238:0;;;;;;;;;;-1:-1:-1;12258:238:0;;;;;:::i;:::-;;:::i;5044:119::-;;;;;;;;;;-1:-1:-1;5044:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5137:18:0;5110:7;5137:18;;;:9;:18;;;;;;;5044:119;12504:97;;;;;;;;;;-1:-1:-1;12504:97:0;;;;;:::i;:::-;;:::i;14237:190::-;;;;;;;;;;-1:-1:-1;14237:190:0;;;;;:::i;:::-;;:::i;4744:89::-;;;;;;;;;;;;;:::i;5171:199::-;;;;;;;;;;-1:-1:-1;5171:199:0;;;;;:::i;:::-;;:::i;8412:892::-;;;;;;;;;;;;;:::i;12689:274::-;;;;;;;;;;-1:-1:-1;12689:274:0;;;;;:::i;:::-;;:::i;5861:186::-;;;;;;;;;;-1:-1:-1;5861:186:0;;;;;:::i;:::-;-1:-1:-1;;;;;6012:18:0;;;5980:7;6012:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5861:186;13857:74;;;;;;;;;;;;;:::i;1093:100::-;;;;;;;;;;-1:-1:-1;1093:100:0;;;;;:::i;:::-;;:::i;8120:90::-;;;;;;;;;;;;8168:42;8120:90;;4651:85;4690:13;4723:5;4716:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4651:85;:::o;6055:193::-;6159:4;6181:37;6190:10;6202:7;6211:6;6181:8;:37::i;:::-;-1:-1:-1;6236:4:0;6055:193;;;;:::o;13258:165::-;998:6;;;;;-1:-1:-1;;;;;998:6:0;984:10;:20;976:29;;;;;;13354:7:::1;13340:11;:21;13336:80;;;13378:12;:26:::0;;;13336:80:::1;13258:165:::0;:::o;6484:504::-;6618:4;6635:36;6645:6;6653:9;6664:6;6635:9;:36::i;:::-;-1:-1:-1;;;;;6711:19:0;;6684:24;6711:19;;;:11;:19;;;;;;;;6731:10;6711:31;;;;;;;;6761:26;;;;6753:35;;;;;;-1:-1:-1;;6803:16:0;:38;6799:55;;6850:4;6843:11;;;;;6799:55;6890;6899:6;6907:10;6938:6;6919:16;:25;6890:8;:55::i;:::-;6976:4;6969:11;;;6484:504;;;;;;:::o;11057:627::-;11203:13;;-1:-1:-1;;;;;11203:13:0;11120:7;11193:24;;;:9;:24;;;;;;11120:7;11243:14;11254:3;11193:24;11243:14;:::i;:::-;11228:29;;11309:4;11299:6;:14;11295:38;;11322:11;11331:2;11322:6;:11;:::i;:::-;11315:18;11057:627;-1:-1:-1;;;;11057:627:0:o;11295:38::-;11363:12;11378:13;11389:2;11378:8;:13;:::i;:::-;11363:28;;11445:4;11436:6;:13;11432:36;;;11458:10;11467:1;11458:6;:10;:::i;:::-;11451:17;11057:627;-1:-1:-1;;;;;11057:627:0:o;11432:36::-;11673:3;11644:11;11651:4;11644;:11;:::i;:::-;11633:6;11611:13;11620:4;11633:6;11611:13;:::i;:::-;11610:20;;11628:2;11610:20;:::i;:::-;:29;;;;:::i;:::-;11609:47;;;;:::i;:::-;11608:68;;;;:::i;:::-;11568:24;11590:2;11568:6;:24;:::i;:::-;:108;;;;:::i;12975:169::-;998:6;;;;;-1:-1:-1;;;;;998:6:0;984:10;:20;976:29;;;;;;13051:6:::1;13046:91;13067:5;:12;13063:1;:16;13046:91;;;13120:5;13101:6;:16;13108:5;13114:1;13108:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;13101:16:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;13101:16:0;:24;;-1:-1:-1;;13101:24:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13081:3;::::1;::::0;::::1;:::i;:::-;;;;13046:91;;;;12975:169:::0;:::o;720:159::-;479:16;;-1:-1:-1;;;;;479:16:0;465:10;:30;457:39;;;;;;834:16:::1;:37:::0;;-1:-1:-1;;;;;;834:37:0::1;-1:-1:-1::0;;;;;834:37:0;;;::::1;::::0;;;::::1;::::0;;720:159::o;524:74::-;479:16;;-1:-1:-1;;;;;479:16:0;465:10;:30;457:39;;;;;;579:11:::1;:9;:11::i;:::-;524:74::o:0;12258:238::-;998:6;;;;;-1:-1:-1;;;;;998:6:0;984:10;:20;976:29;;;;;;12382:9:::1;12377:112;12401:8;:15;12397:1;:19;12377:112;;;12472:5;12438:18;:31;12457:8;12466:1;12457:11;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;12438:31:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;12438:31:0;:39;;-1:-1:-1;;12438:39:0::1;::::0;::::1;;::::0;;;::::1;::::0;;12418:3:::1;::::0;::::1;:::i;:::-;;;12377:112;;;;12258:238:::0;;:::o;12504:97::-;998:6;;;;;-1:-1:-1;;;;;998:6:0;984:10;:20;976:29;;;;;;12572:13:::1;:21:::0;;;::::1;;-1:-1:-1::0;;;12572:21:0::1;-1:-1:-1::0;;;;12572:21:0;;::::1;::::0;;;::::1;::::0;;12504:97::o;14237:190::-;998:6;;;;;-1:-1:-1;;;;;998:6:0;984:10;:20;976:29;;;;;;-1:-1:-1;;;;;14314:18:0;::::1;14298:13;14314:18:::0;;;:9:::1;:18;::::0;;;;;;;14343:22;;;14381:38;14314:18;;8168:42:::1;::::0;-1:-1:-1;;;;;;;;;;;14381:38:0;::::1;::::0;14314:18;1549:25:1;;1537:2;1522:18;;1403:177;14381:38:0::1;;;;;;;;14287:140;14237:190:::0;:::o;4744:89::-;4785:13;4818:7;4811:14;;;;;:::i;5171:199::-;5278:4;5300:40;5310:10;5322:9;5333:6;5300:9;:40::i;8412:892::-;998:6;;;;;-1:-1:-1;;;;;998:6:0;984:10;:20;976:29;;;;;;8473:13:::1;::::0;-1:-1:-1;;;;;8473:13:0::1;:27:::0;8465:36:::1;;;::::0;::::1;;8512:12;7846:42;-1:-1:-1::0;;;;;8545:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8527:56:0::1;;8606:4;7846:42;-1:-1:-1::0;;;;;8626:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8527:133;::::0;-1:-1:-1;;;;;;8527:133:0::1;::::0;;;;;;-1:-1:-1;;;;;7375:15:1;;;8527:133:0::1;::::0;::::1;7357:34:1::0;7427:15;;7407:18;;;7400:43;7292:18;;8527:133:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8512:148;;8671:24;8698:27;:25;:27::i;:::-;8754:4;8736:24;::::0;;;:9:::1;:24;::::0;;;;;:43;;;8795:53;8671:54;;-1:-1:-1;8754:4:0;;-1:-1:-1;;;;;;;;;;;8795:53:0;::::1;::::0;8671:54;1549:25:1;;1537:2;1522:18;;1403:177;8795:53:0::1;;;;;;;;8879:4;8859:26;::::0;;;:11:::1;:26;::::0;;;;;;;7846:42:::1;8859:77:::0;;;;;;;;;-1:-1:-1;;8859:98:0;;-1:-1:-1;;;;;8968:24:0;::::1;::::0;;:18:::1;:24:::0;;;;;;:31;;-1:-1:-1;;8968:31:0::1;8995:4;8968:31;::::0;;9010:219;-1:-1:-1;;;9010:219:0;;;;::::1;7795:34:1::0;;;;7845:18;;;7838:34;;;7888:18;;;7881:34;;;7931:18;;;7924:34;;;;9178:10:0::1;7974:19:1::0;;;7967:44;9203:15:0::1;8027:19:1::0;;;8020:35;9010:32:0::1;::::0;9050:21:::1;::::0;7729:19:1;;9010:219:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;9242:13:0::1;:20:::0;;-1:-1:-1;;;;;;9242:20:0::1;-1:-1:-1::0;;;;;9242:20:0;;;::::1;::::0;;;::::1;::::0;;;-1:-1:-1;;9288:8:0::1;9273:12;:23:::0;8412:892::o;12689:274::-;998:6;;;;;-1:-1:-1;;;;;998:6:0;984:10;:20;976:29;;;;;;12765:6:::1;12760:196;12781:5;:12;12777:1;:16;12760:196;;;12831:13;::::0;12819:8;;-1:-1:-1;;;;;12831:13:0;;::::1;::::0;12819:5;;12825:1;;12819:8;::::1;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;12819:25:0::1;;;:66;;;;;7846:42;-1:-1:-1::0;;;;;12848:37:0::1;:5;12854:1;12848:8;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;12848:37:0::1;;;12819:66;12815:130;;;12925:4;12906:6;:16;12913:5;12919:1;12913:8;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;12906:16:0::1;-1:-1:-1::0;;;;;12906:16:0::1;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;12815:130;12795:3:::0;::::1;::::0;::::1;:::i;:::-;;;;12760:196;;13857:74:::0;998:6;;;;;-1:-1:-1;;;;;998:6:0;984:10;:20;976:29;;;;;1093:100;998:6;;;;;-1:-1:-1;;;;;998:6:0;984:10;:20;976:29;;;;;;1168:6:::1;:17:::0;;-1:-1:-1;;;;;1168:17:0;;::::1;;;-1:-1:-1::0;;;;;;1168:17:0;;::::1;::::0;;;::::1;::::0;;1093:100::o;6256:220::-;-1:-1:-1;;;;;6384:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6436:32;;1549:25:1;;;6436:32:0;;1522:18:1;6436:32:0;;;;;;;6256:220;;;:::o;9312:1227::-;-1:-1:-1;;;;;9444:15:0;;;;;;:9;:15;;;;;;:25;-1:-1:-1;9444:25:0;9436:67;;;;-1:-1:-1;;;9436:67:0;;8579:2:1;9436:67:0;;;8561:21:1;8618:2;8598:18;;;8591:30;8657:31;8637:18;;;8630:59;8706:18;;9436:67:0;;;;;;;;;-1:-1:-1;;;;;9523:12:0;;;;;;:6;:12;;;;;;;;9522:13;9514:22;;;;;;9577:13;;-1:-1:-1;;;;;9569:21:0;;;9577:13;;9569:21;:48;;;;-1:-1:-1;;;;;;9595:22:0;;;;;;:18;:22;;;;;;;;9594:23;9569:48;9565:214;;;9642:13;;-1:-1:-1;;;9642:13:0;;;;9634:42;;;;-1:-1:-1;;;9634:42:0;;8937:2:1;9634:42:0;;;8919:21:1;8976:2;8956:18;;;8949:30;-1:-1:-1;;;8995:18:1;;;8988:46;9051:18;;9634:42:0;8735:340:1;9634:42:0;9706:12;;9699:6;:19;9691:28;;;;;;9743:24;9754:4;9760:6;9743:10;:24::i;:::-;9734:33;;9565:214;9827:7;;;;9826:8;:52;;;;-1:-1:-1;9851:13:0;;-1:-1:-1;;;;;9851:13:0;:27;;9826:52;:88;;;;-1:-1:-1;9901:13:0;;-1:-1:-1;;;;;9895:19:0;;;9901:13;;9895:19;9826:88;:130;;;;-1:-1:-1;;;;;;9932:24:0;;;;;;:18;:24;;;;;;;;9931:25;9826:130;9808:657;;;9991:13;;-1:-1:-1;;;9991:13:0;;;;9983:42;;;;-1:-1:-1;;;9983:42:0;;8937:2:1;9983:42:0;;;8919:21:1;8976:2;8956:18;;;8949:30;-1:-1:-1;;;8995:18:1;;;8988:46;9051:18;;9983:42:0;8735:340:1;9983:42:0;10049:25;10061:6;10069:4;10049:11;:25::i;:::-;10138:4;10089:28;5137:18;;;:9;:18;;;;;;10040:34;;-1:-1:-1;10163:24:0;;10159:295;;10228:20;10208:17;10290:10;10294:6;10290:1;:10;:::i;:::-;10267:33;;10335:12;10323:9;:24;10319:54;;;10361:12;10349:24;;10319:54;10392:46;10410:9;7846:42;10392:17;:46::i;:::-;10189:265;;10159:295;9968:497;9808:657;10498:33;10514:4;10520:2;10524:6;10498:15;:33::i;606:106::-;655:16;;647:57;;-1:-1:-1;;;;;655:16:0;;;;682:21;647:57;;;;;655:16;647:57;655:16;647:57;682:21;655:16;647:57;;;;;;;;;;;;;;;;;;;13939:286;8168:42;14003:7;14023:23;;;:9;:23;;;;;:37;;;:23;14076:56;1549:25:1;;;14003:7:0;;8168:42;14003:7;;-1:-1:-1;;;;;;;;;;;14076:56:0;1522:18:1;14076:56:0;;;;;;;13622:10;14143:12;;:36;;;;;;;:::i;:::-;;;;-1:-1:-1;13622:10:0;;13939:286;-1:-1:-1;;13939:286:0:o;10547:502::-;10632:7;;10671:11;10680:2;10671:6;:11;:::i;:::-;10657:25;-1:-1:-1;10699:12:0;10714:11;10723:2;10714:6;:11;:::i;:::-;10699:26;-1:-1:-1;10752:10:0;10699:26;10752:3;:10;:::i;:::-;10742:20;;;;:::i;:::-;;-1:-1:-1;10792:10:0;10798:4;10792:3;:10;:::i;:::-;-1:-1:-1;;;;;10773:15:0;;;;;;:9;:15;;;;;:29;;:15;;;:29;;;;;:::i;:::-;;;;-1:-1:-1;;10831:4:0;10813:24;;;;:9;:24;;;;;:31;;10841:3;;10813:24;:31;;10841:3;;10813:31;:::i;:::-;;;;-1:-1:-1;;8168:42:0;10855:23;;;;:9;:23;;;:31;;10882:4;;10855:23;:31;;10882:4;;10855:31;:::i;:::-;;;;;;;;10913:4;10897:12;;:20;;;;;;;:::i;:::-;;;;-1:-1:-1;;10933:34:0;;1549:25:1;;;10956:4:0;;-1:-1:-1;;;;;10933:34:0;;;-1:-1:-1;;;;;;;;;;;10933:34:0;1537:2:1;1522:18;10933:34:0;;;;;;;10983;;1549:25:1;;;8168:42:0;;-1:-1:-1;;;;;10983:34:0;;;-1:-1:-1;;;;;;;;;;;10983:34:0;1537:2:1;1522:18;10983:34:0;;;;;;;-1:-1:-1;11035:6:0;;10547:502;-1:-1:-1;;;10547:502:0:o;11692:558::-;11781:7;;11820:11;11829:2;11820:6;:11;:::i;:::-;11806:25;;11848:12;11863:24;11880:6;11863:16;:24::i;:::-;11848:39;-1:-1:-1;11924:10:0;11848:39;11924:3;:10;:::i;:::-;11914:20;;;;:::i;:::-;;-1:-1:-1;11967:10:0;11973:4;11967:3;:10;:::i;:::-;-1:-1:-1;;;;;11945:18:0;;;;;;:9;:18;;;;;:32;;:18;;;:32;;;;;:::i;:::-;;;;-1:-1:-1;;12006:4:0;11988:24;;;;:9;:24;;;;;:31;;12016:3;;11988:24;:31;;12016:3;;11988:31;:::i;:::-;;;;-1:-1:-1;;8168:42:0;12030:23;;;;:9;:23;;;:31;;12057:4;;12030:23;:31;;12057:4;;12030:31;:::i;:::-;;;;;;;;12088:4;12072:12;;:20;;;;;;;:::i;:::-;;;;-1:-1:-1;;12108:46:0;;1549:25:1;;;12143:4:0;;-1:-1:-1;;;;;12108:46:0;;;-1:-1:-1;;;;;;;;;;;12108:46:0;1537:2:1;1522:18;12108:46:0;;;;;;;12170;;1549:25:1;;;8168:42:0;;-1:-1:-1;;;;;12170:46:0;;;-1:-1:-1;;;;;;;;;;;12170:46:0;1537:2:1;1522:18;12170:46:0;;;;;;;-1:-1:-1;12236:6:0;;11692:558;-1:-1:-1;;;11692:558:0:o;2841:493::-;2773:7;:14;;-1:-1:-1;;2773:14:0;2783:4;2773:14;;;3007:16:::1;::::0;;3021:1:::1;3007:16:::0;;;;;::::1;::::0;;-1:-1:-1;;3007:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;3007:16:0::1;2983:40;;3052:4;3034;3039:1;3034:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;3034:23:0::1;;;-1:-1:-1::0;;;;;3034:23:0::1;;;::::0;::::1;3078:16;-1:-1:-1::0;;;;;3078:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3068:4;3073:1;3068:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;3068:33:0;;::::1;:7;::::0;;::::1;::::0;;;;;:33;3114:212:::1;::::0;-1:-1:-1;;;3114:212:0;;:38;;::::1;::::0;::::1;::::0;:212:::1;::::0;3167:11;;3193:1:::1;::::0;3237:4;;3264::::1;::::0;3300:15:::1;::::0;3114:212:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;2810:7:0;:15;;-1:-1:-1;;2810:15:0;;;-1:-1:-1;;;;;2841:493:0:o;5378:475::-;-1:-1:-1;;;;;5576:15:0;;5552:21;5576:15;;;:9;:15;;;;;;5610:23;;;;5602:32;;;;;;-1:-1:-1;;;;;5670:15:0;;;;;;;:9;:15;;;;;;5688:22;;;5670:40;;5732:13;;;;;;;;:23;;5704:6;;5670:15;5732:23;;5704:6;;5732:23;:::i;:::-;;;;;;;;5786:2;-1:-1:-1;;;;;5771:26:0;5780:4;-1:-1:-1;;;;;5771:26:0;-1:-1:-1;;;;;;;;;;;5790:6:0;5771:26;;;;1549:25:1;;1537:2;1522:18;;1403:177;5771:26:0;;;;;;;;5490:363;5378:475;;;:::o;14:597:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:1;574:15;-1:-1:-1;;570:29:1;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:1:o;616:131::-;-1:-1:-1;;;;;691:31:1;;681:42;;671:70;;737:1;734;727:12;752:134;820:20;;849:31;820:20;849:31;:::i;:::-;752:134;;;:::o;891:315::-;959:6;967;1020:2;1008:9;999:7;995:23;991:32;988:52;;;1036:1;1033;1026:12;988:52;1075:9;1062:23;1094:31;1119:5;1094:31;:::i;:::-;1144:5;1196:2;1181:18;;;;1168:32;;-1:-1:-1;;;891:315:1:o;1585:180::-;1644:6;1697:2;1685:9;1676:7;1672:23;1668:32;1665:52;;;1713:1;1710;1703:12;1665:52;-1:-1:-1;1736:23:1;;1585:180;-1:-1:-1;1585:180:1:o;1770:456::-;1847:6;1855;1863;1916:2;1904:9;1895:7;1891:23;1887:32;1884:52;;;1932:1;1929;1922:12;1884:52;1971:9;1958:23;1990:31;2015:5;1990:31;:::i;:::-;2040:5;-1:-1:-1;2097:2:1;2082:18;;2069:32;2110:33;2069:32;2110:33;:::i;:::-;1770:456;;2162:7;;-1:-1:-1;;;2216:2:1;2201:18;;;;2188:32;;1770:456::o;2420:127::-;2481:10;2476:3;2472:20;2469:1;2462:31;2512:4;2509:1;2502:15;2536:4;2533:1;2526:15;2552:908;2606:5;2659:3;2652:4;2644:6;2640:17;2636:27;2626:55;;2677:1;2674;2667:12;2626:55;2713:6;2700:20;2739:4;2762:18;2799:2;2795;2792:10;2789:36;;;2805:18;;:::i;:::-;2851:2;2848:1;2844:10;2883:2;2877:9;2946:2;2942:7;2937:2;2933;2929:11;2925:25;2917:6;2913:38;3001:6;2989:10;2986:22;2981:2;2969:10;2966:18;2963:46;2960:72;;;3012:18;;:::i;:::-;3048:2;3041:22;3098:18;;;3174:15;;;3170:24;;;3132:15;;;;-1:-1:-1;3206:15:1;;;3203:35;;;3234:1;3231;3224:12;3203:35;3270:2;3262:6;3258:15;3247:26;;3282:148;3298:6;3293:3;3290:15;3282:148;;;3364:23;3383:3;3364:23;:::i;:::-;3352:36;;3408:12;;;;3315;;;;3282:148;;;3448:6;2552:908;-1:-1:-1;;;;;;;2552:908:1:o;3465:348::-;3549:6;3602:2;3590:9;3581:7;3577:23;3573:32;3570:52;;;3618:1;3615;3608:12;3570:52;3658:9;3645:23;3691:18;3683:6;3680:30;3677:50;;;3723:1;3720;3713:12;3677:50;3746:61;3799:7;3790:6;3779:9;3775:22;3746:61;:::i;3818:247::-;3877:6;3930:2;3918:9;3909:7;3905:23;3901:32;3898:52;;;3946:1;3943;3936:12;3898:52;3985:9;3972:23;4004:31;4029:5;4004:31;:::i;4278:160::-;4343:20;;4399:13;;4392:21;4382:32;;4372:60;;4428:1;4425;4418:12;4443:416;4533:6;4541;4594:2;4582:9;4573:7;4569:23;4565:32;4562:52;;;4610:1;4607;4600:12;4562:52;4650:9;4637:23;4683:18;4675:6;4672:30;4669:50;;;4715:1;4712;4705:12;4669:50;4738:61;4791:7;4782:6;4771:9;4767:22;4738:61;:::i;:::-;4728:71;;;4818:35;4849:2;4838:9;4834:18;4818:35;:::i;:::-;4808:45;;4443:416;;;;;:::o;4864:180::-;4920:6;4973:2;4961:9;4952:7;4948:23;4944:32;4941:52;;;4989:1;4986;4979:12;4941:52;5012:26;5028:9;5012:26;:::i;5049:388::-;5117:6;5125;5178:2;5166:9;5157:7;5153:23;5149:32;5146:52;;;5194:1;5191;5184:12;5146:52;5233:9;5220:23;5252:31;5277:5;5252:31;:::i;:::-;5302:5;-1:-1:-1;5359:2:1;5344:18;;5331:32;5372:33;5331:32;5372:33;:::i;:::-;5424:7;5414:17;;;5049:388;;;;;:::o;5442:380::-;5521:1;5517:12;;;;5564;;;5585:61;;5639:4;5631:6;5627:17;5617:27;;5585:61;5692:2;5684:6;5681:14;5661:18;5658:38;5655:161;;5738:10;5733:3;5729:20;5726:1;5719:31;5773:4;5770:1;5763:15;5801:4;5798:1;5791:15;5655:161;;5442:380;;;:::o;5827:127::-;5888:10;5883:3;5879:20;5876:1;5869:31;5919:4;5916:1;5909:15;5943:4;5940:1;5933:15;5959:217;5999:1;6025;6015:132;;6069:10;6064:3;6060:20;6057:1;6050:31;6104:4;6101:1;6094:15;6132:4;6129:1;6122:15;6015:132;-1:-1:-1;6161:9:1;;5959:217::o;6181:125::-;6221:4;6249:1;6246;6243:8;6240:34;;;6254:18;;:::i;:::-;-1:-1:-1;6291:9:1;;6181:125::o;6311:168::-;6351:7;6417:1;6413;6409:6;6405:14;6402:1;6399:21;6394:1;6387:9;6380:17;6376:45;6373:71;;;6424:18;;:::i;:::-;-1:-1:-1;6464:9:1;;6311:168::o;6484:128::-;6524:3;6555:1;6551:6;6548:1;6545:13;6542:39;;;6561:18;;:::i;:::-;-1:-1:-1;6597:9:1;;6484:128::o;6617:127::-;6678:10;6673:3;6669:20;6666:1;6659:31;6709:4;6706:1;6699:15;6733:4;6730:1;6723:15;6749:135;6788:3;6809:17;;;6806:43;;6829:18;;:::i;:::-;-1:-1:-1;6876:1:1;6865:13;;6749:135::o;6889:251::-;6959:6;7012:2;7000:9;6991:7;6987:23;6983:32;6980:52;;;7028:1;7025;7018:12;6980:52;7060:9;7054:16;7079:31;7104:5;7079:31;:::i;8066:306::-;8154:6;8162;8170;8223:2;8211:9;8202:7;8198:23;8194:32;8191:52;;;8239:1;8236;8229:12;8191:52;8268:9;8262:16;8252:26;;8318:2;8307:9;8303:18;8297:25;8287:35;;8362:2;8351:9;8347:18;8341:25;8331:35;;8066:306;;;;;:::o;9080:980::-;9342:4;9390:3;9379:9;9375:19;9421:6;9410:9;9403:25;9447:2;9485:6;9480:2;9469:9;9465:18;9458:34;9528:3;9523:2;9512:9;9508:18;9501:31;9552:6;9587;9581:13;9618:6;9610;9603:22;9656:3;9645:9;9641:19;9634:26;;9695:2;9687:6;9683:15;9669:29;;9716:1;9726:195;9740:6;9737:1;9734:13;9726:195;;;9805:13;;-1:-1:-1;;;;;9801:39:1;9789:52;;9896:15;;;;9861:12;;;;9837:1;9755:9;9726:195;;;-1:-1:-1;;;;;;;9977:32:1;;;;9972:2;9957:18;;9950:60;-1:-1:-1;;;10041:3:1;10026:19;10019:35;9938:3;9080:980;-1:-1:-1;;;9080:980:1:o

Swarm Source

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