ETH Price: $3,306.43 (-0.96%)

Token

XELO (XELO)
 

Overview

Max Total Supply

13,341,413.394840540179 XELO

Holders

497 (0.00%)

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
airdropbouns.eth
Balance
12,000 XELO

Value
$0.00
0x1d59c8e80c8f023d3f005f498e14a3229863b177
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Solex.ai, a hybrid intelligence platform, generates price forecasts for crypto and other assets using collective wisdom and proprietary algorithms. XELO token pays for data access, rewards top forecasters, transfers value from customers to creators.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
XELO

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
london EvmVersion
File 1 of 19 : xelo.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import "@thirdweb-dev/contracts/base/ERC20Base.sol";
contract XELO is ERC20Base {
bool private _paused; // Whether token transfers are currently paused
mapping(address => uint256) private _balances; // A mapping of addresses to their balances
address[] private _restrictedAccounts; // A list of restricted addresses
mapping(address => uint8) private _accountsToRestrictions; // A mapping of restricted addresses and their restrictions
mapping(address => uint256) private _accountsToRestrictionsEndDate; // A mapping of addresses to their restriction end dates
uint256 private _maxTotalSupply; // Max total supply of tokens
address private _taxRecipient; // The address that receives tax
uint256 private _taxPercentage; // The percentage of tax to be paid on transfers
// Restriction types
uint8 constant NONE = 0;
uint8 constant SEND = 1;
uint8 constant RECEIVE = 2;
uint8 constant BOTH = 3;
constructor() ERC20Base("XELO", "XELO") {
_taxRecipient = owner();
_taxPercentage = 0;
_maxTotalSupply = 2000000000000000000000000000;
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 2 of 19 : ERC20Base.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-License-Identifier: Apache-2.0
pragma solidity ^0.8.0;
/// @author thirdweb
import "../openzeppelin-presets/token/ERC20/extensions/ERC20Permit.sol";
import "../extension/ContractMetadata.sol";
import "../extension/Multicall.sol";
import "../extension/Ownable.sol";
/**
* The `ERC20Base` smart contract implements the ERC20 standard.
* It includes the following additions to standard ERC20 logic:
*
* - Ability to mint & burn tokens via the provided `mint` & `burn` functions.
*
* - Ownership of the contract, with the ability to restrict certain functions to
* only be called by the contract's owner.
*
* - Multicall capability to perform multiple actions atomically
*
* - EIP 2612 compliance: See {ERC20-permit} method, which can be used to change an account's ERC20 allowance by
* presenting a message signed by the account.
*/
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 3 of 19 : IERC20.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-License-Identifier: Apache-2.0
pragma solidity ^0.8.0;
/**
* @title ERC20 interface
* @dev see https://github.com/ethereum/EIPs/issues/20
*/
interface IERC20 {
function totalSupply() external view returns (uint256);
function balanceOf(address who) external view returns (uint256);
function allowance(address owner, address spender) external view returns (uint256);
function transfer(address to, uint256 value) external returns (bool);
function approve(address spender, uint256 value) external returns (bool);
function transferFrom(
address from,
address to,
uint256 value
) external returns (bool);
event Transfer(address indexed from, address indexed to, uint256 value);
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 4 of 19 : IERC20Metadata.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// SPDX-License-Identifier: Apache-2.0
pragma solidity ^0.8.0;
/**
* @title ERC20Metadata interface
* @dev see https://github.com/ethereum/EIPs/issues/20
*/
interface IERC20Metadata {
function name() external view returns (string memory);
function symbol() external view returns (string memory);
function decimals() external view returns (uint8);
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 5 of 19 : IERC20Permit.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (token/ERC20/extensions/draft-IERC20Permit.sol)
pragma solidity ^0.8.0;
/**
* @dev Interface of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in
* https://eips.ethereum.org/EIPS/eip-2612[EIP-2612].
*
* Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by
* presenting a message signed by the account. By not relying on {IERC20-approve}, the token holder account doesn't
* need to send a transaction, and thus is not required to hold Ether at all.
*/
interface IERC20Permit {
/**
* @dev Sets `value` as the allowance of `spender` over ``owner``'s tokens,
* given ``owner``'s signed approval.
*
* IMPORTANT: The same issues {IERC20-approve} has related to transaction
* ordering also apply here.
*
* Emits an {Approval} event.
*
* Requirements:
*
* - `spender` cannot be the zero address.
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 6 of 19 : ContractMetadata.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-License-Identifier: Apache-2.0
pragma solidity ^0.8.0;
/// @author thirdweb
import "./interface/IContractMetadata.sol";
/**
* @title Contract Metadata
* @notice Thirdweb's `ContractMetadata` is a contract extension for any base contracts. It lets you set a metadata URI
* for you contract.
* Additionally, `ContractMetadata` is necessary for NFT contracts that want royalties to get distributed on OpenSea.
*/
abstract contract ContractMetadata is IContractMetadata {
/// @notice Returns the contract metadata URI.
string public override contractURI;
/**
* @notice Lets a contract admin set the URI for contract-level metadata.
* @dev Caller should be authorized to setup contractURI, e.g. contract admin.
* See {_canSetContractURI}.
* Emits {ContractURIUpdated Event}.
*
* @param _uri keccak256 hash of the role. e.g. keccak256("TRANSFER_ROLE")
*/
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 7 of 19 : Multicall.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-License-Identifier: Apache 2.0
pragma solidity ^0.8.0;
/// @author thirdweb
import "../lib/TWAddress.sol";
import "./interface/IMulticall.sol";
/**
* @dev Provides a function to batch together multiple calls in a single external call.
*
* _Available since v4.1._
*/
contract Multicall is IMulticall {
/**
* @notice Receives and executes a batch of function calls on this contract.
* @dev Receives and executes a batch of function calls on this contract.
*
* @param data The bytes data that makes up the batch of function calls to execute.
* @return results The bytes data that makes up the result of the batch of function calls executed.
*/
function multicall(bytes[] calldata data) external virtual override returns (bytes[] memory results) {
results = new bytes[](data.length);
for (uint256 i = 0; i < data.length; i++) {
results[i] = TWAddress.functionDelegateCall(address(this), data[i]);
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 8 of 19 : Ownable.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-License-Identifier: Apache-2.0
pragma solidity ^0.8.0;
/// @author thirdweb
import "./interface/IOwnable.sol";
/**
* @title Ownable
* @notice Thirdweb's `Ownable` is a contract extension to be used with any base contract. It exposes functions for setting and reading
* who the 'owner' of the inheriting smart contract is, and lets the inheriting contract perform conditional logic that uses
* information about who the contract's owner is.
*/
abstract contract Ownable is IOwnable {
/// @dev Owner of the contract (purpose: OpenSea compatibility)
address private _owner;
/// @dev Reverts if caller is not the owner.
modifier onlyOwner() {
if (msg.sender != _owner) {
revert("Not authorized");
}
_;
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 9 of 19 : IContractMetadata.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// SPDX-License-Identifier: Apache-2.0
pragma solidity ^0.8.0;
/// @author thirdweb
/**
* Thirdweb's `ContractMetadata` is a contract extension for any base contracts. It lets you set a metadata URI
* for you contract.
*
* Additionally, `ContractMetadata` is necessary for NFT contracts that want royalties to get distributed on OpenSea.
*/
interface IContractMetadata {
/// @dev Returns the metadata URI of the contract.
function contractURI() external view returns (string memory);
/**
* @dev Sets contract URI for the storefront-level metadata of the contract.
* Only module admin can call this function.
*/
function setContractURI(string calldata _uri) external;
/// @dev Emitted when the contract URI is updated.
event ContractURIUpdated(string prevURI, string newURI);
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 10 of 19 : IMulticall.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
/// @author thirdweb
/**
* @dev Provides a function to batch together multiple calls in a single external call.
*
* _Available since v4.1._
*/
interface IMulticall {
/**
* @dev Receives and executes a batch of function calls on this contract.
*/
function multicall(bytes[] calldata data) external returns (bytes[] memory results);
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 11 of 19 : IOwnable.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// SPDX-License-Identifier: Apache-2.0
pragma solidity ^0.8.0;
/// @author thirdweb
/**
* Thirdweb's `Ownable` is a contract extension to be used with any base contract. It exposes functions for setting and reading
* who the 'owner' of the inheriting smart contract is, and lets the inheriting contract perform conditional logic that uses
* information about who the contract's owner is.
*/
interface IOwnable {
/// @dev Returns the owner of the contract.
function owner() external view returns (address);
/// @dev Lets a module admin set a new owner for the contract. The new owner must be a module admin.
function setOwner(address _newOwner) external;
/// @dev Emitted when a new Owner is set.
event OwnerUpdated(address indexed prevOwner, address indexed newOwner);
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 12 of 19 : TWAddress.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-License-Identifier: Apache 2.0
pragma solidity ^0.8.0;
/// @author thirdweb
/**
* @dev Collection of functions related to the address type
*/
library TWAddress {
/**
* @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
* ====
*
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 13 of 19 : TWStrings.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-License-Identifier: Apache 2.0
pragma solidity ^0.8.0;
/// @author thirdweb
/**
* @dev String operations.
*/
library TWStrings {
bytes16 private constant _HEX_SYMBOLS = "0123456789abcdef";
/**
* @dev Converts a `uint256` to its ASCII `string` decimal representation.
*/
function toString(uint256 value) internal pure returns (string memory) {
// Inspired by OraclizeAPI's implementation - MIT licence
// https://github.com/oraclize/ethereum-api/blob/b42146b063c7d6ee1358846c198246239e9360e8/oraclizeAPI_0.4.25.sol
if (value == 0) {
return "0";
}
uint256 temp = value;
uint256 digits;
while (temp != 0) {
digits++;
temp /= 10;
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 14 of 19 : ERC20.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.5.0) (token/ERC20/ERC20.sol)
pragma solidity ^0.8.0;
import "../../../eip/interface/IERC20.sol";
import "../../../eip/interface/IERC20Metadata.sol";
import "../../utils/Context.sol";
/**
* @dev Implementation of the {IERC20} interface.
*
* This implementation is agnostic to the way tokens are created. This means
* that a supply mechanism has to be added in a derived contract using {_mint}.
* For a generic mechanism see {ERC20PresetMinterPauser}.
*
* TIP: For a detailed writeup see our guide
* https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How
* to implement supply mechanisms].
*
* We have followed general OpenZeppelin Contracts guidelines: functions revert
* instead returning `false` on failure. This behavior is nonetheless
* conventional and does not conflict with the expectations of ERC20
* applications.
*
* Additionally, an {Approval} event is emitted on calls to {transferFrom}.
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 15 of 19 : ERC20Permit.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (token/ERC20/extensions/draft-ERC20Permit.sol)
pragma solidity ^0.8.0;
import "../../../../eip/interface/IERC20Permit.sol";
import "../ERC20.sol";
import "../../../utils/cryptography/EIP712.sol";
import "../../../utils/cryptography/ECDSA.sol";
import "../../../utils/Counters.sol";
/**
* @dev Implementation of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in
* https://eips.ethereum.org/EIPS/eip-2612[EIP-2612].
*
* Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by
* presenting a message signed by the account. By not relying on `{IERC20-approve}`, the token holder account doesn't
* need to send a transaction, and thus is not required to hold Ether at all.
*
* _Available since v3.4._
*/
abstract contract ERC20Permit is ERC20, IERC20Permit {
using Counters for Counters.Counter;
mapping(address => Counters.Counter) private _nonces;
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 16 of 19 : Context.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)
pragma solidity ^0.8.0;
/**
* @dev Provides information about the current execution context, including the
* sender of the transaction and its data. While these are generally available
* via msg.sender and msg.data, they should not be accessed in such a direct
* manner, since when dealing with meta-transactions the account sending and
* paying for execution may not be the actual sender (as far as an application
* is concerned).
*
* This contract is only required for intermediate, library-like contracts.
*/
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
function _msgData() internal view virtual returns (bytes calldata) {
return msg.data;
}
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 17 of 19 : Counters.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (utils/Counters.sol)
pragma solidity ^0.8.0;
/**
* @title Counters
* @author Matt Condon (@shrugs)
* @dev Provides counters that can only be incremented, decremented or reset. This can be used e.g. to track the number
* of elements in a mapping, issuing ERC721 ids, or counting request ids.
*
* Include with `using Counters for Counters.Counter;`
*/
library Counters {
struct Counter {
// This variable should never be directly accessed by users of the library: interactions must be restricted to
// the library's function. As of Solidity v0.5.2, this cannot be enforced, though there is a proposal to add
// this feature: see https://github.com/ethereum/solidity/issues/4637
uint256 _value; // default: 0
}
function current(Counter storage counter) internal view returns (uint256) {
return counter._value;
}
function increment(Counter storage counter) internal {
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 18 of 19 : ECDSA.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.5.0) (utils/cryptography/ECDSA.sol)
pragma solidity ^0.8.0;
import "../../../lib/TWStrings.sol";
/**
* @dev Elliptic Curve Digital Signature Algorithm (ECDSA) operations.
*
* These functions can be used to verify that a message was signed by the holder
* of the private keys of a given address.
*/
library ECDSA {
enum RecoverError {
NoError,
InvalidSignature,
InvalidSignatureLength,
InvalidSignatureS,
InvalidSignatureV
}
function _throwError(RecoverError error) private pure {
if (error == RecoverError.NoError) {
return; // no error: do nothing
} else if (error == RecoverError.InvalidSignature) {
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 19 of 19 : EIP712.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (utils/cryptography/draft-EIP712.sol)
pragma solidity ^0.8.0;
import "./ECDSA.sol";
/**
* @dev https://eips.ethereum.org/EIPS/eip-712[EIP 712] is a standard for hashing and signing of typed structured data.
*
* The encoding specified in the EIP is very generic, and such a generic implementation in Solidity is not feasible,
* thus this contract does not implement the encoding itself. Protocols need to implement the type-specific encoding
* they need in their contracts using a combination of `abi.encode` and `keccak256`.
*
* This contract implements the EIP 712 domain separator ({_domainSeparatorV4}) that is used as part of the encoding
* scheme, and the final step of the encoding to obtain the message digest that is then signed via ECDSA
* ({_hashTypedDataV4}).
*
* The implementation of the domain separator was designed to be as efficient as possible while still properly updating
* the chain id to protect against replay attacks on an eventual fork of the chain.
*
* NOTE: This contract implements the version of the encoding known as "v4", as implemented by the JSON RPC method
* https://docs.metamask.io/guide/signing-data.html[`eth_signTypedDataV4` in MetaMask].
*
* _Available since v3.4._
*/
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Settings
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{
"optimizer": {
"enabled": true,
"runs": 200
},
"evmVersion": "london",
"remappings": [],
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
}
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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":false,"internalType":"string","name":"prevURI","type":"string"},{"indexed":false,"internalType":"string","name":"newURI","type":"string"}],"name":"ContractURIUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"prevOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"_recipients","type":"address[]"},{"internalType":"uint256[]","name":"_amounts","type":"uint256[]"}],"name":"batchMint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"canReceive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"canSend","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"contractURI","outputs":[{"internalType":"string","name":"","type":"string"}],"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":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"forceMint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getMaxTotalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getRestrictions","outputs":[{"internalType":"address[]","name":"","type":"address[]"},{"internalType":"uint8[]","name":"","type":"uint8[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTaxInfo","outputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"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":"isPaused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"},{"internalType":"uint8","name":"_restriction","type":"uint8"}],"name":"isRestricted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"mintTo","outputs":[],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"uint8","name":"_restriction","type":"uint8"},{"internalType":"uint256","name":"_endDate","type":"uint256"}],"name":"mintWithRestriction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes[]","name":"","type":"bytes[]"}],"name":"multicall","outputs":[{"internalType":"bytes[]","name":"","type":"bytes[]"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint8","name":"","type":"uint8"},{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"string","name":"_uri","type":"string"}],"name":"setContractURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newMaxTotalSupply","type":"uint256"}],"name":"setMaxTotalSupply","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"setOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"},{"internalType":"uint8","name":"_restriction","type":"uint8"},{"internalType":"uint256","name":"_endDate","type":"uint256"}],"name":"setRestriction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newTaxPercentage","type":"uint256"}],"name":"setTaxPercentage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newTaxRecipient","type":"address"}],"name":"setTaxRecipient","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":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"}]

6101006040527f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c960e0523480156200003657600080fd5b5060408051808201825260048082526358454c4f60e01b60208084018290528451808601909552918452908301529081818181600562000077838262000313565b50600662000086828262000313565b50504660a052503060c0526200009b620000eb565b60805250620000ac90503362000182565b5050600154600e80546001600160a01b0319166001600160a01b039092169190911790556000600f556b06765c793fa10079d0000000600d55620003df565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f62000118620001d4565b80516020918201206040805192830193909352918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b600180546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8292fce18fa69edf4db7b94ea2e58241df0ae57f97e0a6c9b29067028bf92d7690600090a35050565b606060058054620001e59062000284565b80601f0160208091040260200160405190810160405280929190818152602001828054620002139062000284565b8015620002645780601f10620002385761010080835404028352916020019162000264565b820191906000526020600020905b8154815290600101906020018083116200024657829003601f168201915b5050505050905090565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200029957607f821691505b602082108103620002ba57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200030e57600081815260208120601f850160051c81016020861015620002e95750805b601f850160051c820191505b818110156200030a57828155600101620002f5565b5050505b505050565b81516001600160401b038111156200032f576200032f6200026e565b620003478162000340845462000284565b84620002c0565b602080601f8311600181146200037f5760008415620003665750858301515b600019600386901b1c1916600185901b1785556200030a565b600085815260208120601f198616915b82811015620003b0578886015182559484019460019091019084016200038f565b5085821015620003cf5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60805160a05160c05160e05161270f62000416600039600050506000610881015260006108ab015260006108d5015261270f6000f3fe608060405234801561001057600080fd5b506004361061023d5760003560e01c8063685731071161013b57806395d89b41116100b8578063b187bd261161007c578063b187bd26146104e8578063c4195cb8146104f3578063d505accf1461050a578063dd62ed3e1461051d578063e8a3d4851461055657600080fd5b806395d89b41146104875780639dc29fac1461048f578063a457c2d7146104a2578063a9059cbb146104b5578063ac9650d8146104c857600080fd5b80637ecebe00116100ff5780637ecebe001461042b5780638456cb591461043e5780638da5cb5b1461044657806390d370ba14610461578063938e3d7b1461047457600080fd5b806368573107146103b6578063699abb3c146103c95780636a9d5c84146103dc57806370a08231146103ef57806378e3079e1461041857600080fd5b8063313ce567116101c957806340c10f191161018d57806340c10f191461036257806342966c6814610375578063449a52f8146103885780635db30bb11461039b57806367103561146103a357600080fd5b8063313ce5671461031d5780633644e5151461032c57806339509351146103345780633f3e4c11146103475780633f4ba83a1461035a57600080fd5b80631649b993116102105780631649b993146102ab57806318160ddd146102be57806322a62e1e146102d057806323b872dd146102f75780632bc06a921461030a57600080fd5b806306fdde0314610242578063095ea7b31461026057806313af40351461028357806313b2f91c14610298575b600080fd5b61024a61055e565b6040516102579190611e45565b60405180910390f35b61027361026e366004611e7b565b6105f0565b6040519015158152602001610257565b610296610291366004611ea5565b61060a565b005b6102966102a6366004611ed1565b610643565b6102966102b9366004611f0d565b6107b2565b6004545b604051908152602001610257565b6102d86107f7565b604080516001600160a01b039093168352602083019190915201610257565b610273610305366004611f51565b61083c565b610273610318366004611ea5565b610860565b60405160128152602001610257565b6102c2610874565b610273610342366004611e7b565b610904565b610296610355366004611f7d565b610943565b6102966109fd565b610296610370366004611e7b565b610a72565b610296610383366004611f7d565b610b53565b610296610396366004611e7b565b610baa565b600d546102c2565b6102736103b1366004611f96565b610bf2565b6102966103c436600461209f565b610ca4565b6102966103d7366004611f7d565b610e82565b6102966103ea366004611e7b565b610f1b565b6102c26103fd366004611ea5565b6001600160a01b031660009081526002602052604090205490565b610296610426366004611ea5565b610f45565b6102c2610439366004611ea5565b610f91565b610296610faf565b6001546040516001600160a01b039091168152602001610257565b61027361046f366004611ea5565b61102c565b61029661048236600461215f565b611039565b61024a611066565b61029661049d366004611e7b565b611075565b6102736104b0366004611e7b565b6110cc565b6102736104c3366004611e7b565b61115e565b6104db6104d63660046121f4565b61124a565b6040516102579190612269565b60085460ff16610273565b6104fb6112b1565b60405161025793929190612306565b6102966105183660046123a0565b6114b9565b6102c261052b36600461240a565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b61024a6114f8565b60606005805461056d90612434565b80601f016020809104026020016040519081016040528092919081815260200182805461059990612434565b80156105e65780601f106105bb576101008083540402835291602001916105e6565b820191906000526020600020905b8154815290600101906020018083116105c957829003601f168201915b5050505050905090565b6000336105fe818585611586565b60019150505b92915050565b6106126116ab565b6106375760405162461bcd60e51b815260040161062e9061246e565b60405180910390fd5b610640816116d8565b50565b6001546001600160a01b0316331461066d5760405162461bcd60e51b815260040161062e9061246e565b6001600160a01b0383166106c35760405162461bcd60e51b815260206004820152601c60248201527f43616e6e6f74207265737472696374207a65726f206164647265737300000000604482015260640161062e565b6001546001600160a01b03166001600160a01b0316836001600160a01b0316036107275760405162461bcd60e51b815260206004820152601560248201527421b0b73737ba103932b9ba3934b1ba1037bbb732b960591b604482015260640161062e565b600360ff831611156107715760405162461bcd60e51b815260206004820152601360248201527224b73b30b634b2103932b9ba3934b1ba34b7b760691b604482015260640161062e565b61077a8361172a565b6001600160a01b039092166000908152600b60209081526040808320805460ff90951660ff1990951694909417909355600c90522055565b6001546001600160a01b031633146107dc5760405162461bcd60e51b815260040161062e9061246e565b6107e68484610a72565b6107f1848383610643565b50505050565b60015460009081906001600160a01b031633146108265760405162461bcd60e51b815260040161062e9061246e565b5050600e54600f546001600160a01b0390911691565b60003361084a85828561180b565b610855858585611897565b506001949350505050565b600061086d826001610bf2565b1592915050565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480156108cd57507f000000000000000000000000000000000000000000000000000000000000000046145b156108f757507f000000000000000000000000000000000000000000000000000000000000000090565b6108ff611a65565b905090565b3360008181526003602090815260408083206001600160a01b03871684529091528120549091906105fe908290869061093e9087906124ac565b611586565b6001546001600160a01b0316331461096d5760405162461bcd60e51b815260040161062e9061246e565b6004548110156109f85760405162461bcd60e51b815260206004820152604a60248201527f4e6577206d617820746f74616c20737570706c79206d7573742062652067726560448201527f61746572207468616e206f7220657175616c20746f2063757272656e7420746f60648201526974616c20737570706c7960b01b608482015260a40161062e565b600d55565b6001546001600160a01b03163314610a275760405162461bcd60e51b815260040161062e9061246e565b60085460ff16610a665760405162461bcd60e51b815260206004820152600a602482015269139bdd081c185d5cd95960b21b604482015260640161062e565b6008805460ff19169055565b6001546001600160a01b03163314610a9c5760405162461bcd60e51b815260040161062e9061246e565b60085460ff1615610abf5760405162461bcd60e51b815260040161062e906124bf565b610ac88261102c565b610ae45760405162461bcd60e51b815260040161062e906124eb565b600d5481610af160045490565b610afb91906124ac565b1115610b455760405162461bcd60e51b815260206004820152601960248201527813585e081d1bdd185b081cdd5c1c1b1e48195e18d959591959603a1b604482015260640161062e565b610b4f8282611afa565b5050565b60405162461bcd60e51b815260206004820152602660248201527f557365206275726e2066756e6374696f6e2077697468206164647265737320696044820152651b9cdd19585960d21b606482015260840161062e565b60405162461bcd60e51b815260206004820152601960248201527f557365206d696e742066756e6374696f6e20696e737465616400000000000000604482015260640161062e565b6001600160a01b0382166000908152600b602052604081205460ff16610c1a57506000610604565b6001600160a01b0383166000908152600c6020526040902054421115610c4257506000610604565b6001600160a01b0383166000908152600b602052604090205460ff1660021901610c6e57506001610604565b6001600160a01b0383166000908152600b602052604090205460ff808416911603610c9b57506001610604565b50600092915050565b6001546001600160a01b03163314610cce5760405162461bcd60e51b815260040161062e9061246e565b60085460ff1615610cf15760405162461bcd60e51b815260040161062e906124bf565b8051825114610d425760405162461bcd60e51b815260206004820152601a60248201527f4172726179206c656e6774687320646f206e6f74206d61746368000000000000604482015260640161062e565b6000805b8351811015610dc657610d71848281518110610d6457610d64612522565b602002602001015161102c565b610d8d5760405162461bcd60e51b815260040161062e906124eb565b828181518110610d9f57610d9f612522565b602002602001015182610db291906124ac565b915080610dbe81612538565b915050610d46565b50600d5481610dd460045490565b610dde91906124ac565b1115610e285760405162461bcd60e51b815260206004820152601960248201527813585e081d1bdd185b081cdd5c1c1b1e48195e18d959591959603a1b604482015260640161062e565b60005b83518110156107f157610e70848281518110610e4957610e49612522565b6020026020010151848381518110610e6357610e63612522565b6020026020010151611afa565b80610e7a81612538565b915050610e2b565b6001546001600160a01b03163314610eac5760405162461bcd60e51b815260040161062e9061246e565b6064811115610f165760405162461bcd60e51b815260206004820152603060248201527f5461782070657263656e74616765206d757374206265206c657373207468616e60448201526f0206f7220657175616c20746f203130360841b606482015260840161062e565b600f55565b6001546001600160a01b03163314610ae45760405162461bcd60e51b815260040161062e9061246e565b6001546001600160a01b03163314610f6f5760405162461bcd60e51b815260040161062e9061246e565b600e80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038116600090815260076020526040812054610604565b6001546001600160a01b03163314610fd95760405162461bcd60e51b815260040161062e9061246e565b60085460ff161561101d5760405162461bcd60e51b815260206004820152600e60248201526d105b1c9958591e481c185d5cd95960921b604482015260640161062e565b6008805460ff19166001179055565b600061086d826002610bf2565b6110416116ab565b61105d5760405162461bcd60e51b815260040161062e9061246e565b61064081611bd9565b60606006805461056d90612434565b6001546001600160a01b0316331461109f5760405162461bcd60e51b815260040161062e9061246e565b60085460ff16156110c25760405162461bcd60e51b815260040161062e906124bf565b610b4f8282611cb4565b3360008181526003602090815260408083206001600160a01b0387168452909152812054909190838110156111515760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161062e565b6108558286868403611586565b60085460009060ff16156111845760405162461bcd60e51b815260040161062e906124bf565b61118d33610860565b6111d05760405162461bcd60e51b815260206004820152601460248201527314d95b99195c881a5cc81c995cdd1c9a58dd195960621b604482015260640161062e565b6111d98361102c565b6111f55760405162461bcd60e51b815260040161062e906124eb565b60006064600f54846112079190612551565b6112119190612568565b9050600061121f828561258a565b905061122c338683611897565b811561085557600e546108559033906001600160a01b031684611897565b60405162461bcd60e51b815260206004820152601760248201527f4d756c746963616c6c206e6f7420737570706f72746564000000000000000000604482015260609060640161062e565b6060815260200190600190039081611295579050509392505050565b600154606090819081906001600160a01b031633146112e25760405162461bcd60e51b815260040161062e9061246e565b600a5460009067ffffffffffffffff81111561130057611300611fc9565b604051908082528060200260200182016040528015611329578160200160208202803683370190505b50600a5490915060009067ffffffffffffffff81111561134b5761134b611fc9565b604051908082528060200260200182016040528015611374578160200160208202803683370190505b50600a5490915060009067ffffffffffffffff81111561139657611396611fc9565b6040519080825280602002602001820160405280156113bf578160200160208202803683370190505b50905060005b600a548110156114ac576000600a82815481106113e4576113e4612522565b60009182526020808320909101546001600160a01b0316808352600b8252604080842054600c90935290922054875192935060ff90911691839088908690811061143057611430612522565b60200260200101906001600160a01b031690816001600160a01b0316815250508186858151811061146357611463612522565b602002602001019060ff16908160ff16815250508085858151811061148a5761148a612522565b60200260200101818152505050505080806114a490612538565b9150506113c5565b5091945092509050909192565b60405162461bcd60e51b815260206004820152601460248201527314195c9b5a5d081b9bdd081cdd5c1c1bdc9d195960621b604482015260640161062e565b6000805461150590612434565b80601f016020809104026020016040519081016040528092919081815260200182805461153190612434565b801561157e5780601f106115535761010080835404028352916020019161157e565b820191906000526020600020905b81548152906001019060200180831161156157829003601f168201915b505050505081565b6001600160a01b0383166115e85760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161062e565b6001600160a01b0382166116495760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161062e565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b60006116bf6001546001600160a01b031690565b6001600160a01b0316336001600160a01b031614905090565b600180546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8292fce18fa69edf4db7b94ea2e58241df0ae57f97e0a6c9b29067028bf92d7690600090a35050565b6001546001600160a01b031633146117545760405162461bcd60e51b815260040161062e9061246e565b6000805b600a548110156117b457826001600160a01b0316600a828154811061177f5761177f612522565b6000918252602090912001546001600160a01b0316036117a257600191506117b4565b806117ac81612538565b915050611758565b5080610b4f57600a80546001810182556000919091527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80180546001600160a01b0384166001600160a01b03199091161790555050565b6001600160a01b0383811660009081526003602090815260408083209386168352929052205460001981146107f1578181101561188a5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161062e565b6107f18484848403611586565b6001600160a01b0383166118fb5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161062e565b6001600160a01b03821661195d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161062e565b6001600160a01b038316600090815260026020526040902054818110156119d55760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161062e565b6001600160a01b03808516600090815260026020526040808220858503905591851681529081208054849290611a0c9084906124ac565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611a5891815260200190565b60405180910390a36107f1565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f611a9061055e565b80516020918201206040805192830193909352918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6001600160a01b038216611b505760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161062e565b8060046000828254611b6291906124ac565b90915550506001600160a01b03821660009081526002602052604081208054839290611b8f9084906124ac565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6000808054611be790612434565b80601f0160208091040260200160405190810160405280929190818152602001828054611c1390612434565b8015611c605780601f10611c3557610100808354040283529160200191611c60565b820191906000526020600020905b815481529060010190602001808311611c4357829003601f168201915b505050505090508160009081611c7691906125eb565b507fc9c7c3fe08b88b4df9d4d47ef47d2c43d55c025a0ba88ca442580ed9e7348a168183604051611ca89291906126ab565b60405180910390a15050565b6001600160a01b038216611d145760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b606482015260840161062e565b6001600160a01b03821660009081526002602052604090205481811015611d885760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b606482015260840161062e565b6001600160a01b0383166000908152600260205260408120838303905560048054849290611db790849061258a565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200161169e565b505050565b6000815180845260005b81811015611e2557602081850181015186830182015201611e09565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000611e586020830184611dff565b9392505050565b80356001600160a01b0381168114611e7657600080fd5b919050565b60008060408385031215611e8e57600080fd5b611e9783611e5f565b946020939093013593505050565b600060208284031215611eb757600080fd5b611e5882611e5f565b803560ff81168114611e7657600080fd5b600080600060608486031215611ee657600080fd5b611eef84611e5f565b9250611efd60208501611ec0565b9150604084013590509250925092565b60008060008060808587031215611f2357600080fd5b611f2c85611e5f565b935060208501359250611f4160408601611ec0565b9396929550929360600135925050565b600080600060608486031215611f6657600080fd5b611f6f84611e5f565b9250611efd60208501611e5f565b600060208284031215611f8f57600080fd5b5035919050565b60008060408385031215611fa957600080fd5b611fb283611e5f565b9150611fc060208401611ec0565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561200857612008611fc9565b604052919050565b600067ffffffffffffffff82111561202a5761202a611fc9565b5060051b60200190565b600082601f83011261204557600080fd5b8135602061205a61205583612010565b611fdf565b82815260059290921b8401810191818101908684111561207957600080fd5b8286015b84811015612094578035835291830191830161207d565b509695505050505050565b600080604083850312156120b257600080fd5b823567ffffffffffffffff808211156120ca57600080fd5b818501915085601f8301126120de57600080fd5b813560206120ee61205583612010565b82815260059290921b8401810191818101908984111561210d57600080fd5b948201945b838610156121325761212386611e5f565b82529482019490820190612112565b9650508601359250508082111561214857600080fd5b5061215585828601612034565b9150509250929050565b6000602080838503121561217257600080fd5b823567ffffffffffffffff8082111561218a57600080fd5b818501915085601f83011261219e57600080fd5b8135818111156121b0576121b0611fc9565b6121c2601f8201601f19168501611fdf565b915080825286848285010111156121d857600080fd5b8084840185840137600090820190930192909252509392505050565b6000806020838503121561220757600080fd5b823567ffffffffffffffff8082111561221f57600080fd5b818501915085601f83011261223357600080fd5b81358181111561224257600080fd5b8660208260051b850101111561225757600080fd5b60209290920196919550909350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156122be57603f198886030184526122ac858351611dff565b94509285019290850190600101612290565b5092979650505050505050565b600081518084526020808501945080840160005b838110156122fb578151875295820195908201906001016122df565b509495945050505050565b606080825284519082018190526000906020906080840190828801845b828110156123485781516001600160a01b031684529284019290840190600101612323565b5050508381038285015285518082528683019183019060005b8181101561238057835160ff1683529284019291840191600101612361565b5050848103604086015261239481876122cb565b98975050505050505050565b600080600080600080600060e0888a0312156123bb57600080fd5b6123c488611e5f565b96506123d260208901611e5f565b955060408801359450606088013593506123ee60808901611ec0565b925060a0880135915060c0880135905092959891949750929550565b6000806040838503121561241d57600080fd5b61242683611e5f565b9150611fc060208401611e5f565b600181811c9082168061244857607f821691505b60208210810361246857634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252600e908201526d139bdd08185d5d1a1bdc9a5e995960921b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8082018082111561060457610604612496565b60208082526012908201527110dbdb9d1c9858dd081a5cc81c185d5cd95960721b604082015260600190565b60208082526017908201527f526563697069656e742069732072657374726963746564000000000000000000604082015260600190565b634e487b7160e01b600052603260045260246000fd5b60006001820161254a5761254a612496565b5060010190565b808202811582820484141761060457610604612496565b60008261258557634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561060457610604612496565b601f821115611dfa57600081815260208120601f850160051c810160208610156125c45750805b601f850160051c820191505b818110156125e3578281556001016125d0565b505050505050565b815167ffffffffffffffff81111561260557612605611fc9565b612619816126138454612434565b8461259d565b602080601f83116001811461264e57600084156126365750858301515b600019600386901b1c1916600185901b1785556125e3565b600085815260208120601f198616915b8281101561267d5788860151825594840194600190910190840161265e565b508582101561269b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6040815260006126be6040830185611dff565b82810360208401526126d08185611dff565b9594505050505056fea2646970667358221220f9f67ef2733665ec21111759620450c482ea50df73af7e74d3287b2cd8eaa18464736f6c63430008110033

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061023d5760003560e01c8063685731071161013b57806395d89b41116100b8578063b187bd261161007c578063b187bd26146104e8578063c4195cb8146104f3578063d505accf1461050a578063dd62ed3e1461051d578063e8a3d4851461055657600080fd5b806395d89b41146104875780639dc29fac1461048f578063a457c2d7146104a2578063a9059cbb146104b5578063ac9650d8146104c857600080fd5b80637ecebe00116100ff5780637ecebe001461042b5780638456cb591461043e5780638da5cb5b1461044657806390d370ba14610461578063938e3d7b1461047457600080fd5b806368573107146103b6578063699abb3c146103c95780636a9d5c84146103dc57806370a08231146103ef57806378e3079e1461041857600080fd5b8063313ce567116101c957806340c10f191161018d57806340c10f191461036257806342966c6814610375578063449a52f8146103885780635db30bb11461039b57806367103561146103a357600080fd5b8063313ce5671461031d5780633644e5151461032c57806339509351146103345780633f3e4c11146103475780633f4ba83a1461035a57600080fd5b80631649b993116102105780631649b993146102ab57806318160ddd146102be57806322a62e1e146102d057806323b872dd146102f75780632bc06a921461030a57600080fd5b806306fdde0314610242578063095ea7b31461026057806313af40351461028357806313b2f91c14610298575b600080fd5b61024a61055e565b6040516102579190611e45565b60405180910390f35b61027361026e366004611e7b565b6105f0565b6040519015158152602001610257565b610296610291366004611ea5565b61060a565b005b6102966102a6366004611ed1565b610643565b6102966102b9366004611f0d565b6107b2565b6004545b604051908152602001610257565b6102d86107f7565b604080516001600160a01b039093168352602083019190915201610257565b610273610305366004611f51565b61083c565b610273610318366004611ea5565b610860565b60405160128152602001610257565b6102c2610874565b610273610342366004611e7b565b610904565b610296610355366004611f7d565b610943565b6102966109fd565b610296610370366004611e7b565b610a72565b610296610383366004611f7d565b610b53565b610296610396366004611e7b565b610baa565b600d546102c2565b6102736103b1366004611f96565b610bf2565b6102966103c436600461209f565b610ca4565b6102966103d7366004611f7d565b610e82565b6102966103ea366004611e7b565b610f1b565b6102c26103fd366004611ea5565b6001600160a01b031660009081526002602052604090205490565b610296610426366004611ea5565b610f45565b6102c2610439366004611ea5565b610f91565b610296610faf565b6001546040516001600160a01b039091168152602001610257565b61027361046f366004611ea5565b61102c565b61029661048236600461215f565b611039565b61024a611066565b61029661049d366004611e7b565b611075565b6102736104b0366004611e7b565b6110cc565b6102736104c3366004611e7b565b61115e565b6104db6104d63660046121f4565b61124a565b6040516102579190612269565b60085460ff16610273565b6104fb6112b1565b60405161025793929190612306565b6102966105183660046123a0565b6114b9565b6102c261052b36600461240a565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b61024a6114f8565b60606005805461056d90612434565b80601f016020809104026020016040519081016040528092919081815260200182805461059990612434565b80156105e65780601f106105bb576101008083540402835291602001916105e6565b820191906000526020600020905b8154815290600101906020018083116105c957829003601f168201915b5050505050905090565b6000336105fe818585611586565b60019150505b92915050565b6106126116ab565b6106375760405162461bcd60e51b815260040161062e9061246e565b60405180910390fd5b610640816116d8565b50565b6001546001600160a01b0316331461066d5760405162461bcd60e51b815260040161062e9061246e565b6001600160a01b0383166106c35760405162461bcd60e51b815260206004820152601c60248201527f43616e6e6f74207265737472696374207a65726f206164647265737300000000604482015260640161062e565b6001546001600160a01b03166001600160a01b0316836001600160a01b0316036107275760405162461bcd60e51b815260206004820152601560248201527421b0b73737ba103932b9ba3934b1ba1037bbb732b960591b604482015260640161062e565b600360ff831611156107715760405162461bcd60e51b815260206004820152601360248201527224b73b30b634b2103932b9ba3934b1ba34b7b760691b604482015260640161062e565b61077a8361172a565b6001600160a01b039092166000908152600b60209081526040808320805460ff90951660ff1990951694909417909355600c90522055565b6001546001600160a01b031633146107dc5760405162461bcd60e51b815260040161062e9061246e565b6107e68484610a72565b6107f1848383610643565b50505050565b60015460009081906001600160a01b031633146108265760405162461bcd60e51b815260040161062e9061246e565b5050600e54600f546001600160a01b0390911691565b60003361084a85828561180b565b610855858585611897565b506001949350505050565b600061086d826001610bf2565b1592915050565b6000306001600160a01b037f000000000000000000000000ee5989c78a18f580dc107630e40bafc901a7cc46161480156108cd57507f000000000000000000000000000000000000000000000000000000000000000146145b156108f757507f42dd383e37094782ba612f4ad9495fc45f9093d16c660d7a3ac65346018a107290565b6108ff611a65565b905090565b3360008181526003602090815260408083206001600160a01b03871684529091528120549091906105fe908290869061093e9087906124ac565b611586565b6001546001600160a01b0316331461096d5760405162461bcd60e51b815260040161062e9061246e565b6004548110156109f85760405162461bcd60e51b815260206004820152604a60248201527f4e6577206d617820746f74616c20737570706c79206d7573742062652067726560448201527f61746572207468616e206f7220657175616c20746f2063757272656e7420746f60648201526974616c20737570706c7960b01b608482015260a40161062e565b600d55565b6001546001600160a01b03163314610a275760405162461bcd60e51b815260040161062e9061246e565b60085460ff16610a665760405162461bcd60e51b815260206004820152600a602482015269139bdd081c185d5cd95960b21b604482015260640161062e565b6008805460ff19169055565b6001546001600160a01b03163314610a9c5760405162461bcd60e51b815260040161062e9061246e565b60085460ff1615610abf5760405162461bcd60e51b815260040161062e906124bf565b610ac88261102c565b610ae45760405162461bcd60e51b815260040161062e906124eb565b600d5481610af160045490565b610afb91906124ac565b1115610b455760405162461bcd60e51b815260206004820152601960248201527813585e081d1bdd185b081cdd5c1c1b1e48195e18d959591959603a1b604482015260640161062e565b610b4f8282611afa565b5050565b60405162461bcd60e51b815260206004820152602660248201527f557365206275726e2066756e6374696f6e2077697468206164647265737320696044820152651b9cdd19585960d21b606482015260840161062e565b60405162461bcd60e51b815260206004820152601960248201527f557365206d696e742066756e6374696f6e20696e737465616400000000000000604482015260640161062e565b6001600160a01b0382166000908152600b602052604081205460ff16610c1a57506000610604565b6001600160a01b0383166000908152600c6020526040902054421115610c4257506000610604565b6001600160a01b0383166000908152600b602052604090205460ff1660021901610c6e57506001610604565b6001600160a01b0383166000908152600b602052604090205460ff808416911603610c9b57506001610604565b50600092915050565b6001546001600160a01b03163314610cce5760405162461bcd60e51b815260040161062e9061246e565b60085460ff1615610cf15760405162461bcd60e51b815260040161062e906124bf565b8051825114610d425760405162461bcd60e51b815260206004820152601a60248201527f4172726179206c656e6774687320646f206e6f74206d61746368000000000000604482015260640161062e565b6000805b8351811015610dc657610d71848281518110610d6457610d64612522565b602002602001015161102c565b610d8d5760405162461bcd60e51b815260040161062e906124eb565b828181518110610d9f57610d9f612522565b602002602001015182610db291906124ac565b915080610dbe81612538565b915050610d46565b50600d5481610dd460045490565b610dde91906124ac565b1115610e285760405162461bcd60e51b815260206004820152601960248201527813585e081d1bdd185b081cdd5c1c1b1e48195e18d959591959603a1b604482015260640161062e565b60005b83518110156107f157610e70848281518110610e4957610e49612522565b6020026020010151848381518110610e6357610e63612522565b6020026020010151611afa565b80610e7a81612538565b915050610e2b565b6001546001600160a01b03163314610eac5760405162461bcd60e51b815260040161062e9061246e565b6064811115610f165760405162461bcd60e51b815260206004820152603060248201527f5461782070657263656e74616765206d757374206265206c657373207468616e60448201526f0206f7220657175616c20746f203130360841b606482015260840161062e565b600f55565b6001546001600160a01b03163314610ae45760405162461bcd60e51b815260040161062e9061246e565b6001546001600160a01b03163314610f6f5760405162461bcd60e51b815260040161062e9061246e565b600e80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038116600090815260076020526040812054610604565b6001546001600160a01b03163314610fd95760405162461bcd60e51b815260040161062e9061246e565b60085460ff161561101d5760405162461bcd60e51b815260206004820152600e60248201526d105b1c9958591e481c185d5cd95960921b604482015260640161062e565b6008805460ff19166001179055565b600061086d826002610bf2565b6110416116ab565b61105d5760405162461bcd60e51b815260040161062e9061246e565b61064081611bd9565b60606006805461056d90612434565b6001546001600160a01b0316331461109f5760405162461bcd60e51b815260040161062e9061246e565b60085460ff16156110c25760405162461bcd60e51b815260040161062e906124bf565b610b4f8282611cb4565b3360008181526003602090815260408083206001600160a01b0387168452909152812054909190838110156111515760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161062e565b6108558286868403611586565b60085460009060ff16156111845760405162461bcd60e51b815260040161062e906124bf565b61118d33610860565b6111d05760405162461bcd60e51b815260206004820152601460248201527314d95b99195c881a5cc81c995cdd1c9a58dd195960621b604482015260640161062e565b6111d98361102c565b6111f55760405162461bcd60e51b815260040161062e906124eb565b60006064600f54846112079190612551565b6112119190612568565b9050600061121f828561258a565b905061122c338683611897565b811561085557600e546108559033906001600160a01b031684611897565b60405162461bcd60e51b815260206004820152601760248201527f4d756c746963616c6c206e6f7420737570706f72746564000000000000000000604482015260609060640161062e565b6060815260200190600190039081611295579050509392505050565b600154606090819081906001600160a01b031633146112e25760405162461bcd60e51b815260040161062e9061246e565b600a5460009067ffffffffffffffff81111561130057611300611fc9565b604051908082528060200260200182016040528015611329578160200160208202803683370190505b50600a5490915060009067ffffffffffffffff81111561134b5761134b611fc9565b604051908082528060200260200182016040528015611374578160200160208202803683370190505b50600a5490915060009067ffffffffffffffff81111561139657611396611fc9565b6040519080825280602002602001820160405280156113bf578160200160208202803683370190505b50905060005b600a548110156114ac576000600a82815481106113e4576113e4612522565b60009182526020808320909101546001600160a01b0316808352600b8252604080842054600c90935290922054875192935060ff90911691839088908690811061143057611430612522565b60200260200101906001600160a01b031690816001600160a01b0316815250508186858151811061146357611463612522565b602002602001019060ff16908160ff16815250508085858151811061148a5761148a612522565b60200260200101818152505050505080806114a490612538565b9150506113c5565b5091945092509050909192565b60405162461bcd60e51b815260206004820152601460248201527314195c9b5a5d081b9bdd081cdd5c1c1bdc9d195960621b604482015260640161062e565b6000805461150590612434565b80601f016020809104026020016040519081016040528092919081815260200182805461153190612434565b801561157e5780601f106115535761010080835404028352916020019161157e565b820191906000526020600020905b81548152906001019060200180831161156157829003601f168201915b505050505081565b6001600160a01b0383166115e85760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161062e565b6001600160a01b0382166116495760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161062e565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b60006116bf6001546001600160a01b031690565b6001600160a01b0316336001600160a01b031614905090565b600180546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8292fce18fa69edf4db7b94ea2e58241df0ae57f97e0a6c9b29067028bf92d7690600090a35050565b6001546001600160a01b031633146117545760405162461bcd60e51b815260040161062e9061246e565b6000805b600a548110156117b457826001600160a01b0316600a828154811061177f5761177f612522565b6000918252602090912001546001600160a01b0316036117a257600191506117b4565b806117ac81612538565b915050611758565b5080610b4f57600a80546001810182556000919091527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80180546001600160a01b0384166001600160a01b03199091161790555050565b6001600160a01b0383811660009081526003602090815260408083209386168352929052205460001981146107f1578181101561188a5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161062e565b6107f18484848403611586565b6001600160a01b0383166118fb5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161062e565b6001600160a01b03821661195d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161062e565b6001600160a01b038316600090815260026020526040902054818110156119d55760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161062e565b6001600160a01b03808516600090815260026020526040808220858503905591851681529081208054849290611a0c9084906124ac565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611a5891815260200190565b60405180910390a36107f1565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f611a9061055e565b80516020918201206040805192830193909352918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6001600160a01b038216611b505760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161062e565b8060046000828254611b6291906124ac565b90915550506001600160a01b03821660009081526002602052604081208054839290611b8f9084906124ac565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6000808054611be790612434565b80601f0160208091040260200160405190810160405280929190818152602001828054611c1390612434565b8015611c605780601f10611c3557610100808354040283529160200191611c60565b820191906000526020600020905b815481529060010190602001808311611c4357829003601f168201915b505050505090508160009081611c7691906125eb565b507fc9c7c3fe08b88b4df9d4d47ef47d2c43d55c025a0ba88ca442580ed9e7348a168183604051611ca89291906126ab565b60405180910390a15050565b6001600160a01b038216611d145760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b606482015260840161062e565b6001600160a01b03821660009081526002602052604090205481811015611d885760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b606482015260840161062e565b6001600160a01b0383166000908152600260205260408120838303905560048054849290611db790849061258a565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200161169e565b505050565b6000815180845260005b81811015611e2557602081850181015186830182015201611e09565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000611e586020830184611dff565b9392505050565b80356001600160a01b0381168114611e7657600080fd5b919050565b60008060408385031215611e8e57600080fd5b611e9783611e5f565b946020939093013593505050565b600060208284031215611eb757600080fd5b611e5882611e5f565b803560ff81168114611e7657600080fd5b600080600060608486031215611ee657600080fd5b611eef84611e5f565b9250611efd60208501611ec0565b9150604084013590509250925092565b60008060008060808587031215611f2357600080fd5b611f2c85611e5f565b935060208501359250611f4160408601611ec0565b9396929550929360600135925050565b600080600060608486031215611f6657600080fd5b611f6f84611e5f565b9250611efd60208501611e5f565b600060208284031215611f8f57600080fd5b5035919050565b60008060408385031215611fa957600080fd5b611fb283611e5f565b9150611fc060208401611ec0565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561200857612008611fc9565b604052919050565b600067ffffffffffffffff82111561202a5761202a611fc9565b5060051b60200190565b600082601f83011261204557600080fd5b8135602061205a61205583612010565b611fdf565b82815260059290921b8401810191818101908684111561207957600080fd5b8286015b84811015612094578035835291830191830161207d565b509695505050505050565b600080604083850312156120b257600080fd5b823567ffffffffffffffff808211156120ca57600080fd5b818501915085601f8301126120de57600080fd5b813560206120ee61205583612010565b82815260059290921b8401810191818101908984111561210d57600080fd5b948201945b838610156121325761212386611e5f565b82529482019490820190612112565b9650508601359250508082111561214857600080fd5b5061215585828601612034565b9150509250929050565b6000602080838503121561217257600080fd5b823567ffffffffffffffff8082111561218a57600080fd5b818501915085601f83011261219e57600080fd5b8135818111156121b0576121b0611fc9565b6121c2601f8201601f19168501611fdf565b915080825286848285010111156121d857600080fd5b8084840185840137600090820190930192909252509392505050565b6000806020838503121561220757600080fd5b823567ffffffffffffffff8082111561221f57600080fd5b818501915085601f83011261223357600080fd5b81358181111561224257600080fd5b8660208260051b850101111561225757600080fd5b60209290920196919550909350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156122be57603f198886030184526122ac858351611dff565b94509285019290850190600101612290565b5092979650505050505050565b600081518084526020808501945080840160005b838110156122fb578151875295820195908201906001016122df565b509495945050505050565b606080825284519082018190526000906020906080840190828801845b828110156123485781516001600160a01b031684529284019290840190600101612323565b5050508381038285015285518082528683019183019060005b8181101561238057835160ff1683529284019291840191600101612361565b5050848103604086015261239481876122cb565b98975050505050505050565b600080600080600080600060e0888a0312156123bb57600080fd5b6123c488611e5f565b96506123d260208901611e5f565b955060408801359450606088013593506123ee60808901611ec0565b925060a0880135915060c0880135905092959891949750929550565b6000806040838503121561241d57600080fd5b61242683611e5f565b9150611fc060208401611e5f565b600181811c9082168061244857607f821691505b60208210810361246857634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252600e908201526d139bdd08185d5d1a1bdc9a5e995960921b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8082018082111561060457610604612496565b60208082526012908201527110dbdb9d1c9858dd081a5cc81c185d5cd95960721b604082015260600190565b60208082526017908201527f526563697069656e742069732072657374726963746564000000000000000000604082015260600190565b634e487b7160e01b600052603260045260246000fd5b60006001820161254a5761254a612496565b5060010190565b808202811582820484141761060457610604612496565b60008261258557634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561060457610604612496565b601f821115611dfa57600081815260208120601f850160051c810160208610156125c45750805b601f850160051c820191505b818110156125e3578281556001016125d0565b505050505050565b815167ffffffffffffffff81111561260557612605611fc9565b612619816126138454612434565b8461259d565b602080601f83116001811461264e57600084156126365750858301515b600019600386901b1c1916600185901b1785556125e3565b600085815260208120601f198616915b8281101561267d5788860151825594840194600190910190840161265e565b508582101561269b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6040815260006126be6040830185611dff565b82810360208401526126d08185611dff565b9594505050505056fea2646970667358221220f9f67ef2733665ec21111759620450c482ea50df73af7e74d3287b2cd8eaa18464736f6c63430008110033

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.