Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 15 from a total of 15 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer Ownersh... | 18339492 | 643 days ago | IN | 0 ETH | 0.00014478 | ||||
Approve | 18094934 | 677 days ago | IN | 0 ETH | 0.00031746 | ||||
Approve | 18094933 | 677 days ago | IN | 0 ETH | 0.00054936 | ||||
Transfer | 18093807 | 678 days ago | IN | 0 ETH | 0.00136765 | ||||
Update Fees | 18093177 | 678 days ago | IN | 0 ETH | 0.00097469 | ||||
Exclude Or Inclu... | 18093176 | 678 days ago | IN | 0 ETH | 0.00132082 | ||||
Approve | 18074946 | 680 days ago | IN | 0 ETH | 0.00053428 | ||||
Approve | 18074084 | 680 days ago | IN | 0 ETH | 0.00085207 | ||||
Approve | 18074074 | 680 days ago | IN | 0 ETH | 0.00096731 | ||||
Transfer | 18064940 | 682 days ago | IN | 0 ETH | 0.0010671 | ||||
Approve | 18045041 | 684 days ago | IN | 0 ETH | 0.00053169 | ||||
Approve | 18045004 | 684 days ago | IN | 0 ETH | 0.00053478 | ||||
Transfer | 18044995 | 684 days ago | IN | 0 ETH | 0.00073651 | ||||
Approve | 18044931 | 684 days ago | IN | 0 ETH | 0.00053073 | ||||
_mint | 18044449 | 685 days ago | IN | 0 ETH | 0.00055654 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
EXZO
Compiler Version
v0.8.21+commit.d9974bed
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity ^0.8.18; interface IERC20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval( address indexed owner, address indexed spender, uint256 value ); } /** * @dev Interface for the optional metadata functions from the BEP20 standard. * * _Available since v4.1._ */ interface IERC20Metadata is IERC20 { /** * @dev Returns the name of the token. */ function name() external view returns (string memory); /** * @dev Returns the symbol of the token. */ function symbol() external view returns (string memory); /** * @dev Returns the decimals places of the token. */ function decimals() external view returns (uint8); } /* * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } /** * @dev Wrappers over Solidity's arithmetic operations with added overflow * checks. * * Arithmetic operations in Solidity wrap on overflow. This can easily result * in bugs, because programmers usually assume that an overflow raises an * error, which is the standard behavior in high level programming languages. * `SafeMath` restores this intuition by reverting the transaction when an * operation overflows. * * Using this library instead of the unchecked operations eliminates an entire * class of bugs, so it's recommended to use it always. */ library SafeMath { /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } /** * @dev Returns the integer division of two unsigned integers. Reverts on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } /** * @dev Returns the integer division of two unsigned integers. Reverts with custom message on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts with custom message when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } /** * @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. */ contract Ownable is Context { address private _owner; address private _previousOwner; uint256 private _lockTime; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } /** * @dev Returns the address of the current owner. */ function owner() public view returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = 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" ); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } interface IUniswapV2Factory { event PairCreated( address indexed token0, address indexed token1, address pair, uint256 ); function feeTo() external view returns (address); function feeToSetter() external view returns (address); function getPair(address tokenA, address tokenB) external view returns (address pair); function allPairs(uint256) external view returns (address pair); function allPairsLength() external view returns (uint256); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; } interface IUniswapV2Pair { event Approval( address indexed owner, address indexed spender, uint256 value ); event Transfer(address indexed from, address indexed to, uint256 value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint256); function balanceOf(address owner) external view returns (uint256); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 value) external returns (bool); function transfer(address to, uint256 value) external returns (bool); function transferFrom( address from, address to, uint256 value ) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint256); function permit( address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s ) external; event Burn( address indexed sender, uint256 amount0, uint256 amount1, address indexed to ); event Swap( address indexed sender, uint256 amount0In, uint256 amount1In, uint256 amount0Out, uint256 amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint256); function factory() external view returns (address); function token0() external view returns (address); function token1() external view returns (address); function getReserves() external view returns ( uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast ); function price0CumulativeLast() external view returns (uint256); function price1CumulativeLast() external view returns (uint256); function kLast() external view returns (uint256); function _burn(address to) external returns (uint256 amount0, uint256 amount1); function swap( uint256 amount0Out, uint256 amount1Out, address to, bytes calldata data ) external; function skim(address to) external; function sync() external; function initialize(address, address) external; } interface IUniswapV2Router01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint256 amountADesired, uint256 amountBDesired, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline ) external returns ( uint256 amountA, uint256 amountB, uint256 liquidity ); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); function removeLiquidity( address tokenA, address tokenB, uint256 liquidity, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline ) external returns (uint256 amountA, uint256 amountB); function removeLiquidityETH( address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external returns (uint256 amountToken, uint256 amountETH); function removeLiquidityWithPermit( address tokenA, address tokenB, uint256 liquidity, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint256 amountA, uint256 amountB); function removeLiquidityETHWithPermit( address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint256 amountToken, uint256 amountETH); function swapExactTokensForTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function swapTokensForExactTokens( uint256 amountOut, uint256 amountInMax, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function swapExactETHForTokens( uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external payable returns (uint256[] memory amounts); function swapTokensForExactETH( uint256 amountOut, uint256 amountInMax, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function swapExactTokensForETH( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function swapETHForExactTokens( uint256 amountOut, address[] calldata path, address to, uint256 deadline ) external payable returns (uint256[] memory amounts); function quote( uint256 amountA, uint256 reserveA, uint256 reserveB ) external pure returns (uint256 amountB); function getAmountOut( uint256 amountIn, uint256 reserveIn, uint256 reserveOut ) external pure returns (uint256 amountOut); function getAmountIn( uint256 amountOut, uint256 reserveIn, uint256 reserveOut ) external pure returns (uint256 amountIn); function getAmountsOut(uint256 amountIn, address[] calldata path) external view returns (uint256[] memory amounts); function getAmountsIn(uint256 amountOut, address[] calldata path) external view returns (uint256[] memory amounts); } // pragma solidity >=0.6.2; interface IUniswapV2Router02 is IUniswapV2Router01 { function removeLiquidityETHSupportingFeeOnTransferTokens( address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external returns (uint256 amountETH); function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint256 amountETH); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; } contract EXZO is Context, IERC20, IERC20Metadata, Ownable { using SafeMath for uint256; mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) private _isExcludedFromFee; mapping(address => bool) private _isAutomaticMarketMaker; mapping(address => bool) public isBlackListed; address public constant teamWallet = 0x8AF7ffcDD583601a1DC28A12b0327c6D11194F03; // specify your team wallet uint256 public MaxSupply; uint256 private _totalSupply; string private _name; string private _symbol; uint8 private _decimals; uint256 public _liquidityFee = 3; uint256 public _teamFee = 15; uint256 public _burnFee = 2; /** * @dev Sets the values for {name}, {symbol} and {decimals}. * All two of these values are immutable: they can only be set once during * construction. */ IUniswapV2Router02 public uniswapV2Router; address public uniswapV2Pair; uint256 public _maxTxAmount = 10 * 10**6 * 10**18; event TaxFeeUpdated(uint256 totalFee); event MaxTxAmountUpdated(uint256 updatingTxAmount); event MinTokensBeforeSwapUpdated(uint256 minTokensBeforeSwap); event SwapAndLiquifyEnabledUpdated(bool enabled); event SwapAndLiquify( uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiquidity ); constructor() { _name = "Wrapped Exzo"; _symbol = "WXZO"; _decimals = 18; MaxSupply = 135_000_000 * 10**_decimals; IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02( 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D // uniswap v2 router ); uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); uniswapV2Router = _uniswapV2Router; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[teamWallet] = true; _isAutomaticMarketMaker[uniswapV2Pair] = true; _mint(_msgSender(), 10); } function name() public view virtual override returns (string memory) { return _name; } function symbol() public view virtual override returns (string memory) { return _symbol; } function decimals() public view virtual override returns (uint8) { return _decimals; } function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public virtual override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public virtual override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom( address from, address to, uint256 value ) external override returns (bool) { require(to != address(0) || to != address(this)); if (from != msg.sender) { uint256 allowed = _allowances[from][msg.sender]; if (allowed != type(uint256).max) { require( allowed >= value, "Exzo: request exceeds allowance" ); uint256 reduced = allowed - value; _allowances[from][msg.sender] = reduced; emit Approval(from, msg.sender, reduced); } } _transfer(from, to, value); return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve( _msgSender(), spender, _allowances[_msgSender()][spender] + addedValue ); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { uint256 currentAllowance = _allowances[_msgSender()][spender]; require( currentAllowance >= subtractedValue, "Exzo: Decreased allowance below zero" ); _approve(_msgSender(), spender, currentAllowance - subtractedValue); return true; } function _transfer( address sender, address recipient, uint256 amount ) internal virtual { require(sender != address(0), "Exzo: Transfer from the zero address"); require(recipient != address(0), "Exzo: Transfer to the zero address"); require(isBlackListed[sender] == false, "Exzo: Cannot transfer tokens from this address"); require(isBlackListed[recipient] == false, "Exzo: Cannot transfer tokens to this address"); uint256 _TeamAmt; uint256 _liquidityAmt; uint256 _burnAmt; if ( _isAutomaticMarketMaker[sender] || _isAutomaticMarketMaker[recipient] ) { if (_isExcludedFromFee[sender] || _isExcludedFromFee[recipient]) { _TeamAmt = 0; _liquidityAmt = 0; _burnAmt = 0; } else { require(amount <= _maxTxAmount, "Exzo: Transaction limit Exceeded!"); _TeamAmt = amount.mul(_teamFee).div(10000); _liquidityAmt = amount.mul(_liquidityFee).div(10000); _burnAmt = amount.mul(_burnFee).div(10000); } } else { _TeamAmt = 0; _liquidityAmt = 0; _burnAmt = 0; } uint256 senderBalance = _balances[sender]; require( senderBalance >= amount, "Exzo: Transfer amount exceeds balance" ); _balances[sender] = senderBalance - amount; _balances[teamWallet] += _TeamAmt; _balances[address(this)] += _liquidityAmt; if (_burnAmt > 0) { _totalSupply -= _burnAmt; emit Transfer(sender, address(0), _burnAmt); } _balances[recipient] += amount.sub(_TeamAmt).sub(_liquidityAmt).sub( _burnAmt ); if (_TeamAmt > 0) { emit Transfer(sender, teamWallet, _TeamAmt); } emit Transfer( sender, recipient, amount.sub(_TeamAmt).sub(_liquidityAmt).sub(_burnAmt) ); } function addToBlacklist( address[] calldata _address, bool[] calldata _value ) external onlyOwner { require(_address.length == _value.length, "Exzo: Arrays must be the same length"); for(uint i = 0; i < _address.length; i++) { isBlackListed[_address[i]] = _value[i]; } } function updateFees( uint256 liquidityFee, uint256 burnFee, uint256 teamFee ) external onlyOwner { require( liquidityFee.add(burnFee).add(teamFee) <= 2500, "Exzo: You cannott set fee more than 25%" ); _liquidityFee = liquidityFee; _burnFee = burnFee; _teamFee = teamFee; emit TaxFeeUpdated(liquidityFee.add(burnFee).add(teamFee)); } function ExcludeOrIncludeFromFee(address Account, bool status) external onlyOwner { require(Account != address(0), "Exzo: You can't exclude zero address!"); _isExcludedFromFee[Account] = status; } function isExcludedFromFee(address Account) external view returns (bool) { return _isExcludedFromFee[Account]; } function isAutomaticMarketMaker(address account) external view returns (bool) { return _isAutomaticMarketMaker[account]; } function SetAutomaticMarketMaker(address Account, bool status) external onlyOwner { require(Account != address(0), "Exzo: You can't exclude zero address!"); _isAutomaticMarketMaker[Account] = status; } function setMaxTxPercentage(uint256 maxTxPercentage) external onlyOwner { require( maxTxPercentage >= 1, "Exzo: Percentage should be greater or equal to 1!" ); _maxTxAmount = _totalSupply.mul(maxTxPercentage).div(10**2); emit MaxTxAmountUpdated(_maxTxAmount); } function _mint(address account, uint256 amount) public virtual onlyOwner { uint256 Amount = amount * 10**_decimals; require( _totalSupply.add(Amount) <= MaxSupply, "Exzo: You can't mint more than MaxSupply" ); require(account != address(0), "Exzo: mint to the zero address"); _beforeTokenTransfer(address(0), account, Amount); _totalSupply += Amount; _balances[account] += Amount; emit Transfer(address(0), account, Amount); } function _burn(uint256 amount) external virtual { uint256 Amount = amount * 10**_decimals; address account = msg.sender; require(account != address(0), "Exzo: burn from the zero address"); _beforeTokenTransfer(account, address(0), Amount); uint256 accountBalance = _balances[account]; require(accountBalance >= Amount, "Exzo: burn amount exceeds balance"); _balances[account] = accountBalance - Amount; _totalSupply -= Amount; emit Transfer(account, address(0), Amount); } function _approve( address owner, address spender, uint256 amount ) internal virtual { require(owner != address(0), "Exzo: approve from the zero address"); require(spender != address(0), "Exzo: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _beforeTokenTransfer( address from, address to, uint256 amount ) internal virtual {} }
{ "optimizer": { "enabled": false, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"updatingTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"minTokensBeforeSwap","type":"uint256"}],"name":"MinTokensBeforeSwapUpdated","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":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiquidity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"totalFee","type":"uint256"}],"name":"TaxFeeUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"Account","type":"address"},{"internalType":"bool","name":"status","type":"bool"}],"name":"ExcludeOrIncludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"MaxSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"Account","type":"address"},{"internalType":"bool","name":"status","type":"bool"}],"name":"SetAutomaticMarketMaker","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"_burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_burnFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_liquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"_mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_teamFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"_address","type":"address[]"},{"internalType":"bool[]","name":"_value","type":"bool[]"}],"name":"addToBlacklist","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":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isAutomaticMarketMaker","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isBlackListed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"Account","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxPercentage","type":"uint256"}],"name":"setMaxTxPercentage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"teamWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"liquidityFee","type":"uint256"},{"internalType":"uint256","name":"burnFee","type":"uint256"},{"internalType":"uint256","name":"teamFee","type":"uint256"}],"name":"updateFees","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040526003600d55600f600e556002600f556a084595161401484a0000006012553480156200002e575f80fd5b505f620000406200056f60201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506040518060400160405280600c81526020017f577261707065642045787a6f0000000000000000000000000000000000000000815250600a908162000122919062000af1565b506040518060400160405280600481526020017f57585a4f00000000000000000000000000000000000000000000000000000000815250600b908162000169919062000af1565b506012600c5f6101000a81548160ff021916908360ff160217905550600c5f9054906101000a900460ff16600a620001a2919062000d5e565b63080befc0620001b3919062000dae565b6008819055505f737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200021b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000241919062000e5d565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002a7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002cd919062000e5d565b6040518363ffffffff1660e01b8152600401620002ec92919062000e9e565b6020604051808303815f875af115801562000309573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200032f919062000e5d565b60115f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060105f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160055f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160055f620004186200057660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160055f738af7ffcdd583601a1dc28a12b0327c6d11194f0373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160065f60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550620005686200055a6200056f60201b60201c565b600a6200059d60201b60201c565b506200111d565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b620005ad6200056f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146200063c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620006339062000f27565b60405180910390fd5b5f600c5f9054906101000a900460ff16600a6200065a919062000d5e565b8262000667919062000dae565b905060085462000683826009546200082660201b90919060201c565b1115620006c7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620006be9062000fbb565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160362000738576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200072f9062001029565b60405180910390fd5b6200074b5f84836200088860201b60201c565b8060095f8282546200075e919062001049565b925050819055508060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254620007b3919062001049565b925050819055508273ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000819919062001094565b60405180910390a3505050565b5f80828462000836919062001049565b9050838110156200087e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200087590620010fd565b60405180910390fd5b8091505092915050565b505050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200090957607f821691505b6020821081036200091f576200091e620008c4565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620009837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000946565b6200098f868362000946565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620009d9620009d3620009cd84620009a7565b620009b0565b620009a7565b9050919050565b5f819050919050565b620009f483620009b9565b62000a0c62000a0382620009e0565b84845462000952565b825550505050565b5f90565b62000a2262000a14565b62000a2f818484620009e9565b505050565b5b8181101562000a565762000a4a5f8262000a18565b60018101905062000a35565b5050565b601f82111562000aa55762000a6f8162000925565b62000a7a8462000937565b8101602085101562000a8a578190505b62000aa262000a998562000937565b83018262000a34565b50505b505050565b5f82821c905092915050565b5f62000ac75f198460080262000aaa565b1980831691505092915050565b5f62000ae1838362000ab6565b9150826002028217905092915050565b62000afc826200088d565b67ffffffffffffffff81111562000b185762000b1762000897565b5b62000b248254620008f1565b62000b3182828562000a5a565b5f60209050601f83116001811462000b67575f841562000b52578287015190505b62000b5e858262000ad4565b86555062000bcd565b601f19841662000b778662000925565b5f5b8281101562000ba05784890151825560018201915060208501945060208101905062000b79565b8683101562000bc0578489015162000bbc601f89168262000ab6565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111562000c5f5780860481111562000c375762000c3662000bd5565b5b600185161562000c475780820291505b808102905062000c578562000c02565b945062000c17565b94509492505050565b5f8262000c79576001905062000d4b565b8162000c88575f905062000d4b565b816001811462000ca1576002811462000cac5762000ce2565b600191505062000d4b565b60ff84111562000cc15762000cc062000bd5565b5b8360020a91508482111562000cdb5762000cda62000bd5565b5b5062000d4b565b5060208310610133831016604e8410600b841016171562000d1c5782820a90508381111562000d165762000d1562000bd5565b5b62000d4b565b62000d2b848484600162000c0e565b9250905081840481111562000d455762000d4462000bd5565b5b81810290505b9392505050565b5f60ff82169050919050565b5f62000d6a82620009a7565b915062000d778362000d52565b925062000da67fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000c68565b905092915050565b5f62000dba82620009a7565b915062000dc783620009a7565b925082820262000dd781620009a7565b9150828204841483151762000df15762000df062000bd5565b5b5092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62000e278262000dfc565b9050919050565b62000e398162000e1b565b811462000e44575f80fd5b50565b5f8151905062000e578162000e2e565b92915050565b5f6020828403121562000e755762000e7462000df8565b5b5f62000e848482850162000e47565b91505092915050565b62000e988162000e1b565b82525050565b5f60408201905062000eb35f83018562000e8d565b62000ec2602083018462000e8d565b9392505050565b5f82825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f62000f0f60208362000ec9565b915062000f1c8262000ed9565b602082019050919050565b5f6020820190508181035f83015262000f408162000f01565b9050919050565b7f45787a6f3a20596f752063616e2774206d696e74206d6f7265207468616e204d5f8201527f6178537570706c79000000000000000000000000000000000000000000000000602082015250565b5f62000fa360288362000ec9565b915062000fb08262000f47565b604082019050919050565b5f6020820190508181035f83015262000fd48162000f95565b9050919050565b7f45787a6f3a206d696e7420746f20746865207a65726f206164647265737300005f82015250565b5f62001011601e8362000ec9565b91506200101e8262000fdb565b602082019050919050565b5f6020820190508181035f830152620010428162001003565b9050919050565b5f6200105582620009a7565b91506200106283620009a7565b92508282019050808211156200107d576200107c62000bd5565b5b92915050565b6200108e81620009a7565b82525050565b5f602082019050620010a95f83018462001083565b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f620010e5601b8362000ec9565b9150620010f282620010af565b602082019050919050565b5f6020820190508181035f8301526200111681620010d7565b9050919050565b613d2d806200112b5f395ff3fe608060405234801561000f575f80fd5b50600436106101ee575f3560e01c8063715018a61161010d578063afc82bd9116100a0578063c676af831161006f578063c676af83146105aa578063dd62ed3e146105c6578063e47d6060146105f6578063f2fde38b14610626576101ee565b8063afc82bd914610536578063b36c128414610552578063c0b0fda214610570578063c37368821461058e576101ee565b80639b1f9e74116100dc5780639b1f9e741461049c5780639eb942e5146104b8578063a457c2d7146104d6578063a9059cbb14610506576101ee565b8063715018a6146104385780637d1db4a5146104425780638da5cb5b1461046057806395d89b411461047e576101ee565b806339509351116101855780635342acb4116101545780635342acb41461039c57806359927044146103cc5780636bc87c3a146103ea57806370a0823114610408576101ee565b806339509351146103025780633979e9ca1461033257806349bd5a5e146103625780634e6ec24714610380576101ee565b806322429085116101c1578063224290851461027c57806323b872dd1461029857806328141d5b146102c8578063313ce567146102e4576101ee565b806306fdde03146101f2578063095ea7b3146102105780631694505e1461024057806318160ddd1461025e575b5f80fd5b6101fa610642565b60405161020791906128ed565b60405180910390f35b61022a600480360381019061022591906129a2565b6106d2565b60405161023791906129fa565b60405180910390f35b6102486106ef565b6040516102559190612a6e565b60405180910390f35b610266610714565b6040516102739190612a96565b60405180910390f35b61029660048036038101906102919190612aaf565b61071d565b005b6102b260048036038101906102ad9190612aff565b61088f565b6040516102bf91906129fa565b60405180910390f35b6102e260048036038101906102dd9190612b4f565b610b23565b005b6102ec610c65565b6040516102f99190612b95565b60405180910390f35b61031c600480360381019061031791906129a2565b610c7a565b60405161032991906129fa565b60405180910390f35b61034c60048036038101906103479190612bae565b610d21565b60405161035991906129fa565b60405180910390f35b61036a610d73565b6040516103779190612be8565b60405180910390f35b61039a600480360381019061039591906129a2565b610d98565b005b6103b660048036038101906103b19190612bae565b610ffc565b6040516103c391906129fa565b60405180910390f35b6103d461104e565b6040516103e19190612be8565b60405180910390f35b6103f2611066565b6040516103ff9190612a96565b60405180910390f35b610422600480360381019061041d9190612bae565b61106c565b60405161042f9190612a96565b60405180910390f35b6104406110b2565b005b61044a611200565b6040516104579190612a96565b60405180910390f35b610468611206565b6040516104759190612be8565b60405180910390f35b61048661122d565b60405161049391906128ed565b60405180910390f35b6104b660048036038101906104b19190612b4f565b6112bd565b005b6104c06114b7565b6040516104cd9190612a96565b60405180910390f35b6104f060048036038101906104eb91906129a2565b6114bd565b6040516104fd91906129fa565b60405180910390f35b610520600480360381019061051b91906129a2565b6115ac565b60405161052d91906129fa565b60405180910390f35b610550600480360381019061054b9190612cb7565b6115c9565b005b61055a61176e565b6040516105679190612a96565b60405180910390f35b610578611774565b6040516105859190612a96565b60405180910390f35b6105a860048036038101906105a39190612d5f565b61177a565b005b6105c460048036038101906105bf9190612d5f565b6118d4565b005b6105e060048036038101906105db9190612d9d565b611a2e565b6040516105ed9190612a96565b60405180910390f35b610610600480360381019061060b9190612bae565b611ab0565b60405161061d91906129fa565b60405180910390f35b610640600480360381019061063b9190612bae565b611acd565b005b6060600a805461065190612e08565b80601f016020809104026020016040519081016040528092919081815260200182805461067d90612e08565b80156106c85780601f1061069f576101008083540402835291602001916106c8565b820191905f5260205f20905b8154815290600101906020018083116106ab57829003601f168201915b5050505050905090565b5f6106e56106de611c8a565b8484611c91565b6001905092915050565b60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f600954905090565b610725611c8a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a890612e82565b60405180910390fd5b6109c46107d9826107cb8587611e5490919063ffffffff16565b611e5490919063ffffffff16565b111561081a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081190612f10565b60405180910390fd5b82600d8190555081600f8190555080600e819055507faa4b71ac29531fdea0ef1650c76ef91e3771dac25f4a4dd2a561ff3e0b9a5de2610875826108678587611e5490919063ffffffff16565b611e5490919063ffffffff16565b6040516108829190612a96565b60405180910390a1505050565b5f8073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415806108f757503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b6108ff575f80fd5b3373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614610b0d575f60045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610b0b5782811015610a18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0f90612f78565b60405180910390fd5b5f8382610a259190612fc3565b90508060045f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503373ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610b019190612a96565b60405180910390a3505b505b610b18848484611eb1565b600190509392505050565b610b2b611c8a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bb7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bae90612e82565b60405180910390fd5b6001811015610bfb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf290613066565b60405180910390fd5b610c236064610c158360095461269290919063ffffffff16565b61270990919063ffffffff16565b6012819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf601254604051610c5a9190612a96565b60405180910390a150565b5f600c5f9054906101000a900460ff16905090565b5f610d17610c86611c8a565b848460045f610c93611c8a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610d129190613084565b611c91565b6001905092915050565b5f60065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610da0611c8a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2390612e82565b60405180910390fd5b5f600c5f9054906101000a900460ff16600a610e4891906131e6565b82610e539190613230565b9050600854610e6d82600954611e5490919063ffffffff16565b1115610eae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea5906132e1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1390613349565b60405180910390fd5b610f275f8483612752565b8060095f828254610f389190613084565b925050819055508060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610f8b9190613084565b925050819055508273ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610fef9190612a96565b60405180910390a3505050565b5f60055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b738af7ffcdd583601a1dc28a12b0327c6d11194f0381565b600d5481565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6110ba611c8a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611146576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113d90612e82565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60125481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600b805461123c90612e08565b80601f016020809104026020016040519081016040528092919081815260200182805461126890612e08565b80156112b35780601f1061128a576101008083540402835291602001916112b3565b820191905f5260205f20905b81548152906001019060200180831161129657829003601f168201915b5050505050905090565b5f600c5f9054906101000a900460ff16600a6112d991906131e6565b826112e49190613230565b90505f3390505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611358576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134f906133b1565b60405180910390fd5b611363815f84612752565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050828110156113e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113de9061343f565b60405180910390fd5b82816113f39190612fc3565b60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508260095f8282546114459190612fc3565b925050819055505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516114a99190612a96565b60405180910390a350505050565b600e5481565b5f8060045f6114ca611c8a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015611584576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157b906134cd565b60405180910390fd5b6115a161158f611c8a565b85858461159c9190612fc3565b611c91565b600191505092915050565b5f6115bf6115b8611c8a565b8484611eb1565b6001905092915050565b6115d1611c8a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461165d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165490612e82565b60405180910390fd5b8181905084849050146116a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169c9061355b565b60405180910390fd5b5f5b84849050811015611767578282828181106116c5576116c4613579565b5b90506020020160208101906116da91906135a6565b60075f8787858181106116f0576116ef613579565b5b90506020020160208101906117059190612bae565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550808061175f906135d1565b9150506116a7565b5050505050565b60085481565b600f5481565b611782611c8a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461180e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161180590612e82565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361187c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187390613688565b60405180910390fd5b8060055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b6118dc611c8a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611968576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195f90612e82565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036119d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119cd90613688565b60405180910390fd5b8060065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6007602052805f5260405f205f915054906101000a900460ff1681565b611ad5611c8a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611b61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5890612e82565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611bcf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bc690613716565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611cff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cf6906137a4565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611d6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d6490613832565b60405180910390fd5b8060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611e479190612a96565b60405180910390a3505050565b5f808284611e629190613084565b905083811015611ea7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e9e9061389a565b60405180910390fd5b8091505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611f1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f1690613928565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611f8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f84906139b6565b60405180910390fd5b5f151560075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615151461201c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161201390613a44565b60405180910390fd5b5f151560075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161515146120ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120a290613ad2565b60405180910390fd5b5f805f60065f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680612149575060065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b156122c85760055f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16806121e9575060055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b156121fc575f92505f91505f90506122c3565b601254841115612241576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161223890613b60565b60405180910390fd5b61226a61271061225c600e548761269290919063ffffffff16565b61270990919063ffffffff16565b9250612295612710612287600d548761269290919063ffffffff16565b61270990919063ffffffff16565b91506122c06127106122b2600f548761269290919063ffffffff16565b61270990919063ffffffff16565b90505b6122d2565b5f92505f91505f90505b5f60035f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905084811015612356576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161234d90613bee565b60405180910390fd5b84816123629190612fc3565b60035f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508360035f738af7ffcdd583601a1dc28a12b0327c6d11194f0373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546124039190613084565b925050819055508260035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546124569190613084565b925050819055505f8211156124e3578160095f8282546124769190612fc3565b925050819055505f73ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516124da9190612a96565b60405180910390a35b61251a8261250c856124fe888a61275790919063ffffffff16565b61275790919063ffffffff16565b61275790919063ffffffff16565b60035f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546125659190613084565b925050819055505f8411156125ee57738af7ffcdd583601a1dc28a12b0327c6d11194f0373ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040516125e59190612a96565b60405180910390a35b8573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61267485612666886126588b8d61275790919063ffffffff16565b61275790919063ffffffff16565b61275790919063ffffffff16565b6040516126819190612a96565b60405180910390a350505050505050565b5f8083036126a2575f9050612703565b5f82846126af9190613230565b90508284826126be9190613c39565b146126fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126f590613cd9565b60405180910390fd5b809150505b92915050565b5f61274a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506127a0565b905092915050565b505050565b5f61279883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612801565b905092915050565b5f80831182906127e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127dd91906128ed565b60405180910390fd5b505f83856127f49190613c39565b9050809150509392505050565b5f838311158290612848576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161283f91906128ed565b60405180910390fd5b505f83856128569190612fc3565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561289a57808201518184015260208101905061287f565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6128bf82612863565b6128c9818561286d565b93506128d981856020860161287d565b6128e2816128a5565b840191505092915050565b5f6020820190508181035f83015261290581846128b5565b905092915050565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61293e82612915565b9050919050565b61294e81612934565b8114612958575f80fd5b50565b5f8135905061296981612945565b92915050565b5f819050919050565b6129818161296f565b811461298b575f80fd5b50565b5f8135905061299c81612978565b92915050565b5f80604083850312156129b8576129b761290d565b5b5f6129c58582860161295b565b92505060206129d68582860161298e565b9150509250929050565b5f8115159050919050565b6129f4816129e0565b82525050565b5f602082019050612a0d5f8301846129eb565b92915050565b5f819050919050565b5f612a36612a31612a2c84612915565b612a13565b612915565b9050919050565b5f612a4782612a1c565b9050919050565b5f612a5882612a3d565b9050919050565b612a6881612a4e565b82525050565b5f602082019050612a815f830184612a5f565b92915050565b612a908161296f565b82525050565b5f602082019050612aa95f830184612a87565b92915050565b5f805f60608486031215612ac657612ac561290d565b5b5f612ad38682870161298e565b9350506020612ae48682870161298e565b9250506040612af58682870161298e565b9150509250925092565b5f805f60608486031215612b1657612b1561290d565b5b5f612b238682870161295b565b9350506020612b348682870161295b565b9250506040612b458682870161298e565b9150509250925092565b5f60208284031215612b6457612b6361290d565b5b5f612b718482850161298e565b91505092915050565b5f60ff82169050919050565b612b8f81612b7a565b82525050565b5f602082019050612ba85f830184612b86565b92915050565b5f60208284031215612bc357612bc261290d565b5b5f612bd08482850161295b565b91505092915050565b612be281612934565b82525050565b5f602082019050612bfb5f830184612bd9565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f840112612c2257612c21612c01565b5b8235905067ffffffffffffffff811115612c3f57612c3e612c05565b5b602083019150836020820283011115612c5b57612c5a612c09565b5b9250929050565b5f8083601f840112612c7757612c76612c01565b5b8235905067ffffffffffffffff811115612c9457612c93612c05565b5b602083019150836020820283011115612cb057612caf612c09565b5b9250929050565b5f805f8060408587031215612ccf57612cce61290d565b5b5f85013567ffffffffffffffff811115612cec57612ceb612911565b5b612cf887828801612c0d565b9450945050602085013567ffffffffffffffff811115612d1b57612d1a612911565b5b612d2787828801612c62565b925092505092959194509250565b612d3e816129e0565b8114612d48575f80fd5b50565b5f81359050612d5981612d35565b92915050565b5f8060408385031215612d7557612d7461290d565b5b5f612d828582860161295b565b9250506020612d9385828601612d4b565b9150509250929050565b5f8060408385031215612db357612db261290d565b5b5f612dc08582860161295b565b9250506020612dd18582860161295b565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680612e1f57607f821691505b602082108103612e3257612e31612ddb565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612e6c60208361286d565b9150612e7782612e38565b602082019050919050565b5f6020820190508181035f830152612e9981612e60565b9050919050565b7f45787a6f3a20596f752063616e6e6f74742073657420666565206d6f726520745f8201527f68616e2032352500000000000000000000000000000000000000000000000000602082015250565b5f612efa60278361286d565b9150612f0582612ea0565b604082019050919050565b5f6020820190508181035f830152612f2781612eee565b9050919050565b7f45787a6f3a2072657175657374206578636565647320616c6c6f77616e6365005f82015250565b5f612f62601f8361286d565b9150612f6d82612f2e565b602082019050919050565b5f6020820190508181035f830152612f8f81612f56565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612fcd8261296f565b9150612fd88361296f565b9250828203905081811115612ff057612fef612f96565b5b92915050565b7f45787a6f3a2050657263656e746167652073686f756c642062652067726561745f8201527f6572206f7220657175616c20746f203121000000000000000000000000000000602082015250565b5f61305060318361286d565b915061305b82612ff6565b604082019050919050565b5f6020820190508181035f83015261307d81613044565b9050919050565b5f61308e8261296f565b91506130998361296f565b92508282019050808211156130b1576130b0612f96565b5b92915050565b5f8160011c9050919050565b5f808291508390505b600185111561310c578086048111156130e8576130e7612f96565b5b60018516156130f75780820291505b8081029050613105856130b7565b94506130cc565b94509492505050565b5f8261312457600190506131df565b81613131575f90506131df565b8160018114613147576002811461315157613180565b60019150506131df565b60ff84111561316357613162612f96565b5b8360020a91508482111561317a57613179612f96565b5b506131df565b5060208310610133831016604e8410600b84101617156131b55782820a9050838111156131b0576131af612f96565b5b6131df565b6131c284848460016130c3565b925090508184048111156131d9576131d8612f96565b5b81810290505b9392505050565b5f6131f08261296f565b91506131fb83612b7a565b92506132287fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613115565b905092915050565b5f61323a8261296f565b91506132458361296f565b92508282026132538161296f565b9150828204841483151761326a57613269612f96565b5b5092915050565b7f45787a6f3a20596f752063616e2774206d696e74206d6f7265207468616e204d5f8201527f6178537570706c79000000000000000000000000000000000000000000000000602082015250565b5f6132cb60288361286d565b91506132d682613271565b604082019050919050565b5f6020820190508181035f8301526132f8816132bf565b9050919050565b7f45787a6f3a206d696e7420746f20746865207a65726f206164647265737300005f82015250565b5f613333601e8361286d565b915061333e826132ff565b602082019050919050565b5f6020820190508181035f83015261336081613327565b9050919050565b7f45787a6f3a206275726e2066726f6d20746865207a65726f20616464726573735f82015250565b5f61339b60208361286d565b91506133a682613367565b602082019050919050565b5f6020820190508181035f8301526133c88161338f565b9050919050565b7f45787a6f3a206275726e20616d6f756e7420657863656564732062616c616e635f8201527f6500000000000000000000000000000000000000000000000000000000000000602082015250565b5f61342960218361286d565b9150613434826133cf565b604082019050919050565b5f6020820190508181035f8301526134568161341d565b9050919050565b7f45787a6f3a2044656372656173656420616c6c6f77616e63652062656c6f77205f8201527f7a65726f00000000000000000000000000000000000000000000000000000000602082015250565b5f6134b760248361286d565b91506134c28261345d565b604082019050919050565b5f6020820190508181035f8301526134e4816134ab565b9050919050565b7f45787a6f3a20417272617973206d757374206265207468652073616d65206c655f8201527f6e67746800000000000000000000000000000000000000000000000000000000602082015250565b5f61354560248361286d565b9150613550826134eb565b604082019050919050565b5f6020820190508181035f83015261357281613539565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f602082840312156135bb576135ba61290d565b5b5f6135c884828501612d4b565b91505092915050565b5f6135db8261296f565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361360d5761360c612f96565b5b600182019050919050565b7f45787a6f3a20596f752063616e2774206578636c756465207a65726f206164645f8201527f7265737321000000000000000000000000000000000000000000000000000000602082015250565b5f61367260258361286d565b915061367d82613618565b604082019050919050565b5f6020820190508181035f83015261369f81613666565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f61370060268361286d565b915061370b826136a6565b604082019050919050565b5f6020820190508181035f83015261372d816136f4565b9050919050565b7f45787a6f3a20617070726f76652066726f6d20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61378e60238361286d565b915061379982613734565b604082019050919050565b5f6020820190508181035f8301526137bb81613782565b9050919050565b7f45787a6f3a20617070726f766520746f20746865207a65726f206164647265735f8201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b5f61381c60218361286d565b9150613827826137c2565b604082019050919050565b5f6020820190508181035f83015261384981613810565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613884601b8361286d565b915061388f82613850565b602082019050919050565b5f6020820190508181035f8301526138b181613878565b9050919050565b7f45787a6f3a205472616e736665722066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61391260248361286d565b915061391d826138b8565b604082019050919050565b5f6020820190508181035f83015261393f81613906565b9050919050565b7f45787a6f3a205472616e7366657220746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6139a060228361286d565b91506139ab82613946565b604082019050919050565b5f6020820190508181035f8301526139cd81613994565b9050919050565b7f45787a6f3a2043616e6e6f74207472616e7366657220746f6b656e732066726f5f8201527f6d20746869732061646472657373000000000000000000000000000000000000602082015250565b5f613a2e602e8361286d565b9150613a39826139d4565b604082019050919050565b5f6020820190508181035f830152613a5b81613a22565b9050919050565b7f45787a6f3a2043616e6e6f74207472616e7366657220746f6b656e7320746f205f8201527f7468697320616464726573730000000000000000000000000000000000000000602082015250565b5f613abc602c8361286d565b9150613ac782613a62565b604082019050919050565b5f6020820190508181035f830152613ae981613ab0565b9050919050565b7f45787a6f3a205472616e73616374696f6e206c696d69742045786365656465645f8201527f2100000000000000000000000000000000000000000000000000000000000000602082015250565b5f613b4a60218361286d565b9150613b5582613af0565b604082019050919050565b5f6020820190508181035f830152613b7781613b3e565b9050919050565b7f45787a6f3a205472616e7366657220616d6f756e7420657863656564732062615f8201527f6c616e6365000000000000000000000000000000000000000000000000000000602082015250565b5f613bd860258361286d565b9150613be382613b7e565b604082019050919050565b5f6020820190508181035f830152613c0581613bcc565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613c438261296f565b9150613c4e8361296f565b925082613c5e57613c5d613c0c565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f613cc360218361286d565b9150613cce82613c69565b604082019050919050565b5f6020820190508181035f830152613cf081613cb7565b905091905056fea26469706673582212200fdd8d724bbd109fb394c08357f02231ed7536ea977f90d0a9f73870b43d69ce64736f6c63430008150033
Deployed Bytecode
0x608060405234801561000f575f80fd5b50600436106101ee575f3560e01c8063715018a61161010d578063afc82bd9116100a0578063c676af831161006f578063c676af83146105aa578063dd62ed3e146105c6578063e47d6060146105f6578063f2fde38b14610626576101ee565b8063afc82bd914610536578063b36c128414610552578063c0b0fda214610570578063c37368821461058e576101ee565b80639b1f9e74116100dc5780639b1f9e741461049c5780639eb942e5146104b8578063a457c2d7146104d6578063a9059cbb14610506576101ee565b8063715018a6146104385780637d1db4a5146104425780638da5cb5b1461046057806395d89b411461047e576101ee565b806339509351116101855780635342acb4116101545780635342acb41461039c57806359927044146103cc5780636bc87c3a146103ea57806370a0823114610408576101ee565b806339509351146103025780633979e9ca1461033257806349bd5a5e146103625780634e6ec24714610380576101ee565b806322429085116101c1578063224290851461027c57806323b872dd1461029857806328141d5b146102c8578063313ce567146102e4576101ee565b806306fdde03146101f2578063095ea7b3146102105780631694505e1461024057806318160ddd1461025e575b5f80fd5b6101fa610642565b60405161020791906128ed565b60405180910390f35b61022a600480360381019061022591906129a2565b6106d2565b60405161023791906129fa565b60405180910390f35b6102486106ef565b6040516102559190612a6e565b60405180910390f35b610266610714565b6040516102739190612a96565b60405180910390f35b61029660048036038101906102919190612aaf565b61071d565b005b6102b260048036038101906102ad9190612aff565b61088f565b6040516102bf91906129fa565b60405180910390f35b6102e260048036038101906102dd9190612b4f565b610b23565b005b6102ec610c65565b6040516102f99190612b95565b60405180910390f35b61031c600480360381019061031791906129a2565b610c7a565b60405161032991906129fa565b60405180910390f35b61034c60048036038101906103479190612bae565b610d21565b60405161035991906129fa565b60405180910390f35b61036a610d73565b6040516103779190612be8565b60405180910390f35b61039a600480360381019061039591906129a2565b610d98565b005b6103b660048036038101906103b19190612bae565b610ffc565b6040516103c391906129fa565b60405180910390f35b6103d461104e565b6040516103e19190612be8565b60405180910390f35b6103f2611066565b6040516103ff9190612a96565b60405180910390f35b610422600480360381019061041d9190612bae565b61106c565b60405161042f9190612a96565b60405180910390f35b6104406110b2565b005b61044a611200565b6040516104579190612a96565b60405180910390f35b610468611206565b6040516104759190612be8565b60405180910390f35b61048661122d565b60405161049391906128ed565b60405180910390f35b6104b660048036038101906104b19190612b4f565b6112bd565b005b6104c06114b7565b6040516104cd9190612a96565b60405180910390f35b6104f060048036038101906104eb91906129a2565b6114bd565b6040516104fd91906129fa565b60405180910390f35b610520600480360381019061051b91906129a2565b6115ac565b60405161052d91906129fa565b60405180910390f35b610550600480360381019061054b9190612cb7565b6115c9565b005b61055a61176e565b6040516105679190612a96565b60405180910390f35b610578611774565b6040516105859190612a96565b60405180910390f35b6105a860048036038101906105a39190612d5f565b61177a565b005b6105c460048036038101906105bf9190612d5f565b6118d4565b005b6105e060048036038101906105db9190612d9d565b611a2e565b6040516105ed9190612a96565b60405180910390f35b610610600480360381019061060b9190612bae565b611ab0565b60405161061d91906129fa565b60405180910390f35b610640600480360381019061063b9190612bae565b611acd565b005b6060600a805461065190612e08565b80601f016020809104026020016040519081016040528092919081815260200182805461067d90612e08565b80156106c85780601f1061069f576101008083540402835291602001916106c8565b820191905f5260205f20905b8154815290600101906020018083116106ab57829003601f168201915b5050505050905090565b5f6106e56106de611c8a565b8484611c91565b6001905092915050565b60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f600954905090565b610725611c8a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a890612e82565b60405180910390fd5b6109c46107d9826107cb8587611e5490919063ffffffff16565b611e5490919063ffffffff16565b111561081a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081190612f10565b60405180910390fd5b82600d8190555081600f8190555080600e819055507faa4b71ac29531fdea0ef1650c76ef91e3771dac25f4a4dd2a561ff3e0b9a5de2610875826108678587611e5490919063ffffffff16565b611e5490919063ffffffff16565b6040516108829190612a96565b60405180910390a1505050565b5f8073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415806108f757503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b6108ff575f80fd5b3373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614610b0d575f60045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610b0b5782811015610a18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0f90612f78565b60405180910390fd5b5f8382610a259190612fc3565b90508060045f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503373ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610b019190612a96565b60405180910390a3505b505b610b18848484611eb1565b600190509392505050565b610b2b611c8a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bb7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bae90612e82565b60405180910390fd5b6001811015610bfb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf290613066565b60405180910390fd5b610c236064610c158360095461269290919063ffffffff16565b61270990919063ffffffff16565b6012819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf601254604051610c5a9190612a96565b60405180910390a150565b5f600c5f9054906101000a900460ff16905090565b5f610d17610c86611c8a565b848460045f610c93611c8a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610d129190613084565b611c91565b6001905092915050565b5f60065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610da0611c8a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2390612e82565b60405180910390fd5b5f600c5f9054906101000a900460ff16600a610e4891906131e6565b82610e539190613230565b9050600854610e6d82600954611e5490919063ffffffff16565b1115610eae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea5906132e1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1390613349565b60405180910390fd5b610f275f8483612752565b8060095f828254610f389190613084565b925050819055508060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610f8b9190613084565b925050819055508273ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610fef9190612a96565b60405180910390a3505050565b5f60055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b738af7ffcdd583601a1dc28a12b0327c6d11194f0381565b600d5481565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6110ba611c8a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611146576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113d90612e82565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60125481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600b805461123c90612e08565b80601f016020809104026020016040519081016040528092919081815260200182805461126890612e08565b80156112b35780601f1061128a576101008083540402835291602001916112b3565b820191905f5260205f20905b81548152906001019060200180831161129657829003601f168201915b5050505050905090565b5f600c5f9054906101000a900460ff16600a6112d991906131e6565b826112e49190613230565b90505f3390505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611358576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134f906133b1565b60405180910390fd5b611363815f84612752565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050828110156113e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113de9061343f565b60405180910390fd5b82816113f39190612fc3565b60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508260095f8282546114459190612fc3565b925050819055505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516114a99190612a96565b60405180910390a350505050565b600e5481565b5f8060045f6114ca611c8a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015611584576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157b906134cd565b60405180910390fd5b6115a161158f611c8a565b85858461159c9190612fc3565b611c91565b600191505092915050565b5f6115bf6115b8611c8a565b8484611eb1565b6001905092915050565b6115d1611c8a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461165d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165490612e82565b60405180910390fd5b8181905084849050146116a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169c9061355b565b60405180910390fd5b5f5b84849050811015611767578282828181106116c5576116c4613579565b5b90506020020160208101906116da91906135a6565b60075f8787858181106116f0576116ef613579565b5b90506020020160208101906117059190612bae565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550808061175f906135d1565b9150506116a7565b5050505050565b60085481565b600f5481565b611782611c8a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461180e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161180590612e82565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361187c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187390613688565b60405180910390fd5b8060055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b6118dc611c8a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611968576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195f90612e82565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036119d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119cd90613688565b60405180910390fd5b8060065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6007602052805f5260405f205f915054906101000a900460ff1681565b611ad5611c8a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611b61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5890612e82565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611bcf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bc690613716565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611cff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cf6906137a4565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611d6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d6490613832565b60405180910390fd5b8060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611e479190612a96565b60405180910390a3505050565b5f808284611e629190613084565b905083811015611ea7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e9e9061389a565b60405180910390fd5b8091505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611f1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f1690613928565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611f8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f84906139b6565b60405180910390fd5b5f151560075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615151461201c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161201390613a44565b60405180910390fd5b5f151560075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161515146120ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120a290613ad2565b60405180910390fd5b5f805f60065f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680612149575060065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b156122c85760055f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16806121e9575060055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b156121fc575f92505f91505f90506122c3565b601254841115612241576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161223890613b60565b60405180910390fd5b61226a61271061225c600e548761269290919063ffffffff16565b61270990919063ffffffff16565b9250612295612710612287600d548761269290919063ffffffff16565b61270990919063ffffffff16565b91506122c06127106122b2600f548761269290919063ffffffff16565b61270990919063ffffffff16565b90505b6122d2565b5f92505f91505f90505b5f60035f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905084811015612356576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161234d90613bee565b60405180910390fd5b84816123629190612fc3565b60035f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508360035f738af7ffcdd583601a1dc28a12b0327c6d11194f0373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546124039190613084565b925050819055508260035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546124569190613084565b925050819055505f8211156124e3578160095f8282546124769190612fc3565b925050819055505f73ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516124da9190612a96565b60405180910390a35b61251a8261250c856124fe888a61275790919063ffffffff16565b61275790919063ffffffff16565b61275790919063ffffffff16565b60035f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546125659190613084565b925050819055505f8411156125ee57738af7ffcdd583601a1dc28a12b0327c6d11194f0373ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040516125e59190612a96565b60405180910390a35b8573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61267485612666886126588b8d61275790919063ffffffff16565b61275790919063ffffffff16565b61275790919063ffffffff16565b6040516126819190612a96565b60405180910390a350505050505050565b5f8083036126a2575f9050612703565b5f82846126af9190613230565b90508284826126be9190613c39565b146126fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126f590613cd9565b60405180910390fd5b809150505b92915050565b5f61274a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506127a0565b905092915050565b505050565b5f61279883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612801565b905092915050565b5f80831182906127e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127dd91906128ed565b60405180910390fd5b505f83856127f49190613c39565b9050809150509392505050565b5f838311158290612848576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161283f91906128ed565b60405180910390fd5b505f83856128569190612fc3565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561289a57808201518184015260208101905061287f565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6128bf82612863565b6128c9818561286d565b93506128d981856020860161287d565b6128e2816128a5565b840191505092915050565b5f6020820190508181035f83015261290581846128b5565b905092915050565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61293e82612915565b9050919050565b61294e81612934565b8114612958575f80fd5b50565b5f8135905061296981612945565b92915050565b5f819050919050565b6129818161296f565b811461298b575f80fd5b50565b5f8135905061299c81612978565b92915050565b5f80604083850312156129b8576129b761290d565b5b5f6129c58582860161295b565b92505060206129d68582860161298e565b9150509250929050565b5f8115159050919050565b6129f4816129e0565b82525050565b5f602082019050612a0d5f8301846129eb565b92915050565b5f819050919050565b5f612a36612a31612a2c84612915565b612a13565b612915565b9050919050565b5f612a4782612a1c565b9050919050565b5f612a5882612a3d565b9050919050565b612a6881612a4e565b82525050565b5f602082019050612a815f830184612a5f565b92915050565b612a908161296f565b82525050565b5f602082019050612aa95f830184612a87565b92915050565b5f805f60608486031215612ac657612ac561290d565b5b5f612ad38682870161298e565b9350506020612ae48682870161298e565b9250506040612af58682870161298e565b9150509250925092565b5f805f60608486031215612b1657612b1561290d565b5b5f612b238682870161295b565b9350506020612b348682870161295b565b9250506040612b458682870161298e565b9150509250925092565b5f60208284031215612b6457612b6361290d565b5b5f612b718482850161298e565b91505092915050565b5f60ff82169050919050565b612b8f81612b7a565b82525050565b5f602082019050612ba85f830184612b86565b92915050565b5f60208284031215612bc357612bc261290d565b5b5f612bd08482850161295b565b91505092915050565b612be281612934565b82525050565b5f602082019050612bfb5f830184612bd9565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f840112612c2257612c21612c01565b5b8235905067ffffffffffffffff811115612c3f57612c3e612c05565b5b602083019150836020820283011115612c5b57612c5a612c09565b5b9250929050565b5f8083601f840112612c7757612c76612c01565b5b8235905067ffffffffffffffff811115612c9457612c93612c05565b5b602083019150836020820283011115612cb057612caf612c09565b5b9250929050565b5f805f8060408587031215612ccf57612cce61290d565b5b5f85013567ffffffffffffffff811115612cec57612ceb612911565b5b612cf887828801612c0d565b9450945050602085013567ffffffffffffffff811115612d1b57612d1a612911565b5b612d2787828801612c62565b925092505092959194509250565b612d3e816129e0565b8114612d48575f80fd5b50565b5f81359050612d5981612d35565b92915050565b5f8060408385031215612d7557612d7461290d565b5b5f612d828582860161295b565b9250506020612d9385828601612d4b565b9150509250929050565b5f8060408385031215612db357612db261290d565b5b5f612dc08582860161295b565b9250506020612dd18582860161295b565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680612e1f57607f821691505b602082108103612e3257612e31612ddb565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612e6c60208361286d565b9150612e7782612e38565b602082019050919050565b5f6020820190508181035f830152612e9981612e60565b9050919050565b7f45787a6f3a20596f752063616e6e6f74742073657420666565206d6f726520745f8201527f68616e2032352500000000000000000000000000000000000000000000000000602082015250565b5f612efa60278361286d565b9150612f0582612ea0565b604082019050919050565b5f6020820190508181035f830152612f2781612eee565b9050919050565b7f45787a6f3a2072657175657374206578636565647320616c6c6f77616e6365005f82015250565b5f612f62601f8361286d565b9150612f6d82612f2e565b602082019050919050565b5f6020820190508181035f830152612f8f81612f56565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612fcd8261296f565b9150612fd88361296f565b9250828203905081811115612ff057612fef612f96565b5b92915050565b7f45787a6f3a2050657263656e746167652073686f756c642062652067726561745f8201527f6572206f7220657175616c20746f203121000000000000000000000000000000602082015250565b5f61305060318361286d565b915061305b82612ff6565b604082019050919050565b5f6020820190508181035f83015261307d81613044565b9050919050565b5f61308e8261296f565b91506130998361296f565b92508282019050808211156130b1576130b0612f96565b5b92915050565b5f8160011c9050919050565b5f808291508390505b600185111561310c578086048111156130e8576130e7612f96565b5b60018516156130f75780820291505b8081029050613105856130b7565b94506130cc565b94509492505050565b5f8261312457600190506131df565b81613131575f90506131df565b8160018114613147576002811461315157613180565b60019150506131df565b60ff84111561316357613162612f96565b5b8360020a91508482111561317a57613179612f96565b5b506131df565b5060208310610133831016604e8410600b84101617156131b55782820a9050838111156131b0576131af612f96565b5b6131df565b6131c284848460016130c3565b925090508184048111156131d9576131d8612f96565b5b81810290505b9392505050565b5f6131f08261296f565b91506131fb83612b7a565b92506132287fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613115565b905092915050565b5f61323a8261296f565b91506132458361296f565b92508282026132538161296f565b9150828204841483151761326a57613269612f96565b5b5092915050565b7f45787a6f3a20596f752063616e2774206d696e74206d6f7265207468616e204d5f8201527f6178537570706c79000000000000000000000000000000000000000000000000602082015250565b5f6132cb60288361286d565b91506132d682613271565b604082019050919050565b5f6020820190508181035f8301526132f8816132bf565b9050919050565b7f45787a6f3a206d696e7420746f20746865207a65726f206164647265737300005f82015250565b5f613333601e8361286d565b915061333e826132ff565b602082019050919050565b5f6020820190508181035f83015261336081613327565b9050919050565b7f45787a6f3a206275726e2066726f6d20746865207a65726f20616464726573735f82015250565b5f61339b60208361286d565b91506133a682613367565b602082019050919050565b5f6020820190508181035f8301526133c88161338f565b9050919050565b7f45787a6f3a206275726e20616d6f756e7420657863656564732062616c616e635f8201527f6500000000000000000000000000000000000000000000000000000000000000602082015250565b5f61342960218361286d565b9150613434826133cf565b604082019050919050565b5f6020820190508181035f8301526134568161341d565b9050919050565b7f45787a6f3a2044656372656173656420616c6c6f77616e63652062656c6f77205f8201527f7a65726f00000000000000000000000000000000000000000000000000000000602082015250565b5f6134b760248361286d565b91506134c28261345d565b604082019050919050565b5f6020820190508181035f8301526134e4816134ab565b9050919050565b7f45787a6f3a20417272617973206d757374206265207468652073616d65206c655f8201527f6e67746800000000000000000000000000000000000000000000000000000000602082015250565b5f61354560248361286d565b9150613550826134eb565b604082019050919050565b5f6020820190508181035f83015261357281613539565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f602082840312156135bb576135ba61290d565b5b5f6135c884828501612d4b565b91505092915050565b5f6135db8261296f565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361360d5761360c612f96565b5b600182019050919050565b7f45787a6f3a20596f752063616e2774206578636c756465207a65726f206164645f8201527f7265737321000000000000000000000000000000000000000000000000000000602082015250565b5f61367260258361286d565b915061367d82613618565b604082019050919050565b5f6020820190508181035f83015261369f81613666565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f61370060268361286d565b915061370b826136a6565b604082019050919050565b5f6020820190508181035f83015261372d816136f4565b9050919050565b7f45787a6f3a20617070726f76652066726f6d20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61378e60238361286d565b915061379982613734565b604082019050919050565b5f6020820190508181035f8301526137bb81613782565b9050919050565b7f45787a6f3a20617070726f766520746f20746865207a65726f206164647265735f8201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b5f61381c60218361286d565b9150613827826137c2565b604082019050919050565b5f6020820190508181035f83015261384981613810565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613884601b8361286d565b915061388f82613850565b602082019050919050565b5f6020820190508181035f8301526138b181613878565b9050919050565b7f45787a6f3a205472616e736665722066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61391260248361286d565b915061391d826138b8565b604082019050919050565b5f6020820190508181035f83015261393f81613906565b9050919050565b7f45787a6f3a205472616e7366657220746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6139a060228361286d565b91506139ab82613946565b604082019050919050565b5f6020820190508181035f8301526139cd81613994565b9050919050565b7f45787a6f3a2043616e6e6f74207472616e7366657220746f6b656e732066726f5f8201527f6d20746869732061646472657373000000000000000000000000000000000000602082015250565b5f613a2e602e8361286d565b9150613a39826139d4565b604082019050919050565b5f6020820190508181035f830152613a5b81613a22565b9050919050565b7f45787a6f3a2043616e6e6f74207472616e7366657220746f6b656e7320746f205f8201527f7468697320616464726573730000000000000000000000000000000000000000602082015250565b5f613abc602c8361286d565b9150613ac782613a62565b604082019050919050565b5f6020820190508181035f830152613ae981613ab0565b9050919050565b7f45787a6f3a205472616e73616374696f6e206c696d69742045786365656465645f8201527f2100000000000000000000000000000000000000000000000000000000000000602082015250565b5f613b4a60218361286d565b9150613b5582613af0565b604082019050919050565b5f6020820190508181035f830152613b7781613b3e565b9050919050565b7f45787a6f3a205472616e7366657220616d6f756e7420657863656564732062615f8201527f6c616e6365000000000000000000000000000000000000000000000000000000602082015250565b5f613bd860258361286d565b9150613be382613b7e565b604082019050919050565b5f6020820190508181035f830152613c0581613bcc565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613c438261296f565b9150613c4e8361296f565b925082613c5e57613c5d613c0c565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f613cc360218361286d565b9150613cce82613c69565b604082019050919050565b5f6020820190508181035f830152613cf081613cb7565b905091905056fea26469706673582212200fdd8d724bbd109fb394c08357f02231ed7536ea977f90d0a9f73870b43d69ce64736f6c63430008150033
Loading...
Loading
Loading...
Loading
OVERVIEW
Exzo Network targets Web3 evolution with a high-end Layer-1 blockchain. Prioritizing affordable transactions, scalability, and developer ease, we integrate via EVM & SVM.Multichain Portfolio | 35 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.