Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
100,000,000 CONAN
Holders
18
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
CONAN
Compiler Version
v0.8.19+commit.7dd6d404
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
/* Trump is known for hating dogs and he’s the first president in American history who has never had a dog. But there is one dog he loved , praised and appreciated in his existence. The dog is called Conan. As he calls him “The tough Cookie” who helped in Baghdad. Telegram: https://t.me/ConaninuERC Website: https://www.conaninu.com/ Twitter: ttps://twitter.com/ConanInuETH */ // OpenZeppelin Contracts v4.4.1 (utils/Context.sol) // SPDX-License-Identifier: Unlicensed pragma solidity ^0.8.0; /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } // OpenZeppelin Contracts (last updated v4.7.0) (access/Ownable.sol) pragma solidity ^0.8.0; /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _transferOwnership(_msgSender()); } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { _checkOwner(); _; } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if the sender is not the owner. */ function _checkOwner() internal view virtual { require(owner() == _msgSender(), "Ownable: caller is not the owner"); } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } // OpenZeppelin Contracts (last updated v4.6.0) (token/ERC20/IERC20.sol) pragma solidity ^0.8.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); /** * @dev Returns the amount of tokens 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 `to`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address to, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `from` to `to` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom( address from, address to, uint256 amount ) external returns (bool); } pragma solidity ^0.8.19; interface IUniswapV2Router02 { function factory() external pure returns (address); function WETH() external pure returns (address); function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address UNISWAP_V2_PAIR); } contract CONAN is IERC20, Ownable { event Reflect(uint256 amountReflected, uint256 newTotalProportion); event SetAutomatedMarketMakerPair(address indexed pair, bool indexed value); address constant DEAD = 0x000000000000000000000000000000000000dEaD; address constant ZERO = 0x0000000000000000000000000000000000000000; uint256 constant MAX_FEE = 10; IUniswapV2Router02 public constant UNISWAP_V2_ROUTER = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); address public immutable UNISWAP_V2_PAIR; mapping(address => bool) public automatedMarketMakerPairs; struct Fee { uint8 reflection; uint8 marketing; uint8 lp; uint8 buyback; uint8 burn; uint128 total; } string _name = "Conan Inu"; string _symbol = "CONAN"; uint256 _totalSupply = 100_000_000 ether; uint256 public _maxTxAmount = _totalSupply * 3 / 100; uint256 public _maxWalletAmount = _totalSupply * 3 / 100; /* rOwned = ratio of tokens owned relative to circulating supply (NOT total supply, since circulating <= total) */ mapping(address => uint256) public _rOwned; uint256 public _totalProportion = _totalSupply; mapping(address => mapping(address => uint256)) _allowances; bool public tradingActive = false; bool public transferDelayEnabled = false; bool public limitsEnabled = true; mapping(address => bool) isFeeExempt; mapping(address => bool) isLimitExempt; Fee public buyFee = Fee({reflection: 0, marketing: 25, lp: 0, buyback: 0, burn: 0, total: 25}); Fee public sellFee = Fee({reflection: 0, marketing: 30, lp: 0, buyback: 0, burn: 0, total: 30}); address private marketingFeeReceiver; address private lpFeeReceiver; address private buybackFeeReceiver; bool public claimingFees = false; uint256 public swapThreshold = (_totalSupply * 5) / 1000; bool inSwap; mapping(address => bool) public blacklists; mapping(address => uint256) private _holderLastTransferTimestamp; modifier swapping() { inSwap = true; _; inSwap = false; } constructor() { // create uniswap pair address _uniswapPair = IUniswapV2Factory(UNISWAP_V2_ROUTER.factory()).createPair(address(this), UNISWAP_V2_ROUTER.WETH()); UNISWAP_V2_PAIR = _uniswapPair; _setAutomatedMarketMakerPair(address(_uniswapPair), true); _allowances[address(this)][address(UNISWAP_V2_ROUTER)] = type(uint256).max; _allowances[address(this)][owner()] = type(uint256).max; isLimitExempt[address(this)] = true; isLimitExempt[DEAD] = true; isLimitExempt[owner()] = true; isLimitExempt[UNISWAP_V2_PAIR] = true; isFeeExempt[address(this)] = true; isFeeExempt[DEAD] = true; isFeeExempt[owner()] = true; marketingFeeReceiver = 0xcbf958d0698df87C587A8A022A7d0386DF21b447; lpFeeReceiver = 0xcbf958d0698df87C587A8A022A7d0386DF21b447; buybackFeeReceiver = 0xcbf958d0698df87C587A8A022A7d0386DF21b447; _rOwned[tx.origin] = _totalSupply; emit Transfer(address(0), tx.origin, _totalSupply); } receive() external payable {} function approve(address spender, uint256 amount) public override returns (bool) { _allowances[msg.sender][spender] = amount; emit Approval(msg.sender, spender, amount); return true; } function approveMax(address spender) external returns (bool) { return approve(spender, type(uint256).max); } function transfer(address recipient, uint256 amount) external override returns (bool) { return _transferFrom(msg.sender, recipient, amount); } function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) { if (_allowances[sender][msg.sender] != type(uint256).max) { require(_allowances[sender][msg.sender] >= amount, "ERC20: insufficient allowance"); _allowances[sender][msg.sender] = _allowances[sender][msg.sender] - amount; } return _transferFrom(sender, recipient, amount); } function totalSupply() external view override returns (uint256) { return _totalSupply; } function decimals() external pure returns (uint8) { return 18; } function name() external view returns (string memory) { return _name; } function symbol() external view returns (string memory) { return _symbol; } function balanceOf(address account) public view override returns (uint256) { return tokenFromReflection(_rOwned[account]); } function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; } function tokensToProportion(uint256 tokens) public view returns (uint256) { return tokens * _totalProportion / _totalSupply; } function tokenFromReflection(uint256 proportion) public view returns (uint256) { return proportion * _totalSupply / _totalProportion; } function getCirculatingSupply() public view returns (uint256) { return _totalSupply - balanceOf(DEAD) - balanceOf(ZERO); } function enableTrading() external onlyOwner { tradingActive = true; claimingFees = true; } function setAutomatedMarketMakerPair(address pair, bool value) public onlyOwner { require( pair != UNISWAP_V2_PAIR, "The pair cannot be removed from automatedMarketMakerPairs" ); _setAutomatedMarketMakerPair(pair, value); } function _setAutomatedMarketMakerPair(address pair, bool value) private { automatedMarketMakerPairs[pair] = value; emit SetAutomatedMarketMakerPair(pair, value); } function updateMaxTxnAmount(uint256 newNum) external onlyOwner { require( newNum >= ((_totalSupply * 1) / 1000) / 1e18, "Cannot set maxTransactionAmount lower than 0.1%" ); _maxTxAmount = newNum * (10**18); } function updateMaxWalletAmount(uint256 newNum) external onlyOwner { require( newNum >= ((_totalSupply * 5) / 1000) / 1e18, "Cannot set maxWallet lower than 0.5%" ); _maxWalletAmount = newNum * (10**18); } function clearStuckBalance() external onlyOwner { (bool success,) = payable(msg.sender).call{value: address(this).balance}(""); require(success); } function clearStuckToken() external onlyOwner { _transferFrom(address(this), msg.sender, balanceOf(address(this))); } function setSwapBackSettings(bool _enabled, uint256 _amount) external onlyOwner { claimingFees = _enabled; swapThreshold = _amount; } function changeFees( uint8 reflectionFeeBuy, uint8 marketingFeeBuy, uint8 lpFeeBuy, uint8 buybackFeeBuy, uint8 burnFeeBuy, uint8 reflectionFeeSell, uint8 marketingFeeSell, uint8 lpFeeSell, uint8 buybackFeeSell, uint8 burnFeeSell ) external onlyOwner { uint128 __totalBuyFee = reflectionFeeBuy + marketingFeeBuy + lpFeeBuy + buybackFeeBuy + burnFeeBuy; uint128 __totalSellFee = reflectionFeeSell + marketingFeeSell + lpFeeSell + buybackFeeSell + burnFeeSell; buyFee = Fee({ reflection: reflectionFeeBuy, marketing: marketingFeeBuy, lp: lpFeeBuy, buyback: buybackFeeBuy, burn: burnFeeBuy, total: __totalBuyFee }); sellFee = Fee({ reflection: reflectionFeeSell, marketing: marketingFeeSell, lp: lpFeeSell, buyback: buybackFeeSell, burn: burnFeeSell, total: __totalSellFee }); } function setIsFeeExempt(address holder, bool exempt) external onlyOwner { isFeeExempt[holder] = exempt; } function setisLimitExempt(address holder, bool exempt) external onlyOwner { isLimitExempt[holder] = exempt; } function setFeeReceivers(address m_, address lp_, address b_) external onlyOwner { marketingFeeReceiver = m_; lpFeeReceiver = lp_; buybackFeeReceiver = b_; } function setLimitsEnabled(bool e_) external onlyOwner { limitsEnabled = e_; } // Set Transfer delay function disableTransferDelay(bool e_) external onlyOwner returns (bool) { transferDelayEnabled = e_; return true; } function blacklist(address _address, bool _isBlacklisting) external onlyOwner { blacklists[_address] = _isBlacklisting; } function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) { require(!blacklists[recipient] && !blacklists[sender], "Blacklisted"); if (inSwap) { return _basicTransfer(sender, recipient, amount); } if (limitsEnabled) { if (!tradingActive) { require( isFeeExempt[sender] || isFeeExempt[recipient], "Trading is not active." ); } //when buy if (automatedMarketMakerPairs[sender] && !isLimitExempt[recipient]) { require(amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount."); require(amount + balanceOf(recipient) <= _maxWalletAmount, "Max wallet exceeded"); } //when sell else if (automatedMarketMakerPairs[recipient] && !isLimitExempt[sender]) { require(amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount."); } else if (!isLimitExempt[recipient]) { require(amount + balanceOf(recipient) <= _maxWalletAmount, "Max wallet exceeded"); } // at launch if the transfer delay is enabled, ensure the block timestamps for purchasers is set -- during launch. if (transferDelayEnabled) { if ( recipient != owner() && recipient != address(UNISWAP_V2_ROUTER) && recipient != UNISWAP_V2_PAIR ) { require( _holderLastTransferTimestamp[tx.origin] + 1 < block.number, "_transfer:: Transfer Delay enabled. Only one purchase per two blocks allowed." ); _holderLastTransferTimestamp[tx.origin] = block.number; } } } if (_shouldSwapBack()) { _swapBack(); } uint256 proportionAmount = tokensToProportion(amount); require(_rOwned[sender] >= proportionAmount, "Insufficient Balance"); _rOwned[sender] = _rOwned[sender] - proportionAmount; uint256 proportionReceived = _shouldTakeFee(sender, recipient) ? _takeFeeInProportions(sender == UNISWAP_V2_PAIR ? true : false, sender, proportionAmount) : proportionAmount; _rOwned[recipient] = _rOwned[recipient] + proportionReceived; emit Transfer(sender, recipient, tokenFromReflection(proportionReceived)); return true; } function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) { uint256 proportionAmount = tokensToProportion(amount); require(_rOwned[sender] >= proportionAmount, "Insufficient Balance"); _rOwned[sender] = _rOwned[sender] - proportionAmount; _rOwned[recipient] = _rOwned[recipient] + proportionAmount; emit Transfer(sender, recipient, amount); return true; } function _takeFeeInProportions(bool buying, address sender, uint256 proportionAmount) internal returns (uint256) { Fee memory __buyFee = buyFee; Fee memory __sellFee = sellFee; uint256 proportionFeeAmount = buying == true ? proportionAmount * __buyFee.total / 100 : proportionAmount * __sellFee.total / 100; // reflect uint256 proportionReflected = buying == true ? proportionFeeAmount * __buyFee.reflection / __buyFee.total : proportionFeeAmount * __sellFee.reflection / __sellFee.total; _totalProportion = _totalProportion - proportionReflected; // take fees uint256 _proportionToContract = proportionFeeAmount - proportionReflected; if (_proportionToContract > 0) { _rOwned[address(this)] = _rOwned[address(this)] + _proportionToContract; emit Transfer(sender, address(this), tokenFromReflection(_proportionToContract)); } emit Reflect(proportionReflected, _totalProportion); return proportionAmount - proportionFeeAmount; } function _shouldSwapBack() internal view returns (bool) { return msg.sender != UNISWAP_V2_PAIR && !inSwap && claimingFees && balanceOf(address(this)) >= swapThreshold; } function _swapBack() internal swapping { Fee memory __sellFee = sellFee; uint256 __swapThreshold = swapThreshold; uint256 amountToBurn = __swapThreshold * __sellFee.burn / __sellFee.total; uint256 amountToSwap = __swapThreshold - amountToBurn; approve(address(UNISWAP_V2_ROUTER), amountToSwap); if(amountToBurn > 0) { // burn _transferFrom(address(this), DEAD, amountToBurn); } // swap address[] memory path = new address[](2); path[0] = address(this); path[1] = UNISWAP_V2_ROUTER.WETH(); UNISWAP_V2_ROUTER.swapExactTokensForETHSupportingFeeOnTransferTokens( amountToSwap, 0, path, address(this), block.timestamp ); uint256 amountETH = address(this).balance; uint256 totalSwapFee = __sellFee.total - __sellFee.reflection - __sellFee.burn; //uint256 amountETHMarketing = amountETH * __sellFee.marketing / totalSwapFee; uint256 amountETHLP = amountETH * __sellFee.lp / totalSwapFee; uint256 amountETHBuyback = amountETH * __sellFee.buyback / totalSwapFee; // send (bool tmpSuccess,) = payable(lpFeeReceiver).call{value: amountETHLP}(""); (tmpSuccess,) = payable(buybackFeeReceiver).call{value: amountETHBuyback}(""); (tmpSuccess,) = address(marketingFeeReceiver).call{value: address(this).balance}(""); } function _shouldTakeFee(address sender, address recipient) internal view returns (bool) { return !isFeeExempt[sender] && !isFeeExempt[recipient]; } }
{ "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
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountReflected","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newTotalProportion","type":"uint256"}],"name":"Reflect","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"pair","type":"address"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"SetAutomatedMarketMakerPair","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"UNISWAP_V2_PAIR","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UNISWAP_V2_ROUTER","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_rOwned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalProportion","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"automatedMarketMakerPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_isBlacklisting","type":"bool"}],"name":"blacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"blacklists","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyFee","outputs":[{"internalType":"uint8","name":"reflection","type":"uint8"},{"internalType":"uint8","name":"marketing","type":"uint8"},{"internalType":"uint8","name":"lp","type":"uint8"},{"internalType":"uint8","name":"buyback","type":"uint8"},{"internalType":"uint8","name":"burn","type":"uint8"},{"internalType":"uint128","name":"total","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"reflectionFeeBuy","type":"uint8"},{"internalType":"uint8","name":"marketingFeeBuy","type":"uint8"},{"internalType":"uint8","name":"lpFeeBuy","type":"uint8"},{"internalType":"uint8","name":"buybackFeeBuy","type":"uint8"},{"internalType":"uint8","name":"burnFeeBuy","type":"uint8"},{"internalType":"uint8","name":"reflectionFeeSell","type":"uint8"},{"internalType":"uint8","name":"marketingFeeSell","type":"uint8"},{"internalType":"uint8","name":"lpFeeSell","type":"uint8"},{"internalType":"uint8","name":"buybackFeeSell","type":"uint8"},{"internalType":"uint8","name":"burnFeeSell","type":"uint8"}],"name":"changeFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimingFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clearStuckToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"e_","type":"bool"}],"name":"disableTransferDelay","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"limitsEnabled","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":[],"name":"sellFee","outputs":[{"internalType":"uint8","name":"reflection","type":"uint8"},{"internalType":"uint8","name":"marketing","type":"uint8"},{"internalType":"uint8","name":"lp","type":"uint8"},{"internalType":"uint8","name":"buyback","type":"uint8"},{"internalType":"uint8","name":"burn","type":"uint8"},{"internalType":"uint128","name":"total","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAutomatedMarketMakerPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"m_","type":"address"},{"internalType":"address","name":"lp_","type":"address"},{"internalType":"address","name":"b_","type":"address"}],"name":"setFeeReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"e_","type":"bool"}],"name":"setLimitsEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setisLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proportion","type":"uint256"}],"name":"tokenFromReflection","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"tokensToProportion","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newNum","type":"uint256"}],"name":"updateMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newNum","type":"uint256"}],"name":"updateMaxWalletAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60a06040526040518060400160405280600981526020017f436f6e616e20496e750000000000000000000000000000000000000000000000815250600290816200004a919062000faf565b506040518060400160405280600581526020017f434f4e414e0000000000000000000000000000000000000000000000000000008152506003908162000091919062000faf565b506a52b7d2dcc80cd2e400000060045560646003600454620000b49190620010c5565b620000c091906200113f565b60055560646003600454620000d69190620010c5565b620000e291906200113f565b6006556004546008556000600a60006101000a81548160ff0219169083151502179055506000600a60016101000a81548160ff0219169083151502179055506001600a60026101000a81548160ff0219169083151502179055506040518060c00160405280600060ff168152602001601960ff168152602001600060ff168152602001600060ff168152602001600060ff16815260200160196fffffffffffffffffffffffffffffffff16815250600d60008201518160000160006101000a81548160ff021916908360ff16021790555060208201518160000160016101000a81548160ff021916908360ff16021790555060408201518160000160026101000a81548160ff021916908360ff16021790555060608201518160000160036101000a81548160ff021916908360ff16021790555060808201518160000160046101000a81548160ff021916908360ff16021790555060a08201518160000160056101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555050506040518060c00160405280600060ff168152602001601e60ff168152602001600060ff168152602001600060ff168152602001600060ff168152602001601e6fffffffffffffffffffffffffffffffff16815250600e60008201518160000160006101000a81548160ff021916908360ff16021790555060208201518160000160016101000a81548160ff021916908360ff16021790555060408201518160000160026101000a81548160ff021916908360ff16021790555060608201518160000160036101000a81548160ff021916908360ff16021790555060808201518160000160046101000a81548160ff021916908360ff16021790555060a08201518160000160056101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555050506000601160146101000a81548160ff0219169083151502179055506103e86005600454620003e39190620010c5565b620003ef91906200113f565b601255348015620003ff57600080fd5b50620004206200041462000b9f60201b60201c565b62000ba760201b60201c565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000482573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004a89190620011e1565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000524573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200054a9190620011e1565b6040518363ffffffff1660e01b81526004016200056992919062001224565b6020604051808303816000875af115801562000589573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005af9190620011e1565b90508073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1681525050620005f881600162000c6b60201b60201c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006200071f62000d0c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600c60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600c600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600c60006200082562000d0c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600c600060805173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600b60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600b600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600b60006200099862000d0c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555073cbf958d0698df87c587a8a022a7d0386df21b447600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073cbf958d0698df87c587a8a022a7d0386df21b447601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073cbf958d0698df87c587a8a022a7d0386df21b447601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600454600760003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60045460405162000b90919062001262565b60405180910390a3506200127f565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b80600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000db757607f821691505b60208210810362000dcd5762000dcc62000d6f565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000e377fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000df8565b62000e43868362000df8565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000e9062000e8a62000e848462000e5b565b62000e65565b62000e5b565b9050919050565b6000819050919050565b62000eac8362000e6f565b62000ec462000ebb8262000e97565b84845462000e05565b825550505050565b600090565b62000edb62000ecc565b62000ee881848462000ea1565b505050565b5b8181101562000f105762000f0460008262000ed1565b60018101905062000eee565b5050565b601f82111562000f5f5762000f298162000dd3565b62000f348462000de8565b8101602085101562000f44578190505b62000f5c62000f538562000de8565b83018262000eed565b50505b505050565b600082821c905092915050565b600062000f846000198460080262000f64565b1980831691505092915050565b600062000f9f838362000f71565b9150826002028217905092915050565b62000fba8262000d35565b67ffffffffffffffff81111562000fd65762000fd562000d40565b5b62000fe2825462000d9e565b62000fef82828562000f14565b600060209050601f83116001811462001027576000841562001012578287015190505b6200101e858262000f91565b8655506200108e565b601f198416620010378662000dd3565b60005b8281101562001061578489015182556001820191506020850194506020810190506200103a565b868310156200108157848901516200107d601f89168262000f71565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620010d28262000e5b565b9150620010df8362000e5b565b9250828202620010ef8162000e5b565b9150828204841483151762001109576200110862001096565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006200114c8262000e5b565b9150620011598362000e5b565b9250826200116c576200116b62001110565b5b828204905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620011a9826200117c565b9050919050565b620011bb816200119c565b8114620011c757600080fd5b50565b600081519050620011db81620011b0565b92915050565b600060208284031215620011fa57620011f962001177565b5b60006200120a84828501620011ca565b91505092915050565b6200121e816200119c565b82525050565b60006040820190506200123b600083018562001213565b6200124a602083018462001213565b9392505050565b6200125c8162000e5b565b82525050565b600060208201905062001279600083018462001251565b92915050565b6080516145df620012b7600039600081816114c001528181611b89015281816121c80152818161243e015261293a01526145df6000f3fe6080604052600436106102765760003560e01c8063658d4b7f1161014f578063b0f7ec38116100c1578063d7c010321161007a578063d7c0103214610993578063d85a2828146109bc578063dd62ed3e146109d3578063df20fd4914610a10578063f2fde38b14610a39578063f40acc3d14610a625761027d565b8063b0f7ec3814610883578063b62496f5146108ae578063bbc0c742146108eb578063c18bc19514610916578063c38a31de1461093f578063c876d0b9146109685761027d565b80638a8c523c116101135780638a8c523c146107855780638da5cb5b1461079c57806395d89b41146107c75780639a7a23d6146107f2578063a82ed9ec1461081b578063a9059cbb146108465761027d565b8063658d4b7f146106b25780636c0a24eb146106db57806370a0823114610706578063715018a6146107435780637d1db4a51461075a5761027d565b80632b14ca56116101e8578063364333f4116101ac578063364333f41461059f578063404e5129146105b657806341aea9de146105df57806345ce5365146106085780634706240214610645578063571ac8b0146106755761027d565b80632b14ca561461049f5780632d838119146104cf578063313ce5671461050c57806334b86560146105375780633582ad23146105745761027d565b8063178002871161023a578063178002871461038f57806318160ddd146103ba578063203e727e146103e557806323b872dd1461040e57806324c390231461044b5780632b112e49146104745761027d565b80630445b6671461028257806306fdde03146102ad578063095ea7b3146102d85780630cfc15f91461031557806316c02129146103525761027d565b3661027d57005b600080fd5b34801561028e57600080fd5b50610297610a8d565b6040516102a491906134be565b60405180910390f35b3480156102b957600080fd5b506102c2610a93565b6040516102cf9190613569565b60405180910390f35b3480156102e457600080fd5b506102ff60048036038101906102fa919061361a565b610b25565b60405161030c9190613675565b60405180910390f35b34801561032157600080fd5b5061033c60048036038101906103379190613690565b610c17565b60405161034991906134be565b60405180910390f35b34801561035e57600080fd5b5061037960048036038101906103749190613690565b610c2f565b6040516103869190613675565b60405180910390f35b34801561039b57600080fd5b506103a4610c4f565b6040516103b191906134be565b60405180910390f35b3480156103c657600080fd5b506103cf610c55565b6040516103dc91906134be565b60405180910390f35b3480156103f157600080fd5b5061040c600480360381019061040791906136bd565b610c5f565b005b34801561041a57600080fd5b50610435600480360381019061043091906136ea565b610cf5565b6040516104429190613675565b60405180910390f35b34801561045757600080fd5b50610472600480360381019061046d9190613769565b610f76565b005b34801561048057600080fd5b50610489610fd9565b60405161049691906134be565b60405180910390f35b3480156104ab57600080fd5b506104b461100c565b6040516104c6969594939291906137f0565b60405180910390f35b3480156104db57600080fd5b506104f660048036038101906104f191906136bd565b611093565b60405161050391906134be565b60405180910390f35b34801561051857600080fd5b506105216110b7565b60405161052e9190613851565b60405180910390f35b34801561054357600080fd5b5061055e6004803603810190610559919061386c565b6110c0565b60405161056b9190613675565b60405180910390f35b34801561058057600080fd5b506105896110ed565b6040516105969190613675565b60405180910390f35b3480156105ab57600080fd5b506105b4611100565b005b3480156105c257600080fd5b506105dd60048036038101906105d89190613769565b611181565b005b3480156105eb57600080fd5b506106066004803603810190610601919061386c565b6111e4565b005b34801561061457600080fd5b5061062f600480360381019061062a91906136bd565b611209565b60405161063c91906134be565b60405180910390f35b34801561065157600080fd5b5061065a61122d565b60405161066c969594939291906137f0565b60405180910390f35b34801561068157600080fd5b5061069c60048036038101906106979190613690565b6112b4565b6040516106a99190613675565b60405180910390f35b3480156106be57600080fd5b506106d960048036038101906106d49190613769565b6112e7565b005b3480156106e757600080fd5b506106f061134a565b6040516106fd91906134be565b60405180910390f35b34801561071257600080fd5b5061072d60048036038101906107289190613690565b611350565b60405161073a91906134be565b60405180910390f35b34801561074f57600080fd5b506107586113a1565b005b34801561076657600080fd5b5061076f6113b5565b60405161077c91906134be565b60405180910390f35b34801561079157600080fd5b5061079a6113bb565b005b3480156107a857600080fd5b506107b16113fb565b6040516107be91906138a8565b60405180910390f35b3480156107d357600080fd5b506107dc611424565b6040516107e99190613569565b60405180910390f35b3480156107fe57600080fd5b5061081960048036038101906108149190613769565b6114b6565b005b34801561082757600080fd5b5061083061155a565b60405161083d9190613922565b60405180910390f35b34801561085257600080fd5b5061086d6004803603810190610868919061361a565b611572565b60405161087a9190613675565b60405180910390f35b34801561088f57600080fd5b50610898611587565b6040516108a59190613675565b60405180910390f35b3480156108ba57600080fd5b506108d560048036038101906108d09190613690565b61159a565b6040516108e29190613675565b60405180910390f35b3480156108f757600080fd5b506109006115ba565b60405161090d9190613675565b60405180910390f35b34801561092257600080fd5b5061093d600480360381019061093891906136bd565b6115cd565b005b34801561094b57600080fd5b5061096660048036038101906109619190613969565b611663565b005b34801561097457600080fd5b5061097d61194f565b60405161098a9190613675565b60405180910390f35b34801561099f57600080fd5b506109ba60048036038101906109b59190613a48565b611962565b005b3480156109c857600080fd5b506109d1611a32565b005b3480156109df57600080fd5b506109fa60048036038101906109f59190613a9b565b611a50565b604051610a0791906134be565b60405180910390f35b348015610a1c57600080fd5b50610a376004803603810190610a329190613adb565b611ad7565b005b348015610a4557600080fd5b50610a606004803603810190610a5b9190613690565b611b04565b005b348015610a6e57600080fd5b50610a77611b87565b604051610a8491906138a8565b60405180910390f35b60125481565b606060028054610aa290613b4a565b80601f0160208091040260200160405190810160405280929190818152602001828054610ace90613b4a565b8015610b1b5780601f10610af057610100808354040283529160200191610b1b565b820191906000526020600020905b815481529060010190602001808311610afe57829003601f168201915b5050505050905090565b600081600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610c0591906134be565b60405180910390a36001905092915050565b60076020528060005260406000206000915090505481565b60146020528060005260406000206000915054906101000a900460ff1681565b60085481565b6000600454905090565b610c67611bab565b670de0b6b3a76400006103e86001600454610c829190613baa565b610c8c9190613c1b565b610c969190613c1b565b811015610cd8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ccf90613cbe565b60405180910390fd5b670de0b6b3a764000081610cec9190613baa565b60058190555050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610f625781600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610e59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5090613d2a565b60405180910390fd5b81600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ee19190613d4a565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610f6d848484611c29565b90509392505050565b610f7e611bab565b80600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000610fe56000611350565b610ff061dead611350565b600454610ffd9190613d4a565b6110079190613d4a565b905090565b600e8060000160009054906101000a900460ff16908060000160019054906101000a900460ff16908060000160029054906101000a900460ff16908060000160039054906101000a900460ff16908060000160049054906101000a900460ff16908060000160059054906101000a90046fffffffffffffffffffffffffffffffff16905086565b6000600854600454836110a69190613baa565b6110b09190613c1b565b9050919050565b60006012905090565b60006110ca611bab565b81600a60016101000a81548160ff02191690831515021790555060019050919050565b600a60029054906101000a900460ff1681565b611108611bab565b60003373ffffffffffffffffffffffffffffffffffffffff164760405161112e90613daf565b60006040518083038185875af1925050503d806000811461116b576040519150601f19603f3d011682016040523d82523d6000602084013e611170565b606091505b505090508061117e57600080fd5b50565b611189611bab565b80601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6111ec611bab565b80600a60026101000a81548160ff02191690831515021790555050565b60006004546008548361121c9190613baa565b6112269190613c1b565b9050919050565b600d8060000160009054906101000a900460ff16908060000160019054906101000a900460ff16908060000160029054906101000a900460ff16908060000160039054906101000a900460ff16908060000160049054906101000a900460ff16908060000160059054906101000a90046fffffffffffffffffffffffffffffffff16905086565b60006112e0827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610b25565b9050919050565b6112ef611bab565b80600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60065481565b600061139a600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611093565b9050919050565b6113a9611bab565b6113b360006125ac565b565b60055481565b6113c3611bab565b6001600a60006101000a81548160ff0219169083151502179055506001601160146101000a81548160ff021916908315150217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606003805461143390613b4a565b80601f016020809104026020016040519081016040528092919081815260200182805461145f90613b4a565b80156114ac5780601f10611481576101008083540402835291602001916114ac565b820191906000526020600020905b81548152906001019060200180831161148f57829003601f168201915b5050505050905090565b6114be611bab565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361154c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154390613e36565b60405180910390fd5b6115568282612670565b5050565b737a250d5630b4cf539739df2c5dacb4c659f2488d81565b600061157f338484611c29565b905092915050565b601160149054906101000a900460ff1681565b60016020528060005260406000206000915054906101000a900460ff1681565b600a60009054906101000a900460ff1681565b6115d5611bab565b670de0b6b3a76400006103e860056004546115f09190613baa565b6115fa9190613c1b565b6116049190613c1b565b811015611646576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163d90613ec8565b60405180910390fd5b670de0b6b3a76400008161165a9190613baa565b60068190555050565b61166b611bab565b600086888a8c8e61167c9190613ee8565b6116869190613ee8565b6116909190613ee8565b61169a9190613ee8565b60ff1690506000828486888a6116b09190613ee8565b6116ba9190613ee8565b6116c49190613ee8565b6116ce9190613ee8565b60ff1690506040518060c001604052808d60ff1681526020018c60ff1681526020018b60ff1681526020018a60ff1681526020018960ff168152602001836fffffffffffffffffffffffffffffffff16815250600d60008201518160000160006101000a81548160ff021916908360ff16021790555060208201518160000160016101000a81548160ff021916908360ff16021790555060408201518160000160026101000a81548160ff021916908360ff16021790555060608201518160000160036101000a81548160ff021916908360ff16021790555060808201518160000160046101000a81548160ff021916908360ff16021790555060a08201518160000160056101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055509050506040518060c001604052808860ff1681526020018760ff1681526020018660ff1681526020018560ff1681526020018460ff168152602001826fffffffffffffffffffffffffffffffff16815250600e60008201518160000160006101000a81548160ff021916908360ff16021790555060208201518160000160016101000a81548160ff021916908360ff16021790555060408201518160000160026101000a81548160ff021916908360ff16021790555060608201518160000160036101000a81548160ff021916908360ff16021790555060808201518160000160046101000a81548160ff021916908360ff16021790555060a08201518160000160056101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550905050505050505050505050505050565b600a60019054906101000a900460ff1681565b61196a611bab565b82600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b611a3a611bab565b611a4d3033611a4830611350565b611c29565b50565b6000600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611adf611bab565b81601160146101000a81548160ff021916908315150217905550806012819055505050565b611b0c611bab565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611b7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b7290613f8f565b60405180910390fd5b611b84816125ac565b50565b7f000000000000000000000000000000000000000000000000000000000000000081565b611bb3612711565b73ffffffffffffffffffffffffffffffffffffffff16611bd16113fb565b73ffffffffffffffffffffffffffffffffffffffff1614611c27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c1e90613ffb565b60405180910390fd5b565b6000601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611ccf5750601460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611d0e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d0590614067565b60405180910390fd5b601360009054906101000a900460ff1615611d3557611d2e848484612719565b90506125a5565b600a60029054906101000a900460ff16156122f057600a60009054906101000a900460ff16611e3f57600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611dff5750600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611e3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e35906140d3565b60405180910390fd5b5b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611ee25750600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611f8957600554821115611f2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f2390614165565b60405180910390fd5b600654611f3884611350565b83611f439190614185565b1115611f84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f7b90614205565b60405180910390fd5b612127565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561202c5750600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561207b57600554821115612076576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161206d90614165565b60405180910390fd5b612126565b600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16612125576006546120d884611350565b836120e39190614185565b1115612124576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161211b90614205565b60405180910390fd5b5b5b5b600a60019054906101000a900460ff16156122ef576121446113fb565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156121bf5750737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561221757507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156122ee57436001601560003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122699190614185565b106122a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122a0906142bd565b60405180910390fd5b43601560003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b5b6122f8612936565b15612306576123056129d4565b5b600061231183611209565b905080600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015612395576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161238c90614329565b60405180910390fd5b80600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123e09190613d4a565b600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600061242f8686612fb0565b61243957816124a1565b6124a07f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614612496576000612499565b60015b878461305e565b5b905080600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124ee9190614185565b600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61258984611093565b60405161259691906134be565b60405180910390a36001925050505b9392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b80600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b600033905090565b60008061272583611209565b905080600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156127a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127a090614329565b60405180910390fd5b80600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127f49190613d4a565b600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128829190614185565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161292291906134be565b60405180910390a360019150509392505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156129a15750601360009054906101000a900460ff16155b80156129b95750601160149054906101000a900460ff165b80156129cf57506012546129cc30611350565b10155b905090565b6001601360006101000a81548160ff0219169083151502179055506000600e6040518060c00160405290816000820160009054906101000a900460ff1660ff1660ff1681526020016000820160019054906101000a900460ff1660ff1660ff1681526020016000820160029054906101000a900460ff1660ff1660ff1681526020016000820160039054906101000a900460ff1660ff1660ff1681526020016000820160049054906101000a900460ff1660ff1660ff1681526020016000820160059054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168152505090506000601254905060008260a001516fffffffffffffffffffffffffffffffff16836080015160ff1683612b0e9190613baa565b612b189190613c1b565b905060008183612b289190613d4a565b9050612b48737a250d5630b4cf539739df2c5dacb4c659f2488d82610b25565b506000821115612b6157612b5f3061dead84611c29565b505b6000600267ffffffffffffffff811115612b7e57612b7d614349565b5b604051908082528060200260200182016040528015612bac5781602001602082028036833780820191505090505b5090503081600081518110612bc457612bc3614378565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612c5d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c8191906143bc565b81600181518110612c9557612c94614378565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612d259594939291906144e2565b600060405180830381600087803b158015612d3f57600080fd5b505af1158015612d53573d6000803e3d6000fd5b5050505060004790506000866080015160ff16876000015160ff168860a00151612d7d919061453c565b612d87919061453c565b6fffffffffffffffffffffffffffffffff169050600081886040015160ff1684612db19190613baa565b612dbb9190613c1b565b9050600082896060015160ff1685612dd39190613baa565b612ddd9190613c1b565b90506000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1683604051612e2790613daf565b60006040518083038185875af1925050503d8060008114612e64576040519150601f19603f3d011682016040523d82523d6000602084013e612e69565b606091505b50509050601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682604051612eb390613daf565b60006040518083038185875af1925050503d8060008114612ef0576040519150601f19603f3d011682016040523d82523d6000602084013e612ef5565b606091505b505080915050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1647604051612f4190613daf565b60006040518083038185875af1925050503d8060008114612f7e576040519150601f19603f3d011682016040523d82523d6000602084013e612f83565b606091505b505080915050505050505050505050506000601360006101000a81548160ff021916908315150217905550565b6000600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156130565750600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b905092915050565b600080600d6040518060c00160405290816000820160009054906101000a900460ff1660ff1660ff1681526020016000820160019054906101000a900460ff1660ff1660ff1681526020016000820160029054906101000a900460ff1660ff1660ff1681526020016000820160039054906101000a900460ff1660ff1660ff1681526020016000820160049054906101000a900460ff1660ff1660ff1681526020016000820160059054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168152505090506000600e6040518060c00160405290816000820160009054906101000a900460ff1660ff1660ff1681526020016000820160019054906101000a900460ff1660ff1660ff1681526020016000820160029054906101000a900460ff1660ff1660ff1681526020016000820160039054906101000a900460ff1660ff1660ff1681526020016000820160049054906101000a900460ff1660ff1660ff1681526020016000820160059054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16815250509050600060011515871515146132785760648260a001516fffffffffffffffffffffffffffffffff16866132699190613baa565b6132739190613c1b565b6132a7565b60648360a001516fffffffffffffffffffffffffffffffff168661329c9190613baa565b6132a69190613c1b565b5b9050600060011515881515146132f0578260a001516fffffffffffffffffffffffffffffffff16836000015160ff16836132e19190613baa565b6132eb9190613c1b565b613325565b8360a001516fffffffffffffffffffffffffffffffff16846000015160ff168361331a9190613baa565b6133249190613c1b565b5b9050806008546133359190613d4a565b600881905550600081836133499190613d4a565b905060008111156134505780600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461339f9190614185565b600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61343a84611093565b60405161344791906134be565b60405180910390a35b7fc3b3cc73ac1faef58c428c22be6cb344acfd92a699c8cd758c753af27071b5ac82600854604051613483929190614580565b60405180910390a182876134979190613d4a565b955050505050509392505050565b6000819050919050565b6134b8816134a5565b82525050565b60006020820190506134d360008301846134af565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156135135780820151818401526020810190506134f8565b60008484015250505050565b6000601f19601f8301169050919050565b600061353b826134d9565b61354581856134e4565b93506135558185602086016134f5565b61355e8161351f565b840191505092915050565b600060208201905081810360008301526135838184613530565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006135bb82613590565b9050919050565b6135cb816135b0565b81146135d657600080fd5b50565b6000813590506135e8816135c2565b92915050565b6135f7816134a5565b811461360257600080fd5b50565b600081359050613614816135ee565b92915050565b600080604083850312156136315761363061358b565b5b600061363f858286016135d9565b925050602061365085828601613605565b9150509250929050565b60008115159050919050565b61366f8161365a565b82525050565b600060208201905061368a6000830184613666565b92915050565b6000602082840312156136a6576136a561358b565b5b60006136b4848285016135d9565b91505092915050565b6000602082840312156136d3576136d261358b565b5b60006136e184828501613605565b91505092915050565b6000806000606084860312156137035761370261358b565b5b6000613711868287016135d9565b9350506020613722868287016135d9565b925050604061373386828701613605565b9150509250925092565b6137468161365a565b811461375157600080fd5b50565b6000813590506137638161373d565b92915050565b600080604083850312156137805761377f61358b565b5b600061378e858286016135d9565b925050602061379f85828601613754565b9150509250929050565b600060ff82169050919050565b6137bf816137a9565b82525050565b60006fffffffffffffffffffffffffffffffff82169050919050565b6137ea816137c5565b82525050565b600060c08201905061380560008301896137b6565b61381260208301886137b6565b61381f60408301876137b6565b61382c60608301866137b6565b61383960808301856137b6565b61384660a08301846137e1565b979650505050505050565b600060208201905061386660008301846137b6565b92915050565b6000602082840312156138825761388161358b565b5b600061389084828501613754565b91505092915050565b6138a2816135b0565b82525050565b60006020820190506138bd6000830184613899565b92915050565b6000819050919050565b60006138e86138e36138de84613590565b6138c3565b613590565b9050919050565b60006138fa826138cd565b9050919050565b600061390c826138ef565b9050919050565b61391c81613901565b82525050565b60006020820190506139376000830184613913565b92915050565b613946816137a9565b811461395157600080fd5b50565b6000813590506139638161393d565b92915050565b6000806000806000806000806000806101408b8d03121561398d5761398c61358b565b5b600061399b8d828e01613954565b9a505060206139ac8d828e01613954565b99505060406139bd8d828e01613954565b98505060606139ce8d828e01613954565b97505060806139df8d828e01613954565b96505060a06139f08d828e01613954565b95505060c0613a018d828e01613954565b94505060e0613a128d828e01613954565b935050610100613a248d828e01613954565b925050610120613a368d828e01613954565b9150509295989b9194979a5092959850565b600080600060608486031215613a6157613a6061358b565b5b6000613a6f868287016135d9565b9350506020613a80868287016135d9565b9250506040613a91868287016135d9565b9150509250925092565b60008060408385031215613ab257613ab161358b565b5b6000613ac0858286016135d9565b9250506020613ad1858286016135d9565b9150509250929050565b60008060408385031215613af257613af161358b565b5b6000613b0085828601613754565b9250506020613b1185828601613605565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680613b6257607f821691505b602082108103613b7557613b74613b1b565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613bb5826134a5565b9150613bc0836134a5565b9250828202613bce816134a5565b91508282048414831517613be557613be4613b7b565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613c26826134a5565b9150613c31836134a5565b925082613c4157613c40613bec565b5b828204905092915050565b7f43616e6e6f7420736574206d61785472616e73616374696f6e416d6f756e742060008201527f6c6f776572207468616e20302e31250000000000000000000000000000000000602082015250565b6000613ca8602f836134e4565b9150613cb382613c4c565b604082019050919050565b60006020820190508181036000830152613cd781613c9b565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000613d14601d836134e4565b9150613d1f82613cde565b602082019050919050565b60006020820190508181036000830152613d4381613d07565b9050919050565b6000613d55826134a5565b9150613d60836134a5565b9250828203905081811115613d7857613d77613b7b565b5b92915050565b600081905092915050565b50565b6000613d99600083613d7e565b9150613da482613d89565b600082019050919050565b6000613dba82613d8c565b9150819050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060008201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b6000613e206039836134e4565b9150613e2b82613dc4565b604082019050919050565b60006020820190508181036000830152613e4f81613e13565b9050919050565b7f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e2060008201527f302e352500000000000000000000000000000000000000000000000000000000602082015250565b6000613eb26024836134e4565b9150613ebd82613e56565b604082019050919050565b60006020820190508181036000830152613ee181613ea5565b9050919050565b6000613ef3826137a9565b9150613efe836137a9565b9250828201905060ff811115613f1757613f16613b7b565b5b92915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613f796026836134e4565b9150613f8482613f1d565b604082019050919050565b60006020820190508181036000830152613fa881613f6c565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613fe56020836134e4565b9150613ff082613faf565b602082019050919050565b6000602082019050818103600083015261401481613fd8565b9050919050565b7f426c61636b6c6973746564000000000000000000000000000000000000000000600082015250565b6000614051600b836134e4565b915061405c8261401b565b602082019050919050565b6000602082019050818103600083015261408081614044565b9050919050565b7f54726164696e67206973206e6f74206163746976652e00000000000000000000600082015250565b60006140bd6016836134e4565b91506140c882614087565b602082019050919050565b600060208201905081810360008301526140ec816140b0565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61785460008201527f78416d6f756e742e000000000000000000000000000000000000000000000000602082015250565b600061414f6028836134e4565b915061415a826140f3565b604082019050919050565b6000602082019050818103600083015261417e81614142565b9050919050565b6000614190826134a5565b915061419b836134a5565b92508282019050808211156141b3576141b2613b7b565b5b92915050565b7f4d61782077616c6c657420657863656564656400000000000000000000000000600082015250565b60006141ef6013836134e4565b91506141fa826141b9565b602082019050919050565b6000602082019050818103600083015261421e816141e2565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60008201527f65642e20204f6e6c79206f6e65207075726368617365207065722074776f206260208201527f6c6f636b7320616c6c6f7765642e000000000000000000000000000000000000604082015250565b60006142a7604e836134e4565b91506142b282614225565b606082019050919050565b600060208201905081810360008301526142d68161429a565b9050919050565b7f496e73756666696369656e742042616c616e6365000000000000000000000000600082015250565b60006143136014836134e4565b915061431e826142dd565b602082019050919050565b6000602082019050818103600083015261434281614306565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506143b6816135c2565b92915050565b6000602082840312156143d2576143d161358b565b5b60006143e0848285016143a7565b91505092915050565b6000819050919050565b600061440e614409614404846143e9565b6138c3565b6134a5565b9050919050565b61441e816143f3565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b614459816135b0565b82525050565b600061446b8383614450565b60208301905092915050565b6000602082019050919050565b600061448f82614424565b614499818561442f565b93506144a483614440565b8060005b838110156144d55781516144bc888261445f565b97506144c783614477565b9250506001810190506144a8565b5085935050505092915050565b600060a0820190506144f760008301886134af565b6145046020830187614415565b81810360408301526145168186614484565b90506145256060830185613899565b61453260808301846134af565b9695505050505050565b6000614547826137c5565b9150614552836137c5565b925082820390506fffffffffffffffffffffffffffffffff81111561457a57614579613b7b565b5b92915050565b600060408201905061459560008301856134af565b6145a260208301846134af565b939250505056fea2646970667358221220447bd714215fede40691e656910535c87dae3e93b643a4d7d1fbd01a7077655564736f6c63430008130033
Deployed Bytecode
0x6080604052600436106102765760003560e01c8063658d4b7f1161014f578063b0f7ec38116100c1578063d7c010321161007a578063d7c0103214610993578063d85a2828146109bc578063dd62ed3e146109d3578063df20fd4914610a10578063f2fde38b14610a39578063f40acc3d14610a625761027d565b8063b0f7ec3814610883578063b62496f5146108ae578063bbc0c742146108eb578063c18bc19514610916578063c38a31de1461093f578063c876d0b9146109685761027d565b80638a8c523c116101135780638a8c523c146107855780638da5cb5b1461079c57806395d89b41146107c75780639a7a23d6146107f2578063a82ed9ec1461081b578063a9059cbb146108465761027d565b8063658d4b7f146106b25780636c0a24eb146106db57806370a0823114610706578063715018a6146107435780637d1db4a51461075a5761027d565b80632b14ca56116101e8578063364333f4116101ac578063364333f41461059f578063404e5129146105b657806341aea9de146105df57806345ce5365146106085780634706240214610645578063571ac8b0146106755761027d565b80632b14ca561461049f5780632d838119146104cf578063313ce5671461050c57806334b86560146105375780633582ad23146105745761027d565b8063178002871161023a578063178002871461038f57806318160ddd146103ba578063203e727e146103e557806323b872dd1461040e57806324c390231461044b5780632b112e49146104745761027d565b80630445b6671461028257806306fdde03146102ad578063095ea7b3146102d85780630cfc15f91461031557806316c02129146103525761027d565b3661027d57005b600080fd5b34801561028e57600080fd5b50610297610a8d565b6040516102a491906134be565b60405180910390f35b3480156102b957600080fd5b506102c2610a93565b6040516102cf9190613569565b60405180910390f35b3480156102e457600080fd5b506102ff60048036038101906102fa919061361a565b610b25565b60405161030c9190613675565b60405180910390f35b34801561032157600080fd5b5061033c60048036038101906103379190613690565b610c17565b60405161034991906134be565b60405180910390f35b34801561035e57600080fd5b5061037960048036038101906103749190613690565b610c2f565b6040516103869190613675565b60405180910390f35b34801561039b57600080fd5b506103a4610c4f565b6040516103b191906134be565b60405180910390f35b3480156103c657600080fd5b506103cf610c55565b6040516103dc91906134be565b60405180910390f35b3480156103f157600080fd5b5061040c600480360381019061040791906136bd565b610c5f565b005b34801561041a57600080fd5b50610435600480360381019061043091906136ea565b610cf5565b6040516104429190613675565b60405180910390f35b34801561045757600080fd5b50610472600480360381019061046d9190613769565b610f76565b005b34801561048057600080fd5b50610489610fd9565b60405161049691906134be565b60405180910390f35b3480156104ab57600080fd5b506104b461100c565b6040516104c6969594939291906137f0565b60405180910390f35b3480156104db57600080fd5b506104f660048036038101906104f191906136bd565b611093565b60405161050391906134be565b60405180910390f35b34801561051857600080fd5b506105216110b7565b60405161052e9190613851565b60405180910390f35b34801561054357600080fd5b5061055e6004803603810190610559919061386c565b6110c0565b60405161056b9190613675565b60405180910390f35b34801561058057600080fd5b506105896110ed565b6040516105969190613675565b60405180910390f35b3480156105ab57600080fd5b506105b4611100565b005b3480156105c257600080fd5b506105dd60048036038101906105d89190613769565b611181565b005b3480156105eb57600080fd5b506106066004803603810190610601919061386c565b6111e4565b005b34801561061457600080fd5b5061062f600480360381019061062a91906136bd565b611209565b60405161063c91906134be565b60405180910390f35b34801561065157600080fd5b5061065a61122d565b60405161066c969594939291906137f0565b60405180910390f35b34801561068157600080fd5b5061069c60048036038101906106979190613690565b6112b4565b6040516106a99190613675565b60405180910390f35b3480156106be57600080fd5b506106d960048036038101906106d49190613769565b6112e7565b005b3480156106e757600080fd5b506106f061134a565b6040516106fd91906134be565b60405180910390f35b34801561071257600080fd5b5061072d60048036038101906107289190613690565b611350565b60405161073a91906134be565b60405180910390f35b34801561074f57600080fd5b506107586113a1565b005b34801561076657600080fd5b5061076f6113b5565b60405161077c91906134be565b60405180910390f35b34801561079157600080fd5b5061079a6113bb565b005b3480156107a857600080fd5b506107b16113fb565b6040516107be91906138a8565b60405180910390f35b3480156107d357600080fd5b506107dc611424565b6040516107e99190613569565b60405180910390f35b3480156107fe57600080fd5b5061081960048036038101906108149190613769565b6114b6565b005b34801561082757600080fd5b5061083061155a565b60405161083d9190613922565b60405180910390f35b34801561085257600080fd5b5061086d6004803603810190610868919061361a565b611572565b60405161087a9190613675565b60405180910390f35b34801561088f57600080fd5b50610898611587565b6040516108a59190613675565b60405180910390f35b3480156108ba57600080fd5b506108d560048036038101906108d09190613690565b61159a565b6040516108e29190613675565b60405180910390f35b3480156108f757600080fd5b506109006115ba565b60405161090d9190613675565b60405180910390f35b34801561092257600080fd5b5061093d600480360381019061093891906136bd565b6115cd565b005b34801561094b57600080fd5b5061096660048036038101906109619190613969565b611663565b005b34801561097457600080fd5b5061097d61194f565b60405161098a9190613675565b60405180910390f35b34801561099f57600080fd5b506109ba60048036038101906109b59190613a48565b611962565b005b3480156109c857600080fd5b506109d1611a32565b005b3480156109df57600080fd5b506109fa60048036038101906109f59190613a9b565b611a50565b604051610a0791906134be565b60405180910390f35b348015610a1c57600080fd5b50610a376004803603810190610a329190613adb565b611ad7565b005b348015610a4557600080fd5b50610a606004803603810190610a5b9190613690565b611b04565b005b348015610a6e57600080fd5b50610a77611b87565b604051610a8491906138a8565b60405180910390f35b60125481565b606060028054610aa290613b4a565b80601f0160208091040260200160405190810160405280929190818152602001828054610ace90613b4a565b8015610b1b5780601f10610af057610100808354040283529160200191610b1b565b820191906000526020600020905b815481529060010190602001808311610afe57829003601f168201915b5050505050905090565b600081600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610c0591906134be565b60405180910390a36001905092915050565b60076020528060005260406000206000915090505481565b60146020528060005260406000206000915054906101000a900460ff1681565b60085481565b6000600454905090565b610c67611bab565b670de0b6b3a76400006103e86001600454610c829190613baa565b610c8c9190613c1b565b610c969190613c1b565b811015610cd8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ccf90613cbe565b60405180910390fd5b670de0b6b3a764000081610cec9190613baa565b60058190555050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610f625781600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610e59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5090613d2a565b60405180910390fd5b81600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ee19190613d4a565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610f6d848484611c29565b90509392505050565b610f7e611bab565b80600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000610fe56000611350565b610ff061dead611350565b600454610ffd9190613d4a565b6110079190613d4a565b905090565b600e8060000160009054906101000a900460ff16908060000160019054906101000a900460ff16908060000160029054906101000a900460ff16908060000160039054906101000a900460ff16908060000160049054906101000a900460ff16908060000160059054906101000a90046fffffffffffffffffffffffffffffffff16905086565b6000600854600454836110a69190613baa565b6110b09190613c1b565b9050919050565b60006012905090565b60006110ca611bab565b81600a60016101000a81548160ff02191690831515021790555060019050919050565b600a60029054906101000a900460ff1681565b611108611bab565b60003373ffffffffffffffffffffffffffffffffffffffff164760405161112e90613daf565b60006040518083038185875af1925050503d806000811461116b576040519150601f19603f3d011682016040523d82523d6000602084013e611170565b606091505b505090508061117e57600080fd5b50565b611189611bab565b80601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6111ec611bab565b80600a60026101000a81548160ff02191690831515021790555050565b60006004546008548361121c9190613baa565b6112269190613c1b565b9050919050565b600d8060000160009054906101000a900460ff16908060000160019054906101000a900460ff16908060000160029054906101000a900460ff16908060000160039054906101000a900460ff16908060000160049054906101000a900460ff16908060000160059054906101000a90046fffffffffffffffffffffffffffffffff16905086565b60006112e0827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610b25565b9050919050565b6112ef611bab565b80600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60065481565b600061139a600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611093565b9050919050565b6113a9611bab565b6113b360006125ac565b565b60055481565b6113c3611bab565b6001600a60006101000a81548160ff0219169083151502179055506001601160146101000a81548160ff021916908315150217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606003805461143390613b4a565b80601f016020809104026020016040519081016040528092919081815260200182805461145f90613b4a565b80156114ac5780601f10611481576101008083540402835291602001916114ac565b820191906000526020600020905b81548152906001019060200180831161148f57829003601f168201915b5050505050905090565b6114be611bab565b7f0000000000000000000000003a3b34e301e789afe84e0de0f37d1bab629533be73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361154c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154390613e36565b60405180910390fd5b6115568282612670565b5050565b737a250d5630b4cf539739df2c5dacb4c659f2488d81565b600061157f338484611c29565b905092915050565b601160149054906101000a900460ff1681565b60016020528060005260406000206000915054906101000a900460ff1681565b600a60009054906101000a900460ff1681565b6115d5611bab565b670de0b6b3a76400006103e860056004546115f09190613baa565b6115fa9190613c1b565b6116049190613c1b565b811015611646576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163d90613ec8565b60405180910390fd5b670de0b6b3a76400008161165a9190613baa565b60068190555050565b61166b611bab565b600086888a8c8e61167c9190613ee8565b6116869190613ee8565b6116909190613ee8565b61169a9190613ee8565b60ff1690506000828486888a6116b09190613ee8565b6116ba9190613ee8565b6116c49190613ee8565b6116ce9190613ee8565b60ff1690506040518060c001604052808d60ff1681526020018c60ff1681526020018b60ff1681526020018a60ff1681526020018960ff168152602001836fffffffffffffffffffffffffffffffff16815250600d60008201518160000160006101000a81548160ff021916908360ff16021790555060208201518160000160016101000a81548160ff021916908360ff16021790555060408201518160000160026101000a81548160ff021916908360ff16021790555060608201518160000160036101000a81548160ff021916908360ff16021790555060808201518160000160046101000a81548160ff021916908360ff16021790555060a08201518160000160056101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055509050506040518060c001604052808860ff1681526020018760ff1681526020018660ff1681526020018560ff1681526020018460ff168152602001826fffffffffffffffffffffffffffffffff16815250600e60008201518160000160006101000a81548160ff021916908360ff16021790555060208201518160000160016101000a81548160ff021916908360ff16021790555060408201518160000160026101000a81548160ff021916908360ff16021790555060608201518160000160036101000a81548160ff021916908360ff16021790555060808201518160000160046101000a81548160ff021916908360ff16021790555060a08201518160000160056101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550905050505050505050505050505050565b600a60019054906101000a900460ff1681565b61196a611bab565b82600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b611a3a611bab565b611a4d3033611a4830611350565b611c29565b50565b6000600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611adf611bab565b81601160146101000a81548160ff021916908315150217905550806012819055505050565b611b0c611bab565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611b7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b7290613f8f565b60405180910390fd5b611b84816125ac565b50565b7f0000000000000000000000003a3b34e301e789afe84e0de0f37d1bab629533be81565b611bb3612711565b73ffffffffffffffffffffffffffffffffffffffff16611bd16113fb565b73ffffffffffffffffffffffffffffffffffffffff1614611c27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c1e90613ffb565b60405180910390fd5b565b6000601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611ccf5750601460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611d0e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d0590614067565b60405180910390fd5b601360009054906101000a900460ff1615611d3557611d2e848484612719565b90506125a5565b600a60029054906101000a900460ff16156122f057600a60009054906101000a900460ff16611e3f57600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611dff5750600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611e3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e35906140d3565b60405180910390fd5b5b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611ee25750600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611f8957600554821115611f2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f2390614165565b60405180910390fd5b600654611f3884611350565b83611f439190614185565b1115611f84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f7b90614205565b60405180910390fd5b612127565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561202c5750600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561207b57600554821115612076576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161206d90614165565b60405180910390fd5b612126565b600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16612125576006546120d884611350565b836120e39190614185565b1115612124576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161211b90614205565b60405180910390fd5b5b5b5b600a60019054906101000a900460ff16156122ef576121446113fb565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156121bf5750737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561221757507f0000000000000000000000003a3b34e301e789afe84e0de0f37d1bab629533be73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156122ee57436001601560003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122699190614185565b106122a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122a0906142bd565b60405180910390fd5b43601560003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b5b6122f8612936565b15612306576123056129d4565b5b600061231183611209565b905080600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015612395576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161238c90614329565b60405180910390fd5b80600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123e09190613d4a565b600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600061242f8686612fb0565b61243957816124a1565b6124a07f0000000000000000000000003a3b34e301e789afe84e0de0f37d1bab629533be73ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614612496576000612499565b60015b878461305e565b5b905080600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124ee9190614185565b600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61258984611093565b60405161259691906134be565b60405180910390a36001925050505b9392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b80600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b600033905090565b60008061272583611209565b905080600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156127a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127a090614329565b60405180910390fd5b80600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127f49190613d4a565b600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128829190614185565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161292291906134be565b60405180910390a360019150509392505050565b60007f0000000000000000000000003a3b34e301e789afe84e0de0f37d1bab629533be73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156129a15750601360009054906101000a900460ff16155b80156129b95750601160149054906101000a900460ff165b80156129cf57506012546129cc30611350565b10155b905090565b6001601360006101000a81548160ff0219169083151502179055506000600e6040518060c00160405290816000820160009054906101000a900460ff1660ff1660ff1681526020016000820160019054906101000a900460ff1660ff1660ff1681526020016000820160029054906101000a900460ff1660ff1660ff1681526020016000820160039054906101000a900460ff1660ff1660ff1681526020016000820160049054906101000a900460ff1660ff1660ff1681526020016000820160059054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168152505090506000601254905060008260a001516fffffffffffffffffffffffffffffffff16836080015160ff1683612b0e9190613baa565b612b189190613c1b565b905060008183612b289190613d4a565b9050612b48737a250d5630b4cf539739df2c5dacb4c659f2488d82610b25565b506000821115612b6157612b5f3061dead84611c29565b505b6000600267ffffffffffffffff811115612b7e57612b7d614349565b5b604051908082528060200260200182016040528015612bac5781602001602082028036833780820191505090505b5090503081600081518110612bc457612bc3614378565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612c5d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c8191906143bc565b81600181518110612c9557612c94614378565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612d259594939291906144e2565b600060405180830381600087803b158015612d3f57600080fd5b505af1158015612d53573d6000803e3d6000fd5b5050505060004790506000866080015160ff16876000015160ff168860a00151612d7d919061453c565b612d87919061453c565b6fffffffffffffffffffffffffffffffff169050600081886040015160ff1684612db19190613baa565b612dbb9190613c1b565b9050600082896060015160ff1685612dd39190613baa565b612ddd9190613c1b565b90506000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1683604051612e2790613daf565b60006040518083038185875af1925050503d8060008114612e64576040519150601f19603f3d011682016040523d82523d6000602084013e612e69565b606091505b50509050601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682604051612eb390613daf565b60006040518083038185875af1925050503d8060008114612ef0576040519150601f19603f3d011682016040523d82523d6000602084013e612ef5565b606091505b505080915050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1647604051612f4190613daf565b60006040518083038185875af1925050503d8060008114612f7e576040519150601f19603f3d011682016040523d82523d6000602084013e612f83565b606091505b505080915050505050505050505050506000601360006101000a81548160ff021916908315150217905550565b6000600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156130565750600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b905092915050565b600080600d6040518060c00160405290816000820160009054906101000a900460ff1660ff1660ff1681526020016000820160019054906101000a900460ff1660ff1660ff1681526020016000820160029054906101000a900460ff1660ff1660ff1681526020016000820160039054906101000a900460ff1660ff1660ff1681526020016000820160049054906101000a900460ff1660ff1660ff1681526020016000820160059054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168152505090506000600e6040518060c00160405290816000820160009054906101000a900460ff1660ff1660ff1681526020016000820160019054906101000a900460ff1660ff1660ff1681526020016000820160029054906101000a900460ff1660ff1660ff1681526020016000820160039054906101000a900460ff1660ff1660ff1681526020016000820160049054906101000a900460ff1660ff1660ff1681526020016000820160059054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16815250509050600060011515871515146132785760648260a001516fffffffffffffffffffffffffffffffff16866132699190613baa565b6132739190613c1b565b6132a7565b60648360a001516fffffffffffffffffffffffffffffffff168661329c9190613baa565b6132a69190613c1b565b5b9050600060011515881515146132f0578260a001516fffffffffffffffffffffffffffffffff16836000015160ff16836132e19190613baa565b6132eb9190613c1b565b613325565b8360a001516fffffffffffffffffffffffffffffffff16846000015160ff168361331a9190613baa565b6133249190613c1b565b5b9050806008546133359190613d4a565b600881905550600081836133499190613d4a565b905060008111156134505780600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461339f9190614185565b600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61343a84611093565b60405161344791906134be565b60405180910390a35b7fc3b3cc73ac1faef58c428c22be6cb344acfd92a699c8cd758c753af27071b5ac82600854604051613483929190614580565b60405180910390a182876134979190613d4a565b955050505050509392505050565b6000819050919050565b6134b8816134a5565b82525050565b60006020820190506134d360008301846134af565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156135135780820151818401526020810190506134f8565b60008484015250505050565b6000601f19601f8301169050919050565b600061353b826134d9565b61354581856134e4565b93506135558185602086016134f5565b61355e8161351f565b840191505092915050565b600060208201905081810360008301526135838184613530565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006135bb82613590565b9050919050565b6135cb816135b0565b81146135d657600080fd5b50565b6000813590506135e8816135c2565b92915050565b6135f7816134a5565b811461360257600080fd5b50565b600081359050613614816135ee565b92915050565b600080604083850312156136315761363061358b565b5b600061363f858286016135d9565b925050602061365085828601613605565b9150509250929050565b60008115159050919050565b61366f8161365a565b82525050565b600060208201905061368a6000830184613666565b92915050565b6000602082840312156136a6576136a561358b565b5b60006136b4848285016135d9565b91505092915050565b6000602082840312156136d3576136d261358b565b5b60006136e184828501613605565b91505092915050565b6000806000606084860312156137035761370261358b565b5b6000613711868287016135d9565b9350506020613722868287016135d9565b925050604061373386828701613605565b9150509250925092565b6137468161365a565b811461375157600080fd5b50565b6000813590506137638161373d565b92915050565b600080604083850312156137805761377f61358b565b5b600061378e858286016135d9565b925050602061379f85828601613754565b9150509250929050565b600060ff82169050919050565b6137bf816137a9565b82525050565b60006fffffffffffffffffffffffffffffffff82169050919050565b6137ea816137c5565b82525050565b600060c08201905061380560008301896137b6565b61381260208301886137b6565b61381f60408301876137b6565b61382c60608301866137b6565b61383960808301856137b6565b61384660a08301846137e1565b979650505050505050565b600060208201905061386660008301846137b6565b92915050565b6000602082840312156138825761388161358b565b5b600061389084828501613754565b91505092915050565b6138a2816135b0565b82525050565b60006020820190506138bd6000830184613899565b92915050565b6000819050919050565b60006138e86138e36138de84613590565b6138c3565b613590565b9050919050565b60006138fa826138cd565b9050919050565b600061390c826138ef565b9050919050565b61391c81613901565b82525050565b60006020820190506139376000830184613913565b92915050565b613946816137a9565b811461395157600080fd5b50565b6000813590506139638161393d565b92915050565b6000806000806000806000806000806101408b8d03121561398d5761398c61358b565b5b600061399b8d828e01613954565b9a505060206139ac8d828e01613954565b99505060406139bd8d828e01613954565b98505060606139ce8d828e01613954565b97505060806139df8d828e01613954565b96505060a06139f08d828e01613954565b95505060c0613a018d828e01613954565b94505060e0613a128d828e01613954565b935050610100613a248d828e01613954565b925050610120613a368d828e01613954565b9150509295989b9194979a5092959850565b600080600060608486031215613a6157613a6061358b565b5b6000613a6f868287016135d9565b9350506020613a80868287016135d9565b9250506040613a91868287016135d9565b9150509250925092565b60008060408385031215613ab257613ab161358b565b5b6000613ac0858286016135d9565b9250506020613ad1858286016135d9565b9150509250929050565b60008060408385031215613af257613af161358b565b5b6000613b0085828601613754565b9250506020613b1185828601613605565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680613b6257607f821691505b602082108103613b7557613b74613b1b565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613bb5826134a5565b9150613bc0836134a5565b9250828202613bce816134a5565b91508282048414831517613be557613be4613b7b565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613c26826134a5565b9150613c31836134a5565b925082613c4157613c40613bec565b5b828204905092915050565b7f43616e6e6f7420736574206d61785472616e73616374696f6e416d6f756e742060008201527f6c6f776572207468616e20302e31250000000000000000000000000000000000602082015250565b6000613ca8602f836134e4565b9150613cb382613c4c565b604082019050919050565b60006020820190508181036000830152613cd781613c9b565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000613d14601d836134e4565b9150613d1f82613cde565b602082019050919050565b60006020820190508181036000830152613d4381613d07565b9050919050565b6000613d55826134a5565b9150613d60836134a5565b9250828203905081811115613d7857613d77613b7b565b5b92915050565b600081905092915050565b50565b6000613d99600083613d7e565b9150613da482613d89565b600082019050919050565b6000613dba82613d8c565b9150819050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060008201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b6000613e206039836134e4565b9150613e2b82613dc4565b604082019050919050565b60006020820190508181036000830152613e4f81613e13565b9050919050565b7f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e2060008201527f302e352500000000000000000000000000000000000000000000000000000000602082015250565b6000613eb26024836134e4565b9150613ebd82613e56565b604082019050919050565b60006020820190508181036000830152613ee181613ea5565b9050919050565b6000613ef3826137a9565b9150613efe836137a9565b9250828201905060ff811115613f1757613f16613b7b565b5b92915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613f796026836134e4565b9150613f8482613f1d565b604082019050919050565b60006020820190508181036000830152613fa881613f6c565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613fe56020836134e4565b9150613ff082613faf565b602082019050919050565b6000602082019050818103600083015261401481613fd8565b9050919050565b7f426c61636b6c6973746564000000000000000000000000000000000000000000600082015250565b6000614051600b836134e4565b915061405c8261401b565b602082019050919050565b6000602082019050818103600083015261408081614044565b9050919050565b7f54726164696e67206973206e6f74206163746976652e00000000000000000000600082015250565b60006140bd6016836134e4565b91506140c882614087565b602082019050919050565b600060208201905081810360008301526140ec816140b0565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61785460008201527f78416d6f756e742e000000000000000000000000000000000000000000000000602082015250565b600061414f6028836134e4565b915061415a826140f3565b604082019050919050565b6000602082019050818103600083015261417e81614142565b9050919050565b6000614190826134a5565b915061419b836134a5565b92508282019050808211156141b3576141b2613b7b565b5b92915050565b7f4d61782077616c6c657420657863656564656400000000000000000000000000600082015250565b60006141ef6013836134e4565b91506141fa826141b9565b602082019050919050565b6000602082019050818103600083015261421e816141e2565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60008201527f65642e20204f6e6c79206f6e65207075726368617365207065722074776f206260208201527f6c6f636b7320616c6c6f7765642e000000000000000000000000000000000000604082015250565b60006142a7604e836134e4565b91506142b282614225565b606082019050919050565b600060208201905081810360008301526142d68161429a565b9050919050565b7f496e73756666696369656e742042616c616e6365000000000000000000000000600082015250565b60006143136014836134e4565b915061431e826142dd565b602082019050919050565b6000602082019050818103600083015261434281614306565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506143b6816135c2565b92915050565b6000602082840312156143d2576143d161358b565b5b60006143e0848285016143a7565b91505092915050565b6000819050919050565b600061440e614409614404846143e9565b6138c3565b6134a5565b9050919050565b61441e816143f3565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b614459816135b0565b82525050565b600061446b8383614450565b60208301905092915050565b6000602082019050919050565b600061448f82614424565b614499818561442f565b93506144a483614440565b8060005b838110156144d55781516144bc888261445f565b97506144c783614477565b9250506001810190506144a8565b5085935050505092915050565b600060a0820190506144f760008301886134af565b6145046020830187614415565b81810360408301526145168186614484565b90506145256060830185613899565b61453260808301846134af565b9695505050505050565b6000614547826137c5565b9150614552836137c5565b925082820390506fffffffffffffffffffffffffffffffff81111561457a57614579613b7b565b5b92915050565b600060408201905061459560008301856134af565b6145a260208301846134af565b939250505056fea2646970667358221220447bd714215fede40691e656910535c87dae3e93b643a4d7d1fbd01a7077655564736f6c63430008130033
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.