ETH Price: $3,497.98 (+2.01%)
Gas: 2 Gwei

Token

Looted Network (LOOT)
 

Overview

Max Total Supply

100,000 LOOT

Holders

508

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0.000000001 LOOT

Value
$0.00
0xb1a06f1c78ea28bed28f42b3dde157c706c0fe43
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:
LOOT

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 1 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT
pragma solidity 0.8.19;
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);
}
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 transferOwnership(address newOwner) public virtual onlyOwner() {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _transferOwnership(newOwner);
    }
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
    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 LOOT is Context, IERC20, Ownable {
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    address public constant deadWallet = 0x000000000000000000000000000000000000dEaD;
    address payable private MarketingWallet;
    
    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal =  100000 * 10**_decimals; 
    string private constant _name = "Looted Network";
    string private constant _symbol = "LOOT";
    uint256 private _minSwapTokens = 100 * 10**_decimals; 
    uint256 private _maxSwapTokens = 1500 * 10**_decimals;
    uint256 public maxTxAmount = 2000 * 10**_decimals;   
    uint256 public maxWalletSize = 2000 * 10**_decimals; 
    uint256 private buyTaxes = 40;
    uint256 private sellTaxes = 40;
   
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool public tradeEnable = false;
    bool private _SwapBackEnable = false;
    bool private inSwap = false;
    
    // event
    event FeesRecieverUpdated(address indexed _newWallet);
    event ExcludeFromFeeUpdated(address indexed account);
    event includeFromFeeUpdated(address indexed account);
    event SwapBackSettingUpdated(bool indexed state);
    event ERC20TokensRecovered(uint256 indexed _amount);
    event TradingOpenUpdated();
    event ETHBalanceRecovered();
    
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor () {
    if (block.chainid == 56){
     uniswapV2Router = IUniswapV2Router02(0x10ED43C718714eb63d5aA57B78B54704E256024E); // PCS BSC Mainnet Router
     }
    else if(block.chainid == 1 || block.chainid == 5){
          uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); // Uniswap ETH Mainnet Router
      }
    else if(block.chainid == 42161){
           uniswapV2Router = IUniswapV2Router02(0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506); // Sushi Arbitrum Mainnet Router
      }
    else  if (block.chainid == 97){
     uniswapV2Router = IUniswapV2Router02(0xD99D1c33F9fC3444f8101754aBC46c52416550D1); // PCS BSC Testnet Router
     }
    else {
         revert("Wrong Chain Id");
        }
    uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
         MarketingWallet = payable(0x73E7f81Bf54Fd9b8dC2B27d70fAe714142942E04);
        _isExcludedFromFee[_msgSender()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[MarketingWallet] = true;
        _isExcludedFromFee[deadWallet] = 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 min(uint256 a, uint256 b) private pure returns (uint256) {
        return (a > b) ? b : a;
    }
   
    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) {
        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), currentAllowance - amount);
        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 feesum=0;

        if (!_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
            require(tradeEnable, "Trading not enabled");       
               feesum = amount * (buyTaxes) / (100);
        }
        
         if (_isExcludedFromFee[from] || _isExcludedFromFee[to]) {
            feesum = 0;
        } 
         
          if (from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to]) {
             require(amount <= maxTxAmount, "Exceeds the _maxTxAmount.");
             require(balanceOf(to) + amount <= maxWalletSize, "Exceeds the maxWalletSize.");
          } 
        
          if (from != uniswapV2Pair && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
             require(amount <= maxTxAmount, "Exceeds the _maxTxAmount.");
          }
        
          if (to == uniswapV2Pair && from != address(this) && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
                   feesum = amount * (sellTaxes) / (100);
                
                } 
       
             uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && from != uniswapV2Pair && _SwapBackEnable && contractTokenBalance > _minSwapTokens) {
                swapTokensForEth(min(amount, min(contractTokenBalance, _maxSwapTokens)));
               uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        _balances[from] = _balances[from] - amount; 
        _balances[to] = _balances[to] + (amount - (feesum));
        emit Transfer(from, to, amount - (feesum));
         if(feesum > 0){
          _balances[address(this)] = _balances[address(this)] + (feesum);
          emit Transfer(from, address(this),feesum);
        }
    }
    
    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        require(tokenAmount > 0, "amount must be greeter than 0");
        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 sendETHToFee(uint256 amount) private {
       require(amount > 0, "amount must be greeter than 0");
        MarketingWallet.transfer(amount);
    }
   
   function removeAllLimit() external onlyOwner {
    maxTxAmount = _tTotal;
    maxWalletSize = _tTotal;
    }
  
   function changeFee(uint256 _buyFee, uint256 _sellFee) external onlyOwner {
        require(_buyFee <= 40 && _sellFee <= 40, "revert wrong fee settings");
        buyTaxes = _buyFee;
        sellTaxes = _sellFee;
    }
   
   function updateSwapBackSetting(bool state) external onlyOwner {
    _SwapBackEnable = state;
    emit SwapBackSettingUpdated(state);
    }
    
    function Whitelist(address account) external onlyOwner {
      require(_isExcludedFromFee[account] != true,"Account is already excluded");
       _isExcludedFromFee[account] = true;
    emit ExcludeFromFeeUpdated(account);
   }
   
    function removeWhitelist(address account) external onlyOwner {
         require(_isExcludedFromFee[account] != false, "Account is already included");
        _isExcludedFromFee[account] = false;
     emit includeFromFeeUpdated(account);
    }
   
    function enabledTrading() external onlyOwner() {
        require(!tradeEnable,"trading is already open");
        _SwapBackEnable = true;
         tradeEnable = true;
       emit TradingOpenUpdated();
    }
    
    receive() external payable {}
   
    function rescueERC20FromContract(address _tokenAddy, uint256 _amount) external {
        require(_tokenAddy != address(this), "Owner can't claim contract's balance of its own tokens");
        require(_amount > 0, "Amount should be greater than zero");
        require(_amount <= IERC20(_tokenAddy).balanceOf(address(this)), "Insufficient Amount");
        IERC20(_tokenAddy).transfer(MarketingWallet, _amount);
      emit ERC20TokensRecovered(_amount); 
    }
   
    function rescueETHfromContract() external {
        uint256 contractETHBalance = address(this).balance;
        require(contractETHBalance > 0, "Amount should be greater than zero");
        require(contractETHBalance <= address(this).balance, "Insufficient Amount");
        payable(address(MarketingWallet)).transfer(contractETHBalance);
      emit ETHBalanceRecovered();
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"ERC20TokensRecovered","type":"event"},{"anonymous":false,"inputs":[],"name":"ETHBalanceRecovered","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"ExcludeFromFeeUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_newWallet","type":"address"}],"name":"FeesRecieverUpdated","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":"bool","name":"state","type":"bool"}],"name":"SwapBackSettingUpdated","type":"event"},{"anonymous":false,"inputs":[],"name":"TradingOpenUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"includeFromFeeUpdated","type":"event"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"Whitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyFee","type":"uint256"},{"internalType":"uint256","name":"_sellFee","type":"uint256"}],"name":"changeFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"deadWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enabledTrading","outputs":[],"stateMutability":"nonpayable","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":"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":"removeAllLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"removeWhitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenAddy","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"rescueERC20FromContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescueETHfromContract","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":[],"name":"tradeEnable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"state","type":"bool"}],"name":"updateSwapBackSetting","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126009600a620005eb565b6200001f90606462000603565b600555620000306009600a620005eb565b6200003e906105dc62000603565b6006556200004f6009600a620005eb565b6200005d906107d062000603565b6007556200006e6009600a620005eb565b6200007c906107d062000603565b60085560286009819055600a55600c805462ffffff60a01b19169055348015620000a557600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350466038036200011c57600b80546001600160a01b0319167310ed43c718714eb63d5aa57b78b54704e256024e17905562000206565b46600114806200012c5750466005145b156200015e57600b80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d17905562000206565b4661a4b1036200019457600b80546001600160a01b031916731b02da8cb0d097eb8d57a175b88c7d8b4799750617905562000206565b46606103620001c957600b80546001600160a01b03191673d99d1c33f9fc3444f8101754abc46c52416550d117905562000206565b60405162461bcd60e51b815260206004820152600e60248201526d15dc9bdb99c810da185a5b88125960921b604482015260640160405180910390fd5b600b60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200025a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200028091906200061d565b6001600160a01b031663c9c6539630600b60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200030991906200061d565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000357573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200037d91906200061d565b600c80546001600160a01b03929092166001600160a01b0319928316179055600480549091167373e7f81bf54fd9b8dc2b27d70fae714142942e04179055600160036000620003c93390565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260039093528183208054851660019081179091556004549091168352908220805484168217905561dead9091527f262bb27bbdd95c1cdc8e16957e36e38579ea44f7f6413dd7a9c75939def06b2c80549092161790556200045e6009600a620005eb565b6200046d90620186a062000603565b33600081815260016020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620004b06009600a620005eb565b620004bf90620186a062000603565b60405190815260200160405180910390a362000648565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200052d578160001904821115620005115762000511620004d6565b808516156200051f57918102915b93841c9390800290620004f1565b509250929050565b6000826200054657506001620005e5565b816200055557506000620005e5565b81600181146200056e5760028114620005795762000599565b6001915050620005e5565b60ff8411156200058d576200058d620004d6565b50506001821b620005e5565b5060208310610133831016604e8410600b8410161715620005be575081810a620005e5565b620005ca8383620004ec565b8060001904821115620005e157620005e1620004d6565b0290505b92915050565b6000620005fc60ff84168362000535565b9392505050565b8082028115828204841417620005e557620005e5620004d6565b6000602082840312156200063057600080fd5b81516001600160a01b0381168114620005fc57600080fd5b611b3d80620006586000396000f3fe60806040526004361061011f5760003560e01c806306fdde031461012b578063095ea7b31461017457806318160ddd146101a45780631b7e8145146101c757806323b872dd146101de578063313ce567146101fe57806370a082311461021a578063715018a61461023a57806378c8cda71461024f57806385141a771461026f5780638c0b5e22146102925780638da5cb5b146102a85780638f3fa860146102c657806395d89b41146102dc578063a333b4ab14610309578063a62ccc2c14610329578063a9059cbb1461033e578063bb9e95af1461035e578063d5e1cbff1461037e578063dd62ed3e14610393578063e3ca2d65146103d9578063eb73900b146103f9578063f2fde38b14610419578063f87dc2c61461043957600080fd5b3661012657005b600080fd5b34801561013757600080fd5b5060408051808201909152600e81526d4c6f6f746564204e6574776f726b60901b60208201525b60405161016b91906115f0565b60405180910390f35b34801561018057600080fd5b5061019461018f366004611653565b61045a565b604051901515815260200161016b565b3480156101b057600080fd5b506101b9610471565b60405190815260200161016b565b3480156101d357600080fd5b506101dc610491565b005b3480156101ea57600080fd5b506101946101f936600461167f565b61053f565b34801561020a57600080fd5b506040516009815260200161016b565b34801561022657600080fd5b506101b96102353660046116c0565b6105ee565b34801561024657600080fd5b506101dc610609565b34801561025b57600080fd5b506101dc61026a3660046116c0565b61066b565b34801561027b57600080fd5b5061028561dead81565b60405161016b91906116dd565b34801561029e57600080fd5b506101b960075481565b3480156102b457600080fd5b506000546001600160a01b0316610285565b3480156102d257600080fd5b506101b960085481565b3480156102e857600080fd5b506040805180820190915260048152631313d3d560e21b602082015261015e565b34801561031557600080fd5b506101dc6103243660046116ff565b610748565b34801561033557600080fd5b506101dc6107bb565b34801561034a57600080fd5b50610194610359366004611653565b610879565b34801561036a57600080fd5b506101dc610379366004611653565b610886565b34801561038a57600080fd5b506101dc610a52565b34801561039f57600080fd5b506101b96103ae36600461171c565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156103e557600080fd5b506101dc6103f4366004611755565b610ab6565b34801561040557600080fd5b506101dc6104143660046116c0565b610b45565b34801561042557600080fd5b506101dc6104343660046116c0565b610c26565b34801561044557600080fd5b50600c5461019490600160a01b900460ff1681565b6000610467338484610cc1565b5060015b92915050565b600061047f6009600a611871565b61048c90620186a0611880565b905090565b47806104b85760405162461bcd60e51b81526004016104af90611897565b60405180910390fd5b478111156104d85760405162461bcd60e51b81526004016104af906118d9565b6004546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610512573d6000803e3d6000fd5b506040517fc680f238873c988c7dc872ec40caca9d70edfe000c3d44a1b9410684db93767590600090a150565b6001600160a01b0383166000908152600260209081526040808320338452909152812054828110156105c45760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084016104af565b6105cf858585610de5565b6105e385336105de8685611906565b610cc1565b506001949350505050565b6001600160a01b031660009081526001602052604090205490565b6000546001600160a01b031633146106335760405162461bcd60e51b81526004016104af90611919565b600080546040516001600160a01b0390911690600080516020611ac8833981519152908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106955760405162461bcd60e51b81526004016104af90611919565b6001600160a01b03811660009081526003602052604081205460ff16151590036106ff5760405162461bcd60e51b815260206004820152601b60248201527a1058d8dbdd5b9d081a5cc8185b1c9958591e481a5b98db1d591959602a1b60448201526064016104af565b6001600160a01b038116600081815260036020526040808220805460ff19169055517fdff643e1b752e1138794c958b6f565e4f003ba18d45383a40b582de82ced091e9190a250565b6000546001600160a01b031633146107725760405162461bcd60e51b81526004016104af90611919565b600c805460ff60a81b1916600160a81b831515908102919091179091556040517f3a9ce3b0c56e8f872f7647ac57385353c6cc3474ddf4b76a77ffbb8ad1fb0ccb90600090a250565b6000546001600160a01b031633146107e55760405162461bcd60e51b81526004016104af90611919565b600c54600160a01b900460ff16156108395760405162461bcd60e51b81526020600482015260176024820152763a3930b234b7339034b99030b63932b0b23c9037b832b760491b60448201526064016104af565b600c805461ffff60a01b191661010160a01b1790556040517f0d151bf744092c3011c9f50766da412cca73acdbcaa74b879a5858adc258f93590600090a1565b6000610467338484610de5565b306001600160a01b038316036108fd5760405162461bcd60e51b815260206004820152603660248201527f4f776e65722063616e277420636c61696d20636f6e747261637427732062616c604482015275616e6365206f6620697473206f776e20746f6b656e7360501b60648201526084016104af565b6000811161091d5760405162461bcd60e51b81526004016104af90611897565b6040516370a0823160e01b81526001600160a01b038316906370a08231906109499030906004016116dd565b602060405180830381865afa158015610966573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098a919061194e565b8111156109a95760405162461bcd60e51b81526004016104af906118d9565b6004805460405163a9059cbb60e01b81526001600160a01b03918216928101929092526024820183905283169063a9059cbb906044016020604051808303816000875af11580156109fe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a229190611967565b5060405181907fc3cafad8c1a78aa542c18679d54d2e14cf1f08b516ac12071dcf9fd2d3701c2290600090a25050565b6000546001600160a01b03163314610a7c5760405162461bcd60e51b81526004016104af90611919565b610a886009600a611871565b610a9590620186a0611880565b600755610aa46009600a611871565b610ab190620186a0611880565b600855565b6000546001600160a01b03163314610ae05760405162461bcd60e51b81526004016104af90611919565b60288211158015610af2575060288111155b610b3a5760405162461bcd60e51b81526020600482015260196024820152787265766572742077726f6e67206665652073657474696e677360381b60448201526064016104af565b600991909155600a55565b6000546001600160a01b03163314610b6f5760405162461bcd60e51b81526004016104af90611919565b6001600160a01b03811660009081526003602052604090205460ff161515600103610bda5760405162461bcd60e51b815260206004820152601b60248201527a1058d8dbdd5b9d081a5cc8185b1c9958591e48195e18db1d591959602a1b60448201526064016104af565b6001600160a01b038116600081815260036020526040808220805460ff19166001179055517f7168e8adb718597b3ac83e2dfe415bea8ebaabb57fe933ffac2e0ed93b80718e9190a250565b6000546001600160a01b03163314610c505760405162461bcd60e51b81526004016104af90611919565b6001600160a01b038116610cb55760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104af565b610cbe816113a5565b50565b6001600160a01b038316610d235760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104af565b6001600160a01b038216610d845760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104af565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610e495760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104af565b6001600160a01b038216610eab5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104af565b60008111610f0d5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104af565b6001600160a01b03831660009081526003602052604081205460ff16158015610f4f57506001600160a01b03831660009081526003602052604090205460ff16155b15610fc057600c54600160a01b900460ff16610fa35760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81b9bdd08195b98589b1959606a1b60448201526064016104af565b606460095483610fb39190611880565b610fbd9190611984565b90505b6001600160a01b03841660009081526003602052604090205460ff1680610fff57506001600160a01b03831660009081526003602052604090205460ff165b15611008575060005b600c546001600160a01b0385811691161480156110335750600b546001600160a01b03848116911614155b801561105857506001600160a01b03831660009081526003602052604090205460ff16155b156110e15760075482111561107f5760405162461bcd60e51b81526004016104af906119a6565b6008548261108c856105ee565b61109691906119d9565b11156110e15760405162461bcd60e51b815260206004820152601a60248201527922bc31b2b2b239903a34329036b0bc2bb0b63632ba29b4bd329760311b60448201526064016104af565b600c546001600160a01b0385811691161480159061111857506001600160a01b03841660009081526003602052604090205460ff16155b801561113d57506001600160a01b03831660009081526003602052604090205460ff16155b15611164576007548211156111645760405162461bcd60e51b81526004016104af906119a6565b600c546001600160a01b03848116911614801561118a57506001600160a01b0384163014155b80156111af57506001600160a01b03841660009081526003602052604090205460ff16155b80156111d457506001600160a01b03831660009081526003602052604090205460ff16155b156111f6576064600a54836111e99190611880565b6111f39190611984565b90505b6000611201306105ee565b600c54909150600160b01b900460ff1615801561122c5750600c546001600160a01b03868116911614155b80156112415750600c54600160a81b900460ff165b801561124e575060055481115b156112825761127061126b84611266846006546113e3565b6113e3565b6113fb565b4780156112805761128047611592565b505b6001600160a01b0385166000908152600160205260409020546112a6908490611906565b6001600160a01b0386166000908152600160205260409020556112c98284611906565b6001600160a01b0385166000908152600160205260409020546112ec91906119d9565b6001600160a01b038086166000818152600160205260409020929092558616600080516020611ae88339815191526113248587611906565b60405190815260200160405180910390a3811561139e57306000908152600160205260409020546113569083906119d9565b30600081815260016020526040908190209290925590516001600160a01b03871690600080516020611ae8833981519152906113959086815260200190565b60405180910390a35b5050505050565b600080546001600160a01b038381166001600160a01b031983168117845560405191909216928391600080516020611ac88339815191529190a35050565b60008183116113f257826113f4565b815b9392505050565b600c805460ff60b01b1916600160b01b1790558061142b5760405162461bcd60e51b81526004016104af906119ec565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061146057611460611a23565b6001600160a01b03928316602091820292909201810191909152600b54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156114b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114dd9190611a39565b816001815181106114f0576114f0611a23565b6001600160a01b039283166020918202929092010152600b546115169130911684610cc1565b600b5460405163791ac94760e01b81526001600160a01b039091169063791ac9479061154f908590600090869030904290600401611a56565b600060405180830381600087803b15801561156957600080fd5b505af115801561157d573d6000803e3d6000fd5b5050600c805460ff60b01b1916905550505050565b600081116115b25760405162461bcd60e51b81526004016104af906119ec565b6004546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156115ec573d6000803e3d6000fd5b5050565b600060208083528351808285015260005b8181101561161d57858101830151858201604001528201611601565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610cbe57600080fd5b6000806040838503121561166657600080fd5b82356116718161163e565b946020939093013593505050565b60008060006060848603121561169457600080fd5b833561169f8161163e565b925060208401356116af8161163e565b929592945050506040919091013590565b6000602082840312156116d257600080fd5b81356113f48161163e565b6001600160a01b0391909116815260200190565b8015158114610cbe57600080fd5b60006020828403121561171157600080fd5b81356113f4816116f1565b6000806040838503121561172f57600080fd5b823561173a8161163e565b9150602083013561174a8161163e565b809150509250929050565b6000806040838503121561176857600080fd5b50508035926020909101359150565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156117c85781600019048211156117ae576117ae611777565b808516156117bb57918102915b93841c9390800290611792565b509250929050565b6000826117df5750600161046b565b816117ec5750600061046b565b8160018114611802576002811461180c57611828565b600191505061046b565b60ff84111561181d5761181d611777565b50506001821b61046b565b5060208310610133831016604e8410600b841016171561184b575081810a61046b565b611855838361178d565b806000190482111561186957611869611777565b029392505050565b60006113f460ff8416836117d0565b808202811582820484141761046b5761046b611777565b60208082526022908201527f416d6f756e742073686f756c642062652067726561746572207468616e207a65604082015261726f60f01b606082015260800190565b602080825260139082015272125b9cdd59999a58da595b9d08105b5bdd5b9d606a1b604082015260600190565b8181038181111561046b5761046b611777565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561196057600080fd5b5051919050565b60006020828403121561197957600080fd5b81516113f4816116f1565b6000826119a157634e487b7160e01b600052601260045260246000fd5b500490565b60208082526019908201527822bc31b2b2b239903a3432902fb6b0bc2a3c20b6b7bab73a1760391b604082015260600190565b8082018082111561046b5761046b611777565b6020808252601d908201527f616d6f756e74206d7573742062652067726565746572207468616e2030000000604082015260600190565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611a4b57600080fd5b81516113f48161163e565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611aa65784516001600160a01b031683529383019391830191600101611a81565b50506001600160a01b0396909616606085015250505060800152939250505056fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220683da10b5aa10608d05516b7eb4931371b70c606f4dbf808b8fb5b6f02fbcdba64736f6c63430008130033

Deployed Bytecode

0x60806040526004361061011f5760003560e01c806306fdde031461012b578063095ea7b31461017457806318160ddd146101a45780631b7e8145146101c757806323b872dd146101de578063313ce567146101fe57806370a082311461021a578063715018a61461023a57806378c8cda71461024f57806385141a771461026f5780638c0b5e22146102925780638da5cb5b146102a85780638f3fa860146102c657806395d89b41146102dc578063a333b4ab14610309578063a62ccc2c14610329578063a9059cbb1461033e578063bb9e95af1461035e578063d5e1cbff1461037e578063dd62ed3e14610393578063e3ca2d65146103d9578063eb73900b146103f9578063f2fde38b14610419578063f87dc2c61461043957600080fd5b3661012657005b600080fd5b34801561013757600080fd5b5060408051808201909152600e81526d4c6f6f746564204e6574776f726b60901b60208201525b60405161016b91906115f0565b60405180910390f35b34801561018057600080fd5b5061019461018f366004611653565b61045a565b604051901515815260200161016b565b3480156101b057600080fd5b506101b9610471565b60405190815260200161016b565b3480156101d357600080fd5b506101dc610491565b005b3480156101ea57600080fd5b506101946101f936600461167f565b61053f565b34801561020a57600080fd5b506040516009815260200161016b565b34801561022657600080fd5b506101b96102353660046116c0565b6105ee565b34801561024657600080fd5b506101dc610609565b34801561025b57600080fd5b506101dc61026a3660046116c0565b61066b565b34801561027b57600080fd5b5061028561dead81565b60405161016b91906116dd565b34801561029e57600080fd5b506101b960075481565b3480156102b457600080fd5b506000546001600160a01b0316610285565b3480156102d257600080fd5b506101b960085481565b3480156102e857600080fd5b506040805180820190915260048152631313d3d560e21b602082015261015e565b34801561031557600080fd5b506101dc6103243660046116ff565b610748565b34801561033557600080fd5b506101dc6107bb565b34801561034a57600080fd5b50610194610359366004611653565b610879565b34801561036a57600080fd5b506101dc610379366004611653565b610886565b34801561038a57600080fd5b506101dc610a52565b34801561039f57600080fd5b506101b96103ae36600461171c565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156103e557600080fd5b506101dc6103f4366004611755565b610ab6565b34801561040557600080fd5b506101dc6104143660046116c0565b610b45565b34801561042557600080fd5b506101dc6104343660046116c0565b610c26565b34801561044557600080fd5b50600c5461019490600160a01b900460ff1681565b6000610467338484610cc1565b5060015b92915050565b600061047f6009600a611871565b61048c90620186a0611880565b905090565b47806104b85760405162461bcd60e51b81526004016104af90611897565b60405180910390fd5b478111156104d85760405162461bcd60e51b81526004016104af906118d9565b6004546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610512573d6000803e3d6000fd5b506040517fc680f238873c988c7dc872ec40caca9d70edfe000c3d44a1b9410684db93767590600090a150565b6001600160a01b0383166000908152600260209081526040808320338452909152812054828110156105c45760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084016104af565b6105cf858585610de5565b6105e385336105de8685611906565b610cc1565b506001949350505050565b6001600160a01b031660009081526001602052604090205490565b6000546001600160a01b031633146106335760405162461bcd60e51b81526004016104af90611919565b600080546040516001600160a01b0390911690600080516020611ac8833981519152908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106955760405162461bcd60e51b81526004016104af90611919565b6001600160a01b03811660009081526003602052604081205460ff16151590036106ff5760405162461bcd60e51b815260206004820152601b60248201527a1058d8dbdd5b9d081a5cc8185b1c9958591e481a5b98db1d591959602a1b60448201526064016104af565b6001600160a01b038116600081815260036020526040808220805460ff19169055517fdff643e1b752e1138794c958b6f565e4f003ba18d45383a40b582de82ced091e9190a250565b6000546001600160a01b031633146107725760405162461bcd60e51b81526004016104af90611919565b600c805460ff60a81b1916600160a81b831515908102919091179091556040517f3a9ce3b0c56e8f872f7647ac57385353c6cc3474ddf4b76a77ffbb8ad1fb0ccb90600090a250565b6000546001600160a01b031633146107e55760405162461bcd60e51b81526004016104af90611919565b600c54600160a01b900460ff16156108395760405162461bcd60e51b81526020600482015260176024820152763a3930b234b7339034b99030b63932b0b23c9037b832b760491b60448201526064016104af565b600c805461ffff60a01b191661010160a01b1790556040517f0d151bf744092c3011c9f50766da412cca73acdbcaa74b879a5858adc258f93590600090a1565b6000610467338484610de5565b306001600160a01b038316036108fd5760405162461bcd60e51b815260206004820152603660248201527f4f776e65722063616e277420636c61696d20636f6e747261637427732062616c604482015275616e6365206f6620697473206f776e20746f6b656e7360501b60648201526084016104af565b6000811161091d5760405162461bcd60e51b81526004016104af90611897565b6040516370a0823160e01b81526001600160a01b038316906370a08231906109499030906004016116dd565b602060405180830381865afa158015610966573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098a919061194e565b8111156109a95760405162461bcd60e51b81526004016104af906118d9565b6004805460405163a9059cbb60e01b81526001600160a01b03918216928101929092526024820183905283169063a9059cbb906044016020604051808303816000875af11580156109fe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a229190611967565b5060405181907fc3cafad8c1a78aa542c18679d54d2e14cf1f08b516ac12071dcf9fd2d3701c2290600090a25050565b6000546001600160a01b03163314610a7c5760405162461bcd60e51b81526004016104af90611919565b610a886009600a611871565b610a9590620186a0611880565b600755610aa46009600a611871565b610ab190620186a0611880565b600855565b6000546001600160a01b03163314610ae05760405162461bcd60e51b81526004016104af90611919565b60288211158015610af2575060288111155b610b3a5760405162461bcd60e51b81526020600482015260196024820152787265766572742077726f6e67206665652073657474696e677360381b60448201526064016104af565b600991909155600a55565b6000546001600160a01b03163314610b6f5760405162461bcd60e51b81526004016104af90611919565b6001600160a01b03811660009081526003602052604090205460ff161515600103610bda5760405162461bcd60e51b815260206004820152601b60248201527a1058d8dbdd5b9d081a5cc8185b1c9958591e48195e18db1d591959602a1b60448201526064016104af565b6001600160a01b038116600081815260036020526040808220805460ff19166001179055517f7168e8adb718597b3ac83e2dfe415bea8ebaabb57fe933ffac2e0ed93b80718e9190a250565b6000546001600160a01b03163314610c505760405162461bcd60e51b81526004016104af90611919565b6001600160a01b038116610cb55760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104af565b610cbe816113a5565b50565b6001600160a01b038316610d235760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104af565b6001600160a01b038216610d845760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104af565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610e495760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104af565b6001600160a01b038216610eab5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104af565b60008111610f0d5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104af565b6001600160a01b03831660009081526003602052604081205460ff16158015610f4f57506001600160a01b03831660009081526003602052604090205460ff16155b15610fc057600c54600160a01b900460ff16610fa35760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81b9bdd08195b98589b1959606a1b60448201526064016104af565b606460095483610fb39190611880565b610fbd9190611984565b90505b6001600160a01b03841660009081526003602052604090205460ff1680610fff57506001600160a01b03831660009081526003602052604090205460ff165b15611008575060005b600c546001600160a01b0385811691161480156110335750600b546001600160a01b03848116911614155b801561105857506001600160a01b03831660009081526003602052604090205460ff16155b156110e15760075482111561107f5760405162461bcd60e51b81526004016104af906119a6565b6008548261108c856105ee565b61109691906119d9565b11156110e15760405162461bcd60e51b815260206004820152601a60248201527922bc31b2b2b239903a34329036b0bc2bb0b63632ba29b4bd329760311b60448201526064016104af565b600c546001600160a01b0385811691161480159061111857506001600160a01b03841660009081526003602052604090205460ff16155b801561113d57506001600160a01b03831660009081526003602052604090205460ff16155b15611164576007548211156111645760405162461bcd60e51b81526004016104af906119a6565b600c546001600160a01b03848116911614801561118a57506001600160a01b0384163014155b80156111af57506001600160a01b03841660009081526003602052604090205460ff16155b80156111d457506001600160a01b03831660009081526003602052604090205460ff16155b156111f6576064600a54836111e99190611880565b6111f39190611984565b90505b6000611201306105ee565b600c54909150600160b01b900460ff1615801561122c5750600c546001600160a01b03868116911614155b80156112415750600c54600160a81b900460ff165b801561124e575060055481115b156112825761127061126b84611266846006546113e3565b6113e3565b6113fb565b4780156112805761128047611592565b505b6001600160a01b0385166000908152600160205260409020546112a6908490611906565b6001600160a01b0386166000908152600160205260409020556112c98284611906565b6001600160a01b0385166000908152600160205260409020546112ec91906119d9565b6001600160a01b038086166000818152600160205260409020929092558616600080516020611ae88339815191526113248587611906565b60405190815260200160405180910390a3811561139e57306000908152600160205260409020546113569083906119d9565b30600081815260016020526040908190209290925590516001600160a01b03871690600080516020611ae8833981519152906113959086815260200190565b60405180910390a35b5050505050565b600080546001600160a01b038381166001600160a01b031983168117845560405191909216928391600080516020611ac88339815191529190a35050565b60008183116113f257826113f4565b815b9392505050565b600c805460ff60b01b1916600160b01b1790558061142b5760405162461bcd60e51b81526004016104af906119ec565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061146057611460611a23565b6001600160a01b03928316602091820292909201810191909152600b54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156114b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114dd9190611a39565b816001815181106114f0576114f0611a23565b6001600160a01b039283166020918202929092010152600b546115169130911684610cc1565b600b5460405163791ac94760e01b81526001600160a01b039091169063791ac9479061154f908590600090869030904290600401611a56565b600060405180830381600087803b15801561156957600080fd5b505af115801561157d573d6000803e3d6000fd5b5050600c805460ff60b01b1916905550505050565b600081116115b25760405162461bcd60e51b81526004016104af906119ec565b6004546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156115ec573d6000803e3d6000fd5b5050565b600060208083528351808285015260005b8181101561161d57858101830151858201604001528201611601565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610cbe57600080fd5b6000806040838503121561166657600080fd5b82356116718161163e565b946020939093013593505050565b60008060006060848603121561169457600080fd5b833561169f8161163e565b925060208401356116af8161163e565b929592945050506040919091013590565b6000602082840312156116d257600080fd5b81356113f48161163e565b6001600160a01b0391909116815260200190565b8015158114610cbe57600080fd5b60006020828403121561171157600080fd5b81356113f4816116f1565b6000806040838503121561172f57600080fd5b823561173a8161163e565b9150602083013561174a8161163e565b809150509250929050565b6000806040838503121561176857600080fd5b50508035926020909101359150565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156117c85781600019048211156117ae576117ae611777565b808516156117bb57918102915b93841c9390800290611792565b509250929050565b6000826117df5750600161046b565b816117ec5750600061046b565b8160018114611802576002811461180c57611828565b600191505061046b565b60ff84111561181d5761181d611777565b50506001821b61046b565b5060208310610133831016604e8410600b841016171561184b575081810a61046b565b611855838361178d565b806000190482111561186957611869611777565b029392505050565b60006113f460ff8416836117d0565b808202811582820484141761046b5761046b611777565b60208082526022908201527f416d6f756e742073686f756c642062652067726561746572207468616e207a65604082015261726f60f01b606082015260800190565b602080825260139082015272125b9cdd59999a58da595b9d08105b5bdd5b9d606a1b604082015260600190565b8181038181111561046b5761046b611777565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561196057600080fd5b5051919050565b60006020828403121561197957600080fd5b81516113f4816116f1565b6000826119a157634e487b7160e01b600052601260045260246000fd5b500490565b60208082526019908201527822bc31b2b2b239903a3432902fb6b0bc2a3c20b6b7bab73a1760391b604082015260600190565b8082018082111561046b5761046b611777565b6020808252601d908201527f616d6f756e74206d7573742062652067726565746572207468616e2030000000604082015260600190565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611a4b57600080fd5b81516113f48161163e565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611aa65784516001600160a01b031683529383019391830191600101611a81565b50506001600160a01b0396909616606085015250505060800152939250505056fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220683da10b5aa10608d05516b7eb4931371b70c606f4dbf808b8fb5b6f02fbcdba64736f6c63430008130033

Deployed Bytecode Sourcemap

2716:9746:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5568:83;;;;;;;;;;-1:-1:-1;5638:5:0;;;;;;;;;;;;-1:-1:-1;;;5638:5:0;;;;5568:83;;;;;;;:::i;:::-;;;;;;;;6539:161;;;;;;;;;;-1:-1:-1;6539:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6539:161:0;1023:187:1;5853:95:0;;;;;;;;;;;;;:::i;:::-;;;1361:25:1;;;1349:2;1334:18;5853:95:0;1215:177:1;12074:385:0;;;;;;;;;;;;;:::i;:::-;;6711:410;;;;;;;;;;-1:-1:-1;6711:410:0;;;;;:::i;:::-;;:::i;5759:83::-;;;;;;;;;;-1:-1:-1;5759:83:0;;3126:1;2000:36:1;;1988:2;1973:18;5759:83:0;1858:184:1;5959:119:0;;;;;;;;;;-1:-1:-1;5959:119:0;;;;;:::i;:::-;;:::i;1801:148::-;;;;;;;;;;;;;:::i;11077:246::-;;;;;;;;;;-1:-1:-1;11077:246:0;;;;;:::i;:::-;;:::i;2953:79::-;;;;;;;;;;;;2990:42;2953:79;;;;;;;;;:::i;3422:49::-;;;;;;;;;;;;;;;;1185:79;;;;;;;;;;-1:-1:-1;1223:7:0;1250:6;-1:-1:-1;;;;;1250:6:0;1185:79;;3481:51;;;;;;;;;;;;;;;;5662:87;;;;;;;;;;-1:-1:-1;5734:7:0;;;;;;;;;;;;-1:-1:-1;;;5734:7:0;;;;5662:87;;10682:141;;;;;;;;;;-1:-1:-1;10682:141:0;;;;;:::i;:::-;;:::i;11334:211::-;;;;;;;;;;;;;:::i;6207:167::-;;;;;;;;;;-1:-1:-1;6207:167:0;;;;;:::i;:::-;;:::i;11597:466::-;;;;;;;;;;-1:-1:-1;11597:466:0;;;;;:::i;:::-;;:::i;10331:111::-;;;;;;;;;;;;;:::i;6385:143::-;;;;;;;;;;-1:-1:-1;6385:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6493:18:0;;;6466:7;6493:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6385:143;10451:221;;;;;;;;;;-1:-1:-1;10451:221:0;;;;;:::i;:::-;;:::i;10835:231::-;;;;;;;;;;-1:-1:-1;10835:231:0;;;;;:::i;:::-;;:::i;1395:203::-;;;;;;;;;;-1:-1:-1;1395:203:0;;;;;:::i;:::-;;:::i;3703:31::-;;;;;;;;;;-1:-1:-1;3703:31:0;;;;-1:-1:-1;;;3703:31:0;;;;;;6539:161;6614:4;6631:39;171:10;6654:7;6663:6;6631:8;:39::i;:::-;-1:-1:-1;6688:4:0;6539:161;;;;;:::o;5853:95::-;5906:7;3179:13;3126:1;3179:2;:13;:::i;:::-;3170:22;;:6;:22;:::i;:::-;5926:14;;5853:95;:::o;12074:385::-;12156:21;12196:22;12188:69;;;;-1:-1:-1;;;12188:69:0;;;;;;;:::i;:::-;;;;;;;;;12298:21;12276:18;:43;;12268:75;;;;-1:-1:-1;;;12268:75:0;;;;;;;:::i;:::-;12370:15;;12354:62;;-1:-1:-1;;;;;12370:15:0;;;;12354:62;;;;;12397:18;;12370:15;12354:62;12370:15;12354:62;12397:18;12370:15;12354:62;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12430:21:0;;;;;;;12116:343;12074:385::o;6711:410::-;-1:-1:-1;;;;;6853:19:0;;6809:4;6853:19;;;:11;:19;;;;;;;;171:10;6853:33;;;;;;;;6905:26;;;;6897:79;;;;-1:-1:-1;;;6897:79:0;;6163:2:1;6897:79:0;;;6145:21:1;6202:2;6182:18;;;6175:30;6241:34;6221:18;;;6214:62;-1:-1:-1;;;6292:18:1;;;6285:38;6340:19;;6897:79:0;5961:404:1;6897:79:0;6987:36;6997:6;7005:9;7016:6;6987:9;:36::i;:::-;7034:57;7043:6;171:10;7065:25;7084:6;7065:16;:25;:::i;:::-;7034:8;:57::i;:::-;-1:-1:-1;7109:4:0;;6711:410;-1:-1:-1;;;;6711:410:0:o;5959:119::-;-1:-1:-1;;;;;6052:18:0;6025:7;6052:18;;;:9;:18;;;;;;;5959:119::o;1801:148::-;1310:6;;-1:-1:-1;;;;;1310:6:0;171:10;1310:22;1302:67;;;;-1:-1:-1;;;1302:67:0;;;;;;;:::i;:::-;1908:1:::1;1892:6:::0;;1871:40:::1;::::0;-1:-1:-1;;;;;1892:6:0;;::::1;::::0;-1:-1:-1;;;;;;;;;;;1871:40:0;1908:1;;1871:40:::1;1939:1;1922:19:::0;;-1:-1:-1;;;;;;1922:19:0::1;::::0;;1801:148::o;11077:246::-;1310:6;;-1:-1:-1;;;;;1310:6:0;171:10;1310:22;1302:67;;;;-1:-1:-1;;;1302:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11158:27:0;::::1;;::::0;;;:18:::1;:27;::::0;;;;;::::1;;:36;;::::0;;11150:76:::1;;;::::0;-1:-1:-1;;;11150:76:0;;7066:2:1;11150:76:0::1;::::0;::::1;7048:21:1::0;7105:2;7085:18;;;7078:30;-1:-1:-1;;;7124:18:1;;;7117:57;7191:18;;11150:76:0::1;6864:351:1::0;11150:76:0::1;-1:-1:-1::0;;;;;11237:27:0;::::1;11267:5;11237:27:::0;;;:18:::1;:27;::::0;;;;;:35;;-1:-1:-1;;11237:35:0::1;::::0;;11285:30;::::1;::::0;11267:5;11285:30:::1;11077:246:::0;:::o;10682:141::-;1310:6;;-1:-1:-1;;;;;1310:6:0;171:10;1310:22;1302:67;;;;-1:-1:-1;;;1302:67:0;;;;;;;:::i;:::-;10751:15:::1;:23:::0;;-1:-1:-1;;;;10751:23:0::1;-1:-1:-1::0;;;10751:23:0;::::1;;::::0;;::::1;::::0;;;::::1;::::0;;;10786:29:::1;::::0;::::1;::::0;-1:-1:-1;;10786:29:0::1;10682:141:::0;:::o;11334:211::-;1310:6;;-1:-1:-1;;;;;1310:6:0;171:10;1310:22;1302:67;;;;-1:-1:-1;;;1302:67:0;;;;;;;:::i;:::-;11401:11:::1;::::0;-1:-1:-1;;;11401:11:0;::::1;;;11400:12;11392:47;;;::::0;-1:-1:-1;;;11392:47:0;;7422:2:1;11392:47:0::1;::::0;::::1;7404:21:1::0;7461:2;7441:18;;;7434:30;-1:-1:-1;;;7480:18:1;;;7473:53;7543:18;;11392:47:0::1;7220:347:1::0;11392:47:0::1;11450:15;:22:::0;;-1:-1:-1;;;;11484:18:0;-1:-1:-1;;;11484:18:0;;;11517:20:::1;::::0;::::1;::::0;-1:-1:-1;;11517:20:0::1;11334:211::o:0;6207:167::-;6285:4;6302:42;171:10;6326:9;6337:6;6302:9;:42::i;11597:466::-;11717:4;-1:-1:-1;;;;;11695:27:0;;;11687:94;;;;-1:-1:-1;;;11687:94:0;;7774:2:1;11687:94:0;;;7756:21:1;7813:2;7793:18;;;7786:30;7852:34;7832:18;;;7825:62;-1:-1:-1;;;7903:18:1;;;7896:52;7965:19;;11687:94:0;7572:418:1;11687:94:0;11810:1;11800:7;:11;11792:58;;;;-1:-1:-1;;;11792:58:0;;;;;;;:::i;:::-;11880:43;;-1:-1:-1;;;11880:43:0;;-1:-1:-1;;;;;11880:28:0;;;;;:43;;11917:4;;11880:43;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11869:7;:54;;11861:86;;;;-1:-1:-1;;;11861:86:0;;;;;;;:::i;:::-;11986:15;;;11958:53;;-1:-1:-1;;;11958:53:0;;-1:-1:-1;;;;;11986:15:0;;;11958:53;;;8366:51:1;;;;8433:18;;;8426:34;;;11958:27:0;;;;;8339:18:1;;11958:53:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;12025:29:0;;12046:7;;12025:29;;;;;11597:466;;:::o;10331:111::-;1310:6;;-1:-1:-1;;;;;1310:6:0;171:10;1310:22;1302:67;;;;-1:-1:-1;;;1302:67:0;;;;;;;:::i;:::-;3179:13:::1;3126:1;3179:2;:13;:::i;:::-;3170:22;::::0;:6:::1;:22;:::i;:::-;10383:11;:21:::0;3179:13:::1;3126:1;3179:2;:13;:::i;:::-;3170:22;::::0;:6:::1;:22;:::i;:::-;10411:13;:23:::0;10331:111::o;10451:221::-;1310:6;;-1:-1:-1;;;;;1310:6:0;171:10;1310:22;1302:67;;;;-1:-1:-1;;;1302:67:0;;;;;;;:::i;:::-;10554:2:::1;10543:7;:13;;:31;;;;;10572:2;10560:8;:14;;10543:31;10535:69;;;::::0;-1:-1:-1;;;10535:69:0;;8923:2:1;10535:69:0::1;::::0;::::1;8905:21:1::0;8962:2;8942:18;;;8935:30;-1:-1:-1;;;8981:18:1;;;8974:55;9046:18;;10535:69:0::1;8721:349:1::0;10535:69:0::1;10615:8;:18:::0;;;;10644:9:::1;:20:::0;10451:221::o;10835:231::-;1310:6;;-1:-1:-1;;;;;1310:6:0;171:10;1310:22;1302:67;;;;-1:-1:-1;;;1302:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10907:27:0;::::1;;::::0;;;:18:::1;:27;::::0;;;;;::::1;;:35;;:27:::0;:35;10899:74:::1;;;::::0;-1:-1:-1;;;10899:74:0;;9277:2:1;10899:74:0::1;::::0;::::1;9259:21:1::0;9316:2;9296:18;;;9289:30;-1:-1:-1;;;9335:18:1;;;9328:57;9402:18;;10899:74:0::1;9075:351:1::0;10899:74:0::1;-1:-1:-1::0;;;;;10983:27:0;::::1;;::::0;;;:18:::1;:27;::::0;;;;;:34;;-1:-1:-1;;10983:34:0::1;11013:4;10983:34;::::0;;11029:30;::::1;::::0;10983:27;11029:30:::1;10835:231:::0;:::o;1395:203::-;1310:6;;-1:-1:-1;;;;;1310:6:0;171:10;1310:22;1302:67;;;;-1:-1:-1;;;1302:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1486:22:0;::::1;1478:73;;;::::0;-1:-1:-1;;;1478:73:0;;9633:2:1;1478:73:0::1;::::0;::::1;9615:21:1::0;9672:2;9652:18;;;9645:30;9711:34;9691:18;;;9684:62;-1:-1:-1;;;9762:18:1;;;9755:36;9808:19;;1478:73:0::1;9431:402:1::0;1478:73:0::1;1562:28;1581:8;1562:18;:28::i;:::-;1395:203:::0;:::o;7132:335::-;-1:-1:-1;;;;;7225:19:0;;7217:68;;;;-1:-1:-1;;;7217:68:0;;10040:2:1;7217:68:0;;;10022:21:1;10079:2;10059:18;;;10052:30;10118:34;10098:18;;;10091:62;-1:-1:-1;;;10169:18:1;;;10162:34;10213:19;;7217:68:0;9838:400:1;7217:68:0;-1:-1:-1;;;;;7304:21:0;;7296:68;;;;-1:-1:-1;;;7296:68:0;;10445:2:1;7296:68:0;;;10427:21:1;10484:2;10464:18;;;10457:30;10523:34;10503:18;;;10496:62;-1:-1:-1;;;10574:18:1;;;10567:32;10616:19;;7296:68:0;10243:398:1;7296:68:0;-1:-1:-1;;;;;7375:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7427:32;;1361:25:1;;;7427:32:0;;1334:18:1;7427:32:0;;;;;;;7132:335;;;:::o;7478:2189::-;-1:-1:-1;;;;;7566:18:0;;7558:68;;;;-1:-1:-1;;;7558:68:0;;10848:2:1;7558:68:0;;;10830:21:1;10887:2;10867:18;;;10860:30;10926:34;10906:18;;;10899:62;-1:-1:-1;;;10977:18:1;;;10970:35;11022:19;;7558:68:0;10646:401:1;7558:68:0;-1:-1:-1;;;;;7645:16:0;;7637:64;;;;-1:-1:-1;;;7637:64:0;;11254:2:1;7637:64:0;;;11236:21:1;11293:2;11273:18;;;11266:30;11332:34;11312:18;;;11305:62;-1:-1:-1;;;11383:18:1;;;11376:33;11426:19;;7637:64:0;11052:399:1;7637:64:0;7729:1;7720:6;:10;7712:64;;;;-1:-1:-1;;;7712:64:0;;11658:2:1;7712:64:0;;;11640:21:1;11697:2;11677:18;;;11670:30;11736:34;11716:18;;;11709:62;-1:-1:-1;;;11787:18:1;;;11780:39;11836:19;;7712:64:0;11456:405:1;7712:64:0;-1:-1:-1;;;;;7821:24:0;;7787:14;7821:24;;;:18;:24;;;;;;;;7820:25;:52;;;;-1:-1:-1;;;;;;7850:22:0;;;;;;:18;:22;;;;;;;;7849:23;7820:52;7816:189;;;7897:11;;-1:-1:-1;;;7897:11:0;;;;7889:43;;;;-1:-1:-1;;;7889:43:0;;12068:2:1;7889:43:0;;;12050:21:1;12107:2;12087:18;;;12080:30;-1:-1:-1;;;12126:18:1;;;12119:49;12185:18;;7889:43:0;11866:343:1;7889:43:0;7989:3;7976:8;;7966:6;:19;;;;:::i;:::-;:27;;;;:::i;:::-;7957:36;;7816:189;-1:-1:-1;;;;;8030:24:0;;;;;;:18;:24;;;;;;;;;:50;;-1:-1:-1;;;;;;8058:22:0;;;;;;:18;:22;;;;;;;;8030:50;8026:93;;;-1:-1:-1;8106:1:0;8026:93;8155:13;;-1:-1:-1;;;;;8147:21:0;;;8155:13;;8147:21;:55;;;;-1:-1:-1;8186:15:0;;-1:-1:-1;;;;;8172:30:0;;;8186:15;;8172:30;;8147:55;:82;;;;-1:-1:-1;;;;;;8207:22:0;;;;;;:18;:22;;;;;;;;8206:23;8147:82;8143:271;;;8265:11;;8255:6;:21;;8247:59;;;;-1:-1:-1;;;8247:59:0;;;;;;;:::i;:::-;8356:13;;8346:6;8330:13;8340:2;8330:9;:13::i;:::-;:22;;;;:::i;:::-;:39;;8322:78;;;;-1:-1:-1;;;8322:78:0;;13122:2:1;8322:78:0;;;13104:21:1;13161:2;13141:18;;;13134:30;-1:-1:-1;;;13180:18:1;;;13173:56;13246:18;;8322:78:0;12920:350:1;8322:78:0;8449:13;;-1:-1:-1;;;;;8441:21:0;;;8449:13;;8441:21;;;;:50;;-1:-1:-1;;;;;;8467:24:0;;;;;;:18;:24;;;;;;;;8466:25;8441:50;:77;;;;-1:-1:-1;;;;;;8496:22:0;;;;;;:18;:22;;;;;;;;8495:23;8441:77;8437:172;;;8554:11;;8544:6;:21;;8536:59;;;;-1:-1:-1;;;8536:59:0;;;;;;;:::i;:::-;8641:13;;-1:-1:-1;;;;;8635:19:0;;;8641:13;;8635:19;:44;;;;-1:-1:-1;;;;;;8658:21:0;;8674:4;8658:21;;8635:44;:73;;;;-1:-1:-1;;;;;;8684:24:0;;;;;;:18;:24;;;;;;;;8683:25;8635:73;:100;;;;-1:-1:-1;;;;;;8713:22:0;;;;;;:18;:22;;;;;;;;8712:23;8635:100;8631:203;;;8792:3;8778:9;;8768:6;:20;;;;:::i;:::-;:28;;;;:::i;:::-;8759:37;;8631:203;8859:28;8890:24;8908:4;8890:9;:24::i;:::-;8934:6;;8859:55;;-1:-1:-1;;;;8934:6:0;;;;8933:7;:32;;;;-1:-1:-1;8952:13:0;;-1:-1:-1;;;;;8944:21:0;;;8952:13;;8944:21;;8933:32;:51;;;;-1:-1:-1;8969:15:0;;-1:-1:-1;;;8969:15:0;;;;8933:51;:92;;;;;9011:14;;8988:20;:37;8933:92;8929:396;;;9046:72;9063:54;9067:6;9075:41;9079:20;9101:14;;9075:3;:41::i;:::-;9063:3;:54::i;:::-;9046:16;:72::i;:::-;9165:21;9208:22;;9205:105;;9255:35;9268:21;9255:12;:35::i;:::-;9027:298;8929:396;-1:-1:-1;;;;;9353:15:0;;;;;;:9;:15;;;;;;:24;;9371:6;;9353:24;:::i;:::-;-1:-1:-1;;;;;9335:15:0;;;;;;:9;:15;;;;;:42;9422:17;9432:6;9422;:17;:::i;:::-;-1:-1:-1;;;;;9405:13:0;;;;;;:9;:13;;;;;;:35;;;;:::i;:::-;-1:-1:-1;;;;;9389:13:0;;;;;;;:9;:13;;;;;:51;;;;9456:37;;-1:-1:-1;;;;;;;;;;;9475:17:0;9485:6;9475;:17;:::i;:::-;9456:37;;1361:25:1;;;1349:2;1334:18;9456:37:0;;;;;;;9508:10;;9505:155;;9577:4;9559:24;;;;:9;:24;;;;;;:35;;9587:6;;9559:35;:::i;:::-;9550:4;9532:24;;;;:9;:24;;;;;;;:62;;;;9612:36;;-1:-1:-1;;;;;9612:36:0;;;-1:-1:-1;;;;;;;;;;;9612:36:0;;;9641:6;1361:25:1;;1349:2;1334:18;;1215:177;9612:36:0;;;;;;;;9505:155;7547:2120;;7478:2189;;;:::o;1604:191::-;1678:16;1697:6;;-1:-1:-1;;;;;1714:17:0;;;-1:-1:-1;;;;;;1714:17:0;;;;;;1747:40;;1697:6;;;;;;;-1:-1:-1;;;;;;;;;;;1747:40:0;1678:16;1747:40;1667:128;1604:191;:::o;6089:107::-;6146:7;6178:1;6174;:5;6173:15;;6187:1;6173:15;;;6183:1;6173:15;6166:22;6089:107;-1:-1:-1;;;6089:107:0:o;9679:471::-;4234:6;:13;;-1:-1:-1;;;;4234:13:0;-1:-1:-1;;;4234:13:0;;;9765:15;9757:57:::1;;;;-1:-1:-1::0;;;9757:57:0::1;;;;;;;:::i;:::-;9849:16;::::0;;9863:1:::1;9849:16:::0;;;;;::::1;::::0;;9825:21:::1;::::0;9849:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9849:16:0::1;9825:40;;9894:4;9876;9881:1;9876:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9876:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9920:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;9920:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;9876:7;;9920:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9910:4;9915:1;9910:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9910:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;9985:15:::1;::::0;9953:62:::1;::::0;9970:4:::1;::::0;9985:15:::1;10003:11:::0;9953:8:::1;:62::i;:::-;10026:15;::::0;:116:::1;::::0;-1:-1:-1;;;10026:116:0;;-1:-1:-1;;;;;10026:15:0;;::::1;::::0;:66:::1;::::0;:116:::1;::::0;10093:11;;10026:15:::1;::::0;10107:4;;10120::::1;::::0;10126:15:::1;::::0;10026:116:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4270:6:0;:14;;-1:-1:-1;;;;4270:14:0;;;-1:-1:-1;;;;9679:471:0:o;10162:159::-;10235:1;10226:6;:10;10218:52;;;;-1:-1:-1;;;10218:52:0;;;;;;;:::i;:::-;10281:15;;:32;;-1:-1:-1;;;;;10281:15:0;;;;:32;;;;;10306:6;;10281:15;:32;:15;:32;10306:6;10281:15;:32;;;;;;;;;;;;;;;;;;;;;10162:159;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2299:203::-;-1:-1:-1;;;;;2463:32:1;;;;2445:51;;2433:2;2418:18;;2299:203::o;2507:118::-;2593:5;2586:13;2579:21;2572:5;2569:32;2559:60;;2615:1;2612;2605:12;2630:241;2686:6;2739:2;2727:9;2718:7;2714:23;2710:32;2707:52;;;2755:1;2752;2745:12;2707:52;2794:9;2781:23;2813:28;2835:5;2813:28;:::i;2876:388::-;2944:6;2952;3005:2;2993:9;2984:7;2980:23;2976:32;2973:52;;;3021:1;3018;3011:12;2973:52;3060:9;3047:23;3079:31;3104:5;3079:31;:::i;:::-;3129:5;-1:-1:-1;3186:2:1;3171:18;;3158:32;3199:33;3158:32;3199:33;:::i;:::-;3251:7;3241:17;;;2876:388;;;;;:::o;3269:248::-;3337:6;3345;3398:2;3386:9;3377:7;3373:23;3369:32;3366:52;;;3414:1;3411;3404:12;3366:52;-1:-1:-1;;3437:23:1;;;3507:2;3492:18;;;3479:32;;-1:-1:-1;3269:248:1:o;3522:127::-;3583:10;3578:3;3574:20;3571:1;3564:31;3614:4;3611:1;3604:15;3638:4;3635:1;3628:15;3654:422;3743:1;3786:5;3743:1;3800:270;3821:7;3811:8;3808:21;3800:270;;;3880:4;3876:1;3872:6;3868:17;3862:4;3859:27;3856:53;;;3889:18;;:::i;:::-;3939:7;3929:8;3925:22;3922:55;;;3959:16;;;;3922:55;4038:22;;;;3998:15;;;;3800:270;;;3804:3;3654:422;;;;;:::o;4081:806::-;4130:5;4160:8;4150:80;;-1:-1:-1;4201:1:1;4215:5;;4150:80;4249:4;4239:76;;-1:-1:-1;4286:1:1;4300:5;;4239:76;4331:4;4349:1;4344:59;;;;4417:1;4412:130;;;;4324:218;;4344:59;4374:1;4365:10;;4388:5;;;4412:130;4449:3;4439:8;4436:17;4433:43;;;4456:18;;:::i;:::-;-1:-1:-1;;4512:1:1;4498:16;;4527:5;;4324:218;;4626:2;4616:8;4613:16;4607:3;4601:4;4598:13;4594:36;4588:2;4578:8;4575:16;4570:2;4564:4;4561:12;4557:35;4554:77;4551:159;;;-1:-1:-1;4663:19:1;;;4695:5;;4551:159;4742:34;4767:8;4761:4;4742:34;:::i;:::-;4812:6;4808:1;4804:6;4800:19;4791:7;4788:32;4785:58;;;4823:18;;:::i;:::-;4861:20;;4081:806;-1:-1:-1;;;4081:806:1:o;4892:140::-;4950:5;4979:47;5020:4;5010:8;5006:19;5000:4;4979:47;:::i;5037:168::-;5110:9;;;5141;;5158:15;;;5152:22;;5138:37;5128:71;;5179:18;;:::i;5210:398::-;5412:2;5394:21;;;5451:2;5431:18;;;5424:30;5490:34;5485:2;5470:18;;5463:62;-1:-1:-1;;;5556:2:1;5541:18;;5534:32;5598:3;5583:19;;5210:398::o;5613:343::-;5815:2;5797:21;;;5854:2;5834:18;;;5827:30;-1:-1:-1;;;5888:2:1;5873:18;;5866:49;5947:2;5932:18;;5613:343::o;6370:128::-;6437:9;;;6458:11;;;6455:37;;;6472:18;;:::i;6503:356::-;6705:2;6687:21;;;6724:18;;;6717:30;6783:34;6778:2;6763:18;;6756:62;6850:2;6835:18;;6503:356::o;7995:184::-;8065:6;8118:2;8106:9;8097:7;8093:23;8089:32;8086:52;;;8134:1;8131;8124:12;8086:52;-1:-1:-1;8157:16:1;;7995:184;-1:-1:-1;7995:184:1:o;8471:245::-;8538:6;8591:2;8579:9;8570:7;8566:23;8562:32;8559:52;;;8607:1;8604;8597:12;8559:52;8639:9;8633:16;8658:28;8680:5;8658:28;:::i;12214:217::-;12254:1;12280;12270:132;;12324:10;12319:3;12315:20;12312:1;12305:31;12359:4;12356:1;12349:15;12387:4;12384:1;12377:15;12270:132;-1:-1:-1;12416:9:1;;12214:217::o;12436:349::-;12638:2;12620:21;;;12677:2;12657:18;;;12650:30;-1:-1:-1;;;12711:2:1;12696:18;;12689:55;12776:2;12761:18;;12436:349::o;12790:125::-;12855:9;;;12876:10;;;12873:36;;;12889:18;;:::i;13275:353::-;13477:2;13459:21;;;13516:2;13496:18;;;13489:30;13555:31;13550:2;13535:18;;13528:59;13619:2;13604:18;;13275:353::o;13765:127::-;13826:10;13821:3;13817:20;13814:1;13807:31;13857:4;13854:1;13847:15;13881:4;13878:1;13871:15;13897:251;13967:6;14020:2;14008:9;13999:7;13995:23;13991:32;13988:52;;;14036:1;14033;14026:12;13988:52;14068:9;14062:16;14087:31;14112:5;14087:31;:::i;14153:980::-;14415:4;14463:3;14452:9;14448:19;14494:6;14483:9;14476:25;14520:2;14558:6;14553:2;14542:9;14538:18;14531:34;14601:3;14596:2;14585:9;14581:18;14574:31;14625:6;14660;14654:13;14691:6;14683;14676:22;14729:3;14718:9;14714:19;14707:26;;14768:2;14760:6;14756:15;14742:29;;14789:1;14799:195;14813:6;14810:1;14807:13;14799:195;;;14878:13;;-1:-1:-1;;;;;14874:39:1;14862:52;;14969:15;;;;14934:12;;;;14910:1;14828:9;14799:195;;;-1:-1:-1;;;;;;;15050:32:1;;;;15045:2;15030:18;;15023:60;-1:-1:-1;;;15114:3:1;15099:19;15092:35;15011:3;14153:980;-1:-1:-1;;;14153:980:1:o

Swarm Source

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