ERC-20
Overview
Max Total Supply
470,690,000,000,000 DDOGE
Holders
113
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
5,175,299,578,881.351870138000163574 DDOGEValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
DARKDOGECOIN
Compiler Version
v0.8.26+commit.8a97fa7a
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-10-30 */ /** ██████╗ █████╗ ██████╗ ██╗ ██╗ ██████╗ ██████╗ ██████╗ ███████╗ ██████╗ ██████╗ ██╗███╗ ██╗ ██╔══██╗██╔══██╗██╔══██╗██║ ██╔╝ ██╔══██╗██╔═══██╗██╔════╝ ██╔════╝ ██╔════╝██╔═══██╗██║████╗ ██║ ██║ ██║███████║██████╔╝█████╔╝ ██║ ██║██║ ██║██║ ███╗█████╗ ██║ ██║ ██║██║██╔██╗ ██║ ██║ ██║██╔══██║██╔══██╗██╔═██╗ ██║ ██║██║ ██║██║ ██║██╔══╝ ██║ ██║ ██║██║██║╚██╗██║ ██████╔╝██║ ██║██║ ██║██║ ██╗ ██████╔╝╚██████╔╝╚██████╔╝███████╗ ╚██████╗╚██████╔╝██║██║ ╚████║ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═════╝ ╚══════╝ ╚═════╝ ╚═════╝ ╚═╝╚═╝ ╚═══╝ */ /** Website:- https://darkdogecoin.org/ Telegram:- https://t.me/darkdogecoineth */ // SPDX-License-Identifier: MIT pragma solidity 0.8.26; /** * @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 Throws if called by any account other than the owner. */ modifier onlyOwner() { _checkOwner(); _; } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if the sender is not the owner. */ function _checkOwner() internal view virtual { 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); } } interface IERC20 { /** * @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 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 `to`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address to, 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 `from` to `to` 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 from, address to, uint256 amount ) external returns (bool); } interface IUniswapV2Factory { event PairCreated(address indexed token0, address indexed token1, address lpPair, uint); function getPair(address tokenA, address tokenB) external view returns (address lpPair); function createPair(address tokenA, address tokenB) external returns (address lpPair); } interface IRouter01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function removeLiquidityETH( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountToken, uint amountETH); function swapExactETHForTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable returns (uint[] memory amounts); function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts); function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts); } interface IUniswapV2Router02 is IRouter01 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactTokensForTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); } contract DARKDOGECOIN is Ownable , IERC20 { string private constant _name = "DarkDOGEcoin"; string private constant _symbol = "DDOGE"; uint8 private constant _decimals = 18; uint256 private _totalSupply = 47069 * 10**10 *10**uint256(_decimals); mapping(address => uint256) internal _balances; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) public blacklisted; address public charityWallet; address public marketingWallet; uint256 public totalTaxPercent = 1; uint256 public taxThreshold = 1000 * 10**uint256(_decimals); // Threshold for performing tax distribution uint256 public maxBuySellAmount = 2212243 * 10**6 *10**uint256(_decimals); // Max Buy Limit //Tax share uint256 public charityTaxShare = 47; //47% charity tax share uint256 public marketingTaxShare = 53; // 53% marketing tax share IUniswapV2Router02 public immutable uniswapV2Router; address public immutable uniswapPair; bool private swapping; //-------------events------------------ event UpdatedCharityWallet(address updatedCharityWallet); event UpdatedMarketingWallet(address updatedMarketingWallet); event UpatedTaxThreshold(uint256 updateTaxThreshold); event UpdatedMaxAmount(uint256 updatedMaxAmount); event Burn(address indexed burner, uint256 amount); event RemoedBlacklist(address unBlockUser); event Blacklisted(address blockedUser); constructor(address _charityWallet, address _marketingWallet,address _initialOwner) { require(_charityWallet != address(0),"Charity wallet cannot be zero address"); require(_marketingWallet != address(0),"Marketing wallet cannot be zero address"); transferOwnership(_initialOwner); _balances[owner()] = _totalSupply; IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02( 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D // Ethereum mainnet ); uniswapV2Router = _uniswapV2Router; uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair( address(this), _uniswapV2Router.WETH() ); _approve(owner(), address(uniswapV2Router), type(uint256).max); _approve(address(this), address(uniswapV2Router), type(uint256).max); charityWallet = _charityWallet; marketingWallet = _marketingWallet; emit Transfer(address(0), owner(), _totalSupply); } /** * @notice Retrieves the name of the token. * @dev This function returns the name of the token, which is often used for identification. * It is commonly displayed in user interfaces and provides a human-readable name for the token. * @return The name of the token. */ function name() public view virtual returns (string memory) { return _name; } /** * @notice Retrieves the symbol or ticker of the token. * @dev This function returns the symbol or ticker that represents the token. * It is commonly used for identifying the token in user interfaces and exchanges. * @return The symbol or ticker of the token. */ function symbol() public view virtual returns (string memory) { return _symbol; } /** * @notice Retrieves the number of decimal places used in the token representation. * @dev This function returns the number of decimal places used to represent the token balances. * It is commonly used to interpret the token amounts correctly in user interfaces. * @return The number of decimal places used in the token representation. */ function decimals() public view virtual returns (uint8) { return _decimals; } /** * @notice Retrieves the total supply of tokens. * @dev This function returns the total supply of tokens in circulation. * @return The total supply of tokens. */ function totalSupply() public view virtual returns (uint256) { return _totalSupply; } /** * @notice Returns the balance of the specified account. * @param account The address for which the balance is being queried. * @return The balance of the specified account. */ function balanceOf( address account ) public view virtual returns (uint256) { return _balances[account]; } /** * @dev Burns a specific amount of tokens from the caller's address. * @param amount The amount of tokens to be burned. */ function burn(uint256 amount) external { _burn(msg.sender, amount); } /** * @dev Destroys `amount` tokens from `account`, reducing the total supply. * * This is an internal function that can only be called within the contract or * by derived contracts. It checks that the account is not the zero address and * that the account holds sufficient balance to burn the requested `amount` of tokens. * * Emits a {Burn} event. * * Requirements: * - `account` cannot be the zero address. * - `account` must have at least `amount` tokens. * * @param account The address of the token holder whose tokens will be burned. * @param amount The number of tokens to be destroyed from the account's balance. */ function _burn(address account, uint256 amount) internal { require(account != address(0), "ERC20: burn from the zero address"); uint256 accountBalance = _balances[account]; require(accountBalance >= amount, "ERC20: burn amount exceeds balance"); unchecked { _balances[account] = accountBalance - amount; _totalSupply = _totalSupply - amount; } emit Burn(account, amount); } /** * @notice Transfers tokens from the sender's account to the specified recipient. * @dev This function is used to transfer tokens from the sender's account to the specified recipient. * @param to The address of the recipient to which tokens will be transferred. * @param amount The amount of tokens to be transferred. * @return A boolean indicating whether the transfer was successful or not. */ function transfer( address to, uint256 amount ) public virtual returns (bool) { address owner = msg.sender; _transfer(owner, to, amount); return true; } /** * @notice Transfers tokens from one account to another on behalf of a spender. * @dev This function is used to transfer tokens from one account to another on behalf of a spender. * @param from The address from which tokens will be transferred. * @param to The address to which tokens will be transferred. * @param amount The amount of tokens to be transferred. * @return A boolean indicating whether the transfer was successful or not. */ function transferFrom( address from, address to, uint256 amount ) public virtual returns (bool) { address spender = msg.sender; _spendAllowance(from, spender, amount); _transfer(from, to, amount); return true; } /** * @notice Returns the amount of tokens that the spender is allowed to spend on behalf of the owner. * @param owner The address of the owner of the tokens. * @param spender The address of the spender. * @return The allowance amount. */ function allowance( address owner, address spender ) public view virtual returns (uint256) { return _allowances[owner][spender]; } /** * @notice Approves the spender to spend a specified amount of tokens on behalf of the sender. * @param spender The address of the spender to be approved. * @param amount The amount of tokens to be approved for spending. * @return A boolean indicating whether the approval was successful or not. */ function approve(address spender, uint256 amount) public returns (bool) { _approve(msg.sender, spender, amount); return true; } /** * @notice Internal function to set allowance for a spender. * @dev This function sets the allowance for a spender to spend tokens on behalf of the owner. * @param sender The address of the owner of the tokens. * @param spender The address of the spender. * @param amount The amount of tokens to be approved for spending. */ function _approve(address sender, address spender, uint256 amount) internal { require(sender != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[sender][spender] = amount; emit Approval(sender, spender, amount); } /** * @notice Internal function to spend tokens from the allowance of a spender. * @dev This function checks if the spender has sufficient allowance from the owner * to spend the specified amount of tokens. If the spender's allowance is not * unlimited, it is decreased by the spent amount. * @param owner The address of the owner of the tokens. * @param spender The address of the spender. * @param amount The amount of tokens to be spent. */ function _spendAllowance( address owner, address spender, uint256 amount ) internal virtual { uint256 currentAllowance = allowance(owner, spender); if (currentAllowance != type(uint256).max) { require( currentAllowance >= amount, "ERC20: insufficient allowance" ); unchecked { _approve(owner, spender, currentAllowance - amount); } } } /** * @notice Internal function to transfer tokens from one address to another. * @dev This function transfers a specified amount of tokens from one address to another. * @param from The address from which tokens will be transferred. * @param to The address to which tokens will be transferred. * @param amount The amount of tokens to be transferred. */ function _transferTokens( address from, address to, uint256 amount ) internal virtual { uint256 fromBalance = _balances[from]; require( fromBalance >= amount, "ERC20: transfer amount exceeds balance" ); unchecked { _balances[from] = fromBalance - amount; // Overflow not possible: the sum of all balances is capped by totalSupply, and the sum is preserved by // decrementing then incrementing. _balances[to] += amount; } emit Transfer(from, to, amount); } /** * @dev Sets the maximum buy limit per transaction. Can only be called by the contract owner. * * The `amount` entered should include the token's decimal places. * For example, if the token has 18 decimals, to set a limit of 500,000 tokens, * the `amount` should be entered as 500,000 * 10^18 (i.e., 500k tokens with decimals). * * The function enforces a minimum buy limit of 500,000 tokens (accounting for decimals). * * @param amount The new maximum amount allowed per transaction. This value must include decimals. * Emits an {UpdatedMaxAmount} event indicating the new maximum buy amount. */ function setMaxBuySellLimit(uint256 amount) external onlyOwner { require(amount >= 5*10**5*uint256(_decimals),"You can not set max buy limit less then 500k"); maxBuySellAmount = amount; emit UpdatedMaxAmount(maxBuySellAmount); } /** * @dev Sets a new development wallet address. * - Only callable by the contract owner. * - Ensures that the provided address is not the zero address. * - Updates the `charityWallet` state variable with the new address. * - Emits an `UpdatedCharityWallet` event to log the change. * @param wallet The new development wallet address. */ function setCharityWallet(address wallet) external onlyOwner { require(wallet != address(0),"Charity wallet cannot be zero address"); charityWallet = wallet; emit UpdatedCharityWallet(charityWallet); } /** * @dev Sets a new development wallet address. * - Only callable by the contract owner. * - Ensures that the provided address is not the zero address. * - Updates the `marketingWallet` state variable with the new address. * - Emits an `UpdatedMarketingWallet` event to log the change. * @param wallet The new development wallet address. */ function setMarketingWallet(address wallet) external onlyOwner { require(wallet != address(0),"Charity wallet cannot be zero address"); marketingWallet = wallet; emit UpdatedMarketingWallet(marketingWallet); } /** * @dev Sets the minimum token threshold for tax collection. * - Only callable by the contract owner. * - Ensures that the threshold is greater than zero to prevent invalid values. * - Updates the `taxThreshold` state variable with the new threshold. * - Emits an `UpdatedTaxThreshold` event to log the new threshold value. * @param _threshold The new tax threshold amount. */ function setTaxThreshold(uint256 _threshold) external onlyOwner { require(_threshold > 0 , "Amount should be more than zero"); taxThreshold = _threshold; emit UpatedTaxThreshold(taxThreshold); } /** * @dev Adds an address to the blacklist, preventing them from participating in token transfers. * * This function is restricted to the contract owner and can only be called by the owner. * It ensures that the account is not already blacklisted before adding it. * * @param account The address to be blacklisted. * Reverts if the account is already blacklisted. * * @notice The blacklist is used to block suspicious or malicious addresses, often referred to as sniper bots. */ function addBlackList(address account) external onlyOwner { require(!blacklisted[account],"User already blacklisted"); blacklisted[account]= true; emit Blacklisted(account); } /** * @dev Removes an address from the blacklist, allowing them to participate in token transfers again. * * This function is restricted to the contract owner and ensures that the account is currently blacklisted * before removing it. * * @param account The address to be removed from the blacklist. * Reverts if the account is not in the blacklist. * * @notice This function allows the contract owner to lift the blacklist restriction on an address. */ function removeBlackList(address account) external onlyOwner { require(blacklisted[account],"User not in blacklist"); blacklisted[account]= false; emit RemoedBlacklist(account); } /** * @dev Swaps a specified amount of tokens for ETH using the Uniswap V2 router. * - The swap follows the token -> WETH path, converting tokens held by the contract into ETH. * - Approves the Uniswap router to spend the specified token amount. * - Uses `swapExactTokensForETHSupportingFeeOnTransferTokens` to execute the swap, which ensures fee-on-transfer tokens are supported. * - Accepts any amount of ETH in return for the swap. * - Sends the swapped ETH to the contract's address. * @param tokenAmount The amount of tokens to be swapped for ETH. */ function swapTokensForEth(uint256 tokenAmount) private { // generate the uniswap pair path of token -> weth address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); // make the swap uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, // accept any amount of ETH path, address(this), block.timestamp ); } /** * @dev Swaps the contract's token balance for ETH and distributes it between charity and marketing wallets. * * The function performs the following steps: * - Retrieves the contract's current token balance and the ETH balance before swapping. * - Swaps all tokens held by the contract for ETH by calling `swapTokensForEth`. * - After the swap, calculates the new ETH balance by subtracting the initial ETH balance from the current balance. * - The ETH received is split into two equal portions for charity and marketing purposes. * - Transfers the respective amounts to the charity and marketing wallets, ensuring the success of the transfer. * * @notice The function uses a gas limit of 35,000 for each wallet transfer. * * Reverts if either the charity or marketing wallet transfer fails. */ function swapAndLiquify() internal { uint256 contractTokenBalance = balanceOf(address(this)); if(contractTokenBalance > maxBuySellAmount){ contractTokenBalance = maxBuySellAmount; } uint256 initialBalance = address(this).balance; swapTokensForEth(contractTokenBalance); uint256 newBalance = address(this).balance - (initialBalance); bool transferSuccessToCharity; bool transferSuccessToMarketing; uint256 charityTaxAmount = (newBalance * charityTaxShare) / 100; uint256 marketingTaxAmount = newBalance - charityTaxAmount; (transferSuccessToCharity,) = charityWallet.call{value: charityTaxAmount, gas: 35000}(""); require(transferSuccessToCharity, "Transfer to charity wallet failed"); (transferSuccessToMarketing,) = marketingWallet.call{value: marketingTaxAmount, gas: 35000}(""); require(transferSuccessToMarketing, "Transfer to marketing wallet failed"); } /** * _transfer function handles token transfers, with special rules for buy/sell transactions and tax handling. * * Netscape Comment: * For normal transfers (between non-Uniswap addresses and non-owner accounts), the transfer proceeds without any tax. * If the transfer involves buying or selling on Uniswap, the function ensures the amount doesn't exceed the max buy/sell limit, calculates the tax, and deducts it. * Blacklisted addresses cannot participate in transfers, and no tax is applied for owner or normal transfers. */ function _transfer(address sender, address recipient, uint256 amount) internal { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); require(!blacklisted[sender], "Sender is blacklisted"); require(!blacklisted[recipient], "Recipient is blacklisted"); //If it's the owner, do a normal transfer if (sender == owner() || recipient == owner() || sender == address(this)) { _transferTokens(sender, recipient, amount); return; } bool isBuy = sender == uniswapPair; bool isSell = recipient == uniswapPair; uint256 taxAmount; uint256 contractTokenBalance = balanceOf(address(this)); bool canSwap = contractTokenBalance >= taxThreshold; if ( canSwap && sender != uniswapPair && !swapping ) { swapping = true; swapAndLiquify(); swapping = false; } if (isBuy || isSell) { require(maxBuySellAmount >= amount,"Exceed Buy sell max limit"); taxAmount = _calculateTax(amount, totalTaxPercent); _transferTokens(sender, address(this), taxAmount); } amount -= taxAmount; _transferTokens(sender, recipient, amount); } /** * @dev Calculates the tax amount based on the provided percentage. * @param amount The total amount to calculate tax on. * @param _taxPercentage The tax percentage. * @return The calculated tax amount. */ function _calculateTax(uint256 amount, uint256 _taxPercentage) internal pure returns (uint256) { return (amount * _taxPercentage) / 100; } /** * @dev Function to receive ETH when sent directly to the contract. * This function is called when no data is supplied with the transaction. */ receive() external payable {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_charityWallet","type":"address"},{"internalType":"address","name":"_marketingWallet","type":"address"},{"internalType":"address","name":"_initialOwner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"blockedUser","type":"address"}],"name":"Blacklisted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"burner","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Burn","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":false,"internalType":"address","name":"unBlockUser","type":"address"}],"name":"RemoedBlacklist","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"updateTaxThreshold","type":"uint256"}],"name":"UpatedTaxThreshold","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"updatedCharityWallet","type":"address"}],"name":"UpdatedCharityWallet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"updatedMarketingWallet","type":"address"}],"name":"UpdatedMarketingWallet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"updatedMaxAmount","type":"uint256"}],"name":"UpdatedMaxAmount","type":"event"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"addBlackList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"blacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"charityTaxShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"charityWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingTaxShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxBuySellAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"removeBlackList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"setCharityWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMaxBuySellLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_threshold","type":"uint256"}],"name":"setTaxThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalTaxPercent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60c0604052601260ff16600a6100159190610a75565b6601ac170e3fd4006100279190610abf565b6001556001600755601260ff16600a6100409190610a75565b6103e861004d9190610abf565b600855601260ff16600a6100619190610a75565b65020313f54ac06100729190610abf565b600955602f600a556035600b5534801561008a575f80fd5b5060405161409738038061409783398181016040528101906100ac9190610b5e565b6100c86100bd61054660201b60201c565b61054d60201b60201c565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610136576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161012d90610c2e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036101a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161019b90610cbc565b60405180910390fd5b6101b38161060e60201b60201c565b60015460025f6101c761069c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610299573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102bd9190610cda565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610322573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103469190610cda565b6040518363ffffffff1660e01b8152600401610363929190610d14565b6020604051808303815f875af115801561037f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103a39190610cda565b73ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250506104166103e761069c60201b60201c565b6080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6106c360201b60201c565b610449306080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6106c360201b60201c565b8360055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508260065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506104d761069c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6001546040516105359190610d4a565b60405180910390a350505050610f75565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b61061c61088660201b60201c565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361068a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068190610dd3565b60405180910390fd5b6106998161054d60201b60201c565b50565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610731576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161072890610e61565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361079f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161079690610eef565b60405180910390fd5b8060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516108799190610d4a565b60405180910390a3505050565b61089461054660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff166108b861069c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff161461090e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161090590610f57565b60405180910390fd5b565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156109925780860481111561096e5761096d610910565b5b600185161561097d5780820291505b808102905061098b8561093d565b9450610952565b94509492505050565b5f826109aa5760019050610a65565b816109b7575f9050610a65565b81600181146109cd57600281146109d757610a06565b6001915050610a65565b60ff8411156109e9576109e8610910565b5b8360020a915084821115610a00576109ff610910565b5b50610a65565b5060208310610133831016604e8410600b8410161715610a3b5782820a905083811115610a3657610a35610910565b5b610a65565b610a488484846001610949565b92509050818404811115610a5f57610a5e610910565b5b81810290505b9392505050565b5f819050919050565b5f610a7f82610a6c565b9150610a8a83610a6c565b9250610ab77fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461099b565b905092915050565b5f610ac982610a6c565b9150610ad483610a6c565b9250828202610ae281610a6c565b91508282048414831517610af957610af8610910565b5b5092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610b2d82610b04565b9050919050565b610b3d81610b23565b8114610b47575f80fd5b50565b5f81519050610b5881610b34565b92915050565b5f805f60608486031215610b7557610b74610b00565b5b5f610b8286828701610b4a565b9350506020610b9386828701610b4a565b9250506040610ba486828701610b4a565b9150509250925092565b5f82825260208201905092915050565b7f436861726974792077616c6c65742063616e6e6f74206265207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f610c18602583610bae565b9150610c2382610bbe565b604082019050919050565b5f6020820190508181035f830152610c4581610c0c565b9050919050565b7f4d61726b6574696e672077616c6c65742063616e6e6f74206265207a65726f205f8201527f6164647265737300000000000000000000000000000000000000000000000000602082015250565b5f610ca6602783610bae565b9150610cb182610c4c565b604082019050919050565b5f6020820190508181035f830152610cd381610c9a565b9050919050565b5f60208284031215610cef57610cee610b00565b5b5f610cfc84828501610b4a565b91505092915050565b610d0e81610b23565b82525050565b5f604082019050610d275f830185610d05565b610d346020830184610d05565b9392505050565b610d4481610a6c565b82525050565b5f602082019050610d5d5f830184610d3b565b92915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f610dbd602683610bae565b9150610dc882610d63565b604082019050919050565b5f6020820190508181035f830152610dea81610db1565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f610e4b602483610bae565b9150610e5682610df1565b604082019050919050565b5f6020820190508181035f830152610e7881610e3f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f610ed9602283610bae565b9150610ee482610e7f565b604082019050919050565b5f6020820190508181035f830152610f0681610ecd565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f610f41602083610bae565b9150610f4c82610f0d565b602082019050919050565b5f6020820190508181035f830152610f6e81610f35565b9050919050565b60805160a0516130d7610fc05f395f8181610d4201528181611569015281816115bb015261162a01525f81816108dd01528181611e0701528181611ee60152611f0d01526130d75ff3fe6080604052600436106101c5575f3560e01c806370a08231116100f657806395d89b4111610094578063dd62ed3e11610063578063dd62ed3e14610624578063e4997dc514610660578063f2fde38b14610688578063fc1e18d7146106b0576101cc565b806395d89b4114610558578063a9059cbb14610582578063c816841b146105be578063dbac26e9146105e8576101cc565b806376c68322116100d057806376c68322146104b057806377d1440d146104da5780637b208769146105045780638da5cb5b1461052e576101cc565b806370a0823114610434578063715018a61461047057806375f0a87414610486576101cc565b806323b872dd116101635780633f583c711161013d5780633f583c711461039257806342966c68146103bc5780635d098b38146103e4578063606c25051461040c576101cc565b806323b872dd1461030457806330563bd714610340578063313ce56714610368576101cc565b80630ecb93c01161019f5780630ecb93c01461025e5780631694505e1461028657806318160ddd146102b05780631ef0bb2e146102da576101cc565b806306fdde03146101d057806307a212be146101fa578063095ea7b314610222576101cc565b366101cc57005b5f80fd5b3480156101db575f80fd5b506101e46106da565b6040516101f1919061200d565b60405180910390f35b348015610205575f80fd5b50610220600480360381019061021b9190612064565b610717565b005b34801561022d575f80fd5b50610248600480360381019061024391906120e9565b6107a4565b6040516102559190612141565b60405180910390f35b348015610269575f80fd5b50610284600480360381019061027f919061215a565b6107ba565b005b348015610291575f80fd5b5061029a6108db565b6040516102a791906121e0565b60405180910390f35b3480156102bb575f80fd5b506102c46108ff565b6040516102d19190612208565b60405180910390f35b3480156102e5575f80fd5b506102ee610908565b6040516102fb9190612208565b60405180910390f35b34801561030f575f80fd5b5061032a60048036038101906103259190612221565b61090e565b6040516103379190612141565b60405180910390f35b34801561034b575f80fd5b506103666004803603810190610361919061215a565b610935565b005b348015610373575f80fd5b5061037c610a46565b604051610389919061228c565b60405180910390f35b34801561039d575f80fd5b506103a6610a4e565b6040516103b39190612208565b60405180910390f35b3480156103c7575f80fd5b506103e260048036038101906103dd9190612064565b610a54565b005b3480156103ef575f80fd5b5061040a6004803603810190610405919061215a565b610a61565b005b348015610417575f80fd5b50610432600480360381019061042d9190612064565b610b72565b005b34801561043f575f80fd5b5061045a6004803603810190610455919061215a565b610c12565b6040516104679190612208565b60405180910390f35b34801561047b575f80fd5b50610484610c58565b005b348015610491575f80fd5b5061049a610c6b565b6040516104a791906122b4565b60405180910390f35b3480156104bb575f80fd5b506104c4610c90565b6040516104d19190612208565b60405180910390f35b3480156104e5575f80fd5b506104ee610c96565b6040516104fb9190612208565b60405180910390f35b34801561050f575f80fd5b50610518610c9c565b60405161052591906122b4565b60405180910390f35b348015610539575f80fd5b50610542610cc1565b60405161054f91906122b4565b60405180910390f35b348015610563575f80fd5b5061056c610ce8565b604051610579919061200d565b60405180910390f35b34801561058d575f80fd5b506105a860048036038101906105a391906120e9565b610d25565b6040516105b59190612141565b60405180910390f35b3480156105c9575f80fd5b506105d2610d40565b6040516105df91906122b4565b60405180910390f35b3480156105f3575f80fd5b5061060e6004803603810190610609919061215a565b610d64565b60405161061b9190612141565b60405180910390f35b34801561062f575f80fd5b5061064a600480360381019061064591906122cd565b610d81565b6040516106579190612208565b60405180910390f35b34801561066b575f80fd5b506106866004803603810190610681919061215a565b610e03565b005b348015610693575f80fd5b506106ae60048036038101906106a9919061215a565b610f22565b005b3480156106bb575f80fd5b506106c4610fa4565b6040516106d19190612208565b60405180910390f35b60606040518060400160405280600c81526020017f4461726b444f4745636f696e0000000000000000000000000000000000000000815250905090565b61071f610faa565b5f8111610761576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075890612355565b60405180910390fd5b806008819055507fce7d590cb64acf37a63ef3639ed605aef394b83a87619775dd7b52a9ecd736576008546040516107999190612208565b60405180910390a150565b5f6107b0338484611028565b6001905092915050565b6107c2610faa565b60045f8273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161561084c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610843906123bd565b60405180910390fd5b600160045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055507fffa4e6181777692565cf28528fc88fd1516ea86b56da075235fa575af6a4b855816040516108d091906122b4565b60405180910390a150565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f600154905090565b60075481565b5f8033905061091e8582856111eb565b610929858585611276565b60019150509392505050565b61093d610faa565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036109ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a29061244b565b60405180910390fd5b8060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fbbe84e7d268eec75e670eedbf883aca9c6a3380060d20a52bec58a810ce05c7b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051610a3b91906122b4565b60405180910390a150565b5f6012905090565b600b5481565b610a5e3382611763565b50565b610a69610faa565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610ad7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ace9061244b565b60405180910390fd5b8060065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f2026f0b479f097ea9d4c74dac26e5271ba4d59931603970da5458ea8aa3dcf3760065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051610b6791906122b4565b60405180910390a150565b610b7a610faa565b601260ff166207a120610b8d9190612496565b811015610bcf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc690612547565b60405180910390fd5b806009819055507f44d540c6079791f805bc9b5d5a643dbf1f545ec260212b2b2478ef9d9ed0768e600954604051610c079190612208565b60405180910390a150565b5f60025f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610c60610faa565b610c695f6118f7565b565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60095481565b60085481565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f44444f4745000000000000000000000000000000000000000000000000000000815250905090565b5f80339050610d35818585611276565b600191505092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6004602052805f5260405f205f915054906101000a900460ff1681565b5f60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610e0b610faa565b60045f8273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16610e94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8b906125af565b60405180910390fd5b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055507f78c8ba247ae9926603e754e95fddfba0e7baa694b4163656a38292d785d0e42181604051610f1791906122b4565b60405180910390a150565b610f2a610faa565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610f98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8f9061263d565b60405180910390fd5b610fa1816118f7565b50565b600a5481565b610fb26119b8565b73ffffffffffffffffffffffffffffffffffffffff16610fd0610cc1565b73ffffffffffffffffffffffffffffffffffffffff1614611026576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101d906126a5565b60405180910390fd5b565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611096576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108d90612733565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611104576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fb906127c1565b60405180910390fd5b8060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111de9190612208565b60405180910390a3505050565b5f6111f68484610d81565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146112705781811015611262576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125990612829565b60405180910390fd5b61126f8484848403611028565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112db906128b7565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611352576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134990612945565b60405180910390fd5b5f8111611394576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138b906129d3565b60405180910390fd5b60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161561141e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141590612a3b565b60405180910390fd5b60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16156114a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149f90612aa3565b60405180910390fd5b6114b0610cc1565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148061151b57506114ec610cc1565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b8061155157503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15611566576115618383836119bf565b61175e565b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161490505f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161490505f8061161530610c12565b90505f600854821015905080801561167957507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b80156116915750600c5f9054906101000a900460ff16155b156116d2576001600c5f6101000a81548160ff0219169083151502179055506116b8611b3c565b5f600c5f6101000a81548160ff0219169083151502179055505b84806116db5750835b1561173f57856009541015611725576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171c90612b0b565b60405180910390fd5b61173186600754611d49565b925061173e8830856119bf565b5b828661174b9190612b29565b95506117588888886119bf565b50505050505b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036117d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c890612bcc565b60405180910390fd5b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015611855576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161184c90612c5a565b60405180910390fd5b81810360025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555081600154036001819055508273ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040516118ea9190612208565b60405180910390a2505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f33905090565b5f60025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015611a43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3a90612ce8565b60405180910390fd5b81810360025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611b2e9190612208565b60405180910390a350505050565b5f611b4630610c12565b9050600954811115611b585760095490505b5f479050611b6582611d6a565b5f8147611b729190612b29565b90505f805f6064600a5485611b879190612496565b611b919190612d33565b90505f8185611ba09190612b29565b905060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16826188b890604051611beb90612d90565b5f60405180830381858888f193505050503d805f8114611c26576040519150601f19603f3d011682016040523d82523d5f602084013e611c2b565b606091505b50508094505083611c71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c6890612e14565b60405180910390fd5b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16816188b890604051611cba90612d90565b5f60405180830381858888f193505050503d805f8114611cf5576040519150601f19603f3d011682016040523d82523d5f602084013e611cfa565b606091505b50508093505082611d40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3790612ea2565b60405180910390fd5b50505050505050565b5f60648284611d589190612496565b611d629190612d33565b905092915050565b5f600267ffffffffffffffff811115611d8657611d85612ec0565b5b604051908082528060200260200182016040528015611db45781602001602082028036833780820191505090505b50905030815f81518110611dcb57611dca612eed565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e6e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e929190612f2e565b81600181518110611ea657611ea5612eed565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611f0b307f000000000000000000000000000000000000000000000000000000000000000084611028565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611f6c959493929190613049565b5f604051808303815f87803b158015611f83575f80fd5b505af1158015611f95573d5f803e3d5ffd5b505050505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611fdf82611f9d565b611fe98185611fa7565b9350611ff9818560208601611fb7565b61200281611fc5565b840191505092915050565b5f6020820190508181035f8301526120258184611fd5565b905092915050565b5f80fd5b5f819050919050565b61204381612031565b811461204d575f80fd5b50565b5f8135905061205e8161203a565b92915050565b5f602082840312156120795761207861202d565b5b5f61208684828501612050565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6120b88261208f565b9050919050565b6120c8816120ae565b81146120d2575f80fd5b50565b5f813590506120e3816120bf565b92915050565b5f80604083850312156120ff576120fe61202d565b5b5f61210c858286016120d5565b925050602061211d85828601612050565b9150509250929050565b5f8115159050919050565b61213b81612127565b82525050565b5f6020820190506121545f830184612132565b92915050565b5f6020828403121561216f5761216e61202d565b5b5f61217c848285016120d5565b91505092915050565b5f819050919050565b5f6121a86121a361219e8461208f565b612185565b61208f565b9050919050565b5f6121b98261218e565b9050919050565b5f6121ca826121af565b9050919050565b6121da816121c0565b82525050565b5f6020820190506121f35f8301846121d1565b92915050565b61220281612031565b82525050565b5f60208201905061221b5f8301846121f9565b92915050565b5f805f606084860312156122385761223761202d565b5b5f612245868287016120d5565b9350506020612256868287016120d5565b925050604061226786828701612050565b9150509250925092565b5f60ff82169050919050565b61228681612271565b82525050565b5f60208201905061229f5f83018461227d565b92915050565b6122ae816120ae565b82525050565b5f6020820190506122c75f8301846122a5565b92915050565b5f80604083850312156122e3576122e261202d565b5b5f6122f0858286016120d5565b9250506020612301858286016120d5565b9150509250929050565b7f416d6f756e742073686f756c64206265206d6f7265207468616e207a65726f005f82015250565b5f61233f601f83611fa7565b915061234a8261230b565b602082019050919050565b5f6020820190508181035f83015261236c81612333565b9050919050565b7f5573657220616c726561647920626c61636b6c697374656400000000000000005f82015250565b5f6123a7601883611fa7565b91506123b282612373565b602082019050919050565b5f6020820190508181035f8301526123d48161239b565b9050919050565b7f436861726974792077616c6c65742063616e6e6f74206265207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612435602583611fa7565b9150612440826123db565b604082019050919050565b5f6020820190508181035f83015261246281612429565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6124a082612031565b91506124ab83612031565b92508282026124b981612031565b915082820484148315176124d0576124cf612469565b5b5092915050565b7f596f752063616e206e6f7420736574206d617820627579206c696d6974206c655f8201527f7373207468656e203530306b0000000000000000000000000000000000000000602082015250565b5f612531602c83611fa7565b915061253c826124d7565b604082019050919050565b5f6020820190508181035f83015261255e81612525565b9050919050565b7f55736572206e6f7420696e20626c61636b6c69737400000000000000000000005f82015250565b5f612599601583611fa7565b91506125a482612565565b602082019050919050565b5f6020820190508181035f8301526125c68161258d565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f612627602683611fa7565b9150612632826125cd565b604082019050919050565b5f6020820190508181035f8301526126548161261b565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61268f602083611fa7565b915061269a8261265b565b602082019050919050565b5f6020820190508181035f8301526126bc81612683565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61271d602483611fa7565b9150612728826126c3565b604082019050919050565b5f6020820190508181035f83015261274a81612711565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6127ab602283611fa7565b91506127b682612751565b604082019050919050565b5f6020820190508181035f8301526127d88161279f565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f612813601d83611fa7565b915061281e826127df565b602082019050919050565b5f6020820190508181035f83015261284081612807565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6128a1602583611fa7565b91506128ac82612847565b604082019050919050565b5f6020820190508181035f8301526128ce81612895565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61292f602383611fa7565b915061293a826128d5565b604082019050919050565b5f6020820190508181035f83015261295c81612923565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6129bd602983611fa7565b91506129c882612963565b604082019050919050565b5f6020820190508181035f8301526129ea816129b1565b9050919050565b7f53656e64657220697320626c61636b6c697374656400000000000000000000005f82015250565b5f612a25601583611fa7565b9150612a30826129f1565b602082019050919050565b5f6020820190508181035f830152612a5281612a19565b9050919050565b7f526563697069656e7420697320626c61636b6c697374656400000000000000005f82015250565b5f612a8d601883611fa7565b9150612a9882612a59565b602082019050919050565b5f6020820190508181035f830152612aba81612a81565b9050919050565b7f457863656564204275792073656c6c206d6178206c696d6974000000000000005f82015250565b5f612af5601983611fa7565b9150612b0082612ac1565b602082019050919050565b5f6020820190508181035f830152612b2281612ae9565b9050919050565b5f612b3382612031565b9150612b3e83612031565b9250828203905081811115612b5657612b55612469565b5b92915050565b7f45524332303a206275726e2066726f6d20746865207a65726f206164647265735f8201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b5f612bb6602183611fa7565b9150612bc182612b5c565b604082019050919050565b5f6020820190508181035f830152612be381612baa565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e5f8201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b5f612c44602283611fa7565b9150612c4f82612bea565b604082019050919050565b5f6020820190508181035f830152612c7181612c38565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f612cd2602683611fa7565b9150612cdd82612c78565b604082019050919050565b5f6020820190508181035f830152612cff81612cc6565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612d3d82612031565b9150612d4883612031565b925082612d5857612d57612d06565b5b828204905092915050565b5f81905092915050565b50565b5f612d7b5f83612d63565b9150612d8682612d6d565b5f82019050919050565b5f612d9a82612d70565b9150819050919050565b7f5472616e7366657220746f20636861726974792077616c6c6574206661696c655f8201527f6400000000000000000000000000000000000000000000000000000000000000602082015250565b5f612dfe602183611fa7565b9150612e0982612da4565b604082019050919050565b5f6020820190508181035f830152612e2b81612df2565b9050919050565b7f5472616e7366657220746f206d61726b6574696e672077616c6c6574206661695f8201527f6c65640000000000000000000000000000000000000000000000000000000000602082015250565b5f612e8c602383611fa7565b9150612e9782612e32565b604082019050919050565b5f6020820190508181035f830152612eb981612e80565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050612f28816120bf565b92915050565b5f60208284031215612f4357612f4261202d565b5b5f612f5084828501612f1a565b91505092915050565b5f819050919050565b5f612f7c612f77612f7284612f59565b612185565b612031565b9050919050565b612f8c81612f62565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612fc4816120ae565b82525050565b5f612fd58383612fbb565b60208301905092915050565b5f602082019050919050565b5f612ff782612f92565b6130018185612f9c565b935061300c83612fac565b805f5b8381101561303c5781516130238882612fca565b975061302e83612fe1565b92505060018101905061300f565b5085935050505092915050565b5f60a08201905061305c5f8301886121f9565b6130696020830187612f83565b818103604083015261307b8186612fed565b905061308a60608301856122a5565b61309760808301846121f9565b969550505050505056fea264697066735822122044fd6cb8699be6ca66e1b21720d86163f76d8975f8af75cacc5acdc36457ce5064736f6c634300081a0033000000000000000000000000acf3b34363da9754268f0191b562ade2301657790000000000000000000000008453700e2d05a48db9b3db8599b004278ea7e6cc0000000000000000000000008211229827c38cc7da0e0ca4832c9337dced701c
Deployed Bytecode
0x6080604052600436106101c5575f3560e01c806370a08231116100f657806395d89b4111610094578063dd62ed3e11610063578063dd62ed3e14610624578063e4997dc514610660578063f2fde38b14610688578063fc1e18d7146106b0576101cc565b806395d89b4114610558578063a9059cbb14610582578063c816841b146105be578063dbac26e9146105e8576101cc565b806376c68322116100d057806376c68322146104b057806377d1440d146104da5780637b208769146105045780638da5cb5b1461052e576101cc565b806370a0823114610434578063715018a61461047057806375f0a87414610486576101cc565b806323b872dd116101635780633f583c711161013d5780633f583c711461039257806342966c68146103bc5780635d098b38146103e4578063606c25051461040c576101cc565b806323b872dd1461030457806330563bd714610340578063313ce56714610368576101cc565b80630ecb93c01161019f5780630ecb93c01461025e5780631694505e1461028657806318160ddd146102b05780631ef0bb2e146102da576101cc565b806306fdde03146101d057806307a212be146101fa578063095ea7b314610222576101cc565b366101cc57005b5f80fd5b3480156101db575f80fd5b506101e46106da565b6040516101f1919061200d565b60405180910390f35b348015610205575f80fd5b50610220600480360381019061021b9190612064565b610717565b005b34801561022d575f80fd5b50610248600480360381019061024391906120e9565b6107a4565b6040516102559190612141565b60405180910390f35b348015610269575f80fd5b50610284600480360381019061027f919061215a565b6107ba565b005b348015610291575f80fd5b5061029a6108db565b6040516102a791906121e0565b60405180910390f35b3480156102bb575f80fd5b506102c46108ff565b6040516102d19190612208565b60405180910390f35b3480156102e5575f80fd5b506102ee610908565b6040516102fb9190612208565b60405180910390f35b34801561030f575f80fd5b5061032a60048036038101906103259190612221565b61090e565b6040516103379190612141565b60405180910390f35b34801561034b575f80fd5b506103666004803603810190610361919061215a565b610935565b005b348015610373575f80fd5b5061037c610a46565b604051610389919061228c565b60405180910390f35b34801561039d575f80fd5b506103a6610a4e565b6040516103b39190612208565b60405180910390f35b3480156103c7575f80fd5b506103e260048036038101906103dd9190612064565b610a54565b005b3480156103ef575f80fd5b5061040a6004803603810190610405919061215a565b610a61565b005b348015610417575f80fd5b50610432600480360381019061042d9190612064565b610b72565b005b34801561043f575f80fd5b5061045a6004803603810190610455919061215a565b610c12565b6040516104679190612208565b60405180910390f35b34801561047b575f80fd5b50610484610c58565b005b348015610491575f80fd5b5061049a610c6b565b6040516104a791906122b4565b60405180910390f35b3480156104bb575f80fd5b506104c4610c90565b6040516104d19190612208565b60405180910390f35b3480156104e5575f80fd5b506104ee610c96565b6040516104fb9190612208565b60405180910390f35b34801561050f575f80fd5b50610518610c9c565b60405161052591906122b4565b60405180910390f35b348015610539575f80fd5b50610542610cc1565b60405161054f91906122b4565b60405180910390f35b348015610563575f80fd5b5061056c610ce8565b604051610579919061200d565b60405180910390f35b34801561058d575f80fd5b506105a860048036038101906105a391906120e9565b610d25565b6040516105b59190612141565b60405180910390f35b3480156105c9575f80fd5b506105d2610d40565b6040516105df91906122b4565b60405180910390f35b3480156105f3575f80fd5b5061060e6004803603810190610609919061215a565b610d64565b60405161061b9190612141565b60405180910390f35b34801561062f575f80fd5b5061064a600480360381019061064591906122cd565b610d81565b6040516106579190612208565b60405180910390f35b34801561066b575f80fd5b506106866004803603810190610681919061215a565b610e03565b005b348015610693575f80fd5b506106ae60048036038101906106a9919061215a565b610f22565b005b3480156106bb575f80fd5b506106c4610fa4565b6040516106d19190612208565b60405180910390f35b60606040518060400160405280600c81526020017f4461726b444f4745636f696e0000000000000000000000000000000000000000815250905090565b61071f610faa565b5f8111610761576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075890612355565b60405180910390fd5b806008819055507fce7d590cb64acf37a63ef3639ed605aef394b83a87619775dd7b52a9ecd736576008546040516107999190612208565b60405180910390a150565b5f6107b0338484611028565b6001905092915050565b6107c2610faa565b60045f8273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161561084c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610843906123bd565b60405180910390fd5b600160045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055507fffa4e6181777692565cf28528fc88fd1516ea86b56da075235fa575af6a4b855816040516108d091906122b4565b60405180910390a150565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b5f600154905090565b60075481565b5f8033905061091e8582856111eb565b610929858585611276565b60019150509392505050565b61093d610faa565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036109ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a29061244b565b60405180910390fd5b8060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fbbe84e7d268eec75e670eedbf883aca9c6a3380060d20a52bec58a810ce05c7b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051610a3b91906122b4565b60405180910390a150565b5f6012905090565b600b5481565b610a5e3382611763565b50565b610a69610faa565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610ad7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ace9061244b565b60405180910390fd5b8060065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f2026f0b479f097ea9d4c74dac26e5271ba4d59931603970da5458ea8aa3dcf3760065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051610b6791906122b4565b60405180910390a150565b610b7a610faa565b601260ff166207a120610b8d9190612496565b811015610bcf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc690612547565b60405180910390fd5b806009819055507f44d540c6079791f805bc9b5d5a643dbf1f545ec260212b2b2478ef9d9ed0768e600954604051610c079190612208565b60405180910390a150565b5f60025f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610c60610faa565b610c695f6118f7565b565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60095481565b60085481565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f44444f4745000000000000000000000000000000000000000000000000000000815250905090565b5f80339050610d35818585611276565b600191505092915050565b7f0000000000000000000000005234d98c45090040d1d645d91c93532da92b597d81565b6004602052805f5260405f205f915054906101000a900460ff1681565b5f60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610e0b610faa565b60045f8273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16610e94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8b906125af565b60405180910390fd5b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055507f78c8ba247ae9926603e754e95fddfba0e7baa694b4163656a38292d785d0e42181604051610f1791906122b4565b60405180910390a150565b610f2a610faa565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610f98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8f9061263d565b60405180910390fd5b610fa1816118f7565b50565b600a5481565b610fb26119b8565b73ffffffffffffffffffffffffffffffffffffffff16610fd0610cc1565b73ffffffffffffffffffffffffffffffffffffffff1614611026576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101d906126a5565b60405180910390fd5b565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611096576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108d90612733565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611104576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fb906127c1565b60405180910390fd5b8060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111de9190612208565b60405180910390a3505050565b5f6111f68484610d81565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146112705781811015611262576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125990612829565b60405180910390fd5b61126f8484848403611028565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112db906128b7565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611352576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134990612945565b60405180910390fd5b5f8111611394576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138b906129d3565b60405180910390fd5b60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161561141e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141590612a3b565b60405180910390fd5b60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16156114a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149f90612aa3565b60405180910390fd5b6114b0610cc1565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148061151b57506114ec610cc1565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b8061155157503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15611566576115618383836119bf565b61175e565b5f7f0000000000000000000000005234d98c45090040d1d645d91c93532da92b597d73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161490505f7f0000000000000000000000005234d98c45090040d1d645d91c93532da92b597d73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161490505f8061161530610c12565b90505f600854821015905080801561167957507f0000000000000000000000005234d98c45090040d1d645d91c93532da92b597d73ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b80156116915750600c5f9054906101000a900460ff16155b156116d2576001600c5f6101000a81548160ff0219169083151502179055506116b8611b3c565b5f600c5f6101000a81548160ff0219169083151502179055505b84806116db5750835b1561173f57856009541015611725576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171c90612b0b565b60405180910390fd5b61173186600754611d49565b925061173e8830856119bf565b5b828661174b9190612b29565b95506117588888886119bf565b50505050505b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036117d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c890612bcc565b60405180910390fd5b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015611855576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161184c90612c5a565b60405180910390fd5b81810360025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555081600154036001819055508273ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040516118ea9190612208565b60405180910390a2505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f33905090565b5f60025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015611a43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3a90612ce8565b60405180910390fd5b81810360025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611b2e9190612208565b60405180910390a350505050565b5f611b4630610c12565b9050600954811115611b585760095490505b5f479050611b6582611d6a565b5f8147611b729190612b29565b90505f805f6064600a5485611b879190612496565b611b919190612d33565b90505f8185611ba09190612b29565b905060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16826188b890604051611beb90612d90565b5f60405180830381858888f193505050503d805f8114611c26576040519150601f19603f3d011682016040523d82523d5f602084013e611c2b565b606091505b50508094505083611c71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c6890612e14565b60405180910390fd5b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16816188b890604051611cba90612d90565b5f60405180830381858888f193505050503d805f8114611cf5576040519150601f19603f3d011682016040523d82523d5f602084013e611cfa565b606091505b50508093505082611d40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3790612ea2565b60405180910390fd5b50505050505050565b5f60648284611d589190612496565b611d629190612d33565b905092915050565b5f600267ffffffffffffffff811115611d8657611d85612ec0565b5b604051908082528060200260200182016040528015611db45781602001602082028036833780820191505090505b50905030815f81518110611dcb57611dca612eed565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e6e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e929190612f2e565b81600181518110611ea657611ea5612eed565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611f0b307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84611028565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611f6c959493929190613049565b5f604051808303815f87803b158015611f83575f80fd5b505af1158015611f95573d5f803e3d5ffd5b505050505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611fdf82611f9d565b611fe98185611fa7565b9350611ff9818560208601611fb7565b61200281611fc5565b840191505092915050565b5f6020820190508181035f8301526120258184611fd5565b905092915050565b5f80fd5b5f819050919050565b61204381612031565b811461204d575f80fd5b50565b5f8135905061205e8161203a565b92915050565b5f602082840312156120795761207861202d565b5b5f61208684828501612050565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6120b88261208f565b9050919050565b6120c8816120ae565b81146120d2575f80fd5b50565b5f813590506120e3816120bf565b92915050565b5f80604083850312156120ff576120fe61202d565b5b5f61210c858286016120d5565b925050602061211d85828601612050565b9150509250929050565b5f8115159050919050565b61213b81612127565b82525050565b5f6020820190506121545f830184612132565b92915050565b5f6020828403121561216f5761216e61202d565b5b5f61217c848285016120d5565b91505092915050565b5f819050919050565b5f6121a86121a361219e8461208f565b612185565b61208f565b9050919050565b5f6121b98261218e565b9050919050565b5f6121ca826121af565b9050919050565b6121da816121c0565b82525050565b5f6020820190506121f35f8301846121d1565b92915050565b61220281612031565b82525050565b5f60208201905061221b5f8301846121f9565b92915050565b5f805f606084860312156122385761223761202d565b5b5f612245868287016120d5565b9350506020612256868287016120d5565b925050604061226786828701612050565b9150509250925092565b5f60ff82169050919050565b61228681612271565b82525050565b5f60208201905061229f5f83018461227d565b92915050565b6122ae816120ae565b82525050565b5f6020820190506122c75f8301846122a5565b92915050565b5f80604083850312156122e3576122e261202d565b5b5f6122f0858286016120d5565b9250506020612301858286016120d5565b9150509250929050565b7f416d6f756e742073686f756c64206265206d6f7265207468616e207a65726f005f82015250565b5f61233f601f83611fa7565b915061234a8261230b565b602082019050919050565b5f6020820190508181035f83015261236c81612333565b9050919050565b7f5573657220616c726561647920626c61636b6c697374656400000000000000005f82015250565b5f6123a7601883611fa7565b91506123b282612373565b602082019050919050565b5f6020820190508181035f8301526123d48161239b565b9050919050565b7f436861726974792077616c6c65742063616e6e6f74206265207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612435602583611fa7565b9150612440826123db565b604082019050919050565b5f6020820190508181035f83015261246281612429565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6124a082612031565b91506124ab83612031565b92508282026124b981612031565b915082820484148315176124d0576124cf612469565b5b5092915050565b7f596f752063616e206e6f7420736574206d617820627579206c696d6974206c655f8201527f7373207468656e203530306b0000000000000000000000000000000000000000602082015250565b5f612531602c83611fa7565b915061253c826124d7565b604082019050919050565b5f6020820190508181035f83015261255e81612525565b9050919050565b7f55736572206e6f7420696e20626c61636b6c69737400000000000000000000005f82015250565b5f612599601583611fa7565b91506125a482612565565b602082019050919050565b5f6020820190508181035f8301526125c68161258d565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f612627602683611fa7565b9150612632826125cd565b604082019050919050565b5f6020820190508181035f8301526126548161261b565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61268f602083611fa7565b915061269a8261265b565b602082019050919050565b5f6020820190508181035f8301526126bc81612683565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61271d602483611fa7565b9150612728826126c3565b604082019050919050565b5f6020820190508181035f83015261274a81612711565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6127ab602283611fa7565b91506127b682612751565b604082019050919050565b5f6020820190508181035f8301526127d88161279f565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f612813601d83611fa7565b915061281e826127df565b602082019050919050565b5f6020820190508181035f83015261284081612807565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6128a1602583611fa7565b91506128ac82612847565b604082019050919050565b5f6020820190508181035f8301526128ce81612895565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61292f602383611fa7565b915061293a826128d5565b604082019050919050565b5f6020820190508181035f83015261295c81612923565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6129bd602983611fa7565b91506129c882612963565b604082019050919050565b5f6020820190508181035f8301526129ea816129b1565b9050919050565b7f53656e64657220697320626c61636b6c697374656400000000000000000000005f82015250565b5f612a25601583611fa7565b9150612a30826129f1565b602082019050919050565b5f6020820190508181035f830152612a5281612a19565b9050919050565b7f526563697069656e7420697320626c61636b6c697374656400000000000000005f82015250565b5f612a8d601883611fa7565b9150612a9882612a59565b602082019050919050565b5f6020820190508181035f830152612aba81612a81565b9050919050565b7f457863656564204275792073656c6c206d6178206c696d6974000000000000005f82015250565b5f612af5601983611fa7565b9150612b0082612ac1565b602082019050919050565b5f6020820190508181035f830152612b2281612ae9565b9050919050565b5f612b3382612031565b9150612b3e83612031565b9250828203905081811115612b5657612b55612469565b5b92915050565b7f45524332303a206275726e2066726f6d20746865207a65726f206164647265735f8201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b5f612bb6602183611fa7565b9150612bc182612b5c565b604082019050919050565b5f6020820190508181035f830152612be381612baa565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e5f8201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b5f612c44602283611fa7565b9150612c4f82612bea565b604082019050919050565b5f6020820190508181035f830152612c7181612c38565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f612cd2602683611fa7565b9150612cdd82612c78565b604082019050919050565b5f6020820190508181035f830152612cff81612cc6565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612d3d82612031565b9150612d4883612031565b925082612d5857612d57612d06565b5b828204905092915050565b5f81905092915050565b50565b5f612d7b5f83612d63565b9150612d8682612d6d565b5f82019050919050565b5f612d9a82612d70565b9150819050919050565b7f5472616e7366657220746f20636861726974792077616c6c6574206661696c655f8201527f6400000000000000000000000000000000000000000000000000000000000000602082015250565b5f612dfe602183611fa7565b9150612e0982612da4565b604082019050919050565b5f6020820190508181035f830152612e2b81612df2565b9050919050565b7f5472616e7366657220746f206d61726b6574696e672077616c6c6574206661695f8201527f6c65640000000000000000000000000000000000000000000000000000000000602082015250565b5f612e8c602383611fa7565b9150612e9782612e32565b604082019050919050565b5f6020820190508181035f830152612eb981612e80565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050612f28816120bf565b92915050565b5f60208284031215612f4357612f4261202d565b5b5f612f5084828501612f1a565b91505092915050565b5f819050919050565b5f612f7c612f77612f7284612f59565b612185565b612031565b9050919050565b612f8c81612f62565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612fc4816120ae565b82525050565b5f612fd58383612fbb565b60208301905092915050565b5f602082019050919050565b5f612ff782612f92565b6130018185612f9c565b935061300c83612fac565b805f5b8381101561303c5781516130238882612fca565b975061302e83612fe1565b92505060018101905061300f565b5085935050505092915050565b5f60a08201905061305c5f8301886121f9565b6130696020830187612f83565b818103604083015261307b8186612fed565b905061308a60608301856122a5565b61309760808301846121f9565b969550505050505056fea264697066735822122044fd6cb8699be6ca66e1b21720d86163f76d8975f8af75cacc5acdc36457ce5064736f6c634300081a0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000acf3b34363da9754268f0191b562ade2301657790000000000000000000000008453700e2d05a48db9b3db8599b004278ea7e6cc0000000000000000000000008211229827c38cc7da0e0ca4832c9337dced701c
-----Decoded View---------------
Arg [0] : _charityWallet (address): 0xaCf3B34363dA9754268f0191b562ade230165779
Arg [1] : _marketingWallet (address): 0x8453700E2D05a48Db9B3dB8599B004278ea7E6CC
Arg [2] : _initialOwner (address): 0x8211229827c38CC7dA0e0cA4832C9337dcEd701c
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 000000000000000000000000acf3b34363da9754268f0191b562ade230165779
Arg [1] : 0000000000000000000000008453700e2d05a48db9b3db8599b004278ea7e6cc
Arg [2] : 0000000000000000000000008211229827c38cc7da0e0ca4832c9337dced701c
Deployed Bytecode Sourcemap
10766:21252:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13646:92;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24383:226;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18855:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25154:209;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11714:51;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14822:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11302:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17783:285;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23086:233;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14528:92;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11641:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15425:84;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;23714:241;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;22436:260;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15136:135;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4737:103;;;;;;;;;;;;;:::i;:::-;;11260:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11456:74;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11343:60;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11225:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4087:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14047:96;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17080:208;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11772:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11170:43;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18346:168;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25894:211;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4996:238;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11574:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13646:92;13692:13;13725:5;;;;;;;;;;;;;;;;;13718:12;;13646:92;:::o;24383:226::-;3972:13;:11;:13::i;:::-;24479:1:::1;24466:10;:14;24458:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;24543:10;24528:12;:25;;;;24569:32;24588:12;;24569:32;;;;;;:::i;:::-;;;;;;;;24383:226:::0;:::o;18855:151::-;18922:4;18939:37;18948:10;18960:7;18969:6;18939:8;:37::i;:::-;18994:4;18987:11;;18855:151;;;;:::o;25154:209::-;3972:13;:11;:13::i;:::-;25232:11:::1;:20;25244:7;25232:20;;;;;;;;;;;;;;;;;;;;;;;;;25231:21;25223:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;25313:4;25291:11;:20;25303:7;25291:20;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;25333:20;25345:7;25333:20;;;;;;:::i;:::-;;;;;;;;25154:209:::0;:::o;11714:51::-;;;:::o;14822:100::-;14875:7;14902:12;;14895:19;;14822:100;:::o;11302:34::-;;;;:::o;17783:285::-;17906:4;17923:15;17941:10;17923:28;;17962:38;17978:4;17984:7;17993:6;17962:15;:38::i;:::-;18011:27;18021:4;18027:2;18031:6;18011:9;:27::i;:::-;18056:4;18049:11;;;17783:285;;;;;:::o;23086:233::-;3972:13;:11;:13::i;:::-;23184:1:::1;23166:20;;:6;:20;;::::0;23158:69:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;23254:6;23238:13;;:22;;;;;;;;;;;;;;;;;;23276:35;23297:13;;;;;;;;;;;23276:35;;;;;;:::i;:::-;;;;;;;;23086:233:::0;:::o;14528:92::-;14578:5;10955:2;14596:16;;14528:92;:::o;11641:37::-;;;;:::o;15425:84::-;15476:25;15482:10;15494:6;15476:5;:25::i;:::-;15425:84;:::o;23714:241::-;3972:13;:11;:13::i;:::-;23814:1:::1;23796:20;;:6;:20;;::::0;23788:69:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;23886:6;23868:15;;:24;;;;;;;;;;;;;;;;;;23908:39;23931:15;;;;;;;;;;;23908:39;;;;;;:::i;:::-;;;;;;;;23714:241:::0;:::o;22436:260::-;3972:13;:11;:13::i;:::-;10955:2:::1;22536:18;;22528:7;:26;;;;:::i;:::-;22518:6;:36;;22510:92;;;;;;;;;;;;:::i;:::-;;;;;;;;;22632:6;22613:16;:25;;;;22654:34;22671:16;;22654:34;;;;;;:::i;:::-;;;;;;;;22436:260:::0;:::o;15136:135::-;15218:7;15245:9;:18;15255:7;15245:18;;;;;;;;;;;;;;;;15238:25;;15136:135;;;:::o;4737:103::-;3972:13;:11;:13::i;:::-;4802:30:::1;4829:1;4802:18;:30::i;:::-;4737:103::o:0;11260:30::-;;;;;;;;;;;;;:::o;11456:74::-;;;;:::o;11343:60::-;;;;:::o;11225:28::-;;;;;;;;;;;;;:::o;4087:87::-;4133:7;4160:6;;;;;;;;;;;4153:13;;4087:87;:::o;14047:96::-;14095:13;14128:7;;;;;;;;;;;;;;;;;14121:14;;14047:96;:::o;17080:208::-;17176:4;17193:13;17209:10;17193:26;;17230:28;17240:5;17247:2;17251:6;17230:9;:28::i;:::-;17276:4;17269:11;;;17080:208;;;;:::o;11772:36::-;;;:::o;11170:43::-;;;;;;;;;;;;;;;;;;;;;;:::o;18346:168::-;18452:7;18479:11;:18;18491:5;18479:18;;;;;;;;;;;;;;;:27;18498:7;18479:27;;;;;;;;;;;;;;;;18472:34;;18346:168;;;;:::o;25894:211::-;3972:13;:11;:13::i;:::-;25974:11:::1;:20;25986:7;25974:20;;;;;;;;;;;;;;;;;;;;;;;;;25966:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;26052:5;26030:11;:20;26042:7;26030:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;26073:24;26089:7;26073:24;;;;;;:::i;:::-;;;;;;;;25894:211:::0;:::o;4996:238::-;3972:13;:11;:13::i;:::-;5119:1:::1;5099:22;;:8;:22;;::::0;5077:110:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;5198:28;5217:8;5198:18;:28::i;:::-;4996:238:::0;:::o;11574:36::-;;;;:::o;4253:132::-;4328:12;:10;:12::i;:::-;4317:23;;:7;:5;:7::i;:::-;:23;;;4309:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;4253:132::o;19378:343::-;19491:1;19473:20;;:6;:20;;;19465:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;19572:1;19553:21;;:7;:21;;;19545:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19658:6;19627:11;:19;19639:6;19627:19;;;;;;;;;;;;;;;:28;19647:7;19627:28;;;;;;;;;;;;;;;:37;;;;19697:7;19680:33;;19689:6;19680:33;;;19706:6;19680:33;;;;;;:::i;:::-;;;;;;;;19378:343;;;:::o;20219:502::-;20354:24;20381:25;20391:5;20398:7;20381:9;:25::i;:::-;20354:52;;20441:17;20421:16;:37;20417:297;;20521:6;20501:16;:26;;20475:117;;;;;;;;;;;;:::i;:::-;;;;;;;;;20636:51;20645:5;20652:7;20680:6;20661:16;:25;20636:8;:51::i;:::-;20417:297;20343:378;20219:502;;;:::o;29871:1538::-;29987:1;29969:20;;:6;:20;;;29961:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;30071:1;30050:23;;:9;:23;;;30042:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;30141:1;30132:6;:10;30124:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;30208:11;:19;30220:6;30208:19;;;;;;;;;;;;;;;;;;;;;;;;;30207:20;30199:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;30273:11;:22;30285:9;30273:22;;;;;;;;;;;;;;;;;;;;;;;;;30272:23;30264:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;30403:7;:5;:7::i;:::-;30393:17;;:6;:17;;;:41;;;;30427:7;:5;:7::i;:::-;30414:20;;:9;:20;;;30393:41;:68;;;;30456:4;30438:23;;:6;:23;;;30393:68;30389:164;;;30478:42;30494:6;30502:9;30513:6;30478:15;:42::i;:::-;30535:7;;30389:164;30565:10;30588:11;30578:21;;:6;:21;;;30565:34;;30610:11;30637;30624:24;;:9;:24;;;30610:38;;30659:17;30689:28;30720:24;30738:4;30720:9;:24::i;:::-;30689:55;;30755:12;30794;;30770:20;:36;;30755:51;;30838:7;:45;;;;;30872:11;30862:21;;:6;:21;;;;30838:45;:71;;;;;30901:8;;;;;;;;;;;30900:9;30838:71;30820:206;;;30948:4;30937:8;;:15;;;;;;;;;;;;;;;;;;30967:16;:14;:16::i;:::-;31009:5;30998:8;;:16;;;;;;;;;;;;;;;;;;30820:206;31049:5;:15;;;;31058:6;31049:15;31045:265;;;31109:6;31089:16;;:26;;31081:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;31177:38;31191:6;31199:15;;31177:13;:38::i;:::-;31165:50;;31234:49;31250:6;31266:4;31273:9;31234:15;:49::i;:::-;31045:265;31335:9;31325:19;;;;;:::i;:::-;;;31359:42;31375:6;31383:9;31394:6;31359:15;:42::i;:::-;29950:1459;;;;;29871:1538;;;;:::o;16178:460::-;16272:1;16253:21;;:7;:21;;;16245:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16327:22;16352:9;:18;16362:7;16352:18;;;;;;;;;;;;;;;;16327:43;;16406:6;16388:14;:24;;16380:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;16523:6;16506:14;:23;16485:9;:18;16495:7;16485:18;;;;;;;;;;;;;;;:44;;;;16573:6;16558:12;;:21;16543:12;:36;;;;16614:7;16609:21;;;16623:6;16609:21;;;;;;:::i;:::-;;;;;;;;16235:403;16178:460;;:::o;5395:191::-;5469:16;5488:6;;;;;;;;;;;5469:25;;5514:8;5505:6;;:17;;;;;;;;;;;;;;;;;;5569:8;5538:40;;5559:8;5538:40;;;;;;;;;;;;5458:128;5395:191;:::o;2765:98::-;2818:7;2845:10;2838:17;;2765:98;:::o;21122:627::-;21251:19;21273:9;:15;21283:4;21273:15;;;;;;;;;;;;;;;;21251:37;;21336:6;21321:11;:21;;21299:109;;;;;;;;;;;;:::i;:::-;;;;;;;;;21476:6;21462:11;:20;21444:9;:15;21454:4;21444:15;;;;;;;;;;;;;;;:38;;;;21679:6;21662:9;:13;21672:2;21662:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;21730:2;21715:26;;21724:4;21715:26;;;21734:6;21715:26;;;;;;:::i;:::-;;;;;;;;21240:509;21122:627;;;:::o;28205:1078::-;28251:28;28282:24;28300:4;28282:9;:24::i;:::-;28251:55;;28353:16;;28330:20;:39;28327:109;;;28408:16;;28385:39;;28327:109;28453:22;28478:21;28453:46;;28517:38;28534:20;28517:16;:38::i;:::-;28572:18;28618:14;28593:21;:40;;;;:::i;:::-;28572:61;;28650:29;28694:31;28744:24;28805:3;28786:15;;28772:10;:29;;;;:::i;:::-;28771:37;;;;:::i;:::-;28744:64;;28823:26;28865:16;28852:10;:29;;;;:::i;:::-;28823:58;;28928:13;;;;;;;;;;;:18;;28954:16;28977:5;28928:59;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28898:89;;;;;29010:24;29002:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;29121:15;;;;;;;;;;;:20;;29149:18;29174:5;29121:63;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29089:95;;;;;29207:26;29199:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;28240:1043;;;;;;;28205:1078::o;31657:152::-;31743:7;31798:3;31780:14;31771:6;:23;;;;:::i;:::-;31770:31;;;;:::i;:::-;31763:38;;31657:152;;;;:::o;26718:591::-;26844:21;26882:1;26868:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26844:40;;26913:4;26895;26900:1;26895:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;26939:15;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;26929:4;26934:1;26929:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;26975:62;26992:4;27007:15;27025:11;26975:8;:62::i;:::-;27077:15;:66;;;27158:11;27184:1;27228:4;27255;27275:15;27077:224;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26773:536;26718:591;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:139::-;376:6;371:3;366;360:23;417:1;408:6;403:3;399:16;392:27;287:139;;;:::o;432:102::-;473:6;524:2;520:7;515:2;508:5;504:14;500:28;490:38;;432:102;;;:::o;540:377::-;628:3;656:39;689:5;656:39;:::i;:::-;711:71;775:6;770:3;711:71;:::i;:::-;704:78;;791:65;849:6;844:3;837:4;830:5;826:16;791:65;:::i;:::-;881:29;903:6;881:29;:::i;:::-;876:3;872:39;865:46;;632:285;540:377;;;;:::o;923:313::-;1036:4;1074:2;1063:9;1059:18;1051:26;;1123:9;1117:4;1113:20;1109:1;1098:9;1094:17;1087:47;1151:78;1224:4;1215:6;1151:78;:::i;:::-;1143:86;;923:313;;;;:::o;1323:117::-;1432:1;1429;1422:12;1569:77;1606:7;1635:5;1624:16;;1569:77;;;:::o;1652:122::-;1725:24;1743:5;1725:24;:::i;:::-;1718:5;1715:35;1705:63;;1764:1;1761;1754:12;1705:63;1652:122;:::o;1780:139::-;1826:5;1864:6;1851:20;1842:29;;1880:33;1907:5;1880:33;:::i;:::-;1780:139;;;;:::o;1925:329::-;1984:6;2033:2;2021:9;2012:7;2008:23;2004:32;2001:119;;;2039:79;;:::i;:::-;2001:119;2159:1;2184:53;2229:7;2220:6;2209:9;2205:22;2184:53;:::i;:::-;2174:63;;2130:117;1925:329;;;;:::o;2260:126::-;2297:7;2337:42;2330:5;2326:54;2315:65;;2260:126;;;:::o;2392:96::-;2429:7;2458:24;2476:5;2458:24;:::i;:::-;2447:35;;2392:96;;;:::o;2494:122::-;2567:24;2585:5;2567:24;:::i;:::-;2560:5;2557:35;2547:63;;2606:1;2603;2596:12;2547:63;2494:122;:::o;2622:139::-;2668:5;2706:6;2693:20;2684:29;;2722:33;2749:5;2722:33;:::i;:::-;2622:139;;;;:::o;2767:474::-;2835:6;2843;2892:2;2880:9;2871:7;2867:23;2863:32;2860:119;;;2898:79;;:::i;:::-;2860:119;3018:1;3043:53;3088:7;3079:6;3068:9;3064:22;3043:53;:::i;:::-;3033:63;;2989:117;3145:2;3171:53;3216:7;3207:6;3196:9;3192:22;3171:53;:::i;:::-;3161:63;;3116:118;2767:474;;;;;:::o;3247:90::-;3281:7;3324:5;3317:13;3310:21;3299:32;;3247:90;;;:::o;3343:109::-;3424:21;3439:5;3424:21;:::i;:::-;3419:3;3412:34;3343:109;;:::o;3458:210::-;3545:4;3583:2;3572:9;3568:18;3560:26;;3596:65;3658:1;3647:9;3643:17;3634:6;3596:65;:::i;:::-;3458:210;;;;:::o;3674:329::-;3733:6;3782:2;3770:9;3761:7;3757:23;3753:32;3750:119;;;3788:79;;:::i;:::-;3750:119;3908:1;3933:53;3978:7;3969:6;3958:9;3954:22;3933:53;:::i;:::-;3923:63;;3879:117;3674:329;;;;:::o;4009:60::-;4037:3;4058:5;4051:12;;4009:60;;;:::o;4075:142::-;4125:9;4158:53;4176:34;4185:24;4203:5;4185:24;:::i;:::-;4176:34;:::i;:::-;4158:53;:::i;:::-;4145:66;;4075:142;;;:::o;4223:126::-;4273:9;4306:37;4337:5;4306:37;:::i;:::-;4293:50;;4223:126;;;:::o;4355:152::-;4431:9;4464:37;4495:5;4464:37;:::i;:::-;4451:50;;4355:152;;;:::o;4513:183::-;4626:63;4683:5;4626:63;:::i;:::-;4621:3;4614:76;4513:183;;:::o;4702:274::-;4821:4;4859:2;4848:9;4844:18;4836:26;;4872:97;4966:1;4955:9;4951:17;4942:6;4872:97;:::i;:::-;4702:274;;;;:::o;4982:118::-;5069:24;5087:5;5069:24;:::i;:::-;5064:3;5057:37;4982:118;;:::o;5106:222::-;5199:4;5237:2;5226:9;5222:18;5214:26;;5250:71;5318:1;5307:9;5303:17;5294:6;5250:71;:::i;:::-;5106:222;;;;:::o;5334:619::-;5411:6;5419;5427;5476:2;5464:9;5455:7;5451:23;5447:32;5444:119;;;5482:79;;:::i;:::-;5444:119;5602:1;5627:53;5672:7;5663:6;5652:9;5648:22;5627:53;:::i;:::-;5617:63;;5573:117;5729:2;5755:53;5800:7;5791:6;5780:9;5776:22;5755:53;:::i;:::-;5745:63;;5700:118;5857:2;5883:53;5928:7;5919:6;5908:9;5904:22;5883:53;:::i;:::-;5873:63;;5828:118;5334:619;;;;;:::o;5959:86::-;5994:7;6034:4;6027:5;6023:16;6012:27;;5959:86;;;:::o;6051:112::-;6134:22;6150:5;6134:22;:::i;:::-;6129:3;6122:35;6051:112;;:::o;6169:214::-;6258:4;6296:2;6285:9;6281:18;6273:26;;6309:67;6373:1;6362:9;6358:17;6349:6;6309:67;:::i;:::-;6169:214;;;;:::o;6389:118::-;6476:24;6494:5;6476:24;:::i;:::-;6471:3;6464:37;6389:118;;:::o;6513:222::-;6606:4;6644:2;6633:9;6629:18;6621:26;;6657:71;6725:1;6714:9;6710:17;6701:6;6657:71;:::i;:::-;6513:222;;;;:::o;6741:474::-;6809:6;6817;6866:2;6854:9;6845:7;6841:23;6837:32;6834:119;;;6872:79;;:::i;:::-;6834:119;6992:1;7017:53;7062:7;7053:6;7042:9;7038:22;7017:53;:::i;:::-;7007:63;;6963:117;7119:2;7145:53;7190:7;7181:6;7170:9;7166:22;7145:53;:::i;:::-;7135:63;;7090:118;6741:474;;;;;:::o;7221:181::-;7361:33;7357:1;7349:6;7345:14;7338:57;7221:181;:::o;7408:366::-;7550:3;7571:67;7635:2;7630:3;7571:67;:::i;:::-;7564:74;;7647:93;7736:3;7647:93;:::i;:::-;7765:2;7760:3;7756:12;7749:19;;7408:366;;;:::o;7780:419::-;7946:4;7984:2;7973:9;7969:18;7961:26;;8033:9;8027:4;8023:20;8019:1;8008:9;8004:17;7997:47;8061:131;8187:4;8061:131;:::i;:::-;8053:139;;7780:419;;;:::o;8205:174::-;8345:26;8341:1;8333:6;8329:14;8322:50;8205:174;:::o;8385:366::-;8527:3;8548:67;8612:2;8607:3;8548:67;:::i;:::-;8541:74;;8624:93;8713:3;8624:93;:::i;:::-;8742:2;8737:3;8733:12;8726:19;;8385:366;;;:::o;8757:419::-;8923:4;8961:2;8950:9;8946:18;8938:26;;9010:9;9004:4;9000:20;8996:1;8985:9;8981:17;8974:47;9038:131;9164:4;9038:131;:::i;:::-;9030:139;;8757:419;;;:::o;9182:224::-;9322:34;9318:1;9310:6;9306:14;9299:58;9391:7;9386:2;9378:6;9374:15;9367:32;9182:224;:::o;9412:366::-;9554:3;9575:67;9639:2;9634:3;9575:67;:::i;:::-;9568:74;;9651:93;9740:3;9651:93;:::i;:::-;9769:2;9764:3;9760:12;9753:19;;9412:366;;;:::o;9784:419::-;9950:4;9988:2;9977:9;9973:18;9965:26;;10037:9;10031:4;10027:20;10023:1;10012:9;10008:17;10001:47;10065:131;10191:4;10065:131;:::i;:::-;10057:139;;9784:419;;;:::o;10209:180::-;10257:77;10254:1;10247:88;10354:4;10351:1;10344:15;10378:4;10375:1;10368:15;10395:410;10435:7;10458:20;10476:1;10458:20;:::i;:::-;10453:25;;10492:20;10510:1;10492:20;:::i;:::-;10487:25;;10547:1;10544;10540:9;10569:30;10587:11;10569:30;:::i;:::-;10558:41;;10748:1;10739:7;10735:15;10732:1;10729:22;10709:1;10702:9;10682:83;10659:139;;10778:18;;:::i;:::-;10659:139;10443:362;10395:410;;;;:::o;10811:231::-;10951:34;10947:1;10939:6;10935:14;10928:58;11020:14;11015:2;11007:6;11003:15;10996:39;10811:231;:::o;11048:366::-;11190:3;11211:67;11275:2;11270:3;11211:67;:::i;:::-;11204:74;;11287:93;11376:3;11287:93;:::i;:::-;11405:2;11400:3;11396:12;11389:19;;11048:366;;;:::o;11420:419::-;11586:4;11624:2;11613:9;11609:18;11601:26;;11673:9;11667:4;11663:20;11659:1;11648:9;11644:17;11637:47;11701:131;11827:4;11701:131;:::i;:::-;11693:139;;11420:419;;;:::o;11845:171::-;11985:23;11981:1;11973:6;11969:14;11962:47;11845:171;:::o;12022:366::-;12164:3;12185:67;12249:2;12244:3;12185:67;:::i;:::-;12178:74;;12261:93;12350:3;12261:93;:::i;:::-;12379:2;12374:3;12370:12;12363:19;;12022:366;;;:::o;12394:419::-;12560:4;12598:2;12587:9;12583:18;12575:26;;12647:9;12641:4;12637:20;12633:1;12622:9;12618:17;12611:47;12675:131;12801:4;12675:131;:::i;:::-;12667:139;;12394:419;;;:::o;12819:225::-;12959:34;12955:1;12947:6;12943:14;12936:58;13028:8;13023:2;13015:6;13011:15;13004:33;12819:225;:::o;13050:366::-;13192:3;13213:67;13277:2;13272:3;13213:67;:::i;:::-;13206:74;;13289:93;13378:3;13289:93;:::i;:::-;13407:2;13402:3;13398:12;13391:19;;13050:366;;;:::o;13422:419::-;13588:4;13626:2;13615:9;13611:18;13603:26;;13675:9;13669:4;13665:20;13661:1;13650:9;13646:17;13639:47;13703:131;13829:4;13703:131;:::i;:::-;13695:139;;13422:419;;;:::o;13847:182::-;13987:34;13983:1;13975:6;13971:14;13964:58;13847:182;:::o;14035:366::-;14177:3;14198:67;14262:2;14257:3;14198:67;:::i;:::-;14191:74;;14274:93;14363:3;14274:93;:::i;:::-;14392:2;14387:3;14383:12;14376:19;;14035:366;;;:::o;14407:419::-;14573:4;14611:2;14600:9;14596:18;14588:26;;14660:9;14654:4;14650:20;14646:1;14635:9;14631:17;14624:47;14688:131;14814:4;14688:131;:::i;:::-;14680:139;;14407:419;;;:::o;14832:223::-;14972:34;14968:1;14960:6;14956:14;14949:58;15041:6;15036:2;15028:6;15024:15;15017:31;14832:223;:::o;15061:366::-;15203:3;15224:67;15288:2;15283:3;15224:67;:::i;:::-;15217:74;;15300:93;15389:3;15300:93;:::i;:::-;15418:2;15413:3;15409:12;15402:19;;15061:366;;;:::o;15433:419::-;15599:4;15637:2;15626:9;15622:18;15614:26;;15686:9;15680:4;15676:20;15672:1;15661:9;15657:17;15650:47;15714:131;15840:4;15714:131;:::i;:::-;15706:139;;15433:419;;;:::o;15858:221::-;15998:34;15994:1;15986:6;15982:14;15975:58;16067:4;16062:2;16054:6;16050:15;16043:29;15858:221;:::o;16085:366::-;16227:3;16248:67;16312:2;16307:3;16248:67;:::i;:::-;16241:74;;16324:93;16413:3;16324:93;:::i;:::-;16442:2;16437:3;16433:12;16426:19;;16085:366;;;:::o;16457:419::-;16623:4;16661:2;16650:9;16646:18;16638:26;;16710:9;16704:4;16700:20;16696:1;16685:9;16681:17;16674:47;16738:131;16864:4;16738:131;:::i;:::-;16730:139;;16457:419;;;:::o;16882:179::-;17022:31;17018:1;17010:6;17006:14;16999:55;16882:179;:::o;17067:366::-;17209:3;17230:67;17294:2;17289:3;17230:67;:::i;:::-;17223:74;;17306:93;17395:3;17306:93;:::i;:::-;17424:2;17419:3;17415:12;17408:19;;17067:366;;;:::o;17439:419::-;17605:4;17643:2;17632:9;17628:18;17620:26;;17692:9;17686:4;17682:20;17678:1;17667:9;17663:17;17656:47;17720:131;17846:4;17720:131;:::i;:::-;17712:139;;17439:419;;;:::o;17864:224::-;18004:34;18000:1;17992:6;17988:14;17981:58;18073:7;18068:2;18060:6;18056:15;18049:32;17864:224;:::o;18094:366::-;18236:3;18257:67;18321:2;18316:3;18257:67;:::i;:::-;18250:74;;18333:93;18422:3;18333:93;:::i;:::-;18451:2;18446:3;18442:12;18435:19;;18094:366;;;:::o;18466:419::-;18632:4;18670:2;18659:9;18655:18;18647:26;;18719:9;18713:4;18709:20;18705:1;18694:9;18690:17;18683:47;18747:131;18873:4;18747:131;:::i;:::-;18739:139;;18466:419;;;:::o;18891:222::-;19031:34;19027:1;19019:6;19015:14;19008:58;19100:5;19095:2;19087:6;19083:15;19076:30;18891:222;:::o;19119:366::-;19261:3;19282:67;19346:2;19341:3;19282:67;:::i;:::-;19275:74;;19358:93;19447:3;19358:93;:::i;:::-;19476:2;19471:3;19467:12;19460:19;;19119:366;;;:::o;19491:419::-;19657:4;19695:2;19684:9;19680:18;19672:26;;19744:9;19738:4;19734:20;19730:1;19719:9;19715:17;19708:47;19772:131;19898:4;19772:131;:::i;:::-;19764:139;;19491:419;;;:::o;19916:228::-;20056:34;20052:1;20044:6;20040:14;20033:58;20125:11;20120:2;20112:6;20108:15;20101:36;19916:228;:::o;20150:366::-;20292:3;20313:67;20377:2;20372:3;20313:67;:::i;:::-;20306:74;;20389:93;20478:3;20389:93;:::i;:::-;20507:2;20502:3;20498:12;20491:19;;20150:366;;;:::o;20522:419::-;20688:4;20726:2;20715:9;20711:18;20703:26;;20775:9;20769:4;20765:20;20761:1;20750:9;20746:17;20739:47;20803:131;20929:4;20803:131;:::i;:::-;20795:139;;20522:419;;;:::o;20947:171::-;21087:23;21083:1;21075:6;21071:14;21064:47;20947:171;:::o;21124:366::-;21266:3;21287:67;21351:2;21346:3;21287:67;:::i;:::-;21280:74;;21363:93;21452:3;21363:93;:::i;:::-;21481:2;21476:3;21472:12;21465:19;;21124:366;;;:::o;21496:419::-;21662:4;21700:2;21689:9;21685:18;21677:26;;21749:9;21743:4;21739:20;21735:1;21724:9;21720:17;21713:47;21777:131;21903:4;21777:131;:::i;:::-;21769:139;;21496:419;;;:::o;21921:174::-;22061:26;22057:1;22049:6;22045:14;22038:50;21921:174;:::o;22101:366::-;22243:3;22264:67;22328:2;22323:3;22264:67;:::i;:::-;22257:74;;22340:93;22429:3;22340:93;:::i;:::-;22458:2;22453:3;22449:12;22442:19;;22101:366;;;:::o;22473:419::-;22639:4;22677:2;22666:9;22662:18;22654:26;;22726:9;22720:4;22716:20;22712:1;22701:9;22697:17;22690:47;22754:131;22880:4;22754:131;:::i;:::-;22746:139;;22473:419;;;:::o;22898:175::-;23038:27;23034:1;23026:6;23022:14;23015:51;22898:175;:::o;23079:366::-;23221:3;23242:67;23306:2;23301:3;23242:67;:::i;:::-;23235:74;;23318:93;23407:3;23318:93;:::i;:::-;23436:2;23431:3;23427:12;23420:19;;23079:366;;;:::o;23451:419::-;23617:4;23655:2;23644:9;23640:18;23632:26;;23704:9;23698:4;23694:20;23690:1;23679:9;23675:17;23668:47;23732:131;23858:4;23732:131;:::i;:::-;23724:139;;23451:419;;;:::o;23876:194::-;23916:4;23936:20;23954:1;23936:20;:::i;:::-;23931:25;;23970:20;23988:1;23970:20;:::i;:::-;23965:25;;24014:1;24011;24007:9;23999:17;;24038:1;24032:4;24029:11;24026:37;;;24043:18;;:::i;:::-;24026:37;23876:194;;;;:::o;24076:220::-;24216:34;24212:1;24204:6;24200:14;24193:58;24285:3;24280:2;24272:6;24268:15;24261:28;24076:220;:::o;24302:366::-;24444:3;24465:67;24529:2;24524:3;24465:67;:::i;:::-;24458:74;;24541:93;24630:3;24541:93;:::i;:::-;24659:2;24654:3;24650:12;24643:19;;24302:366;;;:::o;24674:419::-;24840:4;24878:2;24867:9;24863:18;24855:26;;24927:9;24921:4;24917:20;24913:1;24902:9;24898:17;24891:47;24955:131;25081:4;24955:131;:::i;:::-;24947:139;;24674:419;;;:::o;25099:221::-;25239:34;25235:1;25227:6;25223:14;25216:58;25308:4;25303:2;25295:6;25291:15;25284:29;25099:221;:::o;25326:366::-;25468:3;25489:67;25553:2;25548:3;25489:67;:::i;:::-;25482:74;;25565:93;25654:3;25565:93;:::i;:::-;25683:2;25678:3;25674:12;25667:19;;25326:366;;;:::o;25698:419::-;25864:4;25902:2;25891:9;25887:18;25879:26;;25951:9;25945:4;25941:20;25937:1;25926:9;25922:17;25915:47;25979:131;26105:4;25979:131;:::i;:::-;25971:139;;25698:419;;;:::o;26123:225::-;26263:34;26259:1;26251:6;26247:14;26240:58;26332:8;26327:2;26319:6;26315:15;26308:33;26123:225;:::o;26354:366::-;26496:3;26517:67;26581:2;26576:3;26517:67;:::i;:::-;26510:74;;26593:93;26682:3;26593:93;:::i;:::-;26711:2;26706:3;26702:12;26695:19;;26354:366;;;:::o;26726:419::-;26892:4;26930:2;26919:9;26915:18;26907:26;;26979:9;26973:4;26969:20;26965:1;26954:9;26950:17;26943:47;27007:131;27133:4;27007:131;:::i;:::-;26999:139;;26726:419;;;:::o;27151:180::-;27199:77;27196:1;27189:88;27296:4;27293:1;27286:15;27320:4;27317:1;27310:15;27337:185;27377:1;27394:20;27412:1;27394:20;:::i;:::-;27389:25;;27428:20;27446:1;27428:20;:::i;:::-;27423:25;;27467:1;27457:35;;27472:18;;:::i;:::-;27457:35;27514:1;27511;27507:9;27502:14;;27337:185;;;;:::o;27528:147::-;27629:11;27666:3;27651:18;;27528:147;;;;:::o;27681:114::-;;:::o;27801:398::-;27960:3;27981:83;28062:1;28057:3;27981:83;:::i;:::-;27974:90;;28073:93;28162:3;28073:93;:::i;:::-;28191:1;28186:3;28182:11;28175:18;;27801:398;;;:::o;28205:379::-;28389:3;28411:147;28554:3;28411:147;:::i;:::-;28404:154;;28575:3;28568:10;;28205:379;;;:::o;28590:220::-;28730:34;28726:1;28718:6;28714:14;28707:58;28799:3;28794:2;28786:6;28782:15;28775:28;28590:220;:::o;28816:366::-;28958:3;28979:67;29043:2;29038:3;28979:67;:::i;:::-;28972:74;;29055:93;29144:3;29055:93;:::i;:::-;29173:2;29168:3;29164:12;29157:19;;28816:366;;;:::o;29188:419::-;29354:4;29392:2;29381:9;29377:18;29369:26;;29441:9;29435:4;29431:20;29427:1;29416:9;29412:17;29405:47;29469:131;29595:4;29469:131;:::i;:::-;29461:139;;29188:419;;;:::o;29613:222::-;29753:34;29749:1;29741:6;29737:14;29730:58;29822:5;29817:2;29809:6;29805:15;29798:30;29613:222;:::o;29841:366::-;29983:3;30004:67;30068:2;30063:3;30004:67;:::i;:::-;29997:74;;30080:93;30169:3;30080:93;:::i;:::-;30198:2;30193:3;30189:12;30182:19;;29841:366;;;:::o;30213:419::-;30379:4;30417:2;30406:9;30402:18;30394:26;;30466:9;30460:4;30456:20;30452:1;30441:9;30437:17;30430:47;30494:131;30620:4;30494:131;:::i;:::-;30486:139;;30213:419;;;:::o;30638:180::-;30686:77;30683:1;30676:88;30783:4;30780:1;30773:15;30807:4;30804:1;30797:15;30824:180;30872:77;30869:1;30862:88;30969:4;30966:1;30959:15;30993:4;30990:1;30983:15;31010:143;31067:5;31098:6;31092:13;31083:22;;31114:33;31141:5;31114:33;:::i;:::-;31010:143;;;;:::o;31159:351::-;31229:6;31278:2;31266:9;31257:7;31253:23;31249:32;31246:119;;;31284:79;;:::i;:::-;31246:119;31404:1;31429:64;31485:7;31476:6;31465:9;31461:22;31429:64;:::i;:::-;31419:74;;31375:128;31159:351;;;;:::o;31516:85::-;31561:7;31590:5;31579:16;;31516:85;;;:::o;31607:158::-;31665:9;31698:61;31716:42;31725:32;31751:5;31725:32;:::i;:::-;31716:42;:::i;:::-;31698:61;:::i;:::-;31685:74;;31607:158;;;:::o;31771:147::-;31866:45;31905:5;31866:45;:::i;:::-;31861:3;31854:58;31771:147;;:::o;31924:114::-;31991:6;32025:5;32019:12;32009:22;;31924:114;;;:::o;32044:184::-;32143:11;32177:6;32172:3;32165:19;32217:4;32212:3;32208:14;32193:29;;32044:184;;;;:::o;32234:132::-;32301:4;32324:3;32316:11;;32354:4;32349:3;32345:14;32337:22;;32234:132;;;:::o;32372:108::-;32449:24;32467:5;32449:24;:::i;:::-;32444:3;32437:37;32372:108;;:::o;32486:179::-;32555:10;32576:46;32618:3;32610:6;32576:46;:::i;:::-;32654:4;32649:3;32645:14;32631:28;;32486:179;;;;:::o;32671:113::-;32741:4;32773;32768:3;32764:14;32756:22;;32671:113;;;:::o;32820:732::-;32939:3;32968:54;33016:5;32968:54;:::i;:::-;33038:86;33117:6;33112:3;33038:86;:::i;:::-;33031:93;;33148:56;33198:5;33148:56;:::i;:::-;33227:7;33258:1;33243:284;33268:6;33265:1;33262:13;33243:284;;;33344:6;33338:13;33371:63;33430:3;33415:13;33371:63;:::i;:::-;33364:70;;33457:60;33510:6;33457:60;:::i;:::-;33447:70;;33303:224;33290:1;33287;33283:9;33278:14;;33243:284;;;33247:14;33543:3;33536:10;;32944:608;;;32820:732;;;;:::o;33558:831::-;33821:4;33859:3;33848:9;33844:19;33836:27;;33873:71;33941:1;33930:9;33926:17;33917:6;33873:71;:::i;:::-;33954:80;34030:2;34019:9;34015:18;34006:6;33954:80;:::i;:::-;34081:9;34075:4;34071:20;34066:2;34055:9;34051:18;34044:48;34109:108;34212:4;34203:6;34109:108;:::i;:::-;34101:116;;34227:72;34295:2;34284:9;34280:18;34271:6;34227:72;:::i;:::-;34309:73;34377:3;34366:9;34362:19;34353:6;34309:73;:::i;:::-;33558:831;;;;;;;;:::o
Swarm Source
ipfs://44fd6cb8699be6ca66e1b21720d86163f76d8975f8af75cacc5acdc36457ce50
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.