ETH Price: $3,891.62 (-1.01%)

Token

Media Licensing Token (MLT)
 

Overview

Max Total Supply

200,000,000 MLT

Holders

5,527 ( -0.018%)

Market

Price

$0.04 @ 0.000010 ETH (-1.43%)

Onchain Market Cap

$7,652,682.23

Circulating Supply Market Cap

$4,760,866.04

Other Info

Token Contract (WITH 18 Decimals)

Balance
340.487733986884830252 MLT

Value
$13.03 ( ~0.00334821701513616 Eth) [0.0002%]
0xe4bd1cb4fffc61c7c3289ffbed7c87b042307520
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

MILC - Media Industry Licensing Content. Global decentralized marketplace for professional content trading, licensing and production.

Market

Volume (24H):$33,106.98
Market Capitalization:$4,760,866.04
Circulating Supply:124,423,461.00 MLT
Market Data Source: Coinmarketcap

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
MediaLicensingToken

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-05-14
*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.4;

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

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

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

interface IERC20Metadata is IERC20 {

  function name() external view returns (string memory);
  function symbol() external view returns (string memory);
  function decimals() external view returns (uint8);
}

abstract contract Ownable is Context {

  // Holds the owner address
  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 virtual 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");
    emit OwnershipTransferred(_owner, newOwner);
    _owner = newOwner;
  }
}

// Our main contract which implements all ERC20 standard methods
contract MediaLicensingToken is Context, IERC20, IERC20Metadata, Ownable {

  // Holds all the balances
  mapping (address => uint256) private _balances;

  // Holds all allowances
  mapping (address => mapping (address => uint256)) private _allowances;

  // Holds all blacklisted addresses
  mapping (address => bool) private _blocklist;

  // They can only be decreased
  uint256 private _totalSupply;

  // Immutable they can only be set once during construction
  string private _name;
  string private _symbol;
  uint256 private _maxTokens;

  // Events
  event Blocklist(address indexed account, bool indexed status);

  // The initializer of our contract
  constructor () {
    _name = "Media Licensing Token";
    _symbol = "MLT";

    // Holds max mintable limit, 200 million tokens
    _maxTokens = 200000000000000000000000000;
    _mint(_msgSender(), _maxTokens);
  }

  /*
   * PUBLIC RETURNS
   */

  // Returns the name of the token.
  function name() public view virtual override returns (string memory) {
    return _name;
  }

  // Returns the symbol of the token
  function symbol() public view virtual override returns (string memory) {
    return _symbol;
  }

  // Returns the number of decimals used
  function decimals() public view virtual override returns (uint8) {
    return 18;
  }

  // Returns the total supply
  function totalSupply() public view virtual override returns (uint256) {
    return _totalSupply;
  }

  // Returns the balance of a given address
  function balanceOf(address account) public view virtual override returns (uint256) {
    return _balances[account];
  }

  // Returns the allowances of the given addresses
  function allowance(address owner, address spender) public view virtual override returns (uint256) {
    return _allowances[owner][spender];
  }

  // Returns a blocked address of a given address
  function isBlocked(address account) public view virtual returns (bool) {
    return _blocklist[account];
  }

  /*
   * PUBLIC FUNCTIONS
   */

  // Calls the _transfer function for a given recipient and amount
  function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
    _transfer(_msgSender(), recipient, amount);
    return true;
  }

  // Calls the _transfer function for a given array of recipients and amounts
  function transferArray(address[] calldata recipients, uint256[] calldata amounts) public virtual returns (bool) {
    for (uint8 count = 0; count < recipients.length; count++) {
      _transfer(_msgSender(), recipients[count], amounts[count]);
    }
    return true;
  }

  // Calls the _approve function for a given spender and amount
  function approve(address spender, uint256 amount) public virtual override returns (bool) {
    _approve(_msgSender(), spender, amount);
    return true;
  }

  // Calls the _transfer and _approve function for a given sender, recipient and amount
  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");
    _approve(sender, _msgSender(), currentAllowance - amount);

    return true;
  }

  // Calls the _approve function for a given spender and added value (amount)
  function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
    _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
    return true;
  }

  // Calls the _approve function for a given spender and substracted value (amount)
  function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
    uint256 currentAllowance = _allowances[_msgSender()][spender];
    require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
    _approve(_msgSender(), spender, currentAllowance - subtractedValue);

    return true;
  }

  /*
   * PUBLIC (Only Owner)
   */

  // Calls the _burn internal function for a given amount
  function burn(uint256 amount) public virtual onlyOwner {
    _burn(_msgSender(), amount);
  }

  function blockAddress (address account) public virtual onlyOwner {
    _block(account, true);
  }

  function unblockAddress (address account) public virtual onlyOwner {
    _block(account, false);
  }

  /*
   * INTERNAL (PRIVATE)
   */

  function _block (address account, bool status) internal virtual {
    require(account != _msgSender(), "ERC20: message sender can not block or unblock himself");
    _blocklist[account] = status;

    emit Blocklist(account, status);
  }

  // Implements the transfer function for a given sender, recipient and amount
  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");

    _beforeTokenTransfer(sender, recipient, amount);

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

    emit Transfer(sender, recipient, amount);
  }

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

    _beforeTokenTransfer(address(0), account, amount);

    _totalSupply += amount;
    // Paranoid security
    require(_totalSupply <= _maxTokens, "ERC20: mint exceeds total supply limit");

    _balances[account] += amount;
    emit Transfer(address(0), account, amount);
  }

  // Implements the burn function for a given account and amount
  function _burn(address account, uint256 amount) internal virtual {
    require(account != address(0), "ERC20: burn from the zero address");

    _beforeTokenTransfer(account, address(0), amount);

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

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

  // Implements the approve function for a given owner, spender and 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);
  }

  /*
   * INTERNAL (PRIVATE) HELPERS
   */

  function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual {
    require(_blocklist[from] == false && _blocklist[to] == false, "MLTERC20: transfer not allowed");
    require(amount > 0, "ERC20: amount must be above zero");
  }
}

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":"account","type":"address"},{"indexed":true,"internalType":"bool","name":"status","type":"bool"}],"name":"Blocklist","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"blockAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","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":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isBlocked","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"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":"recipients","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"transferArray","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":"address","name":"account","type":"address"}],"name":"unblockAddress","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040523480156200001157600080fd5b506000620000246200019960201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506040518060400160405280601581526020017f4d65646961204c6963656e73696e6720546f6b656e0000000000000000000000815250600590805190602001906200010f9291906200048f565b506040518060400160405280600381526020017f4d4c540000000000000000000000000000000000000000000000000000000000815250600690805190602001906200015d9291906200048f565b506aa56fa5b99019a5c800000060078190555062000193620001846200019960201b60201c565b600754620001a160201b60201c565b62000867565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000214576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200020b9062000652565b60405180910390fd5b62000228600083836200035160201b60201c565b80600460008282546200023c9190620006a2565b9250508190555060075460045411156200028d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200028490620005ec565b60405180910390fd5b80600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620002de9190620006a2565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000345919062000674565b60405180910390a35050565b60001515600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514801562000402575060001515600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b62000444576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200043b9062000630565b60405180910390fd5b600081116200048a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000481906200060e565b60405180910390fd5b505050565b8280546200049d9062000709565b90600052602060002090601f016020900481019282620004c157600085556200050d565b82601f10620004dc57805160ff19168380011785556200050d565b828001600101855582156200050d579182015b828111156200050c578251825591602001919060010190620004ef565b5b5090506200051c919062000520565b5090565b5b808211156200053b57600081600090555060010162000521565b5090565b60006200054e60268362000691565b91506200055b826200079d565b604082019050919050565b60006200057560208362000691565b91506200058282620007ec565b602082019050919050565b60006200059c601e8362000691565b9150620005a98262000815565b602082019050919050565b6000620005c3601f8362000691565b9150620005d0826200083e565b602082019050919050565b620005e681620006ff565b82525050565b6000602082019050818103600083015262000607816200053f565b9050919050565b60006020820190508181036000830152620006298162000566565b9050919050565b600060208201905081810360008301526200064b816200058d565b9050919050565b600060208201905081810360008301526200066d81620005b4565b9050919050565b60006020820190506200068b6000830184620005db565b92915050565b600082825260208201905092915050565b6000620006af82620006ff565b9150620006bc83620006ff565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620006f457620006f36200073f565b5b828201905092915050565b6000819050919050565b600060028204905060018216806200072257607f821691505b602082108114156200073957620007386200076e565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f45524332303a206d696e74206578636565647320746f74616c20737570706c7960008201527f206c696d69740000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20616d6f756e74206d7573742062652061626f7665207a65726f600082015250565b7f4d4c5445524332303a207472616e73666572206e6f7420616c6c6f7765640000600082015250565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b61230a80620008776000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c80638da5cb5b116100a2578063a9059cbb11610071578063a9059cbb14610309578063ad2bb1b314610339578063dd62ed3e14610355578063f2fde38b14610385578063fbac3951146103a157610116565b80638da5cb5b1461026d578063942d468b1461028b57806395d89b41146102bb578063a457c2d7146102d957610116565b806323b872dd116100e957806323b872dd146101a3578063313ce567146101d357806339509351146101f157806342966c681461022157806370a082311461023d57610116565b806306fdde031461011b578063095ea7b31461013957806318160ddd14610169578063186d9d8814610187575b600080fd5b6101236103d1565b6040516101309190611ab5565b60405180910390f35b610153600480360381019061014e9190611746565b610463565b6040516101609190611a9a565b60405180910390f35b610171610481565b60405161017e9190611c97565b60405180910390f35b6101a1600480360381019061019c9190611692565b61048b565b005b6101bd60048036038101906101b891906116f7565b610515565b6040516101ca9190611a9a565b60405180910390f35b6101db610616565b6040516101e89190611cb2565b60405180910390f35b61020b60048036038101906102069190611746565b61061f565b6040516102189190611a9a565b60405180910390f35b61023b600480360381019061023691906117f7565b6106cb565b005b61025760048036038101906102529190611692565b61075b565b6040516102649190611c97565b60405180910390f35b6102756107a4565b6040516102829190611a7f565b60405180910390f35b6102a560048036038101906102a09190611782565b6107cd565b6040516102b29190611a9a565b60405180910390f35b6102c36108a7565b6040516102d09190611ab5565b60405180910390f35b6102f360048036038101906102ee9190611746565b610939565b6040516103009190611a9a565b60405180910390f35b610323600480360381019061031e9190611746565b610a2d565b6040516103309190611a9a565b60405180910390f35b610353600480360381019061034e9190611692565b610a4b565b005b61036f600480360381019061036a91906116bb565b610ad5565b60405161037c9190611c97565b60405180910390f35b61039f600480360381019061039a9190611692565b610b5c565b005b6103bb60048036038101906103b69190611692565b610d05565b6040516103c89190611a9a565b60405180910390f35b6060600580546103e090611dfb565b80601f016020809104026020016040519081016040528092919081815260200182805461040c90611dfb565b80156104595780601f1061042e57610100808354040283529160200191610459565b820191906000526020600020905b81548152906001019060200180831161043c57829003601f168201915b5050505050905090565b6000610477610470610d5b565b8484610d63565b6001905092915050565b6000600454905090565b610493610d5b565b73ffffffffffffffffffffffffffffffffffffffff166104b16107a4565b73ffffffffffffffffffffffffffffffffffffffff1614610507576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104fe90611bb7565b60405180910390fd5b610512816000610f2e565b50565b6000610522848484611045565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061056d610d5b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156105ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e490611b97565b60405180910390fd5b61060a856105f9610d5b565b85846106059190611d3f565b610d63565b60019150509392505050565b60006012905090565b60006106c161062c610d5b565b84846002600061063a610d5b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546106bc9190611ce9565b610d63565b6001905092915050565b6106d3610d5b565b73ffffffffffffffffffffffffffffffffffffffff166106f16107a4565b73ffffffffffffffffffffffffffffffffffffffff1614610747576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073e90611bb7565b60405180910390fd5b610758610752610d5b565b826112c7565b50565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600080600090505b858590508160ff16101561089a576108876107ee610d5b565b87878460ff1681811061082a577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b905060200201602081019061083f9190611692565b86868560ff1681811061087b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020135611045565b808061089290611e2d565b9150506107d5565b5060019050949350505050565b6060600680546108b690611dfb565b80601f01602080910402602001604051908101604052809291908181526020018280546108e290611dfb565b801561092f5780601f106109045761010080835404028352916020019161092f565b820191906000526020600020905b81548152906001019060200180831161091257829003601f168201915b5050505050905090565b60008060026000610948610d5b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610a05576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109fc90611c57565b60405180910390fd5b610a22610a10610d5b565b858584610a1d9190611d3f565b610d63565b600191505092915050565b6000610a41610a3a610d5b565b8484611045565b6001905092915050565b610a53610d5b565b73ffffffffffffffffffffffffffffffffffffffff16610a716107a4565b73ffffffffffffffffffffffffffffffffffffffff1614610ac7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610abe90611bb7565b60405180910390fd5b610ad2816001610f2e565b50565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610b64610d5b565b73ffffffffffffffffffffffffffffffffffffffff16610b826107a4565b73ffffffffffffffffffffffffffffffffffffffff1614610bd8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bcf90611bb7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610c48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3f90611b17565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610dd3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dca90611c37565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3a90611b37565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610f219190611c97565b60405180910390a3505050565b610f36610d5b565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610fa4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9b90611bd7565b60405180910390fd5b80600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167f8b013b23a88536ac388362502bb7e856a071b191d4d460cad41b54c88c5d0aaa60405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156110b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ac90611c17565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611125576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111c90611ad7565b60405180910390fd5b61113083838361149d565b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156111b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ae90611b57565b60405180910390fd5b81816111c39190611d3f565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546112559190611ce9565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516112b99190611c97565b60405180910390a350505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611337576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132e90611bf7565b60405180910390fd5b6113438260008361149d565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156113ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c190611af7565b60405180910390fd5b81816113d69190611d3f565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816004600082825461142b9190611d3f565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516114909190611c97565b60405180910390a3505050565b60001515600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514801561154d575060001515600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b61158c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158390611c77565b60405180910390fd5b600081116115cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115c690611b77565b60405180910390fd5b505050565b6000813590506115e3816122a6565b92915050565b60008083601f8401126115fb57600080fd5b8235905067ffffffffffffffff81111561161457600080fd5b60208301915083602082028301111561162c57600080fd5b9250929050565b60008083601f84011261164557600080fd5b8235905067ffffffffffffffff81111561165e57600080fd5b60208301915083602082028301111561167657600080fd5b9250929050565b60008135905061168c816122bd565b92915050565b6000602082840312156116a457600080fd5b60006116b2848285016115d4565b91505092915050565b600080604083850312156116ce57600080fd5b60006116dc858286016115d4565b92505060206116ed858286016115d4565b9150509250929050565b60008060006060848603121561170c57600080fd5b600061171a868287016115d4565b935050602061172b868287016115d4565b925050604061173c8682870161167d565b9150509250925092565b6000806040838503121561175957600080fd5b6000611767858286016115d4565b92505060206117788582860161167d565b9150509250929050565b6000806000806040858703121561179857600080fd5b600085013567ffffffffffffffff8111156117b257600080fd5b6117be878288016115e9565b9450945050602085013567ffffffffffffffff8111156117dd57600080fd5b6117e987828801611633565b925092505092959194509250565b60006020828403121561180957600080fd5b60006118178482850161167d565b91505092915050565b61182981611d73565b82525050565b61183881611d85565b82525050565b600061184982611ccd565b6118538185611cd8565b9350611863818560208601611dc8565b61186c81611eb5565b840191505092915050565b6000611884602383611cd8565b915061188f82611ec6565b604082019050919050565b60006118a7602283611cd8565b91506118b282611f15565b604082019050919050565b60006118ca602683611cd8565b91506118d582611f64565b604082019050919050565b60006118ed602283611cd8565b91506118f882611fb3565b604082019050919050565b6000611910602683611cd8565b915061191b82612002565b604082019050919050565b6000611933602083611cd8565b915061193e82612051565b602082019050919050565b6000611956602883611cd8565b91506119618261207a565b604082019050919050565b6000611979602083611cd8565b9150611984826120c9565b602082019050919050565b600061199c603683611cd8565b91506119a7826120f2565b604082019050919050565b60006119bf602183611cd8565b91506119ca82612141565b604082019050919050565b60006119e2602583611cd8565b91506119ed82612190565b604082019050919050565b6000611a05602483611cd8565b9150611a10826121df565b604082019050919050565b6000611a28602583611cd8565b9150611a338261222e565b604082019050919050565b6000611a4b601e83611cd8565b9150611a568261227d565b602082019050919050565b611a6a81611db1565b82525050565b611a7981611dbb565b82525050565b6000602082019050611a946000830184611820565b92915050565b6000602082019050611aaf600083018461182f565b92915050565b60006020820190508181036000830152611acf818461183e565b905092915050565b60006020820190508181036000830152611af081611877565b9050919050565b60006020820190508181036000830152611b108161189a565b9050919050565b60006020820190508181036000830152611b30816118bd565b9050919050565b60006020820190508181036000830152611b50816118e0565b9050919050565b60006020820190508181036000830152611b7081611903565b9050919050565b60006020820190508181036000830152611b9081611926565b9050919050565b60006020820190508181036000830152611bb081611949565b9050919050565b60006020820190508181036000830152611bd08161196c565b9050919050565b60006020820190508181036000830152611bf08161198f565b9050919050565b60006020820190508181036000830152611c10816119b2565b9050919050565b60006020820190508181036000830152611c30816119d5565b9050919050565b60006020820190508181036000830152611c50816119f8565b9050919050565b60006020820190508181036000830152611c7081611a1b565b9050919050565b60006020820190508181036000830152611c9081611a3e565b9050919050565b6000602082019050611cac6000830184611a61565b92915050565b6000602082019050611cc76000830184611a70565b92915050565b600081519050919050565b600082825260208201905092915050565b6000611cf482611db1565b9150611cff83611db1565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611d3457611d33611e57565b5b828201905092915050565b6000611d4a82611db1565b9150611d5583611db1565b925082821015611d6857611d67611e57565b5b828203905092915050565b6000611d7e82611d91565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015611de6578082015181840152602081019050611dcb565b83811115611df5576000848401525b50505050565b60006002820490506001821680611e1357607f821691505b60208210811415611e2757611e26611e86565b5b50919050565b6000611e3882611dbb565b915060ff821415611e4c57611e4b611e57565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20616d6f756e74206d7573742062652061626f7665207a65726f600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a206d6573736167652073656e6465722063616e206e6f7420626c60008201527f6f636b206f7220756e626c6f636b2068696d73656c6600000000000000000000602082015250565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b7f4d4c5445524332303a207472616e73666572206e6f7420616c6c6f7765640000600082015250565b6122af81611d73565b81146122ba57600080fd5b50565b6122c681611db1565b81146122d157600080fd5b5056fea2646970667358221220b192b093613bb7e4e7eefaea29106726054901615339be358c70c7394ae765c164736f6c63430008040033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101165760003560e01c80638da5cb5b116100a2578063a9059cbb11610071578063a9059cbb14610309578063ad2bb1b314610339578063dd62ed3e14610355578063f2fde38b14610385578063fbac3951146103a157610116565b80638da5cb5b1461026d578063942d468b1461028b57806395d89b41146102bb578063a457c2d7146102d957610116565b806323b872dd116100e957806323b872dd146101a3578063313ce567146101d357806339509351146101f157806342966c681461022157806370a082311461023d57610116565b806306fdde031461011b578063095ea7b31461013957806318160ddd14610169578063186d9d8814610187575b600080fd5b6101236103d1565b6040516101309190611ab5565b60405180910390f35b610153600480360381019061014e9190611746565b610463565b6040516101609190611a9a565b60405180910390f35b610171610481565b60405161017e9190611c97565b60405180910390f35b6101a1600480360381019061019c9190611692565b61048b565b005b6101bd60048036038101906101b891906116f7565b610515565b6040516101ca9190611a9a565b60405180910390f35b6101db610616565b6040516101e89190611cb2565b60405180910390f35b61020b60048036038101906102069190611746565b61061f565b6040516102189190611a9a565b60405180910390f35b61023b600480360381019061023691906117f7565b6106cb565b005b61025760048036038101906102529190611692565b61075b565b6040516102649190611c97565b60405180910390f35b6102756107a4565b6040516102829190611a7f565b60405180910390f35b6102a560048036038101906102a09190611782565b6107cd565b6040516102b29190611a9a565b60405180910390f35b6102c36108a7565b6040516102d09190611ab5565b60405180910390f35b6102f360048036038101906102ee9190611746565b610939565b6040516103009190611a9a565b60405180910390f35b610323600480360381019061031e9190611746565b610a2d565b6040516103309190611a9a565b60405180910390f35b610353600480360381019061034e9190611692565b610a4b565b005b61036f600480360381019061036a91906116bb565b610ad5565b60405161037c9190611c97565b60405180910390f35b61039f600480360381019061039a9190611692565b610b5c565b005b6103bb60048036038101906103b69190611692565b610d05565b6040516103c89190611a9a565b60405180910390f35b6060600580546103e090611dfb565b80601f016020809104026020016040519081016040528092919081815260200182805461040c90611dfb565b80156104595780601f1061042e57610100808354040283529160200191610459565b820191906000526020600020905b81548152906001019060200180831161043c57829003601f168201915b5050505050905090565b6000610477610470610d5b565b8484610d63565b6001905092915050565b6000600454905090565b610493610d5b565b73ffffffffffffffffffffffffffffffffffffffff166104b16107a4565b73ffffffffffffffffffffffffffffffffffffffff1614610507576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104fe90611bb7565b60405180910390fd5b610512816000610f2e565b50565b6000610522848484611045565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061056d610d5b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156105ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e490611b97565b60405180910390fd5b61060a856105f9610d5b565b85846106059190611d3f565b610d63565b60019150509392505050565b60006012905090565b60006106c161062c610d5b565b84846002600061063a610d5b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546106bc9190611ce9565b610d63565b6001905092915050565b6106d3610d5b565b73ffffffffffffffffffffffffffffffffffffffff166106f16107a4565b73ffffffffffffffffffffffffffffffffffffffff1614610747576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073e90611bb7565b60405180910390fd5b610758610752610d5b565b826112c7565b50565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600080600090505b858590508160ff16101561089a576108876107ee610d5b565b87878460ff1681811061082a577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b905060200201602081019061083f9190611692565b86868560ff1681811061087b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020135611045565b808061089290611e2d565b9150506107d5565b5060019050949350505050565b6060600680546108b690611dfb565b80601f01602080910402602001604051908101604052809291908181526020018280546108e290611dfb565b801561092f5780601f106109045761010080835404028352916020019161092f565b820191906000526020600020905b81548152906001019060200180831161091257829003601f168201915b5050505050905090565b60008060026000610948610d5b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610a05576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109fc90611c57565b60405180910390fd5b610a22610a10610d5b565b858584610a1d9190611d3f565b610d63565b600191505092915050565b6000610a41610a3a610d5b565b8484611045565b6001905092915050565b610a53610d5b565b73ffffffffffffffffffffffffffffffffffffffff16610a716107a4565b73ffffffffffffffffffffffffffffffffffffffff1614610ac7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610abe90611bb7565b60405180910390fd5b610ad2816001610f2e565b50565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610b64610d5b565b73ffffffffffffffffffffffffffffffffffffffff16610b826107a4565b73ffffffffffffffffffffffffffffffffffffffff1614610bd8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bcf90611bb7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610c48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3f90611b17565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610dd3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dca90611c37565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3a90611b37565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610f219190611c97565b60405180910390a3505050565b610f36610d5b565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610fa4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9b90611bd7565b60405180910390fd5b80600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167f8b013b23a88536ac388362502bb7e856a071b191d4d460cad41b54c88c5d0aaa60405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156110b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ac90611c17565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611125576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111c90611ad7565b60405180910390fd5b61113083838361149d565b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156111b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ae90611b57565b60405180910390fd5b81816111c39190611d3f565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546112559190611ce9565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516112b99190611c97565b60405180910390a350505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611337576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132e90611bf7565b60405180910390fd5b6113438260008361149d565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156113ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c190611af7565b60405180910390fd5b81816113d69190611d3f565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816004600082825461142b9190611d3f565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516114909190611c97565b60405180910390a3505050565b60001515600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514801561154d575060001515600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b61158c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158390611c77565b60405180910390fd5b600081116115cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115c690611b77565b60405180910390fd5b505050565b6000813590506115e3816122a6565b92915050565b60008083601f8401126115fb57600080fd5b8235905067ffffffffffffffff81111561161457600080fd5b60208301915083602082028301111561162c57600080fd5b9250929050565b60008083601f84011261164557600080fd5b8235905067ffffffffffffffff81111561165e57600080fd5b60208301915083602082028301111561167657600080fd5b9250929050565b60008135905061168c816122bd565b92915050565b6000602082840312156116a457600080fd5b60006116b2848285016115d4565b91505092915050565b600080604083850312156116ce57600080fd5b60006116dc858286016115d4565b92505060206116ed858286016115d4565b9150509250929050565b60008060006060848603121561170c57600080fd5b600061171a868287016115d4565b935050602061172b868287016115d4565b925050604061173c8682870161167d565b9150509250925092565b6000806040838503121561175957600080fd5b6000611767858286016115d4565b92505060206117788582860161167d565b9150509250929050565b6000806000806040858703121561179857600080fd5b600085013567ffffffffffffffff8111156117b257600080fd5b6117be878288016115e9565b9450945050602085013567ffffffffffffffff8111156117dd57600080fd5b6117e987828801611633565b925092505092959194509250565b60006020828403121561180957600080fd5b60006118178482850161167d565b91505092915050565b61182981611d73565b82525050565b61183881611d85565b82525050565b600061184982611ccd565b6118538185611cd8565b9350611863818560208601611dc8565b61186c81611eb5565b840191505092915050565b6000611884602383611cd8565b915061188f82611ec6565b604082019050919050565b60006118a7602283611cd8565b91506118b282611f15565b604082019050919050565b60006118ca602683611cd8565b91506118d582611f64565b604082019050919050565b60006118ed602283611cd8565b91506118f882611fb3565b604082019050919050565b6000611910602683611cd8565b915061191b82612002565b604082019050919050565b6000611933602083611cd8565b915061193e82612051565b602082019050919050565b6000611956602883611cd8565b91506119618261207a565b604082019050919050565b6000611979602083611cd8565b9150611984826120c9565b602082019050919050565b600061199c603683611cd8565b91506119a7826120f2565b604082019050919050565b60006119bf602183611cd8565b91506119ca82612141565b604082019050919050565b60006119e2602583611cd8565b91506119ed82612190565b604082019050919050565b6000611a05602483611cd8565b9150611a10826121df565b604082019050919050565b6000611a28602583611cd8565b9150611a338261222e565b604082019050919050565b6000611a4b601e83611cd8565b9150611a568261227d565b602082019050919050565b611a6a81611db1565b82525050565b611a7981611dbb565b82525050565b6000602082019050611a946000830184611820565b92915050565b6000602082019050611aaf600083018461182f565b92915050565b60006020820190508181036000830152611acf818461183e565b905092915050565b60006020820190508181036000830152611af081611877565b9050919050565b60006020820190508181036000830152611b108161189a565b9050919050565b60006020820190508181036000830152611b30816118bd565b9050919050565b60006020820190508181036000830152611b50816118e0565b9050919050565b60006020820190508181036000830152611b7081611903565b9050919050565b60006020820190508181036000830152611b9081611926565b9050919050565b60006020820190508181036000830152611bb081611949565b9050919050565b60006020820190508181036000830152611bd08161196c565b9050919050565b60006020820190508181036000830152611bf08161198f565b9050919050565b60006020820190508181036000830152611c10816119b2565b9050919050565b60006020820190508181036000830152611c30816119d5565b9050919050565b60006020820190508181036000830152611c50816119f8565b9050919050565b60006020820190508181036000830152611c7081611a1b565b9050919050565b60006020820190508181036000830152611c9081611a3e565b9050919050565b6000602082019050611cac6000830184611a61565b92915050565b6000602082019050611cc76000830184611a70565b92915050565b600081519050919050565b600082825260208201905092915050565b6000611cf482611db1565b9150611cff83611db1565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611d3457611d33611e57565b5b828201905092915050565b6000611d4a82611db1565b9150611d5583611db1565b925082821015611d6857611d67611e57565b5b828203905092915050565b6000611d7e82611d91565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015611de6578082015181840152602081019050611dcb565b83811115611df5576000848401525b50505050565b60006002820490506001821680611e1357607f821691505b60208210811415611e2757611e26611e86565b5b50919050565b6000611e3882611dbb565b915060ff821415611e4c57611e4b611e57565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20616d6f756e74206d7573742062652061626f7665207a65726f600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a206d6573736167652073656e6465722063616e206e6f7420626c60008201527f6f636b206f7220756e626c6f636b2068696d73656c6600000000000000000000602082015250565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b7f4d4c5445524332303a207472616e73666572206e6f7420616c6c6f7765640000600082015250565b6122af81611d73565b81146122ba57600080fd5b50565b6122c681611db1565b81146122d157600080fd5b5056fea2646970667358221220b192b093613bb7e4e7eefaea29106726054901615339be358c70c7394ae765c164736f6c63430008040033

Deployed Bytecode Sourcemap

2029:7262:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3017:94;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4777:159;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3425:102;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6483;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5031:400;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3301:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5516:205;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6277:95;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3578:121;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1523:81;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4431:275;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3155:98;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5812:359;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4181:165;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6378:99;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3757:145;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1726:230;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3959:110;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3017:94;3071:13;3100:5;3093:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3017:94;:::o;4777:159::-;4860:4;4873:39;4882:12;:10;:12::i;:::-;4896:7;4905:6;4873:8;:39::i;:::-;4926:4;4919:11;;4777:159;;;;:::o;3425:102::-;3486:7;3509:12;;3502:19;;3425:102;:::o;6483:::-;1657:12;:10;:12::i;:::-;1646:23;;:7;:5;:7::i;:::-;:23;;;1638:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6557:22:::1;6564:7;6573:5;6557:6;:22::i;:::-;6483:102:::0;:::o;5031:400::-;5137:4;5150:36;5160:6;5168:9;5179:6;5150:9;:36::i;:::-;5195:24;5222:11;:19;5234:6;5222:19;;;;;;;;;;;;;;;:33;5242:12;:10;:12::i;:::-;5222:33;;;;;;;;;;;;;;;;5195:60;;5290:6;5270:16;:26;;5262:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;5348:57;5357:6;5365:12;:10;:12::i;:::-;5398:6;5379:16;:25;;;;:::i;:::-;5348:8;:57::i;:::-;5421:4;5414:11;;;5031:400;;;;;:::o;3301:87::-;3359:5;3380:2;3373:9;;3301:87;:::o;5516:205::-;5604:4;5617:80;5626:12;:10;:12::i;:::-;5640:7;5686:10;5649:11;:25;5661:12;:10;:12::i;:::-;5649:25;;;;;;;;;;;;;;;:34;5675:7;5649:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;5617:8;:80::i;:::-;5711:4;5704:11;;5516:205;;;;:::o;6277:95::-;1657:12;:10;:12::i;:::-;1646:23;;:7;:5;:7::i;:::-;:23;;;1638:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6339:27:::1;6345:12;:10;:12::i;:::-;6359:6;6339:5;:27::i;:::-;6277:95:::0;:::o;3578:121::-;3652:7;3675:9;:18;3685:7;3675:18;;;;;;;;;;;;;;;;3668:25;;3578:121;;;:::o;1523:81::-;1569:7;1592:6;;;;;;;;;;;1585:13;;1523:81;:::o;4431:275::-;4537:4;4555:11;4569:1;4555:15;;4550:133;4580:10;;:17;;4572:5;:25;;;4550:133;;;4617:58;4627:12;:10;:12::i;:::-;4641:10;;4652:5;4641:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4660:7;;4668:5;4660:14;;;;;;;;;;;;;;;;;;;;;;;4617:9;:58::i;:::-;4599:7;;;;;:::i;:::-;;;;4550:133;;;;4696:4;4689:11;;4431:275;;;;;;:::o;3155:98::-;3211:13;3240:7;3233:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3155:98;:::o;5812:359::-;5905:4;5918:24;5945:11;:25;5957:12;:10;:12::i;:::-;5945:25;;;;;;;;;;;;;;;:34;5971:7;5945:34;;;;;;;;;;;;;;;;5918:61;;6014:15;5994:16;:35;;5986:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;6078:67;6087:12;:10;:12::i;:::-;6101:7;6129:15;6110:16;:34;;;;:::i;:::-;6078:8;:67::i;:::-;6161:4;6154:11;;;5812:359;;;;:::o;4181:165::-;4267:4;4280:42;4290:12;:10;:12::i;:::-;4304:9;4315:6;4280:9;:42::i;:::-;4336:4;4329:11;;4181:165;;;;:::o;6378:99::-;1657:12;:10;:12::i;:::-;1646:23;;:7;:5;:7::i;:::-;:23;;;1638:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6450:21:::1;6457:7;6466:4;6450:6;:21::i;:::-;6378:99:::0;:::o;3757:145::-;3846:7;3869:11;:18;3881:5;3869:18;;;;;;;;;;;;;;;:27;3888:7;3869:27;;;;;;;;;;;;;;;;3862:34;;3757:145;;;;:::o;1726:230::-;1657:12;:10;:12::i;:::-;1646:23;;:7;:5;:7::i;:::-;:23;;;1638:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1831:1:::1;1811:22;;:8;:22;;;;1803:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;1917:8;1888:38;;1909:6;::::0;::::1;;;;;;;;1888:38;;;;;;;;;;;;1942:8;1933:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;1726:230:::0;:::o;3959:110::-;4024:4;4044:10;:19;4055:7;4044:19;;;;;;;;;;;;;;;;;;;;;;;;;4037:26;;3959:110;;;:::o;91:92::-;144:7;167:10;160:17;;91:92;:::o;8647:328::-;8762:1;8745:19;;:5;:19;;;;8737:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8839:1;8820:21;;:7;:21;;;;8812:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8919:6;8889:11;:18;8901:5;8889:18;;;;;;;;;;;;;;;:27;8908:7;8889:27;;;;;;;;;;;;;;;:36;;;;8953:7;8937:32;;8946:5;8937:32;;;8962:6;8937:32;;;;;;:::i;:::-;;;;;;;;8647:328;;;:::o;6631:242::-;6721:12;:10;:12::i;:::-;6710:23;;:7;:23;;;;6702:90;;;;;;;;;;;;:::i;:::-;;;;;;;;;6821:6;6799:10;:19;6810:7;6799:19;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;6860:6;6841:26;;6851:7;6841:26;;;;;;;;;;;;6631:242;;:::o;6959:570::-;7079:1;7061:20;;:6;:20;;;;7053:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;7159:1;7138:23;;:9;:23;;;;7130:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;7210:47;7231:6;7239:9;7250:6;7210:20;:47::i;:::-;7266:21;7290:9;:17;7300:6;7290:17;;;;;;;;;;;;;;;;7266:41;;7339:6;7322:13;:23;;7314:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;7431:6;7415:13;:22;;;;:::i;:::-;7395:9;:17;7405:6;7395:17;;;;;;;;;;;;;;;:42;;;;7468:6;7444:9;:20;7454:9;7444:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;7505:9;7488:35;;7497:6;7488:35;;;7516:6;7488:35;;;;;;:::i;:::-;;;;;;;;6959:570;;;;:::o;8101:464::-;8200:1;8181:21;;:7;:21;;;;8173:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8249:49;8270:7;8287:1;8291:6;8249:20;:49::i;:::-;8307:22;8332:9;:18;8342:7;8332:18;;;;;;;;;;;;;;;;8307:43;;8383:6;8365:14;:24;;8357:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;8473:6;8456:14;:23;;;;:::i;:::-;8435:9;:18;8445:7;8435:18;;;;;;;;;;;;;;;:44;;;;8502:6;8486:12;;:22;;;;;;;:::i;:::-;;;;;;;;8548:1;8522:37;;8531:7;8522:37;;;8552:6;8522:37;;;;;;:::i;:::-;;;;;;;;8101:464;;;:::o;9029:259::-;9153:5;9133:25;;:10;:16;9144:4;9133:16;;;;;;;;;;;;;;;;;;;;;;;;;:25;;;:52;;;;;9180:5;9162:23;;:10;:14;9173:2;9162:14;;;;;;;;;;;;;;;;;;;;;;;;;:23;;;9133:52;9125:95;;;;;;;;;;;;:::i;:::-;;;;;;;;;9244:1;9235:6;:10;9227:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;9029:259;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;169:367::-;242:8;252:6;302:3;295:4;287:6;283:17;279:27;269:2;;320:1;317;310:12;269:2;356:6;343:20;333:30;;386:18;378:6;375:30;372:2;;;418:1;415;408:12;372:2;455:4;447:6;443:17;431:29;;509:3;501:4;493:6;489:17;479:8;475:32;472:41;469:2;;;526:1;523;516:12;469:2;259:277;;;;;:::o;559:367::-;632:8;642:6;692:3;685:4;677:6;673:17;669:27;659:2;;710:1;707;700:12;659:2;746:6;733:20;723:30;;776:18;768:6;765:30;762:2;;;808:1;805;798:12;762:2;845:4;837:6;833:17;821:29;;899:3;891:4;883:6;879:17;869:8;865:32;862:41;859:2;;;916:1;913;906:12;859:2;649:277;;;;;:::o;932:139::-;978:5;1016:6;1003:20;994:29;;1032:33;1059:5;1032:33;:::i;:::-;984:87;;;;:::o;1077:262::-;1136:6;1185:2;1173:9;1164:7;1160:23;1156:32;1153:2;;;1201:1;1198;1191:12;1153:2;1244:1;1269:53;1314:7;1305:6;1294:9;1290:22;1269:53;:::i;:::-;1259:63;;1215:117;1143:196;;;;:::o;1345:407::-;1413:6;1421;1470:2;1458:9;1449:7;1445:23;1441:32;1438:2;;;1486:1;1483;1476:12;1438:2;1529:1;1554:53;1599:7;1590:6;1579:9;1575:22;1554:53;:::i;:::-;1544:63;;1500:117;1656:2;1682:53;1727:7;1718:6;1707:9;1703:22;1682:53;:::i;:::-;1672:63;;1627:118;1428:324;;;;;:::o;1758:552::-;1835:6;1843;1851;1900:2;1888:9;1879:7;1875:23;1871:32;1868:2;;;1916:1;1913;1906:12;1868:2;1959:1;1984:53;2029:7;2020:6;2009:9;2005:22;1984:53;:::i;:::-;1974:63;;1930:117;2086:2;2112:53;2157:7;2148:6;2137:9;2133:22;2112:53;:::i;:::-;2102:63;;2057:118;2214:2;2240:53;2285:7;2276:6;2265:9;2261:22;2240:53;:::i;:::-;2230:63;;2185:118;1858:452;;;;;:::o;2316:407::-;2384:6;2392;2441:2;2429:9;2420:7;2416:23;2412:32;2409:2;;;2457:1;2454;2447:12;2409:2;2500:1;2525:53;2570:7;2561:6;2550:9;2546:22;2525:53;:::i;:::-;2515:63;;2471:117;2627:2;2653:53;2698:7;2689:6;2678:9;2674:22;2653:53;:::i;:::-;2643:63;;2598:118;2399:324;;;;;:::o;2729:733::-;2851:6;2859;2867;2875;2924:2;2912:9;2903:7;2899:23;2895:32;2892:2;;;2940:1;2937;2930:12;2892:2;3011:1;3000:9;2996:17;2983:31;3041:18;3033:6;3030:30;3027:2;;;3073:1;3070;3063:12;3027:2;3109:80;3181:7;3172:6;3161:9;3157:22;3109:80;:::i;:::-;3091:98;;;;2954:245;3266:2;3255:9;3251:18;3238:32;3297:18;3289:6;3286:30;3283:2;;;3329:1;3326;3319:12;3283:2;3365:80;3437:7;3428:6;3417:9;3413:22;3365:80;:::i;:::-;3347:98;;;;3209:246;2882:580;;;;;;;:::o;3468:262::-;3527:6;3576:2;3564:9;3555:7;3551:23;3547:32;3544:2;;;3592:1;3589;3582:12;3544:2;3635:1;3660:53;3705:7;3696:6;3685:9;3681:22;3660:53;:::i;:::-;3650:63;;3606:117;3534:196;;;;:::o;3736:118::-;3823:24;3841:5;3823:24;:::i;:::-;3818:3;3811:37;3801:53;;:::o;3860:109::-;3941:21;3956:5;3941:21;:::i;:::-;3936:3;3929:34;3919:50;;:::o;3975:364::-;4063:3;4091:39;4124:5;4091:39;:::i;:::-;4146:71;4210:6;4205:3;4146:71;:::i;:::-;4139:78;;4226:52;4271:6;4266:3;4259:4;4252:5;4248:16;4226:52;:::i;:::-;4303:29;4325:6;4303:29;:::i;:::-;4298:3;4294:39;4287:46;;4067:272;;;;;:::o;4345:366::-;4487:3;4508:67;4572:2;4567:3;4508:67;:::i;:::-;4501:74;;4584:93;4673:3;4584:93;:::i;:::-;4702:2;4697:3;4693:12;4686:19;;4491:220;;;:::o;4717:366::-;4859:3;4880:67;4944:2;4939:3;4880:67;:::i;:::-;4873:74;;4956:93;5045:3;4956:93;:::i;:::-;5074:2;5069:3;5065:12;5058:19;;4863:220;;;:::o;5089:366::-;5231:3;5252:67;5316:2;5311:3;5252:67;:::i;:::-;5245:74;;5328:93;5417:3;5328:93;:::i;:::-;5446:2;5441:3;5437:12;5430:19;;5235:220;;;:::o;5461:366::-;5603:3;5624:67;5688:2;5683:3;5624:67;:::i;:::-;5617:74;;5700:93;5789:3;5700:93;:::i;:::-;5818:2;5813:3;5809:12;5802:19;;5607:220;;;:::o;5833:366::-;5975:3;5996:67;6060:2;6055:3;5996:67;:::i;:::-;5989:74;;6072:93;6161:3;6072:93;:::i;:::-;6190:2;6185:3;6181:12;6174:19;;5979:220;;;:::o;6205:366::-;6347:3;6368:67;6432:2;6427:3;6368:67;:::i;:::-;6361:74;;6444:93;6533:3;6444:93;:::i;:::-;6562:2;6557:3;6553:12;6546:19;;6351:220;;;:::o;6577:366::-;6719:3;6740:67;6804:2;6799:3;6740:67;:::i;:::-;6733:74;;6816:93;6905:3;6816:93;:::i;:::-;6934:2;6929:3;6925:12;6918:19;;6723:220;;;:::o;6949:366::-;7091:3;7112:67;7176:2;7171:3;7112:67;:::i;:::-;7105:74;;7188:93;7277:3;7188:93;:::i;:::-;7306:2;7301:3;7297:12;7290:19;;7095:220;;;:::o;7321:366::-;7463:3;7484:67;7548:2;7543:3;7484:67;:::i;:::-;7477:74;;7560:93;7649:3;7560:93;:::i;:::-;7678:2;7673:3;7669:12;7662:19;;7467:220;;;:::o;7693:366::-;7835:3;7856:67;7920:2;7915:3;7856:67;:::i;:::-;7849:74;;7932:93;8021:3;7932:93;:::i;:::-;8050:2;8045:3;8041:12;8034:19;;7839:220;;;:::o;8065:366::-;8207:3;8228:67;8292:2;8287:3;8228:67;:::i;:::-;8221:74;;8304:93;8393:3;8304:93;:::i;:::-;8422:2;8417:3;8413:12;8406:19;;8211:220;;;:::o;8437:366::-;8579:3;8600:67;8664:2;8659:3;8600:67;:::i;:::-;8593:74;;8676:93;8765:3;8676:93;:::i;:::-;8794:2;8789:3;8785:12;8778:19;;8583:220;;;:::o;8809:366::-;8951:3;8972:67;9036:2;9031:3;8972:67;:::i;:::-;8965:74;;9048:93;9137:3;9048:93;:::i;:::-;9166:2;9161:3;9157:12;9150:19;;8955:220;;;:::o;9181:366::-;9323:3;9344:67;9408:2;9403:3;9344:67;:::i;:::-;9337:74;;9420:93;9509:3;9420:93;:::i;:::-;9538:2;9533:3;9529:12;9522:19;;9327:220;;;:::o;9553:118::-;9640:24;9658:5;9640:24;:::i;:::-;9635:3;9628:37;9618:53;;:::o;9677:112::-;9760:22;9776:5;9760:22;:::i;:::-;9755:3;9748:35;9738:51;;:::o;9795:222::-;9888:4;9926:2;9915:9;9911:18;9903:26;;9939:71;10007:1;9996:9;9992:17;9983:6;9939:71;:::i;:::-;9893:124;;;;:::o;10023:210::-;10110:4;10148:2;10137:9;10133:18;10125:26;;10161:65;10223:1;10212:9;10208:17;10199:6;10161:65;:::i;:::-;10115:118;;;;:::o;10239:313::-;10352:4;10390:2;10379:9;10375:18;10367:26;;10439:9;10433:4;10429:20;10425:1;10414:9;10410:17;10403:47;10467:78;10540:4;10531:6;10467:78;:::i;:::-;10459:86;;10357:195;;;;:::o;10558:419::-;10724:4;10762:2;10751:9;10747:18;10739:26;;10811:9;10805:4;10801:20;10797:1;10786:9;10782:17;10775:47;10839:131;10965:4;10839:131;:::i;:::-;10831:139;;10729:248;;;:::o;10983:419::-;11149:4;11187:2;11176:9;11172:18;11164:26;;11236:9;11230:4;11226:20;11222:1;11211:9;11207:17;11200:47;11264:131;11390:4;11264:131;:::i;:::-;11256:139;;11154:248;;;:::o;11408:419::-;11574:4;11612:2;11601:9;11597:18;11589:26;;11661:9;11655:4;11651:20;11647:1;11636:9;11632:17;11625:47;11689:131;11815:4;11689:131;:::i;:::-;11681:139;;11579:248;;;:::o;11833:419::-;11999:4;12037:2;12026:9;12022:18;12014:26;;12086:9;12080:4;12076:20;12072:1;12061:9;12057:17;12050:47;12114:131;12240:4;12114:131;:::i;:::-;12106:139;;12004:248;;;:::o;12258:419::-;12424:4;12462:2;12451:9;12447:18;12439:26;;12511:9;12505:4;12501:20;12497:1;12486:9;12482:17;12475:47;12539:131;12665:4;12539:131;:::i;:::-;12531:139;;12429:248;;;:::o;12683:419::-;12849:4;12887:2;12876:9;12872:18;12864:26;;12936:9;12930:4;12926:20;12922:1;12911:9;12907:17;12900:47;12964:131;13090:4;12964:131;:::i;:::-;12956:139;;12854:248;;;:::o;13108:419::-;13274:4;13312:2;13301:9;13297:18;13289:26;;13361:9;13355:4;13351:20;13347:1;13336:9;13332:17;13325:47;13389:131;13515:4;13389:131;:::i;:::-;13381:139;;13279:248;;;:::o;13533:419::-;13699:4;13737:2;13726:9;13722:18;13714:26;;13786:9;13780:4;13776:20;13772:1;13761:9;13757:17;13750:47;13814:131;13940:4;13814:131;:::i;:::-;13806:139;;13704:248;;;:::o;13958:419::-;14124:4;14162:2;14151:9;14147:18;14139:26;;14211:9;14205:4;14201:20;14197:1;14186:9;14182:17;14175:47;14239:131;14365:4;14239:131;:::i;:::-;14231:139;;14129:248;;;:::o;14383:419::-;14549:4;14587:2;14576:9;14572:18;14564:26;;14636:9;14630:4;14626:20;14622:1;14611:9;14607:17;14600:47;14664:131;14790:4;14664:131;:::i;:::-;14656:139;;14554:248;;;:::o;14808:419::-;14974:4;15012:2;15001:9;14997:18;14989:26;;15061:9;15055:4;15051:20;15047:1;15036:9;15032:17;15025:47;15089:131;15215:4;15089:131;:::i;:::-;15081:139;;14979:248;;;:::o;15233:419::-;15399:4;15437:2;15426:9;15422:18;15414:26;;15486:9;15480:4;15476:20;15472:1;15461:9;15457:17;15450:47;15514:131;15640:4;15514:131;:::i;:::-;15506:139;;15404:248;;;:::o;15658:419::-;15824:4;15862:2;15851:9;15847:18;15839:26;;15911:9;15905:4;15901:20;15897:1;15886:9;15882:17;15875:47;15939:131;16065:4;15939:131;:::i;:::-;15931:139;;15829:248;;;:::o;16083:419::-;16249:4;16287:2;16276:9;16272:18;16264:26;;16336:9;16330:4;16326:20;16322:1;16311:9;16307:17;16300:47;16364:131;16490:4;16364:131;:::i;:::-;16356:139;;16254:248;;;:::o;16508:222::-;16601:4;16639:2;16628:9;16624:18;16616:26;;16652:71;16720:1;16709:9;16705:17;16696:6;16652:71;:::i;:::-;16606:124;;;;:::o;16736:214::-;16825:4;16863:2;16852:9;16848:18;16840:26;;16876:67;16940:1;16929:9;16925:17;16916:6;16876:67;:::i;:::-;16830:120;;;;:::o;16956:99::-;17008:6;17042:5;17036:12;17026:22;;17015:40;;;:::o;17061:169::-;17145:11;17179:6;17174:3;17167:19;17219:4;17214:3;17210:14;17195:29;;17157:73;;;;:::o;17236:305::-;17276:3;17295:20;17313:1;17295:20;:::i;:::-;17290:25;;17329:20;17347:1;17329:20;:::i;:::-;17324:25;;17483:1;17415:66;17411:74;17408:1;17405:81;17402:2;;;17489:18;;:::i;:::-;17402:2;17533:1;17530;17526:9;17519:16;;17280:261;;;;:::o;17547:191::-;17587:4;17607:20;17625:1;17607:20;:::i;:::-;17602:25;;17641:20;17659:1;17641:20;:::i;:::-;17636:25;;17680:1;17677;17674:8;17671:2;;;17685:18;;:::i;:::-;17671:2;17730:1;17727;17723:9;17715:17;;17592:146;;;;:::o;17744:96::-;17781:7;17810:24;17828:5;17810:24;:::i;:::-;17799:35;;17789:51;;;:::o;17846:90::-;17880:7;17923:5;17916:13;17909:21;17898:32;;17888:48;;;:::o;17942:126::-;17979:7;18019:42;18012:5;18008:54;17997:65;;17987:81;;;:::o;18074:77::-;18111:7;18140:5;18129:16;;18119:32;;;:::o;18157:86::-;18192:7;18232:4;18225:5;18221:16;18210:27;;18200:43;;;:::o;18249:307::-;18317:1;18327:113;18341:6;18338:1;18335:13;18327:113;;;18426:1;18421:3;18417:11;18411:18;18407:1;18402:3;18398:11;18391:39;18363:2;18360:1;18356:10;18351:15;;18327:113;;;18458:6;18455:1;18452:13;18449:2;;;18538:1;18529:6;18524:3;18520:16;18513:27;18449:2;18298:258;;;;:::o;18562:320::-;18606:6;18643:1;18637:4;18633:12;18623:22;;18690:1;18684:4;18680:12;18711:18;18701:2;;18767:4;18759:6;18755:17;18745:27;;18701:2;18829;18821:6;18818:14;18798:18;18795:38;18792:2;;;18848:18;;:::i;:::-;18792:2;18613:269;;;;:::o;18888:167::-;18925:3;18948:22;18964:5;18948:22;:::i;:::-;18939:31;;18992:4;18985:5;18982:15;18979:2;;;19000:18;;:::i;:::-;18979:2;19047:1;19040:5;19036:13;19029:20;;18929:126;;;:::o;19061:180::-;19109:77;19106:1;19099:88;19206:4;19203:1;19196:15;19230:4;19227:1;19220:15;19247:180;19295:77;19292:1;19285:88;19392:4;19389:1;19382:15;19416:4;19413:1;19406:15;19433:102;19474:6;19525:2;19521:7;19516:2;19509:5;19505:14;19501:28;19491:38;;19481:54;;;:::o;19541:222::-;19681:34;19677:1;19669:6;19665:14;19658:58;19750:5;19745:2;19737:6;19733:15;19726:30;19647:116;:::o;19769:221::-;19909:34;19905:1;19897:6;19893:14;19886:58;19978:4;19973:2;19965:6;19961:15;19954:29;19875:115;:::o;19996:225::-;20136:34;20132:1;20124:6;20120:14;20113:58;20205:8;20200:2;20192:6;20188:15;20181:33;20102:119;:::o;20227:221::-;20367:34;20363:1;20355:6;20351:14;20344:58;20436:4;20431:2;20423:6;20419:15;20412:29;20333:115;:::o;20454:225::-;20594:34;20590:1;20582:6;20578:14;20571:58;20663:8;20658:2;20650:6;20646:15;20639:33;20560:119;:::o;20685:182::-;20825:34;20821:1;20813:6;20809:14;20802:58;20791:76;:::o;20873:227::-;21013:34;21009:1;21001:6;20997:14;20990:58;21082:10;21077:2;21069:6;21065:15;21058:35;20979:121;:::o;21106:182::-;21246:34;21242:1;21234:6;21230:14;21223:58;21212:76;:::o;21294:241::-;21434:34;21430:1;21422:6;21418:14;21411:58;21503:24;21498:2;21490:6;21486:15;21479:49;21400:135;:::o;21541:220::-;21681:34;21677:1;21669:6;21665:14;21658:58;21750:3;21745:2;21737:6;21733:15;21726:28;21647:114;:::o;21767:224::-;21907:34;21903:1;21895:6;21891:14;21884:58;21976:7;21971:2;21963:6;21959:15;21952:32;21873:118;:::o;21997:223::-;22137:34;22133:1;22125:6;22121:14;22114:58;22206:6;22201:2;22193:6;22189:15;22182:31;22103:117;:::o;22226:224::-;22366:34;22362:1;22354:6;22350:14;22343:58;22435:7;22430:2;22422:6;22418:15;22411:32;22332:118;:::o;22456:180::-;22596:32;22592:1;22584:6;22580:14;22573:56;22562:74;:::o;22642:122::-;22715:24;22733:5;22715:24;:::i;:::-;22708:5;22705:35;22695:2;;22754:1;22751;22744:12;22695:2;22685:79;:::o;22770:122::-;22843:24;22861:5;22843:24;:::i;:::-;22836:5;22833:35;22823:2;;22882:1;22879;22872:12;22823:2;22813:79;:::o

Swarm Source

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