ERC-20
Overview
Max Total Supply
696,696,969,696,969 BDE
Holders
7
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
0.575773754 BDEValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
BDE
Compiler Version
v0.8.20+commit.a1b79de6
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-09-04 */ /** *Submitted for verification at Etherscan.io on 2023-04-14 */ // Sources flattened with hardhat v2.7.0 https://hardhat.org // File @openzeppelin/contracts/utils/[email protected] // SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.0 (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; } } // File @openzeppelin/contracts/access/[email protected] // OpenZeppelin Contracts v4.4.0 (access/Ownable.sol) pragma solidity ^0.8.0; /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _transferOwnership(_msgSender()); } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } // File @openzeppelin/contracts/token/ERC20/[email protected] // OpenZeppelin Contracts v4.4.0 (token/ERC20/IERC20.sol) pragma solidity ^0.8.0; /** * @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. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function 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); } // File @openzeppelin/contracts/token/ERC20/extensions/[email protected] // OpenZeppelin Contracts v4.4.0 (token/ERC20/extensions/IERC20Metadata.sol) pragma solidity ^0.8.0; /** * @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); } // File @openzeppelin/contracts/token/ERC20/[email protected] // OpenZeppelin Contracts v4.4.0 (token/ERC20/ERC20.sol) pragma solidity ^0.8.0; /** * @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}. * This allows applications to reconstruct the allowance for all accounts just * by listening to said events. Other implementations of the EIP may not emit * these events, as it isn't required by the specification. * * Finally, the non-standard {decreaseAllowance} and {increaseAllowance} * functions have been added to mitigate the well-known issues around setting * allowances. See {IERC20-approve}. */ contract ERC20 is Context, IERC20, IERC20Metadata { mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 private _totalSupply; string private _name; string private _symbol; /** * @dev Sets the values for {name} and {symbol}. * * The default 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_; } /** * @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; } /** * @dev Returns the number of decimals used to get its user representation. * For example, if `decimals` equals `2`, a balance of `505` tokens should * be displayed to a user as `5.05` (`505 / 10 ** 2`). * * Tokens usually opt for a value of 18, imitating the relationship between * Ether and Wei. This is the value {ERC20} uses, unless this function is * overridden; * * NOTE: This information is only used for _display_ purposes: it in * no way affects any of the arithmetic of the contract, including * {IERC20-balanceOf} and {IERC20-transfer}. */ function decimals() public view virtual override returns (uint8) { return 9; } /** * @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"); unchecked { _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"); unchecked { _approve(_msgSender(), spender, currentAllowance - subtractedValue); } return true; } /** * @dev Moves `amount` of tokens from `sender` to `recipient`. * * This 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"); _beforeTokenTransfer(sender, recipient, amount); uint256 senderBalance = _balances[sender]; require(senderBalance >= amount, "ERC20: transfer amount exceeds balance"); unchecked { _balances[sender] = senderBalance - amount; } _balances[recipient] += amount; emit Transfer(sender, recipient, amount); _afterTokenTransfer(sender, recipient, amount); } /** @dev Creates `amount` tokens and assigns them to `account`, increasing * the total supply. * * Emits a {Transfer} event with `from` set to the zero address. * * Requirements: * * - `account` cannot be the zero address. */ function _mint(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _beforeTokenTransfer(address(0), account, amount); _totalSupply += amount; _balances[account] += amount; emit Transfer(address(0), account, amount); _afterTokenTransfer(address(0), account, 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 _burn(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); _beforeTokenTransfer(account, address(0), amount); uint256 accountBalance = _balances[account]; require(accountBalance >= amount, "ERC20: burn amount exceeds balance"); unchecked { _balances[account] = accountBalance - amount; } _totalSupply -= amount; emit Transfer(account, address(0), amount); _afterTokenTransfer(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 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 {} /** * @dev Hook that is called after any transfer of tokens. This includes * minting and burning. * * Calling conditions: * * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens * has been transferred to `to`. * - when `from` is zero, `amount` tokens have been minted for `to`. * - when `to` is zero, `amount` of ``from``'s tokens have been 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 _afterTokenTransfer( address from, address to, uint256 amount ) internal virtual {} } // File: contracts/IUniswap.sol pragma solidity ^0.8.0; interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } // File contracts/BDE.sol pragma solidity ^0.8.0; /* ////// ///// ///// ///// ///// ///////// ///// /////////////// ///// //////// /////////////// ///// //////// /////////////////// ///// //////// ////// //////////////// ///// ////// ////// ////// ////////////// ///// ////////// ////// ////// /////////// /////Pauly0x & DegenHarambe = small peepees/// ////////////ond0x & Pepe are poisoned/////// ////////////Run from Pond0x/////////////// ////////////Pond0x dead/////////////// ////////////Pepe dead/////////////// ////////////Mog dead//////////// ////////////GET/////////////// ////////////LONG////////// ////////////LONG////// ////////////LONG// //BigDickETH// ////To//// //THE// MOON */ contract BDE is Ownable, ERC20 { bool public limited; uint256 public maxHoldingAmount; uint256 public minHoldingAmount; uint256 private constant _tSupply = 696_696_969_696_969 * 10**9; bool private burnOn = false; bool private cooldownOn = true; bool private tradingStart = false; address public uniswapV2Pair; IUniswapV2Router02 private uniswapV2Router; mapping(address => bool) public blocklists; mapping (address => uint) private cooldown; constructor() ERC20("BigDickETH", "BDE") { _mint(msg.sender, _tSupply); } function blocklist(address[] memory _addresses, bool _isBlocklisting) external onlyOwner { for (uint x = 0; x < _addresses.length; x++) { blocklists[_addresses[x]] = _isBlocklisting; } } function setRule(bool _limited, uint256 _maxHoldingAmount, uint256 _minHoldingAmount, address _uniswapV2Pair, address _swapRouter) external onlyOwner { limited = _limited; uniswapV2Pair = _uniswapV2Pair; uniswapV2Router = IUniswapV2Router02(_swapRouter); maxHoldingAmount = _maxHoldingAmount; minHoldingAmount = _minHoldingAmount; } function startTrading() external onlyOwner { require(!tradingStart, "trading is already open"); tradingStart = true; _approve(address(this), address(uniswapV2Router), _tSupply); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); cooldownOn = true; IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); } function TradingOn(bool onoff) external onlyOwner { tradingStart = onoff; } function setCooldownOn(bool onoff) external onlyOwner { cooldownOn = onoff; } function setBurnOn(bool onoff) external onlyOwner { burnOn = onoff; } receive() external payable {} function _beforeTokenTransfer( address from, address to, uint256 amount ) override internal virtual { require(!blocklists[to] && !blocklists[from], "Blacklisted"); if (uniswapV2Pair == address(0) || tradingStart == false) { require(from == owner() || to == owner(), "trading is not started"); return; } if (from != owner() && to != owner()) { require(tradingStart, "Trading is not open"); if (from == uniswapV2Pair && to != address(uniswapV2Router) && cooldownOn) { // Cooldown require(cooldown[to] < block.timestamp); cooldown[to] = block.timestamp + (40 seconds); } } if (limited && from == uniswapV2Pair) { require(super.balanceOf(to) + amount <= maxHoldingAmount && super.balanceOf(to) + amount >= minHoldingAmount, "Forbid"); } } function burn(uint256 value) external { if(msg.sender != owner()) require(burnOn == true, "Burn not enabled"); _burn(msg.sender, value); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"TradingOn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"_addresses","type":"address[]"},{"internalType":"bool","name":"_isBlocklisting","type":"bool"}],"name":"blocklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"blocklists","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"limited","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxHoldingAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minHoldingAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setBurnOn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownOn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_limited","type":"bool"},{"internalType":"uint256","name":"_maxHoldingAmount","type":"uint256"},{"internalType":"uint256","name":"_minHoldingAmount","type":"uint256"},{"internalType":"address","name":"_uniswapV2Pair","type":"address"},{"internalType":"address","name":"_swapRouter","type":"address"}],"name":"setRule","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrading","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"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526009805462ffffff191661010017905534801562000020575f80fd5b506040518060400160405280600a815260200169084d2ce88d2c6d68aa8960b31b8152506040518060400160405280600381526020016242444560e81b8152506200007a62000074620000bc60201b60201c565b620000c0565b6004620000888382620005b8565b506005620000978282620005b8565b505050620000b63369938804b638a5cbe49a006200010f60201b60201c565b620006a6565b3390565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0382166200016b5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064015b60405180910390fd5b620001785f838362000202565b8060035f8282546200018b919062000680565b90915550506001600160a01b0382165f9081526001602052604081208054839290620001b990849062000680565b90915550506040518181526001600160a01b038316905f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6001600160a01b0382165f908152600b602052604090205460ff161580156200024357506001600160a01b0383165f908152600b602052604090205460ff16155b6200027f5760405162461bcd60e51b815260206004820152600b60248201526a109b1858dadb1a5cdd195960aa1b604482015260640162000162565b600954630100000090046001600160a01b03161580620002a8575060095462010000900460ff16155b1562000329575f546001600160a01b0384811691161480620002d657505f546001600160a01b038381169116145b620003245760405162461bcd60e51b815260206004820152601660248201527f74726164696e67206973206e6f74207374617274656400000000000000000000604482015260640162000162565b505050565b5f546001600160a01b038481169116148015906200035457505f546001600160a01b03838116911614155b156200044a5760095462010000900460ff16620003b45760405162461bcd60e51b815260206004820152601360248201527f54726164696e67206973206e6f74206f70656e00000000000000000000000000604482015260640162000162565b6009546001600160a01b03848116630100000090920416148015620003e75750600a546001600160a01b03838116911614155b8015620003fb5750600954610100900460ff165b156200044a576001600160a01b0382165f908152600c6020526040902054421162000424575f80fd5b6200043142602862000680565b6001600160a01b0383165f908152600c60205260409020555b60065460ff1680156200047157506009546001600160a01b03848116630100000090920416145b156200032457600754816200049a846001600160a01b03165f9081526001602052604090205490565b620004a6919062000680565b11158015620004e2575060085481620004d3846001600160a01b03165f9081526001602052604090205490565b620004df919062000680565b10155b620003245760405162461bcd60e51b8152602060048201526006602482015265119bdc989a5960d21b604482015260640162000162565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806200054257607f821691505b6020821081036200056157634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111562000324575f81815260208120601f850160051c810160208610156200058f5750805b601f850160051c820191505b81811015620005b0578281556001016200059b565b505050505050565b81516001600160401b03811115620005d457620005d462000519565b620005ec81620005e584546200052d565b8462000567565b602080601f83116001811462000622575f84156200060a5750858301515b5f19600386901b1c1916600185901b178555620005b0565b5f85815260208120601f198616915b82811015620006525788860151825594840194600190910190840162000631565b50858210156200067057878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b80820180821115620006a057634e487b7160e01b5f52601160045260245ffd5b92915050565b61197c80620006b45f395ff3fe60806040526004361061017e575f3560e01c8063860a32ec116100cd5780639e5356c111610087578063c1ce767d11610062578063c1ce767d14610450578063dd62ed3e1461046f578063e2255e29146104b3578063f2fde38b146104d2575f80fd5b80639e5356c1146103f3578063a457c2d714610412578063a9059cbb14610431575f80fd5b8063860a32ec1461034857806389f9a1d3146103615780638da5cb5b1461037657806395361b131461039257806395c23e5c146103c057806395d89b41146103df575f80fd5b8063293230b81161013857806342966c681161011357806342966c68146102a357806349bd5a5e146102c257806370a0823114610300578063715018a614610334575f80fd5b8063293230b814610255578063313ce567146102695780633950935114610284575f80fd5b806306fdde0314610189578063095ea7b3146101b357806318160ddd146101e25780631968b788146102005780631ab99e121461022157806323b872dd14610236575f80fd5b3661018557005b5f80fd5b348015610194575f80fd5b5061019d6104f1565b6040516101aa9190611557565b60405180910390f35b3480156101be575f80fd5b506101d26101cd3660046115c6565b610581565b60405190151581526020016101aa565b3480156101ed575f80fd5b506003545b6040519081526020016101aa565b34801561020b575f80fd5b5061021f61021a366004611608565b610597565b005b34801561022c575f80fd5b506101f260085481565b348015610241575f80fd5b506101d261025036600461162a565b6105dc565b348015610260575f80fd5b5061021f610684565b348015610274575f80fd5b50604051600981526020016101aa565b34801561028f575f80fd5b506101d261029e3660046115c6565b610a1d565b3480156102ae575f80fd5b5061021f6102bd366004611668565b610a58565b3480156102cd575f80fd5b506009546102e890630100000090046001600160a01b031681565b6040516001600160a01b0390911681526020016101aa565b34801561030b575f80fd5b506101f261031a36600461167f565b6001600160a01b03165f9081526001602052604090205490565b34801561033f575f80fd5b5061021f610abd565b348015610353575f80fd5b506006546101d29060ff1681565b34801561036c575f80fd5b506101f260075481565b348015610381575f80fd5b505f546001600160a01b03166102e8565b34801561039d575f80fd5b506101d26103ac36600461167f565b600b6020525f908152604090205460ff1681565b3480156103cb575f80fd5b5061021f6103da36600461169a565b610af1565b3480156103ea575f80fd5b5061019d610b6f565b3480156103fe575f80fd5b5061021f61040d366004611608565b610b7e565b34801561041d575f80fd5b506101d261042c3660046115c6565b610bc1565b34801561043c575f80fd5b506101d261044b3660046115c6565b610c59565b34801561045b575f80fd5b5061021f61046a366004611709565b610c65565b34801561047a575f80fd5b506101f26104893660046117db565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156104be575f80fd5b5061021f6104cd366004611608565b610cf7565b3480156104dd575f80fd5b5061021f6104ec36600461167f565b610d3c565b60606004805461050090611812565b80601f016020809104026020016040519081016040528092919081815260200182805461052c90611812565b80156105775780601f1061054e57610100808354040283529160200191610577565b820191905f5260205f20905b81548152906001019060200180831161055a57829003601f168201915b5050505050905090565b5f61058d338484610dd3565b5060015b92915050565b5f546001600160a01b031633146105c95760405162461bcd60e51b81526004016105c09061184a565b60405180910390fd5b6009805460ff1916911515919091179055565b5f6105e8848484610ef6565b6001600160a01b0384165f9081526002602090815260408083203384529091529020548281101561066c5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084016105c0565b6106798533858403610dd3565b506001949350505050565b5f546001600160a01b031633146106ad5760405162461bcd60e51b81526004016105c09061184a565b60095462010000900460ff16156107065760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016105c0565b6009805462ff0000191662010000179055600a546107399030906001600160a01b031669938804b638a5cbe49a00610dd3565b600a5f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610789573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107ad919061187f565b6001600160a01b031663c9c6539630600a5f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561080c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610830919061187f565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561087a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061089e919061187f565b600980546001600160a01b039283166301000000026301000000600160b81b0319909116179055600a541663f305d71947306108ee816001600160a01b03165f9081526001602052604090205490565b5f806109015f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610967573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061098c919061189a565b50506009805461ff0019166101001790819055600a5460405163095ea7b360e01b81526001600160a01b0391821660048201525f196024820152630100000090920416915063095ea7b3906044016020604051808303815f875af11580156109f6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a1a91906118c5565b50565b335f8181526002602090815260408083206001600160a01b0387168452909152812054909161058d918590610a539086906118f4565b610dd3565b5f546001600160a01b03163314610ab35760095460ff161515600114610ab35760405162461bcd60e51b815260206004820152601060248201526f109d5c9b881b9bdd08195b98589b195960821b60448201526064016105c0565b610a1a33826110ce565b5f546001600160a01b03163314610ae65760405162461bcd60e51b81526004016105c09061184a565b610aef5f611224565b565b5f546001600160a01b03163314610b1a5760405162461bcd60e51b81526004016105c09061184a565b6006805460ff191695151595909517909455600980546301000000600160b81b03191663010000006001600160a01b0393841602179055600a80546001600160a01b0319169190941617909255600755600855565b60606005805461050090611812565b5f546001600160a01b03163314610ba75760405162461bcd60e51b81526004016105c09061184a565b600980549115156101000261ff0019909216919091179055565b335f9081526002602090815260408083206001600160a01b038616845290915281205482811015610c425760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016105c0565b610c4f3385858403610dd3565b5060019392505050565b5f61058d338484610ef6565b5f546001600160a01b03163314610c8e5760405162461bcd60e51b81526004016105c09061184a565b5f5b8251811015610cf25781600b5f858481518110610caf57610caf611907565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff191691151591909117905580610cea8161191b565b915050610c90565b505050565b5f546001600160a01b03163314610d205760405162461bcd60e51b81526004016105c09061184a565b60098054911515620100000262ff000019909216919091179055565b5f546001600160a01b03163314610d655760405162461bcd60e51b81526004016105c09061184a565b6001600160a01b038116610dca5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105c0565b610a1a81611224565b6001600160a01b038316610e355760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105c0565b6001600160a01b038216610e965760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105c0565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610f5a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105c0565b6001600160a01b038216610fbc5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105c0565b610fc7838383611273565b6001600160a01b0383165f908152600160205260409020548181101561103e5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016105c0565b6001600160a01b038085165f908152600160205260408082208585039055918516815290812080548492906110749084906118f4565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516110c091815260200190565b60405180910390a350505050565b6001600160a01b03821661112e5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016105c0565b611139825f83611273565b6001600160a01b0382165f90815260016020526040902054818110156111ac5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016105c0565b6001600160a01b0383165f9081526001602052604081208383039055600380548492906111da908490611933565b90915550506040518281525f906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0382165f908152600b602052604090205460ff161580156112b357506001600160a01b0383165f908152600b602052604090205460ff16155b6112ed5760405162461bcd60e51b815260206004820152600b60248201526a109b1858dadb1a5cdd195960aa1b60448201526064016105c0565b600954630100000090046001600160a01b03161580611315575060095462010000900460ff16155b15611386575f546001600160a01b038481169116148061134157505f546001600160a01b038381169116145b610cf25760405162461bcd60e51b81526020600482015260166024820152751d1c98591a5b99c81a5cc81b9bdd081cdd185c9d195960521b60448201526064016105c0565b5f546001600160a01b038481169116148015906113b057505f546001600160a01b03838116911614155b156114935760095462010000900460ff166114035760405162461bcd60e51b81526020600482015260136024820152722a3930b234b7339034b9903737ba1037b832b760691b60448201526064016105c0565b6009546001600160a01b038481166301000000909204161480156114355750600a546001600160a01b03838116911614155b80156114485750600954610100900460ff165b15611493576001600160a01b0382165f908152600c6020526040902054421161146f575f80fd5b61147a4260286118f4565b6001600160a01b0383165f908152600c60205260409020555b60065460ff1680156114b957506009546001600160a01b03848116630100000090920416145b15610cf257600754816114e0846001600160a01b03165f9081526001602052604090205490565b6114ea91906118f4565b11158015611522575060085481611515846001600160a01b03165f9081526001602052604090205490565b61151f91906118f4565b10155b610cf25760405162461bcd60e51b8152602060048201526006602482015265119bdc989a5960d21b60448201526064016105c0565b5f6020808352835180828501525f5b8181101561158257858101830151858201604001528201611566565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610a1a575f80fd5b80356115c1816115a2565b919050565b5f80604083850312156115d7575f80fd5b82356115e2816115a2565b946020939093013593505050565b8015158114610a1a575f80fd5b80356115c1816115f0565b5f60208284031215611618575f80fd5b8135611623816115f0565b9392505050565b5f805f6060848603121561163c575f80fd5b8335611647816115a2565b92506020840135611657816115a2565b929592945050506040919091013590565b5f60208284031215611678575f80fd5b5035919050565b5f6020828403121561168f575f80fd5b8135611623816115a2565b5f805f805f60a086880312156116ae575f80fd5b85356116b9816115f0565b9450602086013593506040860135925060608601356116d7816115a2565b915060808601356116e7816115a2565b809150509295509295909350565b634e487b7160e01b5f52604160045260245ffd5b5f806040838503121561171a575f80fd5b823567ffffffffffffffff80821115611731575f80fd5b818501915085601f830112611744575f80fd5b8135602082821115611758576117586116f5565b8160051b604051601f19603f8301168101818110868211171561177d5761177d6116f5565b60405292835281830193508481018201928984111561179a575f80fd5b948201945b838610156117bf576117b0866115b6565b8552948201949382019361179f565b96506117ce90508782016115fd565b9450505050509250929050565b5f80604083850312156117ec575f80fd5b82356117f7816115a2565b91506020830135611807816115a2565b809150509250929050565b600181811c9082168061182657607f821691505b60208210810361184457634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f6020828403121561188f575f80fd5b8151611623816115a2565b5f805f606084860312156118ac575f80fd5b8351925060208401519150604084015190509250925092565b5f602082840312156118d5575f80fd5b8151611623816115f0565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610591576105916118e0565b634e487b7160e01b5f52603260045260245ffd5b5f6001820161192c5761192c6118e0565b5060010190565b81810381811115610591576105916118e056fea264697066735822122098b675e20d1903b909135d7c1e2a116245f0ecd1d296a1682b535d850982b76b64736f6c63430008140033
Deployed Bytecode
0x60806040526004361061017e575f3560e01c8063860a32ec116100cd5780639e5356c111610087578063c1ce767d11610062578063c1ce767d14610450578063dd62ed3e1461046f578063e2255e29146104b3578063f2fde38b146104d2575f80fd5b80639e5356c1146103f3578063a457c2d714610412578063a9059cbb14610431575f80fd5b8063860a32ec1461034857806389f9a1d3146103615780638da5cb5b1461037657806395361b131461039257806395c23e5c146103c057806395d89b41146103df575f80fd5b8063293230b81161013857806342966c681161011357806342966c68146102a357806349bd5a5e146102c257806370a0823114610300578063715018a614610334575f80fd5b8063293230b814610255578063313ce567146102695780633950935114610284575f80fd5b806306fdde0314610189578063095ea7b3146101b357806318160ddd146101e25780631968b788146102005780631ab99e121461022157806323b872dd14610236575f80fd5b3661018557005b5f80fd5b348015610194575f80fd5b5061019d6104f1565b6040516101aa9190611557565b60405180910390f35b3480156101be575f80fd5b506101d26101cd3660046115c6565b610581565b60405190151581526020016101aa565b3480156101ed575f80fd5b506003545b6040519081526020016101aa565b34801561020b575f80fd5b5061021f61021a366004611608565b610597565b005b34801561022c575f80fd5b506101f260085481565b348015610241575f80fd5b506101d261025036600461162a565b6105dc565b348015610260575f80fd5b5061021f610684565b348015610274575f80fd5b50604051600981526020016101aa565b34801561028f575f80fd5b506101d261029e3660046115c6565b610a1d565b3480156102ae575f80fd5b5061021f6102bd366004611668565b610a58565b3480156102cd575f80fd5b506009546102e890630100000090046001600160a01b031681565b6040516001600160a01b0390911681526020016101aa565b34801561030b575f80fd5b506101f261031a36600461167f565b6001600160a01b03165f9081526001602052604090205490565b34801561033f575f80fd5b5061021f610abd565b348015610353575f80fd5b506006546101d29060ff1681565b34801561036c575f80fd5b506101f260075481565b348015610381575f80fd5b505f546001600160a01b03166102e8565b34801561039d575f80fd5b506101d26103ac36600461167f565b600b6020525f908152604090205460ff1681565b3480156103cb575f80fd5b5061021f6103da36600461169a565b610af1565b3480156103ea575f80fd5b5061019d610b6f565b3480156103fe575f80fd5b5061021f61040d366004611608565b610b7e565b34801561041d575f80fd5b506101d261042c3660046115c6565b610bc1565b34801561043c575f80fd5b506101d261044b3660046115c6565b610c59565b34801561045b575f80fd5b5061021f61046a366004611709565b610c65565b34801561047a575f80fd5b506101f26104893660046117db565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156104be575f80fd5b5061021f6104cd366004611608565b610cf7565b3480156104dd575f80fd5b5061021f6104ec36600461167f565b610d3c565b60606004805461050090611812565b80601f016020809104026020016040519081016040528092919081815260200182805461052c90611812565b80156105775780601f1061054e57610100808354040283529160200191610577565b820191905f5260205f20905b81548152906001019060200180831161055a57829003601f168201915b5050505050905090565b5f61058d338484610dd3565b5060015b92915050565b5f546001600160a01b031633146105c95760405162461bcd60e51b81526004016105c09061184a565b60405180910390fd5b6009805460ff1916911515919091179055565b5f6105e8848484610ef6565b6001600160a01b0384165f9081526002602090815260408083203384529091529020548281101561066c5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084016105c0565b6106798533858403610dd3565b506001949350505050565b5f546001600160a01b031633146106ad5760405162461bcd60e51b81526004016105c09061184a565b60095462010000900460ff16156107065760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016105c0565b6009805462ff0000191662010000179055600a546107399030906001600160a01b031669938804b638a5cbe49a00610dd3565b600a5f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610789573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107ad919061187f565b6001600160a01b031663c9c6539630600a5f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561080c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610830919061187f565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561087a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061089e919061187f565b600980546001600160a01b039283166301000000026301000000600160b81b0319909116179055600a541663f305d71947306108ee816001600160a01b03165f9081526001602052604090205490565b5f806109015f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610967573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061098c919061189a565b50506009805461ff0019166101001790819055600a5460405163095ea7b360e01b81526001600160a01b0391821660048201525f196024820152630100000090920416915063095ea7b3906044016020604051808303815f875af11580156109f6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a1a91906118c5565b50565b335f8181526002602090815260408083206001600160a01b0387168452909152812054909161058d918590610a539086906118f4565b610dd3565b5f546001600160a01b03163314610ab35760095460ff161515600114610ab35760405162461bcd60e51b815260206004820152601060248201526f109d5c9b881b9bdd08195b98589b195960821b60448201526064016105c0565b610a1a33826110ce565b5f546001600160a01b03163314610ae65760405162461bcd60e51b81526004016105c09061184a565b610aef5f611224565b565b5f546001600160a01b03163314610b1a5760405162461bcd60e51b81526004016105c09061184a565b6006805460ff191695151595909517909455600980546301000000600160b81b03191663010000006001600160a01b0393841602179055600a80546001600160a01b0319169190941617909255600755600855565b60606005805461050090611812565b5f546001600160a01b03163314610ba75760405162461bcd60e51b81526004016105c09061184a565b600980549115156101000261ff0019909216919091179055565b335f9081526002602090815260408083206001600160a01b038616845290915281205482811015610c425760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016105c0565b610c4f3385858403610dd3565b5060019392505050565b5f61058d338484610ef6565b5f546001600160a01b03163314610c8e5760405162461bcd60e51b81526004016105c09061184a565b5f5b8251811015610cf25781600b5f858481518110610caf57610caf611907565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff191691151591909117905580610cea8161191b565b915050610c90565b505050565b5f546001600160a01b03163314610d205760405162461bcd60e51b81526004016105c09061184a565b60098054911515620100000262ff000019909216919091179055565b5f546001600160a01b03163314610d655760405162461bcd60e51b81526004016105c09061184a565b6001600160a01b038116610dca5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105c0565b610a1a81611224565b6001600160a01b038316610e355760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105c0565b6001600160a01b038216610e965760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105c0565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610f5a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105c0565b6001600160a01b038216610fbc5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105c0565b610fc7838383611273565b6001600160a01b0383165f908152600160205260409020548181101561103e5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016105c0565b6001600160a01b038085165f908152600160205260408082208585039055918516815290812080548492906110749084906118f4565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516110c091815260200190565b60405180910390a350505050565b6001600160a01b03821661112e5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016105c0565b611139825f83611273565b6001600160a01b0382165f90815260016020526040902054818110156111ac5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016105c0565b6001600160a01b0383165f9081526001602052604081208383039055600380548492906111da908490611933565b90915550506040518281525f906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0382165f908152600b602052604090205460ff161580156112b357506001600160a01b0383165f908152600b602052604090205460ff16155b6112ed5760405162461bcd60e51b815260206004820152600b60248201526a109b1858dadb1a5cdd195960aa1b60448201526064016105c0565b600954630100000090046001600160a01b03161580611315575060095462010000900460ff16155b15611386575f546001600160a01b038481169116148061134157505f546001600160a01b038381169116145b610cf25760405162461bcd60e51b81526020600482015260166024820152751d1c98591a5b99c81a5cc81b9bdd081cdd185c9d195960521b60448201526064016105c0565b5f546001600160a01b038481169116148015906113b057505f546001600160a01b03838116911614155b156114935760095462010000900460ff166114035760405162461bcd60e51b81526020600482015260136024820152722a3930b234b7339034b9903737ba1037b832b760691b60448201526064016105c0565b6009546001600160a01b038481166301000000909204161480156114355750600a546001600160a01b03838116911614155b80156114485750600954610100900460ff165b15611493576001600160a01b0382165f908152600c6020526040902054421161146f575f80fd5b61147a4260286118f4565b6001600160a01b0383165f908152600c60205260409020555b60065460ff1680156114b957506009546001600160a01b03848116630100000090920416145b15610cf257600754816114e0846001600160a01b03165f9081526001602052604090205490565b6114ea91906118f4565b11158015611522575060085481611515846001600160a01b03165f9081526001602052604090205490565b61151f91906118f4565b10155b610cf25760405162461bcd60e51b8152602060048201526006602482015265119bdc989a5960d21b60448201526064016105c0565b5f6020808352835180828501525f5b8181101561158257858101830151858201604001528201611566565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610a1a575f80fd5b80356115c1816115a2565b919050565b5f80604083850312156115d7575f80fd5b82356115e2816115a2565b946020939093013593505050565b8015158114610a1a575f80fd5b80356115c1816115f0565b5f60208284031215611618575f80fd5b8135611623816115f0565b9392505050565b5f805f6060848603121561163c575f80fd5b8335611647816115a2565b92506020840135611657816115a2565b929592945050506040919091013590565b5f60208284031215611678575f80fd5b5035919050565b5f6020828403121561168f575f80fd5b8135611623816115a2565b5f805f805f60a086880312156116ae575f80fd5b85356116b9816115f0565b9450602086013593506040860135925060608601356116d7816115a2565b915060808601356116e7816115a2565b809150509295509295909350565b634e487b7160e01b5f52604160045260245ffd5b5f806040838503121561171a575f80fd5b823567ffffffffffffffff80821115611731575f80fd5b818501915085601f830112611744575f80fd5b8135602082821115611758576117586116f5565b8160051b604051601f19603f8301168101818110868211171561177d5761177d6116f5565b60405292835281830193508481018201928984111561179a575f80fd5b948201945b838610156117bf576117b0866115b6565b8552948201949382019361179f565b96506117ce90508782016115fd565b9450505050509250929050565b5f80604083850312156117ec575f80fd5b82356117f7816115a2565b91506020830135611807816115a2565b809150509250929050565b600181811c9082168061182657607f821691505b60208210810361184457634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f6020828403121561188f575f80fd5b8151611623816115a2565b5f805f606084860312156118ac575f80fd5b8351925060208401519150604084015190509250925092565b5f602082840312156118d5575f80fd5b8151611623816115f0565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610591576105916118e0565b634e487b7160e01b5f52603260045260245ffd5b5f6001820161192c5761192c6118e0565b5060010190565b81810381811115610591576105916118e056fea264697066735822122098b675e20d1903b909135d7c1e2a116245f0ecd1d296a1682b535d850982b76b64736f6c63430008140033
Deployed Bytecode Sourcemap
21359:3297:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9383:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11549:169;;;;;;;;;;-1:-1:-1;11549:169:0;;;;;:::i;:::-;;:::i;:::-;;;1327:14:1;;1320:22;1302:41;;1290:2;1275:18;11549:169:0;1162:187:1;10502:108:0;;;;;;;;;;-1:-1:-1;10590:12:0;;10502:108;;;1500:25:1;;;1488:2;1473:18;10502:108:0;1354:177:1;23383:83:0;;;;;;;;;;-1:-1:-1;23383:83:0;;;;;:::i;:::-;;:::i;:::-;;21461:31;;;;;;;;;;;;;;;;12200:492;;;;;;;;;;-1:-1:-1;12200:492:0;;;;;:::i;:::-;;:::i;22597:582::-;;;;;;;;;;;;;:::i;10345:92::-;;;;;;;;;;-1:-1:-1;10345:92:0;;10428:1;2641:36:1;;2629:2;2614:18;10345:92:0;2499:184:1;13101:215:0;;;;;;;;;;-1:-1:-1;13101:215:0;;;;;:::i;:::-;;:::i;24490:161::-;;;;;;;;;;-1:-1:-1;24490:161:0;;;;;:::i;:::-;;:::i;21690:28::-;;;;;;;;;;-1:-1:-1;21690:28:0;;;;;;;-1:-1:-1;;;;;21690:28:0;;;;;;-1:-1:-1;;;;;3037:32:1;;;3019:51;;3007:2;2992:18;21690:28:0;2873:203:1;10673:127:0;;;;;;;;;;-1:-1:-1;10673:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;10774:18:0;10747:7;10774:18;;;:9;:18;;;;;;;10673:127;2784:103;;;;;;;;;;;;;:::i;21397:19::-;;;;;;;;;;-1:-1:-1;21397:19:0;;;;;;;;21423:31;;;;;;;;;;;;;;;;2133:87;;;;;;;;;;-1:-1:-1;2179:7:0;2206:6;-1:-1:-1;;;;;2206:6:0;2133:87;;21774:42;;;;;;;;;;-1:-1:-1;21774:42:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;22207:382;;;;;;;;;;-1:-1:-1;22207:382:0;;;;;:::i;:::-;;:::i;9602:104::-;;;;;;;;;;;;;:::i;23284:91::-;;;;;;;;;;-1:-1:-1;23284:91:0;;;;;:::i;:::-;;:::i;13819:413::-;;;;;;;;;;-1:-1:-1;13819:413:0;;;;;:::i;:::-;;:::i;11013:175::-;;;;;;;;;;-1:-1:-1;11013:175:0;;;;;:::i;:::-;;:::i;21969:230::-;;;;;;;;;;-1:-1:-1;21969:230:0;;;;;:::i;:::-;;:::i;11251:151::-;;;;;;;;;;-1:-1:-1;11251:151:0;;;;;:::i;:::-;-1:-1:-1;;;;;11367:18:0;;;11340:7;11367:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;11251:151;23187:89;;;;;;;;;;-1:-1:-1;23187:89:0;;;;;:::i;:::-;;:::i;3042:201::-;;;;;;;;;;-1:-1:-1;3042:201:0;;;;;:::i;:::-;;:::i;9383:100::-;9437:13;9470:5;9463:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9383:100;:::o;11549:169::-;11632:4;11649:39;931:10;11672:7;11681:6;11649:8;:39::i;:::-;-1:-1:-1;11706:4:0;11549:169;;;;;:::o;23383:83::-;2179:7;2206:6;-1:-1:-1;;;;;2206:6:0;931:10;2353:23;2345:68;;;;-1:-1:-1;;;2345:68:0;;;;;;;:::i;:::-;;;;;;;;;23444:6:::1;:14:::0;;-1:-1:-1;;23444:14:0::1;::::0;::::1;;::::0;;;::::1;::::0;;23383:83::o;12200:492::-;12340:4;12357:36;12367:6;12375:9;12386:6;12357:9;:36::i;:::-;-1:-1:-1;;;;;12433:19:0;;12406:24;12433:19;;;:11;:19;;;;;;;;931:10;12433:33;;;;;;;;12485:26;;;;12477:79;;;;-1:-1:-1;;;12477:79:0;;6668:2:1;12477:79:0;;;6650:21:1;6707:2;6687:18;;;6680:30;6746:34;6726:18;;;6719:62;-1:-1:-1;;;6797:18:1;;;6790:38;6845:19;;12477:79:0;6466:404:1;12477:79:0;12592:57;12601:6;931:10;12642:6;12623:16;:25;12592:8;:57::i;:::-;-1:-1:-1;12680:4:0;;12200:492;-1:-1:-1;;;;12200:492:0:o;22597:582::-;2179:7;2206:6;-1:-1:-1;;;;;2206:6:0;931:10;2353:23;2345:68;;;;-1:-1:-1;;;2345:68:0;;;;;;;:::i;:::-;22660:12:::1;::::0;;;::::1;;;22659:13;22651:49;;;::::0;-1:-1:-1;;;22651:49:0;;7077:2:1;22651:49:0::1;::::0;::::1;7059:21:1::0;7116:2;7096:18;;;7089:30;7155:25;7135:18;;;7128:53;7198:18;;22651:49:0::1;6875:347:1::0;22651:49:0::1;22711:12;:19:::0;;-1:-1:-1;;22711:19:0::1;::::0;::::1;::::0;;22773:15:::1;::::0;22741:59:::1;::::0;22758:4:::1;::::0;-1:-1:-1;;;;;22773:15:0::1;21535:27;22741:8;:59::i;:::-;22845:15;;;;;;;;;-1:-1:-1::0;;;;;22845:15:0::1;-1:-1:-1::0;;;;;22845:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;22827:55:0::1;;22891:4;22898:15;;;;;;;;;-1:-1:-1::0;;;;;22898:15:0::1;-1:-1:-1::0;;;;;22898:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22827:94;::::0;-1:-1:-1;;;;;;22827:94:0::1;::::0;;;;;;-1:-1:-1;;;;;7713:15:1;;;22827:94:0::1;::::0;::::1;7695:34:1::0;7765:15;;7745:18;;;7738:43;7630:18;;22827:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22811:13;:110:::0;;-1:-1:-1;;;;;22811:110:0;;::::1;::::0;::::1;-1:-1:-1::0;;;;;;22811:110:0;;::::1;;::::0;;22932:15:::1;::::0;::::1;:31;22971:21;23002:4;23008:24;23002:4:::0;-1:-1:-1;;;;;10774:18:0;10747:7;10774:18;;;:9;:18;;;;;;;10673:127;23008:24:::1;23033:1;23035::::0;23037:7:::1;2179::::0;2206:6;-1:-1:-1;;;;;2206:6:0;;2133:87;23037:7:::1;22932:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;22932:129:0;;;-1:-1:-1;;;;;8151:15:1;;;22932:129:0::1;::::0;::::1;8133:34:1::0;8183:18;;;8176:34;;;;8226:18;;;8219:34;;;;8269:18;;;8262:34;8333:15;;;8312:19;;;8305:44;23045:15:0::1;8365:19:1::0;;;8358:35;8067:19;;22932:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;23072:10:0::1;:17:::0;;-1:-1:-1;;23072:17:0::1;;;::::0;;;;23138:15:::1;::::0;23100:71:::1;::::0;-1:-1:-1;;;23100:71:0;;-1:-1:-1;;;;;23138:15:0;;::::1;23100:71;::::0;::::1;8889:51:1::0;-1:-1:-1;;8956:18:1;;;8949:34;23107:13:0;;;::::1;;::::0;-1:-1:-1;23100:29:0::1;::::0;8862:18:1;;23100:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;22597:582::o:0;13101:215::-;931:10;13189:4;13238:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;13238:34:0;;;;;;;;;;13189:4;;13206:80;;13229:7;;13238:47;;13275:10;;13238:47;:::i;:::-;13206:8;:80::i;24490:161::-;2179:7;2206:6;-1:-1:-1;;;;;2206:6:0;24542:10;:21;24539:69;;24573:6;;;;:14;;:6;:14;24565:43;;;;-1:-1:-1;;;24565:43:0;;9708:2:1;24565:43:0;;;9690:21:1;9747:2;9727:18;;;9720:30;-1:-1:-1;;;9766:18:1;;;9759:46;9822:18;;24565:43:0;9506:340:1;24565:43:0;24619:24;24625:10;24637:5;24619;:24::i;2784:103::-;2179:7;2206:6;-1:-1:-1;;;;;2206:6:0;931:10;2353:23;2345:68;;;;-1:-1:-1;;;2345:68:0;;;;;;;:::i;:::-;2849:30:::1;2876:1;2849:18;:30::i;:::-;2784:103::o:0;22207:382::-;2179:7;2206:6;-1:-1:-1;;;;;2206:6:0;931:10;2353:23;2345:68;;;;-1:-1:-1;;;2345:68:0;;;;;;;:::i;:::-;22368:7:::1;:18:::0;;-1:-1:-1;;22368:18:0::1;::::0;::::1;;::::0;;;::::1;::::0;;;22397:13:::1;:30:::0;;-1:-1:-1;;;;;;22397:30:0::1;::::0;-1:-1:-1;;;;;22397:30:0;;::::1;;;::::0;;22438:15:::1;:49:::0;;-1:-1:-1;;;;;;22438:49:0::1;::::0;;;::::1;;::::0;;;22498:16:::1;:36:::0;22545:16:::1;:36:::0;22207:382::o;9602:104::-;9658:13;9691:7;9684:14;;;;;:::i;23284:91::-;2179:7;2206:6;-1:-1:-1;;;;;2206:6:0;931:10;2353:23;2345:68;;;;-1:-1:-1;;;2345:68:0;;;;;;;:::i;:::-;23349:10:::1;:18:::0;;;::::1;;;;-1:-1:-1::0;;23349:18:0;;::::1;::::0;;;::::1;::::0;;23284:91::o;13819:413::-;931:10;13912:4;13956:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;13956:34:0;;;;;;;;;;14009:35;;;;14001:85;;;;-1:-1:-1;;;14001:85:0;;10053:2:1;14001:85:0;;;10035:21:1;10092:2;10072:18;;;10065:30;10131:34;10111:18;;;10104:62;-1:-1:-1;;;10182:18:1;;;10175:35;10227:19;;14001:85:0;9851:401:1;14001:85:0;14122:67;931:10;14145:7;14173:15;14154:16;:34;14122:8;:67::i;:::-;-1:-1:-1;14220:4:0;;13819:413;-1:-1:-1;;;13819:413:0:o;11013:175::-;11099:4;11116:42;931:10;11140:9;11151:6;11116:9;:42::i;21969:230::-;2179:7;2206:6;-1:-1:-1;;;;;2206:6:0;931:10;2353:23;2345:68;;;;-1:-1:-1;;;2345:68:0;;;;;;;:::i;:::-;22074:6:::1;22069:115;22090:10;:17;22086:1;:21;22069:115;;;22157:15;22129:10;:25;22140:10;22151:1;22140:13;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;22129:25:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;22129:25:0;:43;;-1:-1:-1;;22129:43:0::1;::::0;::::1;;::::0;;;::::1;::::0;;22109:3;::::1;::::0;::::1;:::i;:::-;;;;22069:115;;;;21969:230:::0;;:::o;23187:89::-;2179:7;2206:6;-1:-1:-1;;;;;2206:6:0;931:10;2353:23;2345:68;;;;-1:-1:-1;;;2345:68:0;;;;;;;:::i;:::-;23248:12:::1;:20:::0;;;::::1;;::::0;::::1;-1:-1:-1::0;;23248:20:0;;::::1;::::0;;;::::1;::::0;;23187:89::o;3042:201::-;2179:7;2206:6;-1:-1:-1;;;;;2206:6:0;931:10;2353:23;2345:68;;;;-1:-1:-1;;;2345:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3131:22:0;::::1;3123:73;;;::::0;-1:-1:-1;;;3123:73:0;;10731:2:1;3123:73:0::1;::::0;::::1;10713:21:1::0;10770:2;10750:18;;;10743:30;10809:34;10789:18;;;10782:62;-1:-1:-1;;;10860:18:1;;;10853:36;10906:19;;3123:73:0::1;10529:402:1::0;3123:73:0::1;3207:28;3226:8;3207:18;:28::i;17503:380::-:0;-1:-1:-1;;;;;17639:19:0;;17631:68;;;;-1:-1:-1;;;17631:68:0;;11138:2:1;17631:68:0;;;11120:21:1;11177:2;11157:18;;;11150:30;11216:34;11196:18;;;11189:62;-1:-1:-1;;;11267:18:1;;;11260:34;11311:19;;17631:68:0;10936:400:1;17631:68:0;-1:-1:-1;;;;;17718:21:0;;17710:68;;;;-1:-1:-1;;;17710:68:0;;11543:2:1;17710:68:0;;;11525:21:1;11582:2;11562:18;;;11555:30;11621:34;11601:18;;;11594:62;-1:-1:-1;;;11672:18:1;;;11665:32;11714:19;;17710:68:0;11341:398:1;17710:68:0;-1:-1:-1;;;;;17791:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;17843:32;;1500:25:1;;;17843:32:0;;1473:18:1;17843:32:0;;;;;;;17503:380;;;:::o;14722:733::-;-1:-1:-1;;;;;14862:20:0;;14854:70;;;;-1:-1:-1;;;14854:70:0;;11946:2:1;14854:70:0;;;11928:21:1;11985:2;11965:18;;;11958:30;12024:34;12004:18;;;11997:62;-1:-1:-1;;;12075:18:1;;;12068:35;12120:19;;14854:70:0;11744:401:1;14854:70:0;-1:-1:-1;;;;;14943:23:0;;14935:71;;;;-1:-1:-1;;;14935:71:0;;12352:2:1;14935:71:0;;;12334:21:1;12391:2;12371:18;;;12364:30;12430:34;12410:18;;;12403:62;-1:-1:-1;;;12481:18:1;;;12474:33;12524:19;;14935:71:0;12150:399:1;14935:71:0;15019:47;15040:6;15048:9;15059:6;15019:20;:47::i;:::-;-1:-1:-1;;;;;15103:17:0;;15079:21;15103:17;;;:9;:17;;;;;;15139:23;;;;15131:74;;;;-1:-1:-1;;;15131:74:0;;12756:2:1;15131:74:0;;;12738:21:1;12795:2;12775:18;;;12768:30;12834:34;12814:18;;;12807:62;-1:-1:-1;;;12885:18:1;;;12878:36;12931:19;;15131:74:0;12554:402:1;15131:74:0;-1:-1:-1;;;;;15241:17:0;;;;;;;:9;:17;;;;;;15261:22;;;15241:42;;15305:20;;;;;;;;:30;;15277:6;;15241:17;15305:30;;15277:6;;15305:30;:::i;:::-;;;;;;;;15370:9;-1:-1:-1;;;;;15353:35:0;15362:6;-1:-1:-1;;;;;15353:35:0;;15381:6;15353:35;;;;1500:25:1;;1488:2;1473:18;;1354:177;15353:35:0;;;;;;;;14843:612;14722:733;;;:::o;16474:591::-;-1:-1:-1;;;;;16558:21:0;;16550:67;;;;-1:-1:-1;;;16550:67:0;;13163:2:1;16550:67:0;;;13145:21:1;13202:2;13182:18;;;13175:30;13241:34;13221:18;;;13214:62;-1:-1:-1;;;13292:18:1;;;13285:31;13333:19;;16550:67:0;12961:397:1;16550:67:0;16630:49;16651:7;16668:1;16672:6;16630:20;:49::i;:::-;-1:-1:-1;;;;;16717:18:0;;16692:22;16717:18;;;:9;:18;;;;;;16754:24;;;;16746:71;;;;-1:-1:-1;;;16746:71:0;;13565:2:1;16746:71:0;;;13547:21:1;13604:2;13584:18;;;13577:30;13643:34;13623:18;;;13616:62;-1:-1:-1;;;13694:18:1;;;13687:32;13736:19;;16746:71:0;13363:398:1;16746:71:0;-1:-1:-1;;;;;16853:18:0;;;;;;:9;:18;;;;;16874:23;;;16853:44;;16919:12;:22;;16891:6;;16853:18;16919:22;;16891:6;;16919:22;:::i;:::-;;;;-1:-1:-1;;16959:37:0;;1500:25:1;;;16985:1:0;;-1:-1:-1;;;;;16959:37:0;;;;;1488:2:1;1473:18;16959:37:0;;;;;;;22069:115:::1;21969:230:::0;;:::o;3403:191::-;3477:16;3496:6;;-1:-1:-1;;;;;3513:17:0;;;-1:-1:-1;;;;;;3513:17:0;;;;;;3546:40;;3496:6;;;;;;;3546:40;;3477:16;3546:40;3466:128;3403:191;:::o;23511:971::-;-1:-1:-1;;;;;23663:14:0;;;;;;:10;:14;;;;;;;;23662:15;:36;;;;-1:-1:-1;;;;;;23682:16:0;;;;;;:10;:16;;;;;;;;23681:17;23662:36;23654:60;;;;-1:-1:-1;;;23654:60:0;;14101:2:1;23654:60:0;;;14083:21:1;14140:2;14120:18;;;14113:30;-1:-1:-1;;;14159:18:1;;;14152:41;14210:18;;23654:60:0;13899:335:1;23654:60:0;23731:13;;;;;-1:-1:-1;;;;;23731:13:0;:27;;:52;;-1:-1:-1;23762:12:0;;;;;;;:21;23731:52;23727:173;;;2179:7;2206:6;-1:-1:-1;;;;;23808:15:0;;;2206:6;;23808:15;;:32;;-1:-1:-1;2179:7:0;2206:6;-1:-1:-1;;;;;23827:13:0;;;2206:6;;23827:13;23808:32;23800:67;;;;-1:-1:-1;;;23800:67:0;;14441:2:1;23800:67:0;;;14423:21:1;14480:2;14460:18;;;14453:30;-1:-1:-1;;;14499:18:1;;;14492:52;14561:18;;23800:67:0;14239:346:1;23727:173:0;2179:7;2206:6;-1:-1:-1;;;;;23916:15:0;;;2206:6;;23916:15;;;;:32;;-1:-1:-1;2179:7:0;2206:6;-1:-1:-1;;;;;23935:13:0;;;2206:6;;23935:13;;23916:32;23912:367;;;23973:12;;;;;;;23965:44;;;;-1:-1:-1;;;23965:44:0;;14792:2:1;23965:44:0;;;14774:21:1;14831:2;14811:18;;;14804:30;-1:-1:-1;;;14850:18:1;;;14843:49;14909:18;;23965:44:0;14590:343:1;23965:44:0;24038:13;;-1:-1:-1;;;;;24030:21:0;;;24038:13;;;;;24030:21;:55;;;;-1:-1:-1;24069:15:0;;-1:-1:-1;;;;;24055:30:0;;;24069:15;;24055:30;;24030:55;:69;;;;-1:-1:-1;24089:10:0;;;;;;;24030:69;24026:242;;;-1:-1:-1;;;;;24157:12:0;;;;;;:8;:12;;;;;;24172:15;-1:-1:-1;24149:39:0;;;;;;24222:30;:15;24241:10;24222:30;:::i;:::-;-1:-1:-1;;;;;24207:12:0;;;;;;:8;:12;;;;;:45;24026:242;24295:7;;;;:32;;;;-1:-1:-1;24314:13:0;;-1:-1:-1;;;;;24306:21:0;;;24314:13;;;;;24306:21;24295:32;24291:184;;;24384:16;;24374:6;24352:19;24368:2;-1:-1:-1;;;;;10774:18:0;10747:7;10774:18;;;:9;:18;;;;;;;10673:127;24352:19;:28;;;;:::i;:::-;:48;;:100;;;;;24436:16;;24426:6;24404:19;24420:2;-1:-1:-1;;;;;10774:18:0;10747:7;10774:18;;;:9;:18;;;;;;;10673:127;24404:19;:28;;;;:::i;:::-;:48;;24352:100;24344:119;;;;-1:-1:-1;;;24344:119:0;;15140:2:1;24344:119:0;;;15122:21:1;15179:1;15159:18;;;15152:29;-1:-1:-1;;;15197:18:1;;;15190:36;15243:18;;24344:119:0;14938:329:1;14:548;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:134;771:20;;800:31;771:20;800:31;:::i;:::-;703:134;;;:::o;842:315::-;910:6;918;971:2;959:9;950:7;946:23;942:32;939:52;;;987:1;984;977:12;939:52;1026:9;1013:23;1045:31;1070:5;1045:31;:::i;:::-;1095:5;1147:2;1132:18;;;;1119:32;;-1:-1:-1;;;842:315:1:o;1536:118::-;1622:5;1615:13;1608:21;1601:5;1598:32;1588:60;;1644:1;1641;1634:12;1659:128;1724:20;;1753:28;1724:20;1753:28;:::i;1792:241::-;1848:6;1901:2;1889:9;1880:7;1876:23;1872:32;1869:52;;;1917:1;1914;1907:12;1869:52;1956:9;1943:23;1975:28;1997:5;1975:28;:::i;:::-;2022:5;1792:241;-1:-1:-1;;;1792:241:1:o;2038:456::-;2115:6;2123;2131;2184:2;2172:9;2163:7;2159:23;2155:32;2152:52;;;2200:1;2197;2190:12;2152:52;2239:9;2226:23;2258:31;2283:5;2258:31;:::i;:::-;2308:5;-1:-1:-1;2365:2:1;2350:18;;2337:32;2378:33;2337:32;2378:33;:::i;:::-;2038:456;;2430:7;;-1:-1:-1;;;2484:2:1;2469:18;;;;2456:32;;2038:456::o;2688:180::-;2747:6;2800:2;2788:9;2779:7;2775:23;2771:32;2768:52;;;2816:1;2813;2806:12;2768:52;-1:-1:-1;2839:23:1;;2688:180;-1:-1:-1;2688:180:1:o;3081:247::-;3140:6;3193:2;3181:9;3172:7;3168:23;3164:32;3161:52;;;3209:1;3206;3199:12;3161:52;3248:9;3235:23;3267:31;3292:5;3267:31;:::i;3333:661::-;3425:6;3433;3441;3449;3457;3510:3;3498:9;3489:7;3485:23;3481:33;3478:53;;;3527:1;3524;3517:12;3478:53;3566:9;3553:23;3585:28;3607:5;3585:28;:::i;:::-;3632:5;-1:-1:-1;3684:2:1;3669:18;;3656:32;;-1:-1:-1;3735:2:1;3720:18;;3707:32;;-1:-1:-1;3791:2:1;3776:18;;3763:32;3804:33;3763:32;3804:33;:::i;:::-;3856:7;-1:-1:-1;3915:3:1;3900:19;;3887:33;3929;3887;3929;:::i;:::-;3981:7;3971:17;;;3333:661;;;;;;;;:::o;3999:127::-;4060:10;4055:3;4051:20;4048:1;4041:31;4091:4;4088:1;4081:15;4115:4;4112:1;4105:15;4131:1191;4221:6;4229;4282:2;4270:9;4261:7;4257:23;4253:32;4250:52;;;4298:1;4295;4288:12;4250:52;4338:9;4325:23;4367:18;4408:2;4400:6;4397:14;4394:34;;;4424:1;4421;4414:12;4394:34;4462:6;4451:9;4447:22;4437:32;;4507:7;4500:4;4496:2;4492:13;4488:27;4478:55;;4529:1;4526;4519:12;4478:55;4565:2;4552:16;4587:4;4610:2;4606;4603:10;4600:36;;;4616:18;;:::i;:::-;4662:2;4659:1;4655:10;4694:2;4688:9;4757:2;4753:7;4748:2;4744;4740:11;4736:25;4728:6;4724:38;4812:6;4800:10;4797:22;4792:2;4780:10;4777:18;4774:46;4771:72;;;4823:18;;:::i;:::-;4859:2;4852:22;4909:18;;;4943:15;;;;-1:-1:-1;4985:11:1;;;4981:20;;;5013:19;;;5010:39;;;5045:1;5042;5035:12;5010:39;5069:11;;;;5089:148;5105:6;5100:3;5097:15;5089:148;;;5171:23;5190:3;5171:23;:::i;:::-;5159:36;;5122:12;;;;5215;;;;5089:148;;;5256:6;-1:-1:-1;5281:35:1;;-1:-1:-1;5297:18:1;;;5281:35;:::i;:::-;5271:45;;;;;;4131:1191;;;;;:::o;5327:388::-;5395:6;5403;5456:2;5444:9;5435:7;5431:23;5427:32;5424:52;;;5472:1;5469;5462:12;5424:52;5511:9;5498:23;5530:31;5555:5;5530:31;:::i;:::-;5580:5;-1:-1:-1;5637:2:1;5622:18;;5609:32;5650:33;5609:32;5650:33;:::i;:::-;5702:7;5692:17;;;5327:388;;;;;:::o;5720:380::-;5799:1;5795:12;;;;5842;;;5863:61;;5917:4;5909:6;5905:17;5895:27;;5863:61;5970:2;5962:6;5959:14;5939:18;5936:38;5933:161;;6016:10;6011:3;6007:20;6004:1;5997:31;6051:4;6048:1;6041:15;6079:4;6076:1;6069:15;5933:161;;5720:380;;;:::o;6105:356::-;6307:2;6289:21;;;6326:18;;;6319:30;6385:34;6380:2;6365:18;;6358:62;6452:2;6437:18;;6105:356::o;7227:251::-;7297:6;7350:2;7338:9;7329:7;7325:23;7321:32;7318:52;;;7366:1;7363;7356:12;7318:52;7398:9;7392:16;7417:31;7442:5;7417:31;:::i;8404:306::-;8492:6;8500;8508;8561:2;8549:9;8540:7;8536:23;8532:32;8529:52;;;8577:1;8574;8567:12;8529:52;8606:9;8600:16;8590:26;;8656:2;8645:9;8641:18;8635:25;8625:35;;8700:2;8689:9;8685:18;8679:25;8669:35;;8404:306;;;;;:::o;8994:245::-;9061:6;9114:2;9102:9;9093:7;9089:23;9085:32;9082:52;;;9130:1;9127;9120:12;9082:52;9162:9;9156:16;9181:28;9203:5;9181:28;:::i;9244:127::-;9305:10;9300:3;9296:20;9293:1;9286:31;9336:4;9333:1;9326:15;9360:4;9357:1;9350:15;9376:125;9441:9;;;9462:10;;;9459:36;;;9475:18;;:::i;10257:127::-;10318:10;10313:3;10309:20;10306:1;10299:31;10349:4;10346:1;10339:15;10373:4;10370:1;10363:15;10389:135;10428:3;10449:17;;;10446:43;;10469:18;;:::i;:::-;-1:-1:-1;10516:1:1;10505:13;;10389:135::o;13766:128::-;13833:9;;;13854:11;;;13851:37;;;13868:18;;:::i
Swarm Source
ipfs://98b675e20d1903b909135d7c1e2a116245f0ecd1d296a1682b535d850982b76b
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.