ETH Price: $2,427.64 (+3.34%)
Gas: 1.47 Gwei

Token

GazaAid (GazaAid)
 

Overview

Max Total Supply

2,100,000,000 GazaAid

Holders

55

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
41,500 GazaAid

Value
$0.00
0xe93798d4307040995739a6109a415461102c8684
Loading...
Loading
Loading...
Loading
Loading...
Loading

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

Contract Source Code Verified (Exact Match)

Contract Name:
GazaAid

Compiler Version
v0.8.25+commit.b61c2a91

Optimization Enabled:
No with 200 runs

Other Settings:
paris EvmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-05-26
*/

// SPDX-License-Identifier: MIT

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
    );
}

/**
 * @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);
}

/**
 * @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;
    }
}

/**
 * @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);
    }
}

/**
 * @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) internal _balances;

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

    uint256 internal _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 18;
    }

    /**
     * @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 {}
}

/**
 * @dev Extension of {ERC20} that allows token holders to destroy both their own
 * tokens and those that they have an allowance for, in a way that can be
 * recognized off-chain (via event analysis).
 */
abstract contract ERC20Burnable is Context, ERC20 {
    /**
     * @dev Destroys `amount` tokens from the caller.
     *
     * See {ERC20-_burn}.
     */
    function burn(uint256 amount) public virtual {
        _burn(_msgSender(), amount);
    }

    /**
     * @dev Destroys `amount` tokens from `account`, deducting from the caller's
     * allowance.
     *
     * See {ERC20-_burn} and {ERC20-allowance}.
     *
     * Requirements:
     *
     * - the caller must have allowance for ``accounts``'s tokens of at least
     * `amount`.
     */
    function burnFrom(address account, uint256 amount) public virtual {
        uint256 currentAllowance = allowance(account, _msgSender());
        require(
            currentAllowance >= amount,
            "ERC20: burn amount exceeds allowance"
        );
        unchecked {
            _approve(account, _msgSender(), currentAllowance - amount);
        }
        _burn(account, amount);
    }
}

contract GazaAid is ERC20Burnable, Ownable {
    mapping(address => bool) private _isExcludedFromFee;

    uint8 private _decimals;

    address public marketingAddress;
    address public developerAddress;
    address public charityAddress;

    uint256 public _burnFee;
    uint256 private _previousBurnFee;

    uint256 public _marketingFee;
    uint256 private _previousMarketingFee;

    uint256 public _developerFee;
    uint256 private _previousDeveloperFee;

    uint256 public _charityFee;
    uint256 private _previousCharityFee;

    constructor(
        string memory name_,
        string memory symbol_,
        uint256 totalSupply_,
        uint8 decimals_,
        address[5] memory addr_,
        uint256[4] memory value_
    ) payable ERC20(name_, symbol_) {
        _decimals = decimals_;

        _burnFee = value_[3];
        _previousBurnFee = _burnFee;
        _marketingFee = value_[0];
        _previousMarketingFee = _marketingFee;
        _developerFee = value_[1];
        _previousDeveloperFee = _developerFee;
        _charityFee = value_[2];
        _previousCharityFee = _charityFee;

        marketingAddress = addr_[0];
        developerAddress = addr_[1];
        charityAddress = addr_[2];

        //exclude owner, feeaccount and this contract from fee
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[marketingAddress] = true;
        _isExcludedFromFee[developerAddress] = true;
        _isExcludedFromFee[charityAddress] = true;
        _isExcludedFromFee[address(this)] = true;

        _mint(_msgSender(), totalSupply_ * 10 ** decimals());
        if (addr_[4] == 0x0000000000000000000000000000000000000000) {
            payable(addr_[3]).transfer(getBalance());
        } else {
            payable(addr_[4]).transfer((getBalance() * 10) / 119);
            payable(addr_[3]).transfer(getBalance());
        }
    }

    receive() external payable {}

    function getBalance() private view returns (uint256) {
        return address(this).balance;
    }

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

    function setBurnFee(uint256 burnFee_) external onlyOwner {
        _burnFee = burnFee_;
    }

    function setMarketingFee(uint256 marketingFee_) external onlyOwner {
        _marketingFee = marketingFee_;
    }

    function setDeveloperFee(uint256 developerFee_) external onlyOwner {
        _developerFee = developerFee_;
    }

    function setCharityFee(uint256 charityFee_) external onlyOwner {
        _charityFee = charityFee_;
    }

    function setMarketingAddress(address _marketingAddress) external onlyOwner {
        marketingAddress = _marketingAddress;
    }

    function setDeveloperAddress(address _developerAddress) external onlyOwner {
        developerAddress = _developerAddress;
    }

    function setCharityAddress(address _charityAddress) external onlyOwner {
        charityAddress = _charityAddress;
    }

    function isExcludedFromFee(address account) public view returns (bool) {
        return _isExcludedFromFee[account];
    }

    function excludeFromFee(address account) public onlyOwner {
        _isExcludedFromFee[account] = true;
    }

    function includeInFee(address account) public onlyOwner {
        _isExcludedFromFee[account] = false;
    }

    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual override {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        uint256 senderBalance = balanceOf(sender);
        require(
            senderBalance >= amount,
            "ERC20: transfer amount exceeds balance"
        );

        _beforeTokenTransfer(sender, recipient, amount);

        bool takeFee = true;

        if (_isExcludedFromFee[sender] || _isExcludedFromFee[recipient]) {
            takeFee = false;
        }

        _tokenTransfer(sender, recipient, amount, takeFee);
    }

    function _tokenTransfer(
        address from,
        address to,
        uint256 value,
        bool takeFee
    ) private {
        if (!takeFee) {
            removeAllFee();
        }

        _transferStandard(from, to, value);

        if (!takeFee) {
            restoreAllFee();
        }
    }

    function removeAllFee() private {
        if (
            _burnFee == 0 &&
            _marketingFee == 0 &&
            _developerFee == 0 &&
            _charityFee == 0
        ) return;

        _previousBurnFee = _burnFee;
        _previousMarketingFee = _marketingFee;
        _previousDeveloperFee = _developerFee;
        _previousCharityFee = _charityFee;

        _burnFee = 0;
        _marketingFee = 0;
        _developerFee = 0;
        _charityFee = 0;
    }

    function restoreAllFee() private {
        _burnFee = _previousBurnFee;
        _marketingFee = _previousMarketingFee;
        _developerFee = _previousDeveloperFee;
        _charityFee = _previousCharityFee;
    }

    function _transferStandard(
        address from,
        address to,
        uint256 amount
    ) private {
        uint256 transferAmount = _getTransferValues(amount);

        _balances[from] = _balances[from] - amount;
        _balances[to] = _balances[to] + transferAmount;

        burnFeeTransfer(from, amount);
        feeTransfer(from, amount, _marketingFee, marketingAddress);
        feeTransfer(from, amount, _developerFee, developerAddress);
        feeTransfer(from, amount, _charityFee, charityAddress);

        emit Transfer(from, to, transferAmount);
    }

    function _getTransferValues(uint256 amount) private view returns (uint256) {
        uint256 taxValue = _getCompleteTaxValue(amount);
        uint256 transferAmount = amount - taxValue;
        return transferAmount;
    }

    function _getCompleteTaxValue(
        uint256 amount
    ) private view returns (uint256) {
        uint256 allTaxes = _burnFee +
            _marketingFee +
            _developerFee +
            _charityFee;
        uint256 taxValue = (amount * allTaxes) / 100;
        return taxValue;
    }

    function burnFeeTransfer(address sender, uint256 amount) private {
        uint256 burnFee = (amount * _burnFee) / 100;
        if (burnFee > 0) {
            _totalSupply = _totalSupply - burnFee;
            emit Transfer(sender, address(0), burnFee);
        }
    }

    function feeTransfer(
        address sender,
        uint256 amount,
        uint256 fee,
        address receiver
    ) private {
        uint256 currentFee = (amount * fee) / 100;
        if (currentFee > 0) {
            _balances[receiver] = _balances[receiver] + currentFee;
            emit Transfer(sender, receiver, currentFee);
        }
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"uint256","name":"totalSupply_","type":"uint256"},{"internalType":"uint8","name":"decimals_","type":"uint8"},{"internalType":"address[5]","name":"addr_","type":"address[5]"},{"internalType":"uint256[4]","name":"value_","type":"uint256[4]"}],"stateMutability":"payable","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":[],"name":"_burnFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_charityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_developerFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"charityAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"developerAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFee","outputs":[],"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":"account","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"uint256","name":"burnFee_","type":"uint256"}],"name":"setBurnFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_charityAddress","type":"address"}],"name":"setCharityAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"charityFee_","type":"uint256"}],"name":"setCharityFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_developerAddress","type":"address"}],"name":"setDeveloperAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"developerFee_","type":"uint256"}],"name":"setDeveloperFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_marketingAddress","type":"address"}],"name":"setMarketingAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"marketingFee_","type":"uint256"}],"name":"setMarketingFee","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"},{"stateMutability":"payable","type":"receive"}]

60806040526040516140ef3803806140ef83398181016040528101906100259190610c85565b858581600390816100369190610f63565b5080600490816100469190610f63565b50505061006561005a61065060201b60201c565b61065860201b60201c565b82600760006101000a81548160ff021916908360ff1602179055508060036004811061009457610093611035565b5b6020020151600a81905550600a54600b81905550806000600481106100bc576100bb611035565b5b6020020151600c81905550600c54600d81905550806001600481106100e4576100e3611035565b5b6020020151600e81905550600e54600f819055508060026004811061010c5761010b611035565b5b60200201516010819055506010546011819055508160006005811061013457610133611035565b5b6020020151600760016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160016005811061018d5761018c611035565b5b6020020151600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550816002600581106101e6576101e5611035565b5b6020020151600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060016006600061023f61071e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061049761046761065060201b60201c565b61047561074860201b60201c565b600a61048191906111c6565b8661048c9190611211565b61075f60201b60201c565b600073ffffffffffffffffffffffffffffffffffffffff16826004600581106104c3576104c2611035565b5b602002015173ffffffffffffffffffffffffffffffffffffffff160361055457816003600581106104f7576104f6611035565b5b602002015173ffffffffffffffffffffffffffffffffffffffff166108fc6105236108ca60201b60201c565b9081150290604051600060405180830381858888f1935050505015801561054e573d6000803e3d6000fd5b50610645565b8160046005811061056857610567611035565b5b602002015173ffffffffffffffffffffffffffffffffffffffff166108fc6077600a6105986108ca60201b60201c565b6105a29190611211565b6105ac9190611282565b9081150290604051600060405180830381858888f193505050501580156105d7573d6000803e3d6000fd5b50816003600581106105ec576105eb611035565b5b602002015173ffffffffffffffffffffffffffffffffffffffff166108fc6106186108ca60201b60201c565b9081150290604051600060405180830381858888f19350505050158015610643573d6000803e3d6000fd5b505b50505050505061138e565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600760009054906101000a900460ff16905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036107ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c590611310565b60405180910390fd5b6107e0600083836108d260201b60201c565b80600260008282546107f29190611330565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546108479190611330565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516108ac9190611373565b60405180910390a36108c6600083836108d760201b60201c565b5050565b600047905090565b505050565b505050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610943826108fa565b810181811067ffffffffffffffff821117156109625761096161090b565b5b80604052505050565b60006109756108dc565b9050610981828261093a565b919050565b600067ffffffffffffffff8211156109a1576109a061090b565b5b6109aa826108fa565b9050602081019050919050565b60005b838110156109d55780820151818401526020810190506109ba565b60008484015250505050565b60006109f46109ef84610986565b61096b565b905082815260208101848484011115610a1057610a0f6108f5565b5b610a1b8482856109b7565b509392505050565b600082601f830112610a3857610a376108f0565b5b8151610a488482602086016109e1565b91505092915050565b6000819050919050565b610a6481610a51565b8114610a6f57600080fd5b50565b600081519050610a8181610a5b565b92915050565b600060ff82169050919050565b610a9d81610a87565b8114610aa857600080fd5b50565b600081519050610aba81610a94565b92915050565b600067ffffffffffffffff821115610adb57610ada61090b565b5b602082029050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610b1682610aeb565b9050919050565b610b2681610b0b565b8114610b3157600080fd5b50565b600081519050610b4381610b1d565b92915050565b6000610b5c610b5784610ac0565b61096b565b90508060208402830185811115610b7657610b75610ae6565b5b835b81811015610b9f5780610b8b8882610b34565b845260208401935050602081019050610b78565b5050509392505050565b600082601f830112610bbe57610bbd6108f0565b5b6005610bcb848285610b49565b91505092915050565b600067ffffffffffffffff821115610bef57610bee61090b565b5b602082029050919050565b6000610c0d610c0884610bd4565b61096b565b90508060208402830185811115610c2757610c26610ae6565b5b835b81811015610c505780610c3c8882610a72565b845260208401935050602081019050610c29565b5050509392505050565b600082601f830112610c6f57610c6e6108f0565b5b6004610c7c848285610bfa565b91505092915050565b6000806000806000806101a08789031215610ca357610ca26108e6565b5b600087015167ffffffffffffffff811115610cc157610cc06108eb565b5b610ccd89828a01610a23565b965050602087015167ffffffffffffffff811115610cee57610ced6108eb565b5b610cfa89828a01610a23565b9550506040610d0b89828a01610a72565b9450506060610d1c89828a01610aab565b9350506080610d2d89828a01610ba9565b925050610120610d3f89828a01610c5a565b9150509295509295509295565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610d9e57607f821691505b602082108103610db157610db0610d57565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302610e197fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610ddc565b610e238683610ddc565b95508019841693508086168417925050509392505050565b6000819050919050565b6000610e60610e5b610e5684610a51565b610e3b565b610a51565b9050919050565b6000819050919050565b610e7a83610e45565b610e8e610e8682610e67565b848454610de9565b825550505050565b600090565b610ea3610e96565b610eae818484610e71565b505050565b5b81811015610ed257610ec7600082610e9b565b600181019050610eb4565b5050565b601f821115610f1757610ee881610db7565b610ef184610dcc565b81016020851015610f00578190505b610f14610f0c85610dcc565b830182610eb3565b50505b505050565b600082821c905092915050565b6000610f3a60001984600802610f1c565b1980831691505092915050565b6000610f538383610f29565b9150826002028217905092915050565b610f6c82610d4c565b67ffffffffffffffff811115610f8557610f8461090b565b5b610f8f8254610d86565b610f9a828285610ed6565b600060209050601f831160018114610fcd5760008415610fbb578287015190505b610fc58582610f47565b86555061102d565b601f198416610fdb86610db7565b60005b8281101561100357848901518255600182019150602085019450602081019050610fde565b86831015611020578489015161101c601f891682610f29565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156110ea578086048111156110c6576110c5611064565b5b60018516156110d55780820291505b80810290506110e385611093565b94506110aa565b94509492505050565b60008261110357600190506111bf565b8161111157600090506111bf565b8160018114611127576002811461113157611160565b60019150506111bf565b60ff84111561114357611142611064565b5b8360020a91508482111561115a57611159611064565b5b506111bf565b5060208310610133831016604e8410600b84101617156111955782820a9050838111156111905761118f611064565b5b6111bf565b6111a284848460016110a0565b925090508184048111156111b9576111b8611064565b5b81810290505b9392505050565b60006111d182610a51565b91506111dc83610a87565b92506112097fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846110f3565b905092915050565b600061121c82610a51565b915061122783610a51565b925082820261123581610a51565b9150828204841483151761124c5761124b611064565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061128d82610a51565b915061129883610a51565b9250826112a8576112a7611253565b5b828204905092915050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b60006112fa601f836112b3565b9150611305826112c4565b602082019050919050565b60006020820190508181036000830152611329816112ed565b9050919050565b600061133b82610a51565b915061134683610a51565b925082820190508082111561135e5761135d611064565b5b92915050565b61136d81610a51565b82525050565b60006020820190506113886000830184611364565b92915050565b612d528061139d6000396000f3fe6080604052600436106101f25760003560e01c80636c3172321161010d578063a5ece941116100a0578063caccd7f71161006f578063caccd7f71461070a578063dcc345f214610735578063dd62ed3e1461075e578063ea2f0b371461079b578063f2fde38b146107c4576101f9565b8063a5ece9411461064c578063a9059cbb14610677578063afcf2fc4146106b4578063c0b0fda2146106df576101f9565b80638da5cb5b116100dc5780638da5cb5b14610590578063906e9dd0146105bb57806395d89b41146105e4578063a457c2d71461060f576101f9565b80636c317232146104ea57806370a0823114610513578063715018a61461055057806379cc679014610567576101f9565b8063395093511161018557806348de478e1161015457806348de478e146104305780634bf2c7c91461045b5780635342acb414610484578063625e764c146104c1576101f9565b8063395093511461037657806340f8007a146103b357806342966c68146103de578063437823ec14610407576101f9565b806320c7c596116101c157806320c7c596146102ba57806322976e0d146102e357806323b872dd1461030e578063313ce5671461034b576101f9565b806306fdde03146101fe578063095ea7b3146102295780630c9be46d1461026657806318160ddd1461028f576101f9565b366101f957005b600080fd5b34801561020a57600080fd5b506102136107ed565b6040516102209190612228565b60405180910390f35b34801561023557600080fd5b50610250600480360381019061024b91906122e3565b61087f565b60405161025d919061233e565b60405180910390f35b34801561027257600080fd5b5061028d60048036038101906102889190612359565b61089d565b005b34801561029b57600080fd5b506102a461095d565b6040516102b19190612395565b60405180910390f35b3480156102c657600080fd5b506102e160048036038101906102dc91906123b0565b610967565b005b3480156102ef57600080fd5b506102f86109ed565b6040516103059190612395565b60405180910390f35b34801561031a57600080fd5b50610335600480360381019061033091906123dd565b6109f3565b604051610342919061233e565b60405180910390f35b34801561035757600080fd5b50610360610aeb565b60405161036d919061244c565b60405180910390f35b34801561038257600080fd5b5061039d600480360381019061039891906122e3565b610b02565b6040516103aa919061233e565b60405180910390f35b3480156103bf57600080fd5b506103c8610bae565b6040516103d59190612395565b60405180910390f35b3480156103ea57600080fd5b50610405600480360381019061040091906123b0565b610bb4565b005b34801561041357600080fd5b5061042e60048036038101906104299190612359565b610bc8565b005b34801561043c57600080fd5b50610445610c9f565b6040516104529190612395565b60405180910390f35b34801561046757600080fd5b50610482600480360381019061047d91906123b0565b610ca5565b005b34801561049057600080fd5b506104ab60048036038101906104a69190612359565b610d2b565b6040516104b8919061233e565b60405180910390f35b3480156104cd57600080fd5b506104e860048036038101906104e391906123b0565b610d81565b005b3480156104f657600080fd5b50610511600480360381019061050c91906123b0565b610e07565b005b34801561051f57600080fd5b5061053a60048036038101906105359190612359565b610e8d565b6040516105479190612395565b60405180910390f35b34801561055c57600080fd5b50610565610ed5565b005b34801561057357600080fd5b5061058e600480360381019061058991906122e3565b610f5d565b005b34801561059c57600080fd5b506105a5610fd8565b6040516105b29190612476565b60405180910390f35b3480156105c757600080fd5b506105e260048036038101906105dd9190612359565b611002565b005b3480156105f057600080fd5b506105f96110c2565b6040516106069190612228565b60405180910390f35b34801561061b57600080fd5b50610636600480360381019061063191906122e3565b611154565b604051610643919061233e565b60405180910390f35b34801561065857600080fd5b5061066161123f565b60405161066e9190612476565b60405180910390f35b34801561068357600080fd5b5061069e600480360381019061069991906122e3565b611265565b6040516106ab919061233e565b60405180910390f35b3480156106c057600080fd5b506106c9611283565b6040516106d69190612476565b60405180910390f35b3480156106eb57600080fd5b506106f46112a9565b6040516107019190612395565b60405180910390f35b34801561071657600080fd5b5061071f6112af565b60405161072c9190612476565b60405180910390f35b34801561074157600080fd5b5061075c60048036038101906107579190612359565b6112d5565b005b34801561076a57600080fd5b5061078560048036038101906107809190612491565b611395565b6040516107929190612395565b60405180910390f35b3480156107a757600080fd5b506107c260048036038101906107bd9190612359565b61141c565b005b3480156107d057600080fd5b506107eb60048036038101906107e69190612359565b6114f3565b005b6060600380546107fc90612500565b80601f016020809104026020016040519081016040528092919081815260200182805461082890612500565b80156108755780601f1061084a57610100808354040283529160200191610875565b820191906000526020600020905b81548152906001019060200180831161085857829003601f168201915b5050505050905090565b600061089361088c6115ea565b84846115f2565b6001905092915050565b6108a56115ea565b73ffffffffffffffffffffffffffffffffffffffff166108c3610fd8565b73ffffffffffffffffffffffffffffffffffffffff1614610919576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109109061257d565b60405180910390fd5b80600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600254905090565b61096f6115ea565b73ffffffffffffffffffffffffffffffffffffffff1661098d610fd8565b73ffffffffffffffffffffffffffffffffffffffff16146109e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109da9061257d565b60405180910390fd5b8060108190555050565b600c5481565b6000610a008484846117bb565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610a4b6115ea565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610acb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ac29061260f565b60405180910390fd5b610adf85610ad76115ea565b8584036115f2565b60019150509392505050565b6000600760009054906101000a900460ff16905090565b6000610ba4610b0f6115ea565b848460016000610b1d6115ea565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b9f919061265e565b6115f2565b6001905092915050565b60105481565b610bc5610bbf6115ea565b826119b8565b50565b610bd06115ea565b73ffffffffffffffffffffffffffffffffffffffff16610bee610fd8565b73ffffffffffffffffffffffffffffffffffffffff1614610c44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3b9061257d565b60405180910390fd5b6001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600e5481565b610cad6115ea565b73ffffffffffffffffffffffffffffffffffffffff16610ccb610fd8565b73ffffffffffffffffffffffffffffffffffffffff1614610d21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d189061257d565b60405180910390fd5b80600a8190555050565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b610d896115ea565b73ffffffffffffffffffffffffffffffffffffffff16610da7610fd8565b73ffffffffffffffffffffffffffffffffffffffff1614610dfd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df49061257d565b60405180910390fd5b80600c8190555050565b610e0f6115ea565b73ffffffffffffffffffffffffffffffffffffffff16610e2d610fd8565b73ffffffffffffffffffffffffffffffffffffffff1614610e83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7a9061257d565b60405180910390fd5b80600e8190555050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610edd6115ea565b73ffffffffffffffffffffffffffffffffffffffff16610efb610fd8565b73ffffffffffffffffffffffffffffffffffffffff1614610f51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f489061257d565b60405180910390fd5b610f5b6000611b8e565b565b6000610f7083610f6b6115ea565b611395565b905081811015610fb5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fac90612704565b60405180910390fd5b610fc983610fc16115ea565b8484036115f2565b610fd383836119b8565b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61100a6115ea565b73ffffffffffffffffffffffffffffffffffffffff16611028610fd8565b73ffffffffffffffffffffffffffffffffffffffff161461107e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110759061257d565b60405180910390fd5b80600760016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6060600480546110d190612500565b80601f01602080910402602001604051908101604052809291908181526020018280546110fd90612500565b801561114a5780601f1061111f5761010080835404028352916020019161114a565b820191906000526020600020905b81548152906001019060200180831161112d57829003601f168201915b5050505050905090565b600080600160006111636115ea565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015611220576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121790612796565b60405180910390fd5b61123461122b6115ea565b858584036115f2565b600191505092915050565b600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006112796112726115ea565b84846117bb565b6001905092915050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a5481565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6112dd6115ea565b73ffffffffffffffffffffffffffffffffffffffff166112fb610fd8565b73ffffffffffffffffffffffffffffffffffffffff1614611351576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113489061257d565b60405180910390fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6114246115ea565b73ffffffffffffffffffffffffffffffffffffffff16611442610fd8565b73ffffffffffffffffffffffffffffffffffffffff1614611498576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148f9061257d565b60405180910390fd5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6114fb6115ea565b73ffffffffffffffffffffffffffffffffffffffff16611519610fd8565b73ffffffffffffffffffffffffffffffffffffffff161461156f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115669061257d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036115de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d590612828565b60405180910390fd5b6115e781611b8e565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611661576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611658906128ba565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036116d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c79061294c565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516117ae9190612395565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361182a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611821906129de565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611899576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161189090612a70565b60405180910390fd5b60006118a484610e8d565b9050818110156118e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118e090612b02565b60405180910390fd5b6118f4848484611c54565b600060019050600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061199b5750600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156119a557600090505b6119b185858584611c59565b5050505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611a27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1e90612b94565b60405180910390fd5b611a3382600083611c54565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611ab9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ab090612c26565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160026000828254611b109190612c46565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611b759190612395565b60405180910390a3611b8983600084611c86565b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b505050565b80611c6757611c66611c8b565b5b611c72848484611d06565b80611c8057611c7f611f30565b5b50505050565b505050565b6000600a54148015611c9f57506000600c54145b8015611cad57506000600e54145b8015611cbb57506000601054145b611d0457600a54600b81905550600c54600d81905550600e54600f819055506010546011819055506000600a819055506000600c819055506000600e8190555060006010819055505b565b6000611d1182611f56565b9050816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d5d9190612c46565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550806000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611de9919061265e565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e358483611f7e565b611e658483600c54600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612025565b611e958483600e54600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612025565b611ec58483601054600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612025565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611f229190612395565b60405180910390a350505050565b600b54600a81905550600d54600c81905550600f54600e81905550601154601081905550565b600080611f6283612143565b905060008184611f729190612c46565b90508092505050919050565b60006064600a5483611f909190612c7a565b611f9a9190612ceb565b905060008111156120205780600254611fb39190612c46565b600281905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516120179190612395565b60405180910390a35b505050565b6000606483856120359190612c7a565b61203f9190612ceb565b9050600081111561213c57806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612094919061265e565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516121339190612395565b60405180910390a35b5050505050565b600080601054600e54600c54600a5461215c919061265e565b612166919061265e565b612170919061265e565b90506000606482856121829190612c7a565b61218c9190612ceb565b90508092505050919050565b600081519050919050565b600082825260208201905092915050565b60005b838110156121d25780820151818401526020810190506121b7565b60008484015250505050565b6000601f19601f8301169050919050565b60006121fa82612198565b61220481856121a3565b93506122148185602086016121b4565b61221d816121de565b840191505092915050565b6000602082019050818103600083015261224281846121ef565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061227a8261224f565b9050919050565b61228a8161226f565b811461229557600080fd5b50565b6000813590506122a781612281565b92915050565b6000819050919050565b6122c0816122ad565b81146122cb57600080fd5b50565b6000813590506122dd816122b7565b92915050565b600080604083850312156122fa576122f961224a565b5b600061230885828601612298565b9250506020612319858286016122ce565b9150509250929050565b60008115159050919050565b61233881612323565b82525050565b6000602082019050612353600083018461232f565b92915050565b60006020828403121561236f5761236e61224a565b5b600061237d84828501612298565b91505092915050565b61238f816122ad565b82525050565b60006020820190506123aa6000830184612386565b92915050565b6000602082840312156123c6576123c561224a565b5b60006123d4848285016122ce565b91505092915050565b6000806000606084860312156123f6576123f561224a565b5b600061240486828701612298565b935050602061241586828701612298565b9250506040612426868287016122ce565b9150509250925092565b600060ff82169050919050565b61244681612430565b82525050565b6000602082019050612461600083018461243d565b92915050565b6124708161226f565b82525050565b600060208201905061248b6000830184612467565b92915050565b600080604083850312156124a8576124a761224a565b5b60006124b685828601612298565b92505060206124c785828601612298565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061251857607f821691505b60208210810361252b5761252a6124d1565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006125676020836121a3565b915061257282612531565b602082019050919050565b600060208201905081810360008301526125968161255a565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006125f96028836121a3565b91506126048261259d565b604082019050919050565b60006020820190508181036000830152612628816125ec565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612669826122ad565b9150612674836122ad565b925082820190508082111561268c5761268b61262f565b5b92915050565b7f45524332303a206275726e20616d6f756e74206578636565647320616c6c6f7760008201527f616e636500000000000000000000000000000000000000000000000000000000602082015250565b60006126ee6024836121a3565b91506126f982612692565b604082019050919050565b6000602082019050818103600083015261271d816126e1565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006127806025836121a3565b915061278b82612724565b604082019050919050565b600060208201905081810360008301526127af81612773565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006128126026836121a3565b915061281d826127b6565b604082019050919050565b6000602082019050818103600083015261284181612805565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006128a46024836121a3565b91506128af82612848565b604082019050919050565b600060208201905081810360008301526128d381612897565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006129366022836121a3565b9150612941826128da565b604082019050919050565b6000602082019050818103600083015261296581612929565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006129c86025836121a3565b91506129d38261296c565b604082019050919050565b600060208201905081810360008301526129f7816129bb565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612a5a6023836121a3565b9150612a65826129fe565b604082019050919050565b60006020820190508181036000830152612a8981612a4d565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000612aec6026836121a3565b9150612af782612a90565b604082019050919050565b60006020820190508181036000830152612b1b81612adf565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000612b7e6021836121a3565b9150612b8982612b22565b604082019050919050565b60006020820190508181036000830152612bad81612b71565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000612c106022836121a3565b9150612c1b82612bb4565b604082019050919050565b60006020820190508181036000830152612c3f81612c03565b9050919050565b6000612c51826122ad565b9150612c5c836122ad565b9250828203905081811115612c7457612c7361262f565b5b92915050565b6000612c85826122ad565b9150612c90836122ad565b9250828202612c9e816122ad565b91508282048414831517612cb557612cb461262f565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612cf6826122ad565b9150612d01836122ad565b925082612d1157612d10612cbc565b5b82820490509291505056fea2646970667358221220140f2e40f25fada195bea1fc0e61444deee745935a028226222513ca53341adb64736f6c6343000819003300000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000007d2b7500000000000000000000000000000000000000000000000000000000000000001200000000000000000000000015ca4899bd6288e05d3379d17f3fc49eb172032d000000000000000000000000000000000000000000000000000000000000dead000000000000000000000000ad7f6c5a7444695cbb0b2aa2fbc1cceb84984aa50000000000000000000000008a6b88978e1aba2b009baa8d270c2dc0d8f7990d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000747617a6141696400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000747617a6141696400000000000000000000000000000000000000000000000000

Deployed Bytecode

0x6080604052600436106101f25760003560e01c80636c3172321161010d578063a5ece941116100a0578063caccd7f71161006f578063caccd7f71461070a578063dcc345f214610735578063dd62ed3e1461075e578063ea2f0b371461079b578063f2fde38b146107c4576101f9565b8063a5ece9411461064c578063a9059cbb14610677578063afcf2fc4146106b4578063c0b0fda2146106df576101f9565b80638da5cb5b116100dc5780638da5cb5b14610590578063906e9dd0146105bb57806395d89b41146105e4578063a457c2d71461060f576101f9565b80636c317232146104ea57806370a0823114610513578063715018a61461055057806379cc679014610567576101f9565b8063395093511161018557806348de478e1161015457806348de478e146104305780634bf2c7c91461045b5780635342acb414610484578063625e764c146104c1576101f9565b8063395093511461037657806340f8007a146103b357806342966c68146103de578063437823ec14610407576101f9565b806320c7c596116101c157806320c7c596146102ba57806322976e0d146102e357806323b872dd1461030e578063313ce5671461034b576101f9565b806306fdde03146101fe578063095ea7b3146102295780630c9be46d1461026657806318160ddd1461028f576101f9565b366101f957005b600080fd5b34801561020a57600080fd5b506102136107ed565b6040516102209190612228565b60405180910390f35b34801561023557600080fd5b50610250600480360381019061024b91906122e3565b61087f565b60405161025d919061233e565b60405180910390f35b34801561027257600080fd5b5061028d60048036038101906102889190612359565b61089d565b005b34801561029b57600080fd5b506102a461095d565b6040516102b19190612395565b60405180910390f35b3480156102c657600080fd5b506102e160048036038101906102dc91906123b0565b610967565b005b3480156102ef57600080fd5b506102f86109ed565b6040516103059190612395565b60405180910390f35b34801561031a57600080fd5b50610335600480360381019061033091906123dd565b6109f3565b604051610342919061233e565b60405180910390f35b34801561035757600080fd5b50610360610aeb565b60405161036d919061244c565b60405180910390f35b34801561038257600080fd5b5061039d600480360381019061039891906122e3565b610b02565b6040516103aa919061233e565b60405180910390f35b3480156103bf57600080fd5b506103c8610bae565b6040516103d59190612395565b60405180910390f35b3480156103ea57600080fd5b50610405600480360381019061040091906123b0565b610bb4565b005b34801561041357600080fd5b5061042e60048036038101906104299190612359565b610bc8565b005b34801561043c57600080fd5b50610445610c9f565b6040516104529190612395565b60405180910390f35b34801561046757600080fd5b50610482600480360381019061047d91906123b0565b610ca5565b005b34801561049057600080fd5b506104ab60048036038101906104a69190612359565b610d2b565b6040516104b8919061233e565b60405180910390f35b3480156104cd57600080fd5b506104e860048036038101906104e391906123b0565b610d81565b005b3480156104f657600080fd5b50610511600480360381019061050c91906123b0565b610e07565b005b34801561051f57600080fd5b5061053a60048036038101906105359190612359565b610e8d565b6040516105479190612395565b60405180910390f35b34801561055c57600080fd5b50610565610ed5565b005b34801561057357600080fd5b5061058e600480360381019061058991906122e3565b610f5d565b005b34801561059c57600080fd5b506105a5610fd8565b6040516105b29190612476565b60405180910390f35b3480156105c757600080fd5b506105e260048036038101906105dd9190612359565b611002565b005b3480156105f057600080fd5b506105f96110c2565b6040516106069190612228565b60405180910390f35b34801561061b57600080fd5b50610636600480360381019061063191906122e3565b611154565b604051610643919061233e565b60405180910390f35b34801561065857600080fd5b5061066161123f565b60405161066e9190612476565b60405180910390f35b34801561068357600080fd5b5061069e600480360381019061069991906122e3565b611265565b6040516106ab919061233e565b60405180910390f35b3480156106c057600080fd5b506106c9611283565b6040516106d69190612476565b60405180910390f35b3480156106eb57600080fd5b506106f46112a9565b6040516107019190612395565b60405180910390f35b34801561071657600080fd5b5061071f6112af565b60405161072c9190612476565b60405180910390f35b34801561074157600080fd5b5061075c60048036038101906107579190612359565b6112d5565b005b34801561076a57600080fd5b5061078560048036038101906107809190612491565b611395565b6040516107929190612395565b60405180910390f35b3480156107a757600080fd5b506107c260048036038101906107bd9190612359565b61141c565b005b3480156107d057600080fd5b506107eb60048036038101906107e69190612359565b6114f3565b005b6060600380546107fc90612500565b80601f016020809104026020016040519081016040528092919081815260200182805461082890612500565b80156108755780601f1061084a57610100808354040283529160200191610875565b820191906000526020600020905b81548152906001019060200180831161085857829003601f168201915b5050505050905090565b600061089361088c6115ea565b84846115f2565b6001905092915050565b6108a56115ea565b73ffffffffffffffffffffffffffffffffffffffff166108c3610fd8565b73ffffffffffffffffffffffffffffffffffffffff1614610919576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109109061257d565b60405180910390fd5b80600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600254905090565b61096f6115ea565b73ffffffffffffffffffffffffffffffffffffffff1661098d610fd8565b73ffffffffffffffffffffffffffffffffffffffff16146109e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109da9061257d565b60405180910390fd5b8060108190555050565b600c5481565b6000610a008484846117bb565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610a4b6115ea565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610acb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ac29061260f565b60405180910390fd5b610adf85610ad76115ea565b8584036115f2565b60019150509392505050565b6000600760009054906101000a900460ff16905090565b6000610ba4610b0f6115ea565b848460016000610b1d6115ea565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b9f919061265e565b6115f2565b6001905092915050565b60105481565b610bc5610bbf6115ea565b826119b8565b50565b610bd06115ea565b73ffffffffffffffffffffffffffffffffffffffff16610bee610fd8565b73ffffffffffffffffffffffffffffffffffffffff1614610c44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3b9061257d565b60405180910390fd5b6001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600e5481565b610cad6115ea565b73ffffffffffffffffffffffffffffffffffffffff16610ccb610fd8565b73ffffffffffffffffffffffffffffffffffffffff1614610d21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d189061257d565b60405180910390fd5b80600a8190555050565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b610d896115ea565b73ffffffffffffffffffffffffffffffffffffffff16610da7610fd8565b73ffffffffffffffffffffffffffffffffffffffff1614610dfd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df49061257d565b60405180910390fd5b80600c8190555050565b610e0f6115ea565b73ffffffffffffffffffffffffffffffffffffffff16610e2d610fd8565b73ffffffffffffffffffffffffffffffffffffffff1614610e83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7a9061257d565b60405180910390fd5b80600e8190555050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610edd6115ea565b73ffffffffffffffffffffffffffffffffffffffff16610efb610fd8565b73ffffffffffffffffffffffffffffffffffffffff1614610f51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f489061257d565b60405180910390fd5b610f5b6000611b8e565b565b6000610f7083610f6b6115ea565b611395565b905081811015610fb5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fac90612704565b60405180910390fd5b610fc983610fc16115ea565b8484036115f2565b610fd383836119b8565b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61100a6115ea565b73ffffffffffffffffffffffffffffffffffffffff16611028610fd8565b73ffffffffffffffffffffffffffffffffffffffff161461107e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110759061257d565b60405180910390fd5b80600760016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6060600480546110d190612500565b80601f01602080910402602001604051908101604052809291908181526020018280546110fd90612500565b801561114a5780601f1061111f5761010080835404028352916020019161114a565b820191906000526020600020905b81548152906001019060200180831161112d57829003601f168201915b5050505050905090565b600080600160006111636115ea565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015611220576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121790612796565b60405180910390fd5b61123461122b6115ea565b858584036115f2565b600191505092915050565b600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006112796112726115ea565b84846117bb565b6001905092915050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a5481565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6112dd6115ea565b73ffffffffffffffffffffffffffffffffffffffff166112fb610fd8565b73ffffffffffffffffffffffffffffffffffffffff1614611351576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113489061257d565b60405180910390fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6114246115ea565b73ffffffffffffffffffffffffffffffffffffffff16611442610fd8565b73ffffffffffffffffffffffffffffffffffffffff1614611498576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148f9061257d565b60405180910390fd5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6114fb6115ea565b73ffffffffffffffffffffffffffffffffffffffff16611519610fd8565b73ffffffffffffffffffffffffffffffffffffffff161461156f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115669061257d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036115de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d590612828565b60405180910390fd5b6115e781611b8e565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611661576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611658906128ba565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036116d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c79061294c565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516117ae9190612395565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361182a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611821906129de565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611899576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161189090612a70565b60405180910390fd5b60006118a484610e8d565b9050818110156118e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118e090612b02565b60405180910390fd5b6118f4848484611c54565b600060019050600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061199b5750600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156119a557600090505b6119b185858584611c59565b5050505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611a27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1e90612b94565b60405180910390fd5b611a3382600083611c54565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611ab9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ab090612c26565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160026000828254611b109190612c46565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611b759190612395565b60405180910390a3611b8983600084611c86565b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b505050565b80611c6757611c66611c8b565b5b611c72848484611d06565b80611c8057611c7f611f30565b5b50505050565b505050565b6000600a54148015611c9f57506000600c54145b8015611cad57506000600e54145b8015611cbb57506000601054145b611d0457600a54600b81905550600c54600d81905550600e54600f819055506010546011819055506000600a819055506000600c819055506000600e8190555060006010819055505b565b6000611d1182611f56565b9050816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d5d9190612c46565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550806000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611de9919061265e565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e358483611f7e565b611e658483600c54600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612025565b611e958483600e54600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612025565b611ec58483601054600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612025565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611f229190612395565b60405180910390a350505050565b600b54600a81905550600d54600c81905550600f54600e81905550601154601081905550565b600080611f6283612143565b905060008184611f729190612c46565b90508092505050919050565b60006064600a5483611f909190612c7a565b611f9a9190612ceb565b905060008111156120205780600254611fb39190612c46565b600281905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516120179190612395565b60405180910390a35b505050565b6000606483856120359190612c7a565b61203f9190612ceb565b9050600081111561213c57806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612094919061265e565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516121339190612395565b60405180910390a35b5050505050565b600080601054600e54600c54600a5461215c919061265e565b612166919061265e565b612170919061265e565b90506000606482856121829190612c7a565b61218c9190612ceb565b90508092505050919050565b600081519050919050565b600082825260208201905092915050565b60005b838110156121d25780820151818401526020810190506121b7565b60008484015250505050565b6000601f19601f8301169050919050565b60006121fa82612198565b61220481856121a3565b93506122148185602086016121b4565b61221d816121de565b840191505092915050565b6000602082019050818103600083015261224281846121ef565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061227a8261224f565b9050919050565b61228a8161226f565b811461229557600080fd5b50565b6000813590506122a781612281565b92915050565b6000819050919050565b6122c0816122ad565b81146122cb57600080fd5b50565b6000813590506122dd816122b7565b92915050565b600080604083850312156122fa576122f961224a565b5b600061230885828601612298565b9250506020612319858286016122ce565b9150509250929050565b60008115159050919050565b61233881612323565b82525050565b6000602082019050612353600083018461232f565b92915050565b60006020828403121561236f5761236e61224a565b5b600061237d84828501612298565b91505092915050565b61238f816122ad565b82525050565b60006020820190506123aa6000830184612386565b92915050565b6000602082840312156123c6576123c561224a565b5b60006123d4848285016122ce565b91505092915050565b6000806000606084860312156123f6576123f561224a565b5b600061240486828701612298565b935050602061241586828701612298565b9250506040612426868287016122ce565b9150509250925092565b600060ff82169050919050565b61244681612430565b82525050565b6000602082019050612461600083018461243d565b92915050565b6124708161226f565b82525050565b600060208201905061248b6000830184612467565b92915050565b600080604083850312156124a8576124a761224a565b5b60006124b685828601612298565b92505060206124c785828601612298565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061251857607f821691505b60208210810361252b5761252a6124d1565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006125676020836121a3565b915061257282612531565b602082019050919050565b600060208201905081810360008301526125968161255a565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006125f96028836121a3565b91506126048261259d565b604082019050919050565b60006020820190508181036000830152612628816125ec565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612669826122ad565b9150612674836122ad565b925082820190508082111561268c5761268b61262f565b5b92915050565b7f45524332303a206275726e20616d6f756e74206578636565647320616c6c6f7760008201527f616e636500000000000000000000000000000000000000000000000000000000602082015250565b60006126ee6024836121a3565b91506126f982612692565b604082019050919050565b6000602082019050818103600083015261271d816126e1565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006127806025836121a3565b915061278b82612724565b604082019050919050565b600060208201905081810360008301526127af81612773565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006128126026836121a3565b915061281d826127b6565b604082019050919050565b6000602082019050818103600083015261284181612805565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006128a46024836121a3565b91506128af82612848565b604082019050919050565b600060208201905081810360008301526128d381612897565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006129366022836121a3565b9150612941826128da565b604082019050919050565b6000602082019050818103600083015261296581612929565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006129c86025836121a3565b91506129d38261296c565b604082019050919050565b600060208201905081810360008301526129f7816129bb565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612a5a6023836121a3565b9150612a65826129fe565b604082019050919050565b60006020820190508181036000830152612a8981612a4d565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000612aec6026836121a3565b9150612af782612a90565b604082019050919050565b60006020820190508181036000830152612b1b81612adf565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000612b7e6021836121a3565b9150612b8982612b22565b604082019050919050565b60006020820190508181036000830152612bad81612b71565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000612c106022836121a3565b9150612c1b82612bb4565b604082019050919050565b60006020820190508181036000830152612c3f81612c03565b9050919050565b6000612c51826122ad565b9150612c5c836122ad565b9250828203905081811115612c7457612c7361262f565b5b92915050565b6000612c85826122ad565b9150612c90836122ad565b9250828202612c9e816122ad565b91508282048414831517612cb557612cb461262f565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612cf6826122ad565b9150612d01836122ad565b925082612d1157612d10612cbc565b5b82820490509291505056fea2646970667358221220140f2e40f25fada195bea1fc0e61444deee745935a028226222513ca53341adb64736f6c63430008190033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

00000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000007d2b7500000000000000000000000000000000000000000000000000000000000000001200000000000000000000000015ca4899bd6288e05d3379d17f3fc49eb172032d000000000000000000000000000000000000000000000000000000000000dead000000000000000000000000ad7f6c5a7444695cbb0b2aa2fbc1cceb84984aa50000000000000000000000008a6b88978e1aba2b009baa8d270c2dc0d8f7990d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000747617a6141696400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000747617a6141696400000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : name_ (string): GazaAid
Arg [1] : symbol_ (string): GazaAid
Arg [2] : totalSupply_ (uint256): 2100000000
Arg [3] : decimals_ (uint8): 18
Arg [4] : addr_ (address[5]): 0x15Ca4899bD6288E05d3379d17f3fc49Eb172032D,0x000000000000000000000000000000000000dEaD,0xAD7f6c5a7444695Cbb0b2Aa2Fbc1cCeB84984aa5,0x8A6B88978e1ABA2B009Baa8D270C2DC0D8f7990d,0x0000000000000000000000000000000000000000
Arg [5] : value_ (uint256[4]): 0,0,5,0

-----Encoded View---------------
17 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000000000000001a0
Arg [1] : 00000000000000000000000000000000000000000000000000000000000001e0
Arg [2] : 000000000000000000000000000000000000000000000000000000007d2b7500
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000012
Arg [4] : 00000000000000000000000015ca4899bd6288e05d3379d17f3fc49eb172032d
Arg [5] : 000000000000000000000000000000000000000000000000000000000000dead
Arg [6] : 000000000000000000000000ad7f6c5a7444695cbb0b2aa2fbc1cceb84984aa5
Arg [7] : 0000000000000000000000008a6b88978e1aba2b009baa8d270c2dc0d8f7990d
Arg [8] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [9] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [10] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [11] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [12] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [13] : 0000000000000000000000000000000000000000000000000000000000000007
Arg [14] : 47617a6141696400000000000000000000000000000000000000000000000000
Arg [15] : 0000000000000000000000000000000000000000000000000000000000000007
Arg [16] : 47617a6141696400000000000000000000000000000000000000000000000000


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.